summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authortaesub kim <taesub.kim@samsung.com>2017-03-22 14:21:38 +0900
committertaesub kim <taesub.kim@samsung.com>2017-03-22 14:22:18 +0900
commite9bdad71c8277e20607fa1eaf0027d53a0dc1f37 (patch)
treee260727dc080e910dfea79203509fdc4f32ed852 /docs
parent3e62527ed71a7a362d7ec321e7f026edab35f8e2 (diff)
downloadcurl-e9bdad71c8277e20607fa1eaf0027d53a0dc1f37.tar.gz
curl-e9bdad71c8277e20607fa1eaf0027d53a0dc1f37.tar.bz2
curl-e9bdad71c8277e20607fa1eaf0027d53a0dc1f37.zip
Imported Upstream version 7.53.1
Change-Id: I575eb99bf2face4938a57889412327e285116bf3
Diffstat (limited to 'docs')
-rw-r--r--docs/BINDINGS260
-rw-r--r--docs/BINDINGS.md106
-rw-r--r--docs/BUGS105
-rw-r--r--docs/CHECKSRC.md4
-rw-r--r--docs/CODE_STYLE.md66
-rw-r--r--docs/CONTRIBUTE.md34
-rw-r--r--docs/FAQ129
-rw-r--r--docs/HISTORY.md93
-rw-r--r--docs/HTTP2.md29
-rw-r--r--docs/INSTALL1108
-rw-r--r--docs/INSTALL.devcpp302
-rw-r--r--docs/INSTALL.md513
-rw-r--r--docs/INTERNALS.md221
-rw-r--r--docs/KNOWN_BUGS92
-rw-r--r--docs/LICENSE-MIXING.md9
-rw-r--r--docs/MAIL-ETIQUETTE65
-rw-r--r--docs/Makefile.am21
-rw-r--r--docs/Makefile.in21
-rw-r--r--docs/README.netware9
-rw-r--r--docs/README.win327
-rw-r--r--docs/RELEASE-PROCEDURE7
-rw-r--r--docs/ROADMAP.md42
-rw-r--r--docs/SECURITY.md28
-rw-r--r--docs/THANKS70
-rw-r--r--docs/TODO256
-rw-r--r--docs/TheArtOfHttpScripting36
-rw-r--r--docs/cmdline-opts/MANPAGE.md52
-rw-r--r--docs/cmdline-opts/Makefile.am76
-rw-r--r--docs/cmdline-opts/Makefile.in598
-rw-r--r--docs/cmdline-opts/abstract-unix-socket.d9
-rw-r--r--docs/cmdline-opts/anyauth.d17
-rw-r--r--docs/cmdline-opts/append.d8
-rw-r--r--docs/cmdline-opts/basic.d11
-rw-r--r--docs/cmdline-opts/cacert.d28
-rw-r--r--docs/cmdline-opts/capath.d15
-rw-r--r--docs/cmdline-opts/cert-status.d13
-rw-r--r--docs/cmdline-opts/cert-type.d10
-rw-r--r--docs/cmdline-opts/cert.d32
-rw-r--r--docs/cmdline-opts/ciphers.d11
-rw-r--r--docs/cmdline-opts/compressed.d7
-rw-r--r--docs/cmdline-opts/config.d60
-rw-r--r--docs/cmdline-opts/connect-timeout.d11
-rw-r--r--docs/cmdline-opts/connect-to.d18
-rw-r--r--docs/cmdline-opts/continue-at.d15
-rw-r--r--docs/cmdline-opts/cookie-jar.d24
-rw-r--r--docs/cmdline-opts/cookie.d36
-rw-r--r--docs/cmdline-opts/create-dirs.d9
-rw-r--r--docs/cmdline-opts/crlf.d7
-rw-r--r--docs/cmdline-opts/crlfile.d10
-rw-r--r--docs/cmdline-opts/data-ascii.d6
-rw-r--r--docs/cmdline-opts/data-binary.d13
-rw-r--r--docs/cmdline-opts/data-raw.d9
-rw-r--r--docs/cmdline-opts/data-urlencode.d33
-rw-r--r--docs/cmdline-opts/data.d30
-rw-r--r--docs/cmdline-opts/delegation.d16
-rw-r--r--docs/cmdline-opts/digest.d11
-rw-r--r--docs/cmdline-opts/disable-eprt.d19
-rw-r--r--docs/cmdline-opts/disable-epsv.d16
-rw-r--r--docs/cmdline-opts/disable.d7
-rw-r--r--docs/cmdline-opts/dns-interface.d11
-rw-r--r--docs/cmdline-opts/dns-ipv4-addr.d11
-rw-r--r--docs/cmdline-opts/dns-ipv6-addr.d11
-rw-r--r--docs/cmdline-opts/dns-servers.d10
-rw-r--r--docs/cmdline-opts/dump-header.d18
-rw-r--r--docs/cmdline-opts/egd-file.d8
-rw-r--r--docs/cmdline-opts/engine.d8
-rw-r--r--docs/cmdline-opts/environment.d7
-rw-r--r--docs/cmdline-opts/expect100-timeout.d11
-rw-r--r--docs/cmdline-opts/fail-early.d18
-rw-r--r--docs/cmdline-opts/fail.d14
-rw-r--r--docs/cmdline-opts/false-start.d12
-rw-r--r--docs/cmdline-opts/form-string.d11
-rw-r--r--docs/cmdline-opts/form.d54
-rw-r--r--docs/cmdline-opts/ftp-account.d10
-rw-r--r--docs/cmdline-opts/ftp-alternative-to-user.d10
-rw-r--r--docs/cmdline-opts/ftp-create-dirs.d8
-rw-r--r--docs/cmdline-opts/ftp-method.d21
-rw-r--r--docs/cmdline-opts/ftp-pasv.d16
-rw-r--r--docs/cmdline-opts/ftp-port.d32
-rw-r--r--docs/cmdline-opts/ftp-pret.d8
-rw-r--r--docs/cmdline-opts/ftp-skip-pasv-ip.d12
-rw-r--r--docs/cmdline-opts/ftp-ssl-ccc-mode.d11
-rw-r--r--docs/cmdline-opts/ftp-ssl-ccc.d10
-rw-r--r--docs/cmdline-opts/ftp-ssl-control.d8
-rwxr-xr-xdocs/cmdline-opts/gen.pl383
-rw-r--r--docs/cmdline-opts/get.d15
-rw-r--r--docs/cmdline-opts/globoff.d8
-rw-r--r--docs/cmdline-opts/head.d8
-rw-r--r--docs/cmdline-opts/header.d38
-rw-r--r--docs/cmdline-opts/help.d6
-rw-r--r--docs/cmdline-opts/hostpubmd5.d9
-rw-r--r--docs/cmdline-opts/http1.0.d10
-rw-r--r--docs/cmdline-opts/http1.1.d8
-rw-r--r--docs/cmdline-opts/http2-prior-knowledge.d12
-rw-r--r--docs/cmdline-opts/http2.d10
-rw-r--r--docs/cmdline-opts/ignore-content-length.d10
-rw-r--r--docs/cmdline-opts/include.d7
-rw-r--r--docs/cmdline-opts/insecure.d12
-rw-r--r--docs/cmdline-opts/interface.d12
-rw-r--r--docs/cmdline-opts/ipv4.d12
-rw-r--r--docs/cmdline-opts/ipv6.d12
-rw-r--r--docs/cmdline-opts/junk-session-cookies.d10
-rw-r--r--docs/cmdline-opts/keepalive-time.d13
-rw-r--r--docs/cmdline-opts/key-type.d9
-rw-r--r--docs/cmdline-opts/key.d10
-rw-r--r--docs/cmdline-opts/krb.d11
-rw-r--r--docs/cmdline-opts/libcurl.d11
-rw-r--r--docs/cmdline-opts/limit-rate.d18
-rw-r--r--docs/cmdline-opts/list-only.d24
-rw-r--r--docs/cmdline-opts/local-port.d9
-rw-r--r--docs/cmdline-opts/location-trusted.d9
-rw-r--r--docs/cmdline-opts/location.d23
-rw-r--r--docs/cmdline-opts/login-options.d14
-rw-r--r--docs/cmdline-opts/mail-auth.d10
-rw-r--r--docs/cmdline-opts/mail-from.d8
-rw-r--r--docs/cmdline-opts/mail-rcpt.d19
-rw-r--r--docs/cmdline-opts/manual.d5
-rw-r--r--docs/cmdline-opts/max-filesize.d12
-rw-r--r--docs/cmdline-opts/max-redirs.d11
-rw-r--r--docs/cmdline-opts/max-time.d13
-rw-r--r--docs/cmdline-opts/metalink.d27
-rw-r--r--docs/cmdline-opts/negotiate.d15
-rw-r--r--docs/cmdline-opts/netrc-file.d12
-rw-r--r--docs/cmdline-opts/netrc-optional.d7
-rw-r--r--docs/cmdline-opts/netrc.d17
-rw-r--r--docs/cmdline-opts/next.d20
-rw-r--r--docs/cmdline-opts/no-alpn.d11
-rw-r--r--docs/cmdline-opts/no-buffer.d11
-rw-r--r--docs/cmdline-opts/no-keepalive.d8
-rw-r--r--docs/cmdline-opts/no-npn.d12
-rw-r--r--docs/cmdline-opts/no-sessionid.d13
-rw-r--r--docs/cmdline-opts/noproxy.d15
-rw-r--r--docs/cmdline-opts/ntlm-wb.d7
-rw-r--r--docs/cmdline-opts/ntlm.d18
-rw-r--r--docs/cmdline-opts/oauth2-bearer.d11
-rw-r--r--docs/cmdline-opts/output.d32
-rw-r--r--docs/cmdline-opts/page-footer244
-rw-r--r--docs/cmdline-opts/page-header141
-rw-r--r--docs/cmdline-opts/pass.d8
-rw-r--r--docs/cmdline-opts/path-as-is.d7
-rw-r--r--docs/cmdline-opts/pinnedpubkey.d27
-rw-r--r--docs/cmdline-opts/post301.d11
-rw-r--r--docs/cmdline-opts/post302.d11
-rw-r--r--docs/cmdline-opts/post303.d11
-rw-r--r--docs/cmdline-opts/preproxy.d22
-rw-r--r--docs/cmdline-opts/progress-bar.d11
-rw-r--r--docs/cmdline-opts/proto-default.d18
-rw-r--r--docs/cmdline-opts/proto-redir.d17
-rw-r--r--docs/cmdline-opts/proto.d43
-rw-r--r--docs/cmdline-opts/proxy-anyauth.d7
-rw-r--r--docs/cmdline-opts/proxy-basic.d7
-rw-r--r--docs/cmdline-opts/proxy-cacert.d7
-rw-r--r--docs/cmdline-opts/proxy-capath.d7
-rw-r--r--docs/cmdline-opts/proxy-cert-type.d6
-rw-r--r--docs/cmdline-opts/proxy-cert.d6
-rw-r--r--docs/cmdline-opts/proxy-ciphers.d6
-rw-r--r--docs/cmdline-opts/proxy-crlfile.d6
-rw-r--r--docs/cmdline-opts/proxy-digest.d6
-rw-r--r--docs/cmdline-opts/proxy-header.d20
-rw-r--r--docs/cmdline-opts/proxy-insecure.d5
-rw-r--r--docs/cmdline-opts/proxy-key-type.d6
-rw-r--r--docs/cmdline-opts/proxy-key.d5
-rw-r--r--docs/cmdline-opts/proxy-negotiate.d8
-rw-r--r--docs/cmdline-opts/proxy-ntlm.d6
-rw-r--r--docs/cmdline-opts/proxy-pass.d6
-rw-r--r--docs/cmdline-opts/proxy-service-name.d6
-rw-r--r--docs/cmdline-opts/proxy-ssl-allow-beast.d5
-rw-r--r--docs/cmdline-opts/proxy-tlsauthtype.d6
-rw-r--r--docs/cmdline-opts/proxy-tlspassword.d6
-rw-r--r--docs/cmdline-opts/proxy-tlsuser.d6
-rw-r--r--docs/cmdline-opts/proxy-tlsv1.d5
-rw-r--r--docs/cmdline-opts/proxy-user.d12
-rw-r--r--docs/cmdline-opts/proxy.d39
-rw-r--r--docs/cmdline-opts/proxy1.0.d10
-rw-r--r--docs/cmdline-opts/proxytunnel.d10
-rw-r--r--docs/cmdline-opts/pubkey.d14
-rw-r--r--docs/cmdline-opts/quote.d56
-rw-r--r--docs/cmdline-opts/random-file.d7
-rw-r--r--docs/cmdline-opts/range.d46
-rw-r--r--docs/cmdline-opts/raw.d7
-rw-r--r--docs/cmdline-opts/referer.d14
-rw-r--r--docs/cmdline-opts/remote-header-name.d19
-rw-r--r--docs/cmdline-opts/remote-name-all.d8
-rw-r--r--docs/cmdline-opts/remote-name.d21
-rw-r--r--docs/cmdline-opts/remote-time.d7
-rw-r--r--docs/cmdline-opts/request.d39
-rw-r--r--docs/cmdline-opts/resolve.d17
-rw-r--r--docs/cmdline-opts/retry-connrefused.d6
-rw-r--r--docs/cmdline-opts/retry-delay.d11
-rw-r--r--docs/cmdline-opts/retry-max-time.d13
-rw-r--r--docs/cmdline-opts/retry.d17
-rw-r--r--docs/cmdline-opts/sasl-ir.d5
-rw-r--r--docs/cmdline-opts/service-name.d8
-rw-r--r--docs/cmdline-opts/show-error.d5
-rw-r--r--docs/cmdline-opts/silent.d11
-rw-r--r--docs/cmdline-opts/socks4.d19
-rw-r--r--docs/cmdline-opts/socks4a.d19
-rw-r--r--docs/cmdline-opts/socks5-gssapi-nec.d8
-rw-r--r--docs/cmdline-opts/socks5-gssapi-service.d12
-rw-r--r--docs/cmdline-opts/socks5-hostname.d19
-rw-r--r--docs/cmdline-opts/socks5.d21
-rw-r--r--docs/cmdline-opts/speed-limit.d10
-rw-r--r--docs/cmdline-opts/speed-time.d13
-rw-r--r--docs/cmdline-opts/ssl-allow-beast.d9
-rw-r--r--docs/cmdline-opts/ssl-no-revoke.d7
-rw-r--r--docs/cmdline-opts/ssl-reqd.d9
-rw-r--r--docs/cmdline-opts/ssl.d12
-rw-r--r--docs/cmdline-opts/sslv2.d13
-rw-r--r--docs/cmdline-opts/sslv3.d13
-rw-r--r--docs/cmdline-opts/stderr.d8
-rw-r--r--docs/cmdline-opts/tcp-fastopen.d5
-rw-r--r--docs/cmdline-opts/tcp-nodelay.d9
-rw-r--r--docs/cmdline-opts/telnet-option.d12
-rw-r--r--docs/cmdline-opts/tftp-blksize.d11
-rw-r--r--docs/cmdline-opts/tftp-no-options.d10
-rw-r--r--docs/cmdline-opts/time-cond.d17
-rw-r--r--docs/cmdline-opts/tlsauthtype.d8
-rw-r--r--docs/cmdline-opts/tlspassword.d6
-rw-r--r--docs/cmdline-opts/tlsuser.d7
-rw-r--r--docs/cmdline-opts/tlsv1.0.d6
-rw-r--r--docs/cmdline-opts/tlsv1.1.d6
-rw-r--r--docs/cmdline-opts/tlsv1.2.d6
-rw-r--r--docs/cmdline-opts/tlsv1.3.d9
-rw-r--r--docs/cmdline-opts/tlsv1.d12
-rw-r--r--docs/cmdline-opts/tr-encoding.d7
-rw-r--r--docs/cmdline-opts/trace-ascii.d14
-rw-r--r--docs/cmdline-opts/trace-time.d5
-rw-r--r--docs/cmdline-opts/trace.d11
-rw-r--r--docs/cmdline-opts/unix-socket.d7
-rw-r--r--docs/cmdline-opts/upload-file.d33
-rw-r--r--docs/cmdline-opts/url.d15
-rw-r--r--docs/cmdline-opts/use-ascii.d8
-rw-r--r--docs/cmdline-opts/user-agent.d12
-rw-r--r--docs/cmdline-opts/user.d33
-rw-r--r--docs/cmdline-opts/verbose.d19
-rw-r--r--docs/cmdline-opts/version.d58
-rw-r--r--docs/cmdline-opts/write-out.d141
-rw-r--r--docs/cmdline-opts/xattr.d8
-rw-r--r--docs/curl-config.html96
-rw-r--r--docs/curl-config.pdfbin17775 -> 0 bytes
-rw-r--r--docs/curl.12798
-rw-r--r--docs/curl.html1107
-rw-r--r--docs/curl.pdfbin139891 -> 0 bytes
-rw-r--r--docs/examples/10-at-a-time.c2
-rw-r--r--docs/examples/Makefile.netware2
-rw-r--r--docs/examples/anyauthput.c4
-rw-r--r--docs/examples/asiohiper.cpp173
-rw-r--r--docs/examples/cacertinmem.c12
-rw-r--r--docs/examples/curlx.c76
-rw-r--r--docs/examples/debug.c2
-rw-r--r--docs/examples/evhiperfifo.c19
-rw-r--r--docs/examples/externalsocket.c11
-rw-r--r--docs/examples/fileupload.c11
-rw-r--r--docs/examples/fopen.c2
-rw-r--r--docs/examples/ftpupload.c2
-rw-r--r--docs/examples/ftpuploadresume.c6
-rw-r--r--docs/examples/ghiper.c24
-rw-r--r--docs/examples/hiperfifo.c19
-rw-r--r--docs/examples/htmltitle.cpp63
-rw-r--r--docs/examples/http2-download.c2
-rw-r--r--docs/examples/http2-serverpush.c2
-rw-r--r--docs/examples/http2-upload.c2
-rw-r--r--docs/examples/imap-append.c8
-rw-r--r--docs/examples/multi-app.c2
-rw-r--r--docs/examples/multi-debugcallback.c2
-rw-r--r--docs/examples/multi-post.c2
-rw-r--r--docs/examples/multi-uv.c95
-rw-r--r--docs/examples/multithread.c8
-rw-r--r--docs/examples/opensslthreadlock.c2
-rw-r--r--docs/examples/postit2.c2
-rw-r--r--docs/examples/rtsp.c14
-rw-r--r--docs/examples/sendrecv.c91
-rw-r--r--docs/examples/sessioninfo.c2
-rw-r--r--docs/examples/smooth-gtk-thread.c12
-rw-r--r--docs/examples/synctime.c6
-rw-r--r--docs/examples/usercertinmem.c5
-rw-r--r--docs/index.html20
-rw-r--r--docs/libcurl/Makefile.am4
-rw-r--r--docs/libcurl/Makefile.in4
-rw-r--r--docs/libcurl/curl_easy_cleanup.html76
-rw-r--r--docs/libcurl/curl_easy_cleanup.pdfbin19386 -> 0 bytes
-rw-r--r--docs/libcurl/curl_easy_duphandle.html66
-rw-r--r--docs/libcurl/curl_easy_duphandle.pdfbin17775 -> 0 bytes
-rw-r--r--docs/libcurl/curl_easy_escape.html77
-rw-r--r--docs/libcurl/curl_easy_escape.pdfbin19512 -> 0 bytes
-rw-r--r--docs/libcurl/curl_easy_getinfo.39
-rw-r--r--docs/libcurl/curl_easy_getinfo.html185
-rw-r--r--docs/libcurl/curl_easy_getinfo.pdfbin27286 -> 0 bytes
-rw-r--r--docs/libcurl/curl_easy_init.html74
-rw-r--r--docs/libcurl/curl_easy_init.pdfbin19179 -> 0 bytes
-rw-r--r--docs/libcurl/curl_easy_pause.html81
-rw-r--r--docs/libcurl/curl_easy_pause.pdfbin25043 -> 0 bytes
-rw-r--r--docs/libcurl/curl_easy_perform.html78
-rw-r--r--docs/libcurl/curl_easy_perform.pdfbin21965 -> 0 bytes
-rw-r--r--docs/libcurl/curl_easy_recv.329
-rw-r--r--docs/libcurl/curl_easy_recv.html71
-rw-r--r--docs/libcurl/curl_easy_recv.pdfbin24005 -> 0 bytes
-rw-r--r--docs/libcurl/curl_easy_reset.html65
-rw-r--r--docs/libcurl/curl_easy_reset.pdfbin17118 -> 0 bytes
-rw-r--r--docs/libcurl/curl_easy_send.323
-rw-r--r--docs/libcurl/curl_easy_send.html69
-rw-r--r--docs/libcurl/curl_easy_send.pdfbin23742 -> 0 bytes
-rw-r--r--docs/libcurl/curl_easy_setopt.343
-rw-r--r--docs/libcurl/curl_easy_setopt.html544
-rw-r--r--docs/libcurl/curl_easy_setopt.pdfbin47592 -> 0 bytes
-rw-r--r--docs/libcurl/curl_easy_strerror.html63
-rw-r--r--docs/libcurl/curl_easy_strerror.pdfbin17032 -> 0 bytes
-rw-r--r--docs/libcurl/curl_easy_unescape.37
-rw-r--r--docs/libcurl/curl_easy_unescape.html66
-rw-r--r--docs/libcurl/curl_easy_unescape.pdfbin18857 -> 0 bytes
-rw-r--r--docs/libcurl/curl_escape.html66
-rw-r--r--docs/libcurl/curl_escape.pdfbin18194 -> 0 bytes
-rw-r--r--docs/libcurl/curl_formadd.38
-rw-r--r--docs/libcurl/curl_formadd.html188
-rw-r--r--docs/libcurl/curl_formadd.pdfbin32574 -> 0 bytes
-rw-r--r--docs/libcurl/curl_formfree.html64
-rw-r--r--docs/libcurl/curl_formfree.pdfbin18145 -> 0 bytes
-rw-r--r--docs/libcurl/curl_formget.html89
-rw-r--r--docs/libcurl/curl_formget.pdfbin20276 -> 0 bytes
-rw-r--r--docs/libcurl/curl_free.html61
-rw-r--r--docs/libcurl/curl_free.pdfbin14470 -> 0 bytes
-rw-r--r--docs/libcurl/curl_getdate.html98
-rw-r--r--docs/libcurl/curl_getdate.pdfbin22706 -> 0 bytes
-rw-r--r--docs/libcurl/curl_getenv.html64
-rw-r--r--docs/libcurl/curl_getenv.pdfbin17145 -> 0 bytes
-rw-r--r--docs/libcurl/curl_global_cleanup.310
-rw-r--r--docs/libcurl/curl_global_cleanup.html66
-rw-r--r--docs/libcurl/curl_global_cleanup.pdfbin16899 -> 0 bytes
-rw-r--r--docs/libcurl/curl_global_init.html84
-rw-r--r--docs/libcurl/curl_global_init.pdfbin21818 -> 0 bytes
-rw-r--r--docs/libcurl/curl_global_init_mem.html82
-rw-r--r--docs/libcurl/curl_global_init_mem.pdfbin17304 -> 0 bytes
-rw-r--r--docs/libcurl/curl_mprintf.html76
-rw-r--r--docs/libcurl/curl_mprintf.pdfbin19586 -> 0 bytes
-rw-r--r--docs/libcurl/curl_multi_add_handle.html71
-rw-r--r--docs/libcurl/curl_multi_add_handle.pdfbin21012 -> 0 bytes
-rw-r--r--docs/libcurl/curl_multi_assign.html68
-rw-r--r--docs/libcurl/curl_multi_assign.pdfbin18580 -> 0 bytes
-rw-r--r--docs/libcurl/curl_multi_cleanup.html65
-rw-r--r--docs/libcurl/curl_multi_cleanup.pdfbin17392 -> 0 bytes
-rw-r--r--docs/libcurl/curl_multi_fdset.html75
-rw-r--r--docs/libcurl/curl_multi_fdset.pdfbin20399 -> 0 bytes
-rw-r--r--docs/libcurl/curl_multi_info_read.html98
-rw-r--r--docs/libcurl/curl_multi_info_read.pdfbin22957 -> 0 bytes
-rw-r--r--docs/libcurl/curl_multi_init.html63
-rw-r--r--docs/libcurl/curl_multi_init.pdfbin16317 -> 0 bytes
-rw-r--r--docs/libcurl/curl_multi_perform.html118
-rw-r--r--docs/libcurl/curl_multi_perform.pdfbin25241 -> 0 bytes
-rw-r--r--docs/libcurl/curl_multi_remove_handle.html64
-rw-r--r--docs/libcurl/curl_multi_remove_handle.pdfbin17178 -> 0 bytes
-rw-r--r--docs/libcurl/curl_multi_setopt.html94
-rw-r--r--docs/libcurl/curl_multi_setopt.pdfbin23370 -> 0 bytes
-rw-r--r--docs/libcurl/curl_multi_socket.32
-rw-r--r--docs/libcurl/curl_multi_socket.html116
-rw-r--r--docs/libcurl/curl_multi_socket.pdfbin28183 -> 0 bytes
-rw-r--r--docs/libcurl/curl_multi_socket_action.html115
-rw-r--r--docs/libcurl/curl_multi_socket_action.pdfbin28351 -> 0 bytes
-rw-r--r--docs/libcurl/curl_multi_socket_all.html56
-rw-r--r--docs/libcurl/curl_multi_socket_all.pdfbin2217 -> 0 bytes
-rw-r--r--docs/libcurl/curl_multi_strerror.html65
-rw-r--r--docs/libcurl/curl_multi_strerror.pdfbin14734 -> 0 bytes
-rw-r--r--docs/libcurl/curl_multi_timeout.html86
-rw-r--r--docs/libcurl/curl_multi_timeout.pdfbin21906 -> 0 bytes
-rw-r--r--docs/libcurl/curl_multi_wait.html132
-rw-r--r--docs/libcurl/curl_multi_wait.pdfbin22327 -> 0 bytes
-rw-r--r--docs/libcurl/curl_share_cleanup.html63
-rw-r--r--docs/libcurl/curl_share_cleanup.pdfbin16877 -> 0 bytes
-rw-r--r--docs/libcurl/curl_share_init.html64
-rw-r--r--docs/libcurl/curl_share_init.pdfbin18397 -> 0 bytes
-rw-r--r--docs/libcurl/curl_share_setopt.html88
-rw-r--r--docs/libcurl/curl_share_setopt.pdfbin21113 -> 0 bytes
-rw-r--r--docs/libcurl/curl_share_strerror.html65
-rw-r--r--docs/libcurl/curl_share_strerror.pdfbin15076 -> 0 bytes
-rw-r--r--docs/libcurl/curl_slist_append.html80
-rw-r--r--docs/libcurl/curl_slist_append.pdfbin17791 -> 0 bytes
-rw-r--r--docs/libcurl/curl_slist_free_all.html63
-rw-r--r--docs/libcurl/curl_slist_free_all.pdfbin13664 -> 0 bytes
-rw-r--r--docs/libcurl/curl_strequal.html65
-rw-r--r--docs/libcurl/curl_strequal.pdfbin16583 -> 0 bytes
-rw-r--r--docs/libcurl/curl_unescape.html66
-rw-r--r--docs/libcurl/curl_unescape.pdfbin17960 -> 0 bytes
-rw-r--r--docs/libcurl/curl_version.html63
-rw-r--r--docs/libcurl/curl_version.pdfbin15840 -> 0 bytes
-rw-r--r--docs/libcurl/curl_version_info.33
-rw-r--r--docs/libcurl/curl_version_info.html149
-rw-r--r--docs/libcurl/curl_version_info.pdfbin26144 -> 0 bytes
-rw-r--r--docs/libcurl/libcurl-easy.html63
-rw-r--r--docs/libcurl/libcurl-easy.pdfbin19068 -> 0 bytes
-rw-r--r--docs/libcurl/libcurl-errors.35
-rw-r--r--docs/libcurl/libcurl-errors.html262
-rw-r--r--docs/libcurl/libcurl-errors.pdfbin36983 -> 0 bytes
-rw-r--r--docs/libcurl/libcurl-multi.33
-rw-r--r--docs/libcurl/libcurl-multi.html96
-rw-r--r--docs/libcurl/libcurl-multi.pdfbin27275 -> 0 bytes
-rw-r--r--docs/libcurl/libcurl-share.html68
-rw-r--r--docs/libcurl/libcurl-share.pdfbin19958 -> 0 bytes
-rw-r--r--docs/libcurl/libcurl-symbols.360
-rw-r--r--docs/libcurl/libcurl-symbols.html1640
-rw-r--r--docs/libcurl/libcurl-symbols.pdfbin50443 -> 0 bytes
-rw-r--r--docs/libcurl/libcurl-thread.html96
-rw-r--r--docs/libcurl/libcurl-thread.pdfbin24412 -> 0 bytes
-rw-r--r--docs/libcurl/libcurl-tutorial.html565
-rw-r--r--docs/libcurl/libcurl-tutorial.pdfbin94723 -> 0 bytes
-rw-r--r--docs/libcurl/libcurl.html110
-rw-r--r--docs/libcurl/libcurl.pdfbin30424 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_ACTIVESOCKET.html65
-rw-r--r--docs/libcurl/opts/CURLINFO_ACTIVESOCKET.pdfbin19969 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.html65
-rw-r--r--docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.pdfbin20029 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_CERTINFO.html65
-rw-r--r--docs/libcurl/opts/CURLINFO_CERTINFO.pdfbin18142 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_CONDITION_UNMET.html64
-rw-r--r--docs/libcurl/opts/CURLINFO_CONDITION_UNMET.pdfbin17901 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_CONNECT_TIME.html65
-rw-r--r--docs/libcurl/opts/CURLINFO_CONNECT_TIME.pdfbin17844 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.html64
-rw-r--r--docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.pdfbin15588 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.html64
-rw-r--r--docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.pdfbin15068 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_CONTENT_TYPE.html65
-rw-r--r--docs/libcurl/opts/CURLINFO_CONTENT_TYPE.pdfbin17953 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_COOKIELIST.32
-rw-r--r--docs/libcurl/opts/CURLINFO_COOKIELIST.html65
-rw-r--r--docs/libcurl/opts/CURLINFO_COOKIELIST.pdfbin17764 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.html66
-rw-r--r--docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.pdfbin18563 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_FILETIME.html65
-rw-r--r--docs/libcurl/opts/CURLINFO_FILETIME.pdfbin19522 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.html65
-rw-r--r--docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.pdfbin17768 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_HEADER_SIZE.html64
-rw-r--r--docs/libcurl/opts/CURLINFO_HEADER_SIZE.pdfbin14935 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.html64
-rw-r--r--docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.pdfbin18549 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.html64
-rw-r--r--docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.pdfbin14684 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_LASTSOCKET.html66
-rw-r--r--docs/libcurl/opts/CURLINFO_LASTSOCKET.pdfbin18488 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_LOCAL_IP.html65
-rw-r--r--docs/libcurl/opts/CURLINFO_LOCAL_IP.pdfbin18028 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_LOCAL_PORT.html64
-rw-r--r--docs/libcurl/opts/CURLINFO_LOCAL_PORT.pdfbin14497 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.html65
-rw-r--r--docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.pdfbin17859 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_NUM_CONNECTS.html64
-rw-r--r--docs/libcurl/opts/CURLINFO_NUM_CONNECTS.pdfbin18828 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_OS_ERRNO.html64
-rw-r--r--docs/libcurl/opts/CURLINFO_OS_ERRNO.pdfbin14402 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.html65
-rw-r--r--docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.pdfbin18404 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_PRIMARY_IP.html65
-rw-r--r--docs/libcurl/opts/CURLINFO_PRIMARY_IP.pdfbin18283 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_PRIMARY_PORT.html64
-rw-r--r--docs/libcurl/opts/CURLINFO_PRIMARY_PORT.pdfbin14568 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_PRIVATE.html64
-rw-r--r--docs/libcurl/opts/CURLINFO_PRIVATE.pdfbin16977 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_PROTOCOL.355
-rw-r--r--docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.html64
-rw-r--r--docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.pdfbin19100 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_PROXY_SSL_VERIFYRESULT.343
-rw-r--r--docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.html64
-rw-r--r--docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.pdfbin14643 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_REDIRECT_TIME.html65
-rw-r--r--docs/libcurl/opts/CURLINFO_REDIRECT_TIME.pdfbin18330 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_REDIRECT_URL.html64
-rw-r--r--docs/libcurl/opts/CURLINFO_REDIRECT_URL.pdfbin18468 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_REQUEST_SIZE.html64
-rw-r--r--docs/libcurl/opts/CURLINFO_REQUEST_SIZE.pdfbin17674 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_RESPONSE_CODE.html79
-rw-r--r--docs/libcurl/opts/CURLINFO_RESPONSE_CODE.pdfbin18845 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.html64
-rw-r--r--docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.pdfbin14566 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.html64
-rw-r--r--docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.pdfbin17427 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.html66
-rw-r--r--docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.pdfbin15115 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.html66
-rw-r--r--docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.pdfbin17424 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_SCHEME.359
-rw-r--r--docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.html64
-rw-r--r--docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.pdfbin14991 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.html64
-rw-r--r--docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.pdfbin14507 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.html64
-rw-r--r--docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.pdfbin14713 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.html64
-rw-r--r--docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.pdfbin14653 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_SSL_ENGINES.html64
-rw-r--r--docs/libcurl/opts/CURLINFO_SSL_ENGINES.pdfbin17685 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.36
-rw-r--r--docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.html64
-rw-r--r--docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.pdfbin17340 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.html65
-rw-r--r--docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.pdfbin19801 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_TLS_SESSION.html73
-rw-r--r--docs/libcurl/opts/CURLINFO_TLS_SESSION.pdfbin20226 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_TLS_SSL_PTR.html119
-rw-r--r--docs/libcurl/opts/CURLINFO_TLS_SSL_PTR.pdfbin26151 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLINFO_TOTAL_TIME.html65
-rw-r--r--docs/libcurl/opts/CURLINFO_TOTAL_TIME.pdfbin17808 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.html65
-rw-r--r--docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.pdfbin18177 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.html65
-rw-r--r--docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.pdfbin17909 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLMOPT_MAXCONNECTS.html71
-rw-r--r--docs/libcurl/opts/CURLMOPT_MAXCONNECTS.pdfbin17717 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.html67
-rw-r--r--docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.pdfbin17724 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.34
-rw-r--r--docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.html66
-rw-r--r--docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.pdfbin17813 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.html65
-rw-r--r--docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.pdfbin17404 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLMOPT_PIPELINING.html77
-rw-r--r--docs/libcurl/opts/CURLMOPT_PIPELINING.pdfbin16572 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.html78
-rw-r--r--docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.pdfbin15559 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.html77
-rw-r--r--docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.pdfbin14598 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLMOPT_PUSHDATA.html70
-rw-r--r--docs/libcurl/opts/CURLMOPT_PUSHDATA.pdfbin17036 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.html131
-rw-r--r--docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.pdfbin22838 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLMOPT_SOCKETDATA.html70
-rw-r--r--docs/libcurl/opts/CURLMOPT_SOCKETDATA.pdfbin18367 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.html86
-rw-r--r--docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.pdfbin20888 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLMOPT_TIMERDATA.html70
-rw-r--r--docs/libcurl/opts/CURLMOPT_TIMERDATA.pdfbin16692 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.html113
-rw-r--r--docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.pdfbin22490 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_ABSTRACT_UNIX_SOCKET.358
-rw-r--r--docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.html77
-rw-r--r--docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.pdfbin14110 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.33
-rw-r--r--docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.html85
-rw-r--r--docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.pdfbin20933 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.pdfbin13014 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_APPEND.html77
-rw-r--r--docs/libcurl/opts/CURLOPT_APPEND.pdfbin13655 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_AUTOREFERER.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_AUTOREFERER.pdfbin13058 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_BUFFERSIZE.318
-rw-r--r--docs/libcurl/opts/CURLOPT_BUFFERSIZE.html66
-rw-r--r--docs/libcurl/opts/CURLOPT_BUFFERSIZE.pdfbin17194 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CAINFO.33
-rw-r--r--docs/libcurl/opts/CURLOPT_CAINFO.html69
-rw-r--r--docs/libcurl/opts/CURLOPT_CAINFO.pdfbin17850 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CAPATH.312
-rw-r--r--docs/libcurl/opts/CURLOPT_CAPATH.html66
-rw-r--r--docs/libcurl/opts/CURLOPT_CAPATH.pdfbin17182 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CERTINFO.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_CERTINFO.pdfbin18093 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.html78
-rw-r--r--docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.pdfbin19912 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CHUNK_DATA.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_CHUNK_DATA.pdfbin17459 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.html74
-rw-r--r--docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.pdfbin15904 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.pdfbin17120 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.html68
-rw-r--r--docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.pdfbin18336 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.html78
-rw-r--r--docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.pdfbin16576 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.html78
-rw-r--r--docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.pdfbin16549 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CONNECT_ONLY.31
-rw-r--r--docs/libcurl/opts/CURLOPT_CONNECT_ONLY.html66
-rw-r--r--docs/libcurl/opts/CURLOPT_CONNECT_ONLY.pdfbin18725 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CONNECT_TO.html101
-rw-r--r--docs/libcurl/opts/CURLOPT_CONNECT_TO.pdfbin22668 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.html82
-rw-r--r--docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.pdfbin20938 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.html82
-rw-r--r--docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.pdfbin20947 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.html82
-rw-r--r--docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.pdfbin20920 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_COOKIE.33
-rw-r--r--docs/libcurl/opts/CURLOPT_COOKIE.html81
-rw-r--r--docs/libcurl/opts/CURLOPT_COOKIE.pdfbin18329 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_COOKIEFILE.33
-rw-r--r--docs/libcurl/opts/CURLOPT_COOKIEFILE.html70
-rw-r--r--docs/libcurl/opts/CURLOPT_COOKIEFILE.pdfbin18296 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_COOKIEJAR.33
-rw-r--r--docs/libcurl/opts/CURLOPT_COOKIEJAR.html68
-rw-r--r--docs/libcurl/opts/CURLOPT_COOKIEJAR.pdfbin19915 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_COOKIELIST.html129
-rw-r--r--docs/libcurl/opts/CURLOPT_COOKIELIST.pdfbin20645 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_COOKIESESSION.html66
-rw-r--r--docs/libcurl/opts/CURLOPT_COOKIESESSION.pdfbin13698 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.html82
-rw-r--r--docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.pdfbin19069 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CRLF.html66
-rw-r--r--docs/libcurl/opts/CURLOPT_CRLF.pdfbin13297 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CRLFILE.33
-rw-r--r--docs/libcurl/opts/CURLOPT_CRLFILE.html68
-rw-r--r--docs/libcurl/opts/CURLOPT_CRLFILE.pdfbin18909 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.33
-rw-r--r--docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.html86
-rw-r--r--docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.pdfbin20871 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_DEBUGDATA.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_DEBUGDATA.pdfbin16921 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.31
-rw-r--r--docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.html204
-rw-r--r--docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.pdfbin24842 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.33
-rw-r--r--docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.html86
-rw-r--r--docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.pdfbin19352 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_DIRLISTONLY.html69
-rw-r--r--docs/libcurl/opts/CURLOPT_DIRLISTONLY.pdfbin17381 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.html67
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.pdfbin16490 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_INTERFACE.33
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_INTERFACE.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_INTERFACE.pdfbin13989 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.33
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.html66
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.pdfbin15707 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.33
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.html66
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.pdfbin15830 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_SERVERS.33
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_SERVERS.html69
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_SERVERS.pdfbin15223 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.html66
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.pdfbin18071 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_EGDSOCKET.33
-rw-r--r--docs/libcurl/opts/CURLOPT_EGDSOCKET.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_EGDSOCKET.pdfbin13637 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_ERRORBUFFER.html101
-rw-r--r--docs/libcurl/opts/CURLOPT_ERRORBUFFER.pdfbin23143 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.html70
-rw-r--r--docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.pdfbin15916 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FAILONERROR.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FAILONERROR.html68
-rw-r--r--docs/libcurl/opts/CURLOPT_FAILONERROR.pdfbin14183 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FILETIME.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_FILETIME.pdfbin19200 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FNMATCH_DATA.html70
-rw-r--r--docs/libcurl/opts/CURLOPT_FNMATCH_DATA.pdfbin16022 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.html76
-rw-r--r--docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.pdfbin15754 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.html81
-rw-r--r--docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.pdfbin21130 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FORBID_REUSE.html66
-rw-r--r--docs/libcurl/opts/CURLOPT_FORBID_REUSE.pdfbin14985 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FRESH_CONNECT.html67
-rw-r--r--docs/libcurl/opts/CURLOPT_FRESH_CONNECT.pdfbin16911 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FTPPORT.33
-rw-r--r--docs/libcurl/opts/CURLOPT_FTPPORT.html77
-rw-r--r--docs/libcurl/opts/CURLOPT_FTPPORT.pdfbin15280 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FTPSSLAUTH.html72
-rw-r--r--docs/libcurl/opts/CURLOPT_FTPSSLAUTH.pdfbin16427 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.33
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.pdfbin13653 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.33
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.html70
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.pdfbin14274 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.html79
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.pdfbin18206 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.html78
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.pdfbin16661 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.pdfbin17523 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.html67
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.pdfbin15324 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.html71
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.pdfbin13769 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.html66
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.pdfbin15471 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.html66
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.pdfbin14852 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_USE_PRET.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_USE_PRET.pdfbin13369 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.pdfbin15327 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_HEADER.html78
-rw-r--r--docs/libcurl/opts/CURLOPT_HEADER.pdfbin17872 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_HEADERDATA.html67
-rw-r--r--docs/libcurl/opts/CURLOPT_HEADERDATA.pdfbin16709 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_HEADERFUNCTION.html91
-rw-r--r--docs/libcurl/opts/CURLOPT_HEADERFUNCTION.pdfbin22417 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_HEADEROPT.html67
-rw-r--r--docs/libcurl/opts/CURLOPT_HEADEROPT.pdfbin17171 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTP200ALIASES.html72
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTP200ALIASES.pdfbin17184 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTPAUTH.html96
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTPAUTH.pdfbin22212 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTPGET.html79
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTPGET.pdfbin18443 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTPHEADER.html94
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTPHEADER.pdfbin24392 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTPPOST.html96
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTPPOST.pdfbin20307 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.html67
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.pdfbin16752 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.html70
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.pdfbin15873 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.html70
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.pdfbin13449 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTP_VERSION.html80
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTP_VERSION.pdfbin19018 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.html85
-rw-r--r--docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.pdfbin16264 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_INFILESIZE.html84
-rw-r--r--docs/libcurl/opts/CURLOPT_INFILESIZE.pdfbin18647 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.html89
-rw-r--r--docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.pdfbin18761 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_INTERFACE.33
-rw-r--r--docs/libcurl/opts/CURLOPT_INTERFACE.html66
-rw-r--r--docs/libcurl/opts/CURLOPT_INTERFACE.pdfbin15957 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.pdfbin16669 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.html75
-rw-r--r--docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.pdfbin18907 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_IOCTLDATA.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_IOCTLDATA.pdfbin16450 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.html88
-rw-r--r--docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.pdfbin19390 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_IPRESOLVE.html71
-rw-r--r--docs/libcurl/opts/CURLOPT_IPRESOLVE.pdfbin13518 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_ISSUERCERT.33
-rw-r--r--docs/libcurl/opts/CURLOPT_ISSUERCERT.html67
-rw-r--r--docs/libcurl/opts/CURLOPT_ISSUERCERT.pdfbin17510 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_KEEP_SENDING_ON_ERROR.352
-rw-r--r--docs/libcurl/opts/CURLOPT_KEYPASSWD.33
-rw-r--r--docs/libcurl/opts/CURLOPT_KEYPASSWD.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_KEYPASSWD.pdfbin17509 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_KRBLEVEL.33
-rw-r--r--docs/libcurl/opts/CURLOPT_KRBLEVEL.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_KRBLEVEL.pdfbin14150 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_LOCALPORT.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_LOCALPORT.pdfbin16000 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.pdfbin16822 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.33
-rw-r--r--docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.html67
-rw-r--r--docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.pdfbin18290 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.pdfbin15754 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.pdfbin15606 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_MAIL_AUTH.33
-rw-r--r--docs/libcurl/opts/CURLOPT_MAIL_AUTH.html67
-rw-r--r--docs/libcurl/opts/CURLOPT_MAIL_AUTH.pdfbin16884 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_MAIL_FROM.33
-rw-r--r--docs/libcurl/opts/CURLOPT_MAIL_FROM.html67
-rw-r--r--docs/libcurl/opts/CURLOPT_MAIL_FROM.pdfbin14001 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_MAIL_RCPT.html73
-rw-r--r--docs/libcurl/opts/CURLOPT_MAIL_RCPT.pdfbin18312 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_MAXCONNECTS.html68
-rw-r--r--docs/libcurl/opts/CURLOPT_MAXCONNECTS.pdfbin18559 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_MAXFILESIZE.html67
-rw-r--r--docs/libcurl/opts/CURLOPT_MAXFILESIZE.pdfbin18237 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.html71
-rw-r--r--docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.pdfbin17301 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_MAXREDIRS.html83
-rw-r--r--docs/libcurl/opts/CURLOPT_MAXREDIRS.pdfbin18584 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.html71
-rw-r--r--docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.pdfbin15677 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.html71
-rw-r--r--docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.pdfbin16199 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_NETRC.html78
-rw-r--r--docs/libcurl/opts/CURLOPT_NETRC.pdfbin19028 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_NETRC_FILE.33
-rw-r--r--docs/libcurl/opts/CURLOPT_NETRC_FILE.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_NETRC_FILE.pdfbin16226 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.html70
-rw-r--r--docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.pdfbin16353 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.html70
-rw-r--r--docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.pdfbin16205 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_NOBODY.html79
-rw-r--r--docs/libcurl/opts/CURLOPT_NOBODY.pdfbin14356 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_NOPROGRESS.html79
-rw-r--r--docs/libcurl/opts/CURLOPT_NOPROGRESS.pdfbin17786 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_NOPROXY.33
-rw-r--r--docs/libcurl/opts/CURLOPT_NOPROXY.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_NOPROXY.pdfbin14418 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_NOSIGNAL.html64
-rw-r--r--docs/libcurl/opts/CURLOPT_NOSIGNAL.pdfbin17528 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.pdfbin16950 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.html95
-rw-r--r--docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.pdfbin21609 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PASSWORD.33
-rw-r--r--docs/libcurl/opts/CURLOPT_PASSWORD.html67
-rw-r--r--docs/libcurl/opts/CURLOPT_PASSWORD.pdfbin16835 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PATH_AS_IS.html80
-rw-r--r--docs/libcurl/opts/CURLOPT_PATH_AS_IS.pdfbin16343 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.316
-rw-r--r--docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.html111
-rw-r--r--docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.pdfbin21339 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PIPEWAIT.html69
-rw-r--r--docs/libcurl/opts/CURLOPT_PIPEWAIT.pdfbin17779 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PORT.html67
-rw-r--r--docs/libcurl/opts/CURLOPT_PORT.pdfbin15340 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_POST.html72
-rw-r--r--docs/libcurl/opts/CURLOPT_POST.pdfbin18716 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_POSTFIELDS.html89
-rw-r--r--docs/libcurl/opts/CURLOPT_POSTFIELDS.pdfbin21085 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.html82
-rw-r--r--docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.pdfbin17195 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.html87
-rw-r--r--docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.pdfbin14174 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_POSTQUOTE.html66
-rw-r--r--docs/libcurl/opts/CURLOPT_POSTQUOTE.pdfbin15882 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_POSTREDIR.html87
-rw-r--r--docs/libcurl/opts/CURLOPT_POSTREDIR.pdfbin18145 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PREQUOTE.33
-rw-r--r--docs/libcurl/opts/CURLOPT_PREQUOTE.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_PREQUOTE.pdfbin15860 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PRE_PROXY.372
-rw-r--r--docs/libcurl/opts/CURLOPT_PRIVATE.html82
-rw-r--r--docs/libcurl/opts/CURLOPT_PRIVATE.pdfbin16942 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PROGRESSDATA.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_PROGRESSDATA.pdfbin16921 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.html74
-rw-r--r--docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.pdfbin21117 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PROTOCOLS.html112
-rw-r--r--docs/libcurl/opts/CURLOPT_PROTOCOLS.pdfbin18467 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY.323
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY.html75
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY.pdfbin22666 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYAUTH.html66
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYAUTH.pdfbin17721 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYHEADER.html73
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYHEADER.pdfbin16922 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYPASSWORD.33
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYPASSWORD.html66
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYPASSWORD.pdfbin17502 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYPORT.33
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYPORT.html66
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYPORT.pdfbin15748 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYTYPE.327
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYTYPE.html67
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYTYPE.pdfbin17486 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYUSERNAME.33
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYUSERNAME.html72
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYUSERNAME.pdfbin17367 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYUSERPWD.33
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYUSERPWD.html66
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYUSERPWD.pdfbin17169 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_CAINFO.373
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_CAPATH.360
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_CRLFILE.366
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_KEYPASSWD.353
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_PINNEDPUBLICKEY.3102
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.33
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.pdfbin15660 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SSLCERT.361
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SSLCERTTYPE.355
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SSLKEY.357
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SSLKEYTYPE.349
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SSLVERSION.374
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SSL_CIPHER_LIST.371
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SSL_OPTIONS.361
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYHOST.382
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYPEER.389
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_PASSWORD.351
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_TYPE.359
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_USERNAME.351
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.pdfbin17092 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PUT.html66
-rw-r--r--docs/libcurl/opts/CURLOPT_PUT.pdfbin16970 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_QUOTE.html91
-rw-r--r--docs/libcurl/opts/CURLOPT_QUOTE.pdfbin18989 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_RANDOM_FILE.33
-rw-r--r--docs/libcurl/opts/CURLOPT_RANDOM_FILE.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_RANDOM_FILE.pdfbin13165 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_RANGE.33
-rw-r--r--docs/libcurl/opts/CURLOPT_RANGE.html81
-rw-r--r--docs/libcurl/opts/CURLOPT_RANGE.pdfbin18655 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_READDATA.html81
-rw-r--r--docs/libcurl/opts/CURLOPT_READDATA.pdfbin18359 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_READFUNCTION.html74
-rw-r--r--docs/libcurl/opts/CURLOPT_READFUNCTION.pdfbin21242 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.33
-rw-r--r--docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.html113
-rw-r--r--docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.pdfbin18567 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_REFERER.33
-rw-r--r--docs/libcurl/opts/CURLOPT_REFERER.html77
-rw-r--r--docs/libcurl/opts/CURLOPT_REFERER.pdfbin16611 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_RESOLVE.html93
-rw-r--r--docs/libcurl/opts/CURLOPT_RESOLVE.pdfbin21183 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_RESUME_FROM.html86
-rw-r--r--docs/libcurl/opts/CURLOPT_RESUME_FROM.pdfbin17885 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.html93
-rw-r--r--docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.pdfbin15126 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.pdfbin13595 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_REQUEST.html87
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_REQUEST.pdfbin25671 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.pdfbin13499 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.33
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.pdfbin15854 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.33
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.pdfbin18869 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.33
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.html70
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.pdfbin13800 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SASL_IR.html67
-rw-r--r--docs/libcurl/opts/CURLOPT_SASL_IR.pdfbin14295 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SEEKDATA.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_SEEKDATA.pdfbin16781 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SEEKFUNCTION.html81
-rw-r--r--docs/libcurl/opts/CURLOPT_SEEKFUNCTION.pdfbin19738 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SERVICE_NAME.33
-rw-r--r--docs/libcurl/opts/CURLOPT_SERVICE_NAME.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_SERVICE_NAME.pdfbin15498 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SHARE.html68
-rw-r--r--docs/libcurl/opts/CURLOPT_SHARE.pdfbin16529 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SOCKOPTDATA.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_SOCKOPTDATA.pdfbin16846 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.html89
-rw-r--r--docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.pdfbin21841 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.pdfbin14143 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.33
-rw-r--r--docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.html66
-rw-r--r--docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.pdfbin17845 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.html66
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.pdfbin16391 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.33
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.html70
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.pdfbin14610 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_KEYDATA.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_KEYDATA.pdfbin17663 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.html111
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.pdfbin22147 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.33
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.pdfbin17302 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.33
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.html71
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.pdfbin19521 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.33
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.html71
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.pdfbin17690 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLCERT.33
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLCERT.html67
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLCERT.pdfbin17042 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLCERTTYPE.33
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLCERTTYPE.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLCERTTYPE.pdfbin14376 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLENGINE.33
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLENGINE.html70
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLENGINE.pdfbin14272 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.html70
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.pdfbin16804 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLKEY.33
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLKEY.html66
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLKEY.pdfbin16985 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLKEYTYPE.33
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLKEYTYPE.html66
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLKEYTYPE.pdfbin17153 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLVERSION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLVERSION.html96
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLVERSION.pdfbin15424 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.310
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.html71
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.pdfbin15130 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.pdfbin17229 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.html150
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.pdfbin23471 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.pdfbin13349 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.pdfbin13348 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_FALSESTART.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_FALSESTART.pdfbin13864 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_OPTIONS.html70
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_OPTIONS.pdfbin20269 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.html70
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.pdfbin13924 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.html86
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.pdfbin21755 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.34
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.html82
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.pdfbin19439 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.html67
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.pdfbin14414 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_STDERR.html76
-rw-r--r--docs/libcurl/opts/CURLOPT_STDERR.pdfbin16652 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.html68
-rw-r--r--docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.pdfbin17979 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.html69
-rw-r--r--docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.pdfbin16308 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.html69
-rw-r--r--docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.pdfbin19108 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_TCP_FASTOPEN.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_TCP_FASTOPEN.pdfbin13667 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.html83
-rw-r--r--docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.pdfbin17113 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.html83
-rw-r--r--docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.pdfbin15902 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.34
-rw-r--r--docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.html83
-rw-r--r--docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.pdfbin14191 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_TCP_NODELAY.html67
-rw-r--r--docs/libcurl/opts/CURLOPT_TCP_NODELAY.pdfbin14424 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_TELNETOPTIONS.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_TELNETOPTIONS.pdfbin13482 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.pdfbin15997 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.html92
-rw-r--r--docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.pdfbin17804 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_TIMECONDITION.html82
-rw-r--r--docs/libcurl/opts/CURLOPT_TIMECONDITION.pdfbin19688 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_TIMEOUT.html80
-rw-r--r--docs/libcurl/opts/CURLOPT_TIMEOUT.pdfbin18825 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_TIMEOUT_MS.html81
-rw-r--r--docs/libcurl/opts/CURLOPT_TIMEOUT_MS.pdfbin18943 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_TIMEVALUE.html81
-rw-r--r--docs/libcurl/opts/CURLOPT_TIMEVALUE.pdfbin17237 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.33
-rw-r--r--docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.pdfbin16462 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.33
-rw-r--r--docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.html68
-rw-r--r--docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.pdfbin17402 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.33
-rw-r--r--docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.html65
-rw-r--r--docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.pdfbin16580 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_TRANSFERTEXT.html66
-rw-r--r--docs/libcurl/opts/CURLOPT_TRANSFERTEXT.pdfbin13995 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.html67
-rw-r--r--docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.pdfbin17594 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.39
-rw-r--r--docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.html84
-rw-r--r--docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.pdfbin18048 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.html70
-rw-r--r--docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.pdfbin15653 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_UPLOAD.html90
-rw-r--r--docs/libcurl/opts/CURLOPT_UPLOAD.pdfbin19528 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_URL.33
-rw-r--r--docs/libcurl/opts/CURLOPT_URL.html167
-rw-r--r--docs/libcurl/opts/CURLOPT_URL.pdfbin34969 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_USERAGENT.33
-rw-r--r--docs/libcurl/opts/CURLOPT_USERAGENT.html76
-rw-r--r--docs/libcurl/opts/CURLOPT_USERAGENT.pdfbin17247 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_USERNAME.33
-rw-r--r--docs/libcurl/opts/CURLOPT_USERNAME.html76
-rw-r--r--docs/libcurl/opts/CURLOPT_USERNAME.pdfbin18851 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_USERPWD.33
-rw-r--r--docs/libcurl/opts/CURLOPT_USERPWD.html72
-rw-r--r--docs/libcurl/opts/CURLOPT_USERPWD.pdfbin19426 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_USE_SSL.html88
-rw-r--r--docs/libcurl/opts/CURLOPT_USE_SSL.pdfbin17222 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_VERBOSE.html80
-rw-r--r--docs/libcurl/opts/CURLOPT_VERBOSE.pdfbin18237 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_WILDCARDMATCH.html88
-rw-r--r--docs/libcurl/opts/CURLOPT_WILDCARDMATCH.pdfbin24154 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_WRITEDATA.html67
-rw-r--r--docs/libcurl/opts/CURLOPT_WRITEDATA.pdfbin18525 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_WRITEFUNCTION.html79
-rw-r--r--docs/libcurl/opts/CURLOPT_WRITEFUNCTION.pdfbin20749 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_XFERINFODATA.html66
-rw-r--r--docs/libcurl/opts/CURLOPT_XFERINFODATA.pdfbin17147 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.html73
-rw-r--r--docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.pdfbin20188 -> 0 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.33
-rw-r--r--docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.html66
-rw-r--r--docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.pdfbin16959 -> 0 bytes
-rw-r--r--docs/libcurl/opts/Makefile.am79
-rw-r--r--docs/libcurl/opts/Makefile.in79
-rw-r--r--docs/libcurl/symbols-in-versions28
-rw-r--r--docs/mk-ca-bundle.html107
-rw-r--r--docs/mk-ca-bundle.pdfbin21710 -> 0 bytes
1078 files changed, 9933 insertions, 33595 deletions
diff --git a/docs/BINDINGS b/docs/BINDINGS
deleted file mode 100644
index eb67c3d6b..000000000
--- a/docs/BINDINGS
+++ /dev/null
@@ -1,260 +0,0 @@
- _ _ ____ _
- ___| | | | _ \| |
- / __| | | | |_) | |
- | (__| |_| | _ <| |___
- \___|\___/|_| \_\_____|
-
- libcurl bindings
-
- Creative people have written bindings or interfaces for various environments
- and programming languages. Using one of these allows you to take advantage of
- curl powers from within your favourite language or system.
-
- This is a list of all known interfaces as of this writing.
-
- The bindings listed below are not part of the curl/libcurl distribution
- archives, but must be downloaded and installed separately.
-
-Ada95
-
- Writtten by Andreas Almroth
- http://www.almroth.com/adacurl/index.html
-
-Basic
-
- ScriptBasic bindings to libcurl. Writtten by Peter Verhas
- http://scriptbasic.com/
-
-C
- libcurl is a C library in itself!
- https://curl.haxx.se/libcurl/
-
-C++
-
- Written by Jean-Philippe Barrette-LaPierre
- http://curlpp.org/
-
-Ch
-
- Written by Stephen Nestinger and Jonathan Rogado
- http://chcurl.sourceforge.net/
-
-Cocoa
-
- BBHTTP: written by Bruno de Carvalho
- https://github.com/brunodecarvalho/BBHTTP
-
- curlhandle: Written by Dan Wood
- http://curlhandle.sourceforge.net/
-
-D
-
- Written by Kenneth Bogert
- http://dlang.org/library/std/net/curl.html
-
-Dylan
-
- Written by Chris Double
- http://dylanlibs.sourceforge.net/
-
-Eiffel
-
- Written by Eiffel Software
- https://room.eiffel.com/library/curl
-
-Euphoria
-
- Written by Ray Smith
- http://rays-web.com/eulibcurl.htm
-
-Falcon
-
- http://www.falconpl.org/index.ftd?page_id=prjs&prj_id=curl
-
-Ferite
-
- Written by Paul Querna
- http://www.ferite.org/
-
-Gambas
-
- http://gambas.sourceforge.net/
-
-glib/GTK+
-
- Written by Richard Atterer
- http://atterer.net/glibcurl/
-
-Guile:
-
- Written by Michael L. Gran
- http://www.lonelycactus.com/guile-curl.html
-
-Harbour
-
- Written by Viktor Szakáts
- https://github.com/vszakats/harbour-core/tree/master/contrib/hbcurl
-
-Haskell
-
- Written by Galois, Inc
- http://hackage.haskell.org/cgi-bin/hackage-scripts/package/curl
-
-Java
-
- https://github.com/pjlegato/curl-java
-
-Julia
-
- Written by Paul Howe
- https://github.com/forio/Curl.jl
-
-Lisp
-
- Written by Liam Healy
- http://common-lisp.net/project/cl-curl/
-
-Lua
-
- luacurl by Alexander Marinov
- http://luacurl.luaforge.net/
-
- Lua-cURL by Jürgen Hötzel
- http://luaforge.net/projects/lua-curl/
-
-Mono
-
- Written by Jeffrey Phillips
- http://forge.novell.com/modules/xfmod/project/?libcurl-mono
-
-.NET
-
- libcurl-net by Jeffrey Phillips
- https://sourceforge.net/projects/libcurl-net/
-
-node.js
-
- node-libcurl by Jonathan Cardoso Machado
- https://github.com/JCMais/node-libcurl
-
-Object-Pascal
-
- Free Pascal, Delphi and Kylix binding written by Christophe Espern.
- http://www.tekool.com/opcurl
-
-O'Caml
-
- Written by Lars Nilsson
- https://sourceforge.net/projects/ocurl/
-
-Pascal
-
- Free Pascal, Delphi and Kylix binding written by Jeffrey Pohlmeyer.
- http://houston.quik.com/jkp/curlpas/
-
-Perl
-
- Maintained by Cris Bailiff and Bálint Szilakszi
- https://github.com/szbalint/WWW--Curl
-
-PHP
-
- Written by Sterling Hughes
- https://php.net/curl
-
-PostgreSQL
-
- Written by Gian Paolo Ciceri
- http://gborg.postgresql.org/project/pgcurl/projdisplay.php
-
-Python
-
- PycURL by Kjetil Jacobsen
- http://pycurl.sourceforge.net/
-
-R
-
- http://cran.r-project.org/package=curl
-
-Rexx
-
- Written Mark Hessling
- http://rexxcurl.sourceforge.net/
-
-RPG
-
- Support for ILE/RPG on OS/400 is included in source distribution
- https://curl.haxx.se/libcurl/
- See packages/OS400/README.OS400 and packages/OS400/curl.inc.in
-
-Ruby
-
- curb - written by Ross Bamford
- http://curb.rubyforge.org/
-
- ruby-curl-multi - written by Kristjan Petursson and Keith Rarick
- http://curl-multi.rubyforge.org/
-
-Rust
-
- curl-rust - by Carl Lerche
- https://github.com/carllerche/curl-rust
-
-Scheme
-
- Bigloo binding by Kirill Lisovsky
- http://www.metapaper.net/lisovsky/web/curl/
-
-S-Lang
-
- S-Lang binding by John E Davis
- http://www.jedsoft.org/slang/modules/curl.html
-
-Smalltalk
-
- Smalltalk binding by Danil Osipchuk
- http://www.squeaksource.com/CurlPlugin/
-
-SP-Forth
-
- SP-Forth binding by ygrek
- http://www.forth.org.ru/~ac/lib/lin/curl/
-
-SPL
-
- SPL binding by Clifford Wolf
- http://www.clifford.at/spl/
-
-Tcl
-
- Tclcurl by Andrés García
- http://mirror.yellow5.com/tclcurl/
-
-Visual Basic
-
- libcurl-vb by Jeffrey Phillips
- https://sourceforge.net/projects/libcurl-vb/
-
-Visual Foxpro
-
- by Carlos Alloatti
- http://www.ctl32.com.ar/libcurl.asp
-
-Q
- The libcurl module is part of the default install
- http://q-lang.sourceforge.net/
-
-wxWidgets
-
- Written by Casey O'Donnell
- http://wxcode.sourceforge.net/components/wxcurl/
-
-XBLite
-
- Written by David Szafranski
- http://perso.wanadoo.fr/xblite/libraries.html
-
-Xojo
-
- Written by Andrew Lambert
- https://github.com/charonn0/RB-libcURL
diff --git a/docs/BINDINGS.md b/docs/BINDINGS.md
new file mode 100644
index 000000000..a11cb4cac
--- /dev/null
+++ b/docs/BINDINGS.md
@@ -0,0 +1,106 @@
+libcurl bindings
+================
+
+ Creative people have written bindings or interfaces for various environments
+ and programming languages. Using one of these allows you to take advantage of
+ curl powers from within your favourite language or system.
+
+ This is a list of all known interfaces as of this writing.
+
+ The bindings listed below are not part of the curl/libcurl distribution
+ archives, but must be downloaded and installed separately.
+
+[Ada95](http://www.almroth.com/adacurl/index.html) Written by Andreas Almroth
+
+[Basic](http://scriptbasic.com/) ScriptBasic bindings written by Peter Verhas
+
+[C++](http://curlpp.org/) Written by Jean-Philippe Barrette-LaPierre
+
+[Ch](https://chcurl.sourceforge.io/) Written by Stephen Nestinger and Jonathan Rogado
+
+Cocoa: [BBHTTP](https://github.com/brunodecarvalho/BBHTTP) written by Bruno de Carvalho
+[curlhandle](https://github.com/karelia/curlhandle) Written by Dan Wood
+
+[D](https://dlang.org/library/std/net/curl.html) Written by Kenneth Bogert
+
+[Dylan](https://dylanlibs.sourceforge.io/) Written by Chris Double
+
+[Eiffel](https://room.eiffel.com/library/curl) Written by Eiffel Software
+
+[Euphoria](http://rays-web.com/eulibcurl.htm) Written by Ray Smith
+
+[Falcon](http://www.falconpl.org/index.ftd?page_id=prjs&prj_id=curl)
+
+[Ferite](http://www.ferite.org/) Written by Paul Querna
+
+[Gambas](https://gambas.sourceforge.io/)
+
+[glib/GTK+](http://atterer.net/glibcurl/) Written by Richard Atterer
+
+[Guile](http://www.lonelycactus.com/guile-curl.html) Written by Michael L. Gran
+
+[Harbour](https://github.com/vszakats/harbour-core/tree/master/contrib/hbcurl) Written by Viktor Szakáts
+
+[Haskell](https://hackage.haskell.org/cgi-bin/hackage-scripts/package/curl) Written by Galois, Inc
+
+[Java](https://github.com/pjlegato/curl-java)
+
+[Julia](https://github.com/forio/Curl.jl) Written by Paul Howe
+
+[Lisp](https://common-lisp.net/project/cl-curl/) Written by Liam Healy
+
+Lua: [luacurl](http://luacurl.luaforge.net/) by Alexander Marinov, [Lua-cURL](http://luaforge.net/projects/lua-curl/) by Jürgen Hötzel
+
+[Mono](https://forge.novell.com/modules/xfmod/project/?libcurl-mono) Written by Jeffrey Phillips
+
+[.NET](https://sourceforge.net/projects/libcurl-net/) libcurl-net by Jeffrey Phillips
+
+[node.js](https://github.com/JCMais/node-libcurl) node-libcurl by Jonathan Cardoso Machado
+
+[Object-Pascal](http://www.tekool.com/opcurl) Free Pascal, Delphi and Kylix binding written by Christophe Espern.
+
+[O'Caml](https://sourceforge.net/projects/ocurl/) Written by Lars Nilsson
+
+[Pascal](http://houston.quik.com/jkp/curlpas/) Free Pascal, Delphi and Kylix binding written by Jeffrey Pohlmeyer.
+
+[Perl](https://github.com/szbalint/WWW--Curl) Maintained by Cris Bailiff and Bálint Szilakszi
+
+[PHP](https://php.net/curl) Originally written by Sterling Hughes
+
+[PostgreSQL](http://gborg.postgresql.org/project/pgcurl/projdisplay.php) Written by Gian Paolo Ciceri
+
+[Python](http://pycurl.io/) PycURL by Kjetil Jacobsen
+
+[R](https://cran.r-project.org/package=curl)
+
+[Rexx](https://rexxcurl.sourceforge.io/) Written Mark Hessling
+
+RPG, support for ILE/RPG on OS/400 is included in source distribution
+
+Ruby: [curb](http://curb.rubyforge.org/) written by Ross Bamford, [ruby-curl-multi](http://curl-multi.rubyforge.org/) written by Kristjan Petursson and Keith Rarick
+
+[Rust](https://github.com/carllerche/curl-rust) curl-rust - by Carl Lerche
+
+[Scheme](https://www.metapaper.net/lisovsky/web/curl/) Bigloo binding by Kirill Lisovsky
+
+[S-Lang](http://www.jedsoft.org/slang/modules/curl.html) by John E Davis
+
+[Smalltalk](http://www.squeaksource.com/CurlPlugin/) Written by Danil Osipchuk
+
+[SP-Forth](http://www.forth.org.ru/~ac/lib/lin/curl/) Written by ygrek
+
+[SPL](http://www.clifford.at/spl/) Written by Clifford Wolf
+
+[Tcl](http://mirror.yellow5.com/tclcurl/) Tclcurl by Andrés García
+
+[Visual Basic](https://sourceforge.net/projects/libcurl-vb/) libcurl-vb by Jeffrey Phillips
+
+[Visual Foxpro](http://www.ctl32.com.ar/libcurl.asp) by Carlos Alloatti
+
+[Q](https://q-lang.sourceforge.io/) The libcurl module is part of the default install
+
+[wxWidgets](https://wxcode.sourceforge.io/components/wxcurl/) Written by Casey O'Donnell
+
+[XBLite](http://perso.wanadoo.fr/xblite/libraries.html) Written by David Szafranski
+
+[Xojo](https://github.com/charonn0/RB-libcURL) Written by Andrew Lambert
diff --git a/docs/BUGS b/docs/BUGS
index dfd9b205a..8cabbd247 100644
--- a/docs/BUGS
+++ b/docs/BUGS
@@ -15,6 +15,16 @@ BUGS
1.6 How to get a stack trace
1.7 Bugs in libcurl bindings
+ 2. Bug fixing procedure
+ 2.1 What happens on first filing
+ 2.2 First response
+ 2.3 Not reproducible
+ 2.4 Unresponsive
+ 2.5 Lack of time/interest
+ 2.6 KNOWN_BUGS
+ 2.7 TODO
+ 2.8 Closing off stalled bugs
+
==============================================================================
1.1 There are still bugs
@@ -76,8 +86,6 @@ BUGS
1.4 libcurl problems
- First, post all libcurl problems on the curl-library mailing list.
-
When you've written your own application with libcurl to perform transfers,
it is even more important to be specific and detailed when reporting bugs.
@@ -144,3 +152,96 @@ BUGS
If you suspect that the problem exists in the underlying libcurl, then
please convert your program over to plain C and follow the steps outlined
above.
+
+2. Bug fixing procedure
+
+2.1 What happens on first filing
+
+ When a new issue is posted in the issue tracker or on the mailing list, the
+ team of developers first need to see the report. Maybe they took the day
+ off, maybe they're off in the woods hunting. Have patience. Allow at least a
+ few days before expecting someone to have responded.
+
+ In the issue tracker you can expect that some labels will be set on the
+ issue to help categorize it.
+
+2.2 First response
+
+ If your issue/bug report wasn't perfect at once (and few are), chances are
+ that someone will ask follow-up questions. Which version did you use? Which
+ options did you use? How often does the problem occur? How can we reproduce
+ this problem? Which protocols does it involve? Or perhaps much more specific
+ and deep diving questions. It all depends on your specific issue.
+
+ You should then respond to these follow-up questions and provide more info
+ about the problem, so that we can help you figure it out. Or maybe you can
+ help us figure it out. An active back-and-forth communication is important
+ and the key for finding a cure and landing a fix.
+
+2.3 Not reproducible
+
+ For problems that we can't reproduce and can't understand even after having
+ gotten all the info we need and having studied the source code over again,
+ are really hard to solve so then we may require further work from you who
+ actually see or experience the problem.
+
+2.4 Unresponsive
+
+ If the problem haven't been understood or reproduced, and there's nobody
+ responding to follow-up questions or questions asking for clarifications or
+ for discussing possible ways to move forward with the task, we take that as
+ a strong suggestion that the bug is not important.
+
+ Unimportant issues will be closed as inactive sooner or later as they can't
+ be fixed. The inactivity period (waiting for responses) should not be
+ shorter than two weeks but may extend months.
+
+2.5 Lack of time/interest
+
+ Bugs that are filed and are understood can unfortunately end up in the
+ "nobody cares enough about it to work on it" category. Such bugs are
+ perfectly valid problems that *should* get fixed but apparently aren't. We
+ try to mark such bugs as "KNOWN_BUGS material" after a time of inactivity
+ and if no activity is noticed after yet some time those bugs are added to
+ KNOWN_BUGS and are closed in the issue tracker.
+
+2.6 KNOWN_BUGS
+
+ This is a list of known bugs. Bugs we know exist and that have been pointed
+ out but that haven't yet been fixed. The reasons for why they haven't been
+ fixed can involve anything really, but the primary reason is that nobody has
+ considered these problems to be important enough to spend the necesary time
+ and effort to have them fixed.
+
+ The KNOWN_BUGS are always up for grabs and we will always love the ones who
+ bring one of them back to live and offers solutions to them.
+
+ The KNOWN_BUGS document has a sibling document known as TODO.
+
+2.7 TODO
+
+ Issues that are filed or reported that aren't really bugs but more missing
+ features or ideas for future improvements and so on are marked as
+ 'enhancement' or 'feature-request' and will be added to the TODO document
+ instead and the issue is closed. We don't keep TODO items in the issue
+ tracker.
+
+ The TODO document is full of ideas and suggestions of what we can add or fix
+ one day. You're always encouraged and free to grab one of those items and
+ take up a discussion with the curl development team on how that could be
+ implemented or provided in the project so that you can work on ticking it
+ odd that document.
+
+ If the issue is rather a bug and not a missing feature or functionality, it
+ is listed in KNOWN_BUGS instead.
+
+2.8 Closing off stalled bugs
+
+ The issue and pull request trackers on https://github.com/curl/curl will
+ only hold "active" entries (using a non-precise defintion of what active
+ actually is, but they're at least not completely dead). Those that are
+ abandonded or in other ways dormant will be closed and sometimes added to
+ TODO and KNOWN_BUGS instead.
+
+ This way, we only have "active" issues open on github. Irrelevant issues and
+ pull requests will not distract developes or casual visitors.
diff --git a/docs/CHECKSRC.md b/docs/CHECKSRC.md
index 591e066f6..b42de8470 100644
--- a/docs/CHECKSRC.md
+++ b/docs/CHECKSRC.md
@@ -20,7 +20,7 @@ when, for example, one of the files is generated.
checksrc does not check and verify the code against the entire style guide,
but the script is instead an effort to detect the most common mistakes and
-syntax mistakes that contributers make before they get accustomed to our code
+syntax mistakes that contributors make before they get accustomed to our code
style. Heck, many of us regulars do the mistakes too and this script helps us
keep the code in shape.
@@ -33,7 +33,7 @@ warnings are:
- `BADCOMMAND`: There's a bad !checksrc! instruction in the code. See the
**Ignore certain warnings** section below for details.
-- `BANNEDFUNC`: A banned function was used. The funtions sprintf, vsprintf,
+- `BANNEDFUNC`: A banned function was used. The functions sprintf, vsprintf,
strcat, strncat, gets are **never** allowed in curl source code.
- `BRACEELSE`: '} else' on the same line. The else is supposed to be on the
diff --git a/docs/CODE_STYLE.md b/docs/CODE_STYLE.md
index 73a4d94b7..ba5f71026 100644
--- a/docs/CODE_STYLE.md
+++ b/docs/CODE_STYLE.md
@@ -1,4 +1,4 @@
-# cURL C code style
+# curl C code style
Source code that has a common style is easier to read than code that uses
different styles in different places. It helps making the code feel like one
@@ -9,8 +9,8 @@ style is more important than individual contributors having their own personal
tastes satisfied.
Our C code has a few style rules. Most of them are verified and upheld by the
-lib/checksrc.pl script. Invoked with `make checksrc` or even by default by the
-build system when built after `./configure --enable-debug` has been used.
+`lib/checksrc.pl` script. Invoked with `make checksrc` or even by default by
+the build system when built after `./configure --enable-debug` has been used.
It is normally not a problem for anyone to follow the guidelines, as you just
need to copy the style already used in the source code and there are no
@@ -28,7 +28,8 @@ other places of the code, just that the names should be logical,
understandable and be named according to what they're used for. File-local
functions should be made static. We like lower case names.
-See the INTERNALS document on how we name non-exported library-global symbols.
+See the [INTERNALS](INTERNALS.md) document on how we name non-exported
+library-global symbols.
## Indenting
@@ -50,7 +51,7 @@ introduced in the C standard until C99. We use only `/*` and `*/` comments:
## Long lines
-Source code in curl may never be wider than 80 columns and there are two
+Source code in curl may never be wider than 79 columns and there are two
reasons for maintaining this even in the modern era of very large and high
resolution screens:
@@ -72,8 +73,12 @@ the initial keyword. Like this:
/* clearly a youngster */
}
-When we write functions however, the opening brace should be in the first
-column of the first line:
+You may omit the braces if they would contain only a one-line statement:
+
+ if(!x)
+ continue;
+
+For functions the opening brace should be on a separate line:
int main(int argc, char **argv)
{
@@ -162,6 +167,53 @@ Examples:
complement = ~bits;
empty = (!*string) ? TRUE : FALSE;
+## Column alignment
+
+Some statements cannot be completed on a single line because the line would
+be too long, the statement too hard to read, or due to other style guidelines
+above. In such a case the statement will span multiple lines.
+
+If a continuation line is part of an expression or sub-expression then you
+should align on the appropriate column so that it's easy to tell what part of
+the statement it is. Operators should not start continuation lines. In other
+cases follow the 2-space indent guideline. Here are some examples from libcurl:
+
+~~~c
+ if(Curl_pipeline_wanted(handle->multi, CURLPIPE_HTTP1) &&
+ (handle->set.httpversion != CURL_HTTP_VERSION_1_0) &&
+ (handle->set.httpreq == HTTPREQ_GET ||
+ handle->set.httpreq == HTTPREQ_HEAD))
+ /* didn't ask for HTTP/1.0 and a GET or HEAD */
+ return TRUE;
+~~~
+
+~~~c
+ case CURLOPT_KEEP_SENDING_ON_ERROR:
+ data->set.http_keep_sending_on_error = (0 != va_arg(param, long)) ?
+ TRUE : FALSE;
+ break;
+~~~
+
+~~~c
+ data->set.http_disable_hostname_check_before_authentication =
+ (0 != va_arg(param, long)) ? TRUE : FALSE;
+~~~
+
+~~~c
+ if(option) {
+ result = parse_login_details(option, strlen(option),
+ (userp ? &user : NULL),
+ (passwdp ? &passwd : NULL),
+ NULL);
+ }
+~~~
+
+~~~c
+ DEBUGF(infof(data, "Curl_pp_readresp_ %d bytes of trailing "
+ "server response left\n",
+ (int)clipamount));
+~~~
+
## Platform dependent code
Use `#ifdef HAVE_FEATURE` to do conditional code. We avoid checking for
diff --git a/docs/CONTRIBUTE.md b/docs/CONTRIBUTE.md
index cbda0c046..e77c36544 100644
--- a/docs/CONTRIBUTE.md
+++ b/docs/CONTRIBUTE.md
@@ -4,7 +4,7 @@ This document is intended to offer guidelines on how to best contribute to the
curl project. This concerns new features as well as corrections to existing
flaws or bugs.
-## Learning cURL
+## Learning curl
### Join the Community
@@ -83,14 +83,14 @@ It is annoying when you get a huge patch from someone that is said to fix 511
odd problems, but discussions and opinions don't agree with 510 of them - or
509 of them were already fixed in a different way. Then the person merging
this change needs to extract the single interesting patch from somewhere
-within the huge pile of source, and that gives a lot of extra work.
+within the huge pile of source, and that creates a lot of extra work.
-Preferably, each fix that correct a problem should be in its own patch/commit
+Preferably, each fix that corrects a problem should be in its own patch/commit
with its own description/commit message stating exactly what they correct so
that all changes can be selectively applied by the maintainer or other
interested parties.
-Also, separate changes enable bisecting much better when we track problems
+Also, separate changes enable bisecting much better for tracking problems
and regression in the future.
### Patch Against Recent Sources
@@ -103,9 +103,9 @@ release archive is quite OK as well!
### Documentation
Writing docs is dead boring and one of the big problems with many open source
-projects. Someone's gotta do it. It makes it a lot easier if you submit a
-small description of your fix or your new features with every contribution so
-that it can be swiftly added to the package documentation.
+projects. But someone's gotta do it! It makes things a lot easier if you
+submit a small description of your fix or your new features with every
+contribution so that it can be swiftly added to the package documentation.
The documentation is always made in man pages (nroff formatted) or plain
ASCII files. All HTML files on the web site and in the release archives are
@@ -134,9 +134,9 @@ patch to [the curl-library mailing
list](https://curl.haxx.se/mail/list.cgi?list=curl-library).
Either way, your change will be reviewed and discussed there and you will be
-expected to correct flaws pointed out and update accordingly, or the change
-risk stalling and eventually just get deleted without action. As a submitter
-of a change, you are the owner of that change until it has been merged.
+expected to correct flaws pointed out and update accordingly, or the change
+risks stalling and eventually just getting deleted without action. As a
+submitter of a change, you are the owner of that change until it has been merged.
Respond on the list or on github about the change and answer questions and/or
fix nits/flaws. This is very important. We will take lack of replies as a
@@ -151,14 +151,14 @@ changes merged.
We prefer pull requests to mailed patches, as it makes it a proper git commit
that is easy to merge and they are easy to track and not that easy to loose
-in a flood of many emails, like they sometimes do on the mailing lists.
+in the flood of many emails, like they sometimes do on the mailing lists.
-When you ajust your pull requests after review, consider squashing the
+When you adjust your pull requests after review, consider squashing the
commits so that we can review the full updated version more easily.
### Making quality patches
-Make the patch against as recent sources as possible.
+Make the patch against as recent source versions as possible.
If you've followed the tips in this document and your patch still hasn't been
incorporated or responded to after some weeks, consider resubmitting it to
@@ -204,8 +204,8 @@ local repository:
git commit [file]
-As usual, group your commits so that you commit all changes that at once that
-constitutes a logical change.
+As usual, group your commits so that you commit all changes at once that
+constitute a logical change.
Once you have done all your commits and you're happy with what you see, you
can make patches out of your changes that are suitable for mailing:
@@ -243,5 +243,5 @@ For unix-like operating systems:
For Windows:
- - [http://gnuwin32.sourceforge.net/packages/patch.htm](http://gnuwin32.sourceforge.net/packages/patch.htm)
- - [http://gnuwin32.sourceforge.net/packages/diffutils.htm](http://gnuwin32.sourceforge.net/packages/diffutils.htm)
+ - [https://gnuwin32.sourceforge.io/packages/patch.htm](https://gnuwin32.sourceforge.io/packages/patch.htm)
+ - [https://gnuwin32.sourceforge.io/packages/diffutils.htm](https://gnuwin32.sourceforge.io/packages/diffutils.htm)
diff --git a/docs/FAQ b/docs/FAQ
index d9e538aff..f8cb64492 100644
--- a/docs/FAQ
+++ b/docs/FAQ
@@ -81,7 +81,7 @@ FAQ
4.16 My HTTP POST or PUT requests are slow!
4.17 Non-functional connect timeouts on Windows
4.18 file:// URLs containing drive letters (Windows, NetWare)
- 4.19 Why doesn't cURL return an error when the network cable is unplugged?
+ 4.19 Why doesn't curl return an error when the network cable is unplugged?
4.20 curl doesn't return error for HTTP non-200 responses!
4.21 Why is there a HTTP/1.1 in my HTTP/2 request?
@@ -215,22 +215,22 @@ FAQ
another tool that uses libcurl.
We do not add things to curl that other small and available tools already do
- very fine at the side. Curl's output is fine to pipe into another program or
- redirect to another file for the next program to interpret.
+ very well at the side. Curl's output can be piped into another program or
+ redirected to another file for the next program to interpret.
We focus on protocol related issues and improvements. If you wanna do more
- magic with the supported protocols than curl currently does, chances are big
+ magic with the supported protocols than curl currently does, chances are good
we will agree. If you wanna add more protocols, we may very well agree.
- If you want someone else to make all the work while you wait for us to
+ If you want someone else to do all the work while you wait for us to
implement it for you, that is not a very friendly attitude. We spend a
considerable time already on maintaining and developing curl. In order to
get more out of us, you should consider trading in some of your time and
- efforts in return. Simply go to the GitHub repo which resides at
+ effort in return. Simply go to the GitHub repo which resides at
https://github.com/curl/curl, fork the project, and create pull requests
with your proposed changes.
- If you write the code, chances are bigger that it will get into curl faster.
+ If you write the code, chances are better that it will get into curl faster.
1.5 Who makes curl?
@@ -238,7 +238,7 @@ FAQ
project leader and main developer, but other persons' submissions are
important and crucial. Anyone can contribute and post their changes and
improvements and have them inserted in the main sources (of course on the
- condition that developers agree on that the fixes are good).
+ condition that developers agree that the fixes are good).
The full list of all contributors is found in the docs/THANKS file.
@@ -247,9 +247,9 @@ FAQ
1.6 What do you get for making curl?
Project cURL is entirely free and open. No person gets paid for developing
- curl on full time. We do this voluntarily, mostly on spare time.
+ curl full time. We do this voluntarily, mostly in our spare time.
Occasionally companies pay individual developers to work on curl, but that's
- up to each company and developer. It is not controlled by nor supervised in
+ up to each company and developer. This is not controlled by nor supervised in
any way by the project.
We still get help from companies. Haxx provides web site, bandwidth, mailing
@@ -260,11 +260,11 @@ FAQ
do so in the future.
If you want to support our project, consider a donation or a banner-program
- or even better: by helping us coding, documenting, testing etc.
+ or even better: by helping us with coding, documenting or testing etc.
1.7 What about CURL from curl.com?
- During the summer 2001, curl.com was busy advertising their client-side
+ During the summer of 2001, curl.com was busy advertising their client-side
programming language for the web, named CURL.
We are in no way associated with curl.com or their CURL programming
@@ -277,7 +277,7 @@ FAQ
We recognize that we will be living in parallel with curl.com and wish them
every success.
- 1.8 I have a problem who do I mail?
+ 1.8 I have a problem whom do I mail?
Please do not mail any single individual unless you really need to. Keep
curl-related questions on a suitable mailing list. All available mailing
@@ -285,8 +285,8 @@ FAQ
https://curl.haxx.se/mail/
Keeping curl-related questions and discussions on mailing lists allows
- others to join in and help, to share their ideas, contribute their
- suggestions and spread their wisdom. Keeping discussions on public mailing
+ others to join in and help, to share their ideas, to contribute their
+ suggestions and to spread their wisdom. Keeping discussions on public mailing
lists also allows for others to learn from this (both current and future
users thanks to the web based archives of the mailing lists), thus saving us
from having to repeat ourselves even more. Thanks for respecting this.
@@ -324,9 +324,9 @@ FAQ
1.11 Why don't you update ca-bundle.crt
- The ca cert bundle that used to shipped with curl was very outdated and must
- be replaced with an up-to-date version by anyone who wants to verify
- peers. It is no longer provided by curl. The last curl release ever that
+ The ca cert bundle that used to be shipped with curl was very outdated and
+ must be replaced with an up-to-date version by anyone who wants to verify
+ peers. It is no longer provided by curl. The last curl release that ever
shipped a ca cert bundle was curl 7.18.0.
In the cURL project we've decided not to attempt to keep this file updated
@@ -347,7 +347,7 @@ FAQ
1.12 I have a problem who can I chat with?
There's a bunch of friendly people hanging out in the #curl channel on the
- IRC network irc.freenode.net. If you're polite and nice, chances are big
+ IRC network irc.freenode.net. If you're polite and nice, chances are good
that you can get -- or provide -- help instantly.
1.13 curl's ECCN number?
@@ -430,7 +430,7 @@ FAQ
2.1.2 only the libssl lib is missing
If all include files and the libcrypto lib is present, with only the
- libssl being missing according to configure, this is mostly likely because
+ libssl being missing according to configure, this is most likely because
a few functions are left out from the libssl.
If the function names missing include RSA or RSAREF you can be certain
@@ -467,7 +467,7 @@ FAQ
2.5 Install libcurl for both 32bit and 64bit?
- In curl's configure procedure one of the regular include files get created
+ In curl's configure procedure one of the regular include files gets created
with platform specific information. The file 'curl/curlbuild.h' in the
installed libcurl file tree is therefore somewhat tied to that particular
platform.
@@ -520,11 +520,14 @@ FAQ
3.3 Why doesn't my posting using -F work?
- You can't simply use -F or -d at your choice. The web server that will
- receive your post expects one of the formats. If the form you're trying to
- submit uses the type 'multipart/form-data', then and only then you must use
- the -F type. In all the most common cases, you should use -d which then
- causes a posting with the type 'application/x-www-form-urlencoded'.
+ You can't arbitrarily use -F or -d, the choice between -F or -d depends on the
+ HTTP operation you need curl to do and what the web server that will receive
+ your post expects.
+
+ If the form you're trying to submit uses the type 'multipart/form-data', then
+ and only then you must use the -F type. In all the most common cases, you
+ should use -d which then causes a posting with the type
+ 'application/x-www-form-urlencoded'.
This is described in some detail in the MANUAL and TheArtOfHttpScripting
documents, and if you don't understand it the first time, read it again
@@ -611,7 +614,7 @@ FAQ
XML-RPC are all such ones. You can use -X to set custom requests and -H to
set custom headers (or replace internally generated ones).
- Using libcurl is of course just as fine and you'd just use the proper
+ Using libcurl is of course just as good and you'd just use the proper
library options to do the same.
3.11 How do I POST with a different Content-Type?
@@ -631,7 +634,7 @@ FAQ
There is one exception to this rule, and that is if you can "tunnel through"
the given HTTP proxy. Proxy tunneling is enabled with a special option (-p)
and is generally not available as proxy admins usually disable tunneling to
- other ports than 443 (which is used for HTTPS access through proxies).
+ ports other than 443 (which is used for HTTPS access through proxies).
3.13 Why does my single/double quotes fail?
@@ -650,7 +653,7 @@ FAQ
Windows/DOS prompts I believe you're forced to use double (") quotes.
Please study the documentation for your particular environment. Examples in
- the curl docs will use a mix of both these ones as shown above. You must
+ the curl docs will use a mix of both of these as shown above. You must
adjust them to work in your environment.
Remember that curl works and runs on more operating systems than most single
@@ -685,7 +688,7 @@ FAQ
No. curl itself has no code that performs recursive operations, such as
those performed by wget and similar tools.
- There exist wrapper scripts with that functionality (for example the
+ There exists wrapper scripts with that functionality (for example the
curlmirror perl script), and you can write programs based on libcurl to do
it, but the command line tool curl itself cannot.
@@ -696,9 +699,9 @@ FAQ
CLIENT CERTIFICATE
- The server you communicate may require that you can provide this in order to
- prove that you actually are who you claim to be. If the server doesn't
- require this, you don't need a client certificate.
+ The server you communicate with may require that you can provide this in
+ order to prove that you actually are who you claim to be. If the server
+ doesn't require this, you don't need a client certificate.
A client certificate is always used together with a private key, and the
private key has a pass phrase that protects it.
@@ -859,14 +862,14 @@ FAQ
4.3 How can I use {, }, [ or ] to specify multiple URLs?
- Because those letters have a special meaning to the shell, and to be used in
+ Because those letters have a special meaning to the shell, to be used in
a URL specified to curl you must quote them.
- An example that downloads two URLs (sequentially) would do:
+ An example that downloads two URLs (sequentially) would be:
curl '{curl,www}.haxx.se'
- To be able to use those letters as actual parts of the URL (without using
+ To be able to use those characters as actual parts of the URL (without using
them for the curl URL "globbing" system), use the -g/--globoff option:
curl -g 'www.site.com/weirdname[].html'
@@ -1016,14 +1019,16 @@ FAQ
4.13 Why is curl -R on Windows one hour off?
- During daylight savings time, when -R is used, curl will set a time that
- appears one hour off. This happens due to a flaw in how Windows stores and
- uses file modification times and it is not easily worked around. For details
- on this problem, read this: http://www.codeproject.com/datetime/dstbugs.asp
+ Since curl 7.53.0 this issue should be fixed as long as curl was built with
+ any modern compiler that allows for a 64-bit curl_off_t type. For older
+ compilers or prior curl versions it may set a time that appears one hour off.
+ This happens due to a flaw in how Windows stores and uses file modification
+ times and it is not easily worked around. For more details read this:
+ http://www.codeproject.com/datetime/dstbugs.asp
4.14 Redirects work in browser but not with curl!
- curl supports HTTP redirects fine (see item 3.8). Browsers generally support
+ curl supports HTTP redirects well (see item 3.8). Browsers generally support
at least two other ways to perform redirects that curl does not:
Meta tags. You can write a HTML tag that will cause the browser to redirect
@@ -1047,7 +1052,7 @@ FAQ
To use explicit FTPS, you use a FTP:// URL and the --ftp-ssl option (or one
of its related flavours). This is the most common method, and the one
- mandated by RFC4217. This kind of connection then of course uses the
+ mandated by RFC4217. This kind of connection will then of course use the
standard FTP port 21 by default.
4.16 My HTTP POST or PUT requests are slow!
@@ -1055,7 +1060,7 @@ FAQ
libcurl makes all POST and PUT requests (except for POST requests with a
very tiny request body) use the "Expect: 100-continue" header. This header
allows the server to deny the operation early so that libcurl can bail out
- already before having to send any data. This is useful in authentication
+ before having to send any data. This is useful in authentication
cases and others.
However, many servers don't implement the Expect: stuff properly and if the
@@ -1083,18 +1088,18 @@ FAQ
4.18 file:// URLs containing drive letters (Windows, NetWare)
- When using cURL to try to download a local file, one might use a URL
+ When using curl to try to download a local file, one might use a URL
in this format:
file://D:/blah.txt
- You'll find that even if D:\blah.txt does exist, cURL returns a 'file
+ You'll find that even if D:\blah.txt does exist, curl returns a 'file
not found' error.
According to RFC 1738 (https://www.ietf.org/rfc/rfc1738.txt),
file:// URLs must contain a host component, but it is ignored by
most implementations. In the above example, 'D:' is treated as the
- host component, and is taken away. Thus, cURL tries to open '/blah.txt'.
+ host component, and is taken away. Thus, curl tries to open '/blah.txt'.
If your system is installed to drive C:, that will resolve to 'C:\blah.txt',
and if that doesn't exist you will get the not found error.
@@ -1107,9 +1112,9 @@ FAQ
file://localhost/D:/blah.txt
- In either case, cURL should now be looking for the correct file.
+ In either case, curl should now be looking for the correct file.
- 4.19 Why doesn't cURL return an error when the network cable is unplugged?
+ 4.19 Why doesn't curl return an error when the network cable is unplugged?
Unplugging a cable is not an error situation. The TCP/IP protocol stack
was designed to be fault tolerant, so even though there may be a physical
@@ -1146,7 +1151,7 @@ FAQ
When doing HTTP transfers, curl will perform exactly what you're asking it
to do and if successful it will not return an error. You can use curl to
test your web server's "file not found" page (that gets 404 back), you can
- use it to check your authentication protected web pages (that get a 401
+ use it to check your authentication protected web pages (that gets a 401
back) and so on.
The specific HTTP response code does not constitute a problem or error for
@@ -1161,7 +1166,7 @@ FAQ
libcurl speak).
You can also use the -w option and the variable %{response_code} to extract
- the exact response code that was return in the response.
+ the exact response code that was returned in the response.
4.21 Why is there a HTTP/1.1 in my HTTP/2 request?
@@ -1171,8 +1176,8 @@ FAQ
The reason for this is that we first generate the request to send using the
old 1.1 style and show that request in the verbose output, and then we
convert it over to the binary header-compressed HTTP/2 style. The actual
- "1.1" part from that request is then not actually used in the transfer. The
- binary HTTP/2 headers are not human readable.
+ "1.1" part from that request is then not actually used in the transfer.
+ The binary HTTP/2 headers are not human readable.
5. libcurl Issues
@@ -1254,10 +1259,10 @@ FAQ
libcurl will reuse connections for all transfers that are made using the
same libcurl handle.
- When you use the easy interface, the connection cache is kept within the
- easy handle. If you instead use the multi interface, the connection cache
- will be kept within the multi handle and will be shared among all the easy
- handles that are used within the same multi handle.
+ When you use the easy interface the connection cache is kept within the easy
+ handle. If you instead use the multi interface, the connection cache will be
+ kept within the multi handle and will be shared among all the easy handles
+ that are used within the same multi handle.
5.7 Link errors when building libcurl on Windows!
@@ -1316,8 +1321,8 @@ FAQ
you want to change name resolver function you must rebuild libcurl and tell
it to use a different function.
- - The non-IPv6 resolver that can use one out of four host name resolve calls
- (depending on what your system supports):
+ - The non-IPv6 resolver that can use one of four different host name resolve
+ calls (depending on what your system supports):
A - gethostbyname()
B - gethostbyname_r() with 3 arguments
@@ -1351,7 +1356,7 @@ FAQ
5.12 Can I make libcurl fake or hide my real IP address?
No. libcurl operates on a higher level. Besides, faking IP address would
- imply sending IP packet with a made-up source address, and then you normally
+ imply sending IP packets with a made-up source address, and then you normally
get a problem with receiving the packet sent back as they would then not be
routed to you!
@@ -1381,18 +1386,18 @@ FAQ
libcurl is a C library, it doesn't know anything about C++ member functions.
- You can overcome this "limitation" with a relative ease using a static
+ You can overcome this "limitation" with relative ease using a static
member function that is passed a pointer to the class:
// f is the pointer to your object.
- static YourClass::func(void *buffer, size_t sz, size_t n, void *f)
+ static size_t YourClass::func(void *buffer, size_t sz, size_t n, void *f)
{
// Call non-static member function.
static_cast<YourClass*>(f)->nonStaticFunction();
}
// This is how you pass pointer to the static function:
- curl_easy_setopt(hcurl, CURLOPT_WRITEFUNCTION, YourClass:func);
+ curl_easy_setopt(hcurl, CURLOPT_WRITEFUNCTION, YourClass::func);
curl_easy_setopt(hcurl, CURLOPT_WRITEDATA, this);
5.15 How do I get an FTP directory listing?
diff --git a/docs/HISTORY.md b/docs/HISTORY.md
index ea402c6b7..551e7d258 100644
--- a/docs/HISTORY.md
+++ b/docs/HISTORY.md
@@ -1,20 +1,14 @@
- _ _ ____ _
- ___| | | | _ \| |
- / __| | | | |_) | |
- | (__| |_| | _ <| |___
- \___|\___/|_| \_\_____|
-
-How cURL Became Like This
+How curl Became Like This
=========================
Towards the end of 1996, Daniel Stenberg was spending time writing an IRC bot
for an Amiga related channel on EFnet. He then came up with the idea to make
currency-exchange calculations available to Internet Relay Chat (IRC)
-users. All the necessary data are published on the Web; he just needed to
+users. All the necessary data were published on the Web; he just needed to
automate their retrieval.
Daniel simply adopted an existing command-line open-source tool, httpget, that
-Brazilian Rafael Sagula had written and recently release version 0.1 of. After
+Brazilian Rafael Sagula had written and recently released version 0.1 of. After
a few minor adjustments, it did just what he needed.
1997
@@ -41,14 +35,14 @@ was revealed to us much later.)
SSL support was added, powered by the SSLeay library.
-August, first announcement of curl on freshmeat.net.
+August: first announcement of curl on freshmeat.net.
-October, with the curl 4.9 release and the introduction of cookie support,
+October: with the curl 4.9 release and the introduction of cookie support,
curl was no longer released under the GPL license. Now we're at 4000 lines of
code, we switched over to the MPL license to restrict the effects of
"copyleft".
-November, configure script and reported successful compiles on several
+November: configure script and reported successful compiles on several
major operating systems. The never-quite-understood -F option was added and
curl could now simulate quite a lot of a browser. TELNET support was added.
@@ -58,30 +52,30 @@ page. People started making Linux RPM packages out of it.
1999
----
-January, DICT support added.
+January: DICT support added.
-OpenSSL took over where SSLeay was abandoned.
+OpenSSL took over and SSLeay was abandoned.
-May, first Debian package.
+May: first Debian package.
-August, LDAP:// and FILE:// support added. The curl web site gets 1300 visits
+August: LDAP:// and FILE:// support added. The curl web site gets 1300 visits
weekly. Moved site to curl.haxx.nu.
-Released curl 6.0 in September. 15000 lines of code.
+September: Released curl 6.0. 15000 lines of code.
-December 28, added the project on Sourceforge and started using its services
+December 28: added the project on Sourceforge and started using its services
for managing the project.
2000
----
-Spring 2000, major internal overhaul to provide a suitable library interface.
+Spring: major internal overhaul to provide a suitable library interface.
The first non-beta release was named 7.1 and arrived in August. This offered
the easy interface and turned out to be the beginning of actually getting
-other software and programs to get based on and powered by libcurl. Almost
+other software and programs to be based on and powered by libcurl. Almost
20000 lines of code.
-June 2000: the curl site moves to "curl.haxx.se"
+June: the curl site moves to "curl.haxx.se"
August, the curl web site gets 4000 visits weekly.
@@ -90,41 +84,40 @@ party libcurl binding showed up. CURL has been a supported module in PHP since
the release of PHP 4.0.2. This would soon get followers. More than 16
different bindings exist at the time of this writing.
-September, kerberos4 support was added.
+September: kerberos4 support was added.
-In November started the work on a test suite for curl. It was later re-written
+November: started the work on a test suite for curl. It was later re-written
from scratch again. The libcurl major SONAME number was set to 1.
2001
----
-January, Daniel released curl 7.5.2 under a new license again: MIT (or
-MPL). The MIT license is extremely liberal and can be used combined with GPL
+January: Daniel released curl 7.5.2 under a new license again: MIT (or
+MPL). The MIT license is extremely liberal and can be combined with GPL
in other projects. This would finally put an end to the "complaints" from
people involved in GPLed projects that previously were prohibited from using
libcurl while it was released under MPL only. (Due to the fact that MPL is
deemed "GPL incompatible".)
-curl supports HTTP 1.1 starting with the release of 7.7, March 22 2001. This
+March 22: curl supports HTTP 1.1 starting with the release of 7.7. This
also introduced libcurl's ability to do persistent connections. 24000 lines of
code. The libcurl major SONAME number was bumped to 2 due to this overhaul.
+The first experimental ftps:// support was added.
-The first experimental ftps:// support was added in March 2001.
-
-August. curl is bundled in Mac OS X, 10.1. It was already becoming more and
+August: curl is bundled in Mac OS X, 10.1. It was already becoming more and
more of a standard utility of Linux distributions and a regular in the BSD
ports collections. The curl web site gets 8000 visits weekly. Curl Corporation
contacted Daniel to discuss "the name issue". After Daniel's reply, they have
-never since got in touch again.
+never since got back in touch again.
-September, libcurl 7.9 introduces cookie jar and curl_formadd(). During the
+September: libcurl 7.9 introduces cookie jar and curl_formadd(). During the
forthcoming 7.9.x releases, we introduced the multi interface slowly and
-without much whistles.
+without many whistles.
2002
----
-June, the curl web site gets 13000 visits weekly. curl and libcurl is
+June: the curl web site gets 13000 visits weekly. curl and libcurl is
35000 lines of code. Reported successful compiles on more than 40 combinations
of CPUs and operating systems.
@@ -133,15 +126,15 @@ impossible. Around 5000 downloaded packages each week from the main site gives
a hint, but the packages are mirrored extensively, bundled with numerous OS
distributions and otherwise retrieved as part of other software.
-September, with the release of curl 7.10 it is released under the MIT license
+September: with the release of curl 7.10 it is released under the MIT license
only.
2003
----
-January. Started working on the distributed curl tests. The autobuilds.
+January: Started working on the distributed curl tests. The autobuilds.
-February, the curl site averages at 20000 visits weekly. At any given moment,
+February: the curl site averages at 20000 visits weekly. At any given moment,
there's an average of 3 people browsing the curl.haxx.se site.
Multiple new authentication schemes are supported: Digest (May), NTLM (June)
@@ -150,7 +143,7 @@ and Negotiate (June).
November: curl 7.10.8 is released. 45000 lines of code. ~55000 unique visitors
to the curl.haxx.se site. Five official web mirrors.
-December, full-fledged SSL for FTP is supported.
+December: full-fledged SSL for FTP is supported.
2004
----
@@ -164,18 +157,18 @@ curl_formparse() function
August: Curl and libcurl 7.12.1
- Public curl release number: 82
+ Public curl release number: 82
Releases counted from the very beginning: 109
- Available command line options: 96
+ Available command line options: 96
Available curl_easy_setopt() options: 120
- Number of public functions in libcurl: 36
- Amount of public web site mirrors: 12
- Number of known libcurl bindings: 26
+ Number of public functions in libcurl: 36
+ Amount of public web site mirrors: 12
+ Number of known libcurl bindings: 26
2005
----
-April. GnuTLS can now optionally be used for the secure layer when curl is
+April: GnuTLS can now optionally be used for the secure layer when curl is
built.
April: Added the multi_socket() API
@@ -189,8 +182,8 @@ December: security vulnerability: libcurl URL Buffer Overflow
2006
----
-January. We dropped support for Gopher. We found bugs in the implementation
-that turned out having been introduced years ago, so with the conclusion that
+January: We dropped support for Gopher. We found bugs in the implementation
+that turned out to have been introduced years ago, so with the conclusion that
nobody had found out in all this time we removed it instead of fixing it.
March: security vulnerability: libcurl TFTP Packet Buffer Overflow
@@ -214,8 +207,8 @@ November:
Command line options: 128
curl_easy_setopt() options: 158
- Public functions in libcurl: 58
- Known libcurl bindings: 37
+ Public functions in libcurl: 58
+ Known libcurl bindings: 37
Contributors: 683
145,000 unique visitors. >100 GB downloaded.
@@ -248,11 +241,11 @@ August:
Public curl releases: 117
Command line options: 138
curl_easy_setopt() options: 180
- Public functions in libcurl: 58
- Known libcurl bindings: 39
+ Public functions in libcurl: 58
+ Known libcurl bindings: 39
Contributors: 808
- Gopher support added (re-added actually)
+ Gopher support added (re-added actually, see January 2006)
2012
----
diff --git a/docs/HTTP2.md b/docs/HTTP2.md
index cc5a5b334..efbe69991 100644
--- a/docs/HTTP2.md
+++ b/docs/HTTP2.md
@@ -96,18 +96,31 @@ curl tool
curl offers the `--http2` command line option to enable use of HTTP/2.
-curl offers the `--http2-prior-knowledge` command line option to enable use of
+curl offers the `--http2-prior-knowledge` command line option to enable use of
HTTP/2 without HTTP/1.1 Upgrade.
Since 7.47.0, the curl tool enables HTTP/2 by default for HTTPS connections.
+curl tool limitations
+---------------------
+
+The command line tool won't do any HTTP/2 multiplexing even though libcurl
+supports it, simply because the curl tool is not written to take advantage of
+the libcurl API that's necessary for this (the multi interface). We have an
+outstanding TODO item for this and **you** can help us make it happen.
+
+The command line tool also doesn't support HTTP/2 server push for the same
+reason it doesn't do multiplexing: it needs to use the multi interface for
+that so that multiplexing is supported.
+
HTTP Alternative Services
-------------------------
-Alt-Svc is a suggested extension with a corresponding frame (ALTSVC) in HTTP/2
-that tells the client about an alternative "route" to the same content for the
-same origin server that you get the response from. A browser or long-living
-client can use that hint to create a new connection asynchronously. For
-libcurl, we may introduce a way to bring such clues to the applicaton and/or
-let a subsequent request use the alternate route
-automatically. [Spec](https://tools.ietf.org/html/draft-ietf-httpbis-alt-svc-14)
+Alt-Svc is an extension with a corresponding frame (ALTSVC) in HTTP/2 that
+tells the client about an alternative "route" to the same content for the same
+origin server that you get the response from. A browser or long-living client
+can use that hint to create a new connection asynchronously. For libcurl, we
+may introduce a way to bring such clues to the application and/or let a
+subsequent request use the alternate route automatically.
+
+[Detailed in RFC 7838](https://tools.ietf.org/html/rfc7838)
diff --git a/docs/INSTALL b/docs/INSTALL
index 2e1075ba4..ff260b1b1 100644
--- a/docs/INSTALL
+++ b/docs/INSTALL
@@ -6,1110 +6,4 @@
How To Compile
-Installing Binary Packages
-==========================
-
- Lots of people download binary distributions of curl and libcurl. This
- document does not describe how to install curl or libcurl using such a
- binary package. This document describes how to compile, build and install
- curl and libcurl from source code.
-
-Building from git
-=================
-
- If you get your code off a git repository, see the GIT-INFO file in the
- root directory for specific instructions on how to proceed.
-
-Unix
-====
-
- A normal Unix installation is made in three or four steps (after you've
- unpacked the source archive):
-
- ./configure
- make
- make test (optional)
- make install
-
- You probably need to be root when doing the last command.
-
- If you have checked out the sources from the git repository, read the
- GIT-INFO on how to proceed.
-
- Get a full listing of all available configure options by invoking it like:
-
- ./configure --help
-
- If you want to install curl in a different file hierarchy than /usr/local,
- you need to specify that already when running configure:
-
- ./configure --prefix=/path/to/curl/tree
-
- If you happen to have write permission in that directory, you can do 'make
- install' without being root. An example of this would be to make a local
- install in your own home directory:
-
- ./configure --prefix=$HOME
- make
- make install
-
- The configure script always tries to find a working SSL library unless
- explicitly told not to. If you have OpenSSL installed in the default search
- path for your compiler/linker, you don't need to do anything special. If
- you have OpenSSL installed in /usr/local/ssl, you can run configure like:
-
- ./configure --with-ssl
-
- If you have OpenSSL installed somewhere else (for example, /opt/OpenSSL)
- and you have pkg-config installed, set the pkg-config path first, like this:
-
- env PKG_CONFIG_PATH=/opt/OpenSSL/lib/pkgconfig ./configure --with-ssl
-
- Without pkg-config installed, use this:
-
- ./configure --with-ssl=/opt/OpenSSL
-
- If you insist on forcing a build without SSL support, even though you may
- have OpenSSL installed in your system, you can run configure like this:
-
- ./configure --without-ssl
-
- If you have OpenSSL installed, but with the libraries in one place and the
- header files somewhere else, you have to set the LDFLAGS and CPPFLAGS
- environment variables prior to running configure. Something like this
- should work:
-
- (with the Bourne shell and its clones):
-
- CPPFLAGS="-I/path/to/ssl/include" LDFLAGS="-L/path/to/ssl/lib" \
- ./configure
-
- (with csh, tcsh and their clones):
-
- env CPPFLAGS="-I/path/to/ssl/include" LDFLAGS="-L/path/to/ssl/lib" \
- ./configure
-
- If you have shared SSL libs installed in a directory where your run-time
- linker doesn't find them (which usually causes configure failures), you can
- provide the -R option to ld on some operating systems to set a hard-coded
- path to the run-time linker:
-
- env LDFLAGS=-R/usr/local/ssl/lib ./configure --with-ssl
-
- MORE OPTIONS
- ------------
-
- To force configure to use the standard cc compiler if both cc and gcc are
- present, run configure like
-
- CC=cc ./configure
- or
- env CC=cc ./configure
-
- To force a static library compile, disable the shared library creation
- by running configure like:
-
- ./configure --disable-shared
-
- To tell the configure script to skip searching for thread-safe functions,
- add an option like:
-
- ./configure --disable-thread
-
- If you're a curl developer and use gcc, you might want to enable more
- debug options with the --enable-debug option.
-
- curl can be built to use a whole range of libraries to provide various
- useful services, and configure will try to auto-detect a decent
- default. But if you want to alter it, you can select how to deal with
- each individual library.
-
- To build with GnuTLS for SSL/TLS, use both --without-ssl and
- --with-gnutls.
-
- To build with Cyassl for SSL/TLS, use both --without-ssl and
- --with-cyassl.
-
- To build with NSS for SSL/TLS, use both --without-ssl and --with-nss.
-
- To build with PolarSSL for SSL/TLS, use both --without-ssl and
- --with-polarssl.
-
- To build with axTLS for SSL/TLS, use both --without-ssl and --with-axtls.
-
- To build with GSS-API support, use --with-gssapi and have the MIT Kerberos
- or Heimdal packages installed.
-
- To get support for SCP and SFTP, build with --with-libssh2 and have
- libssh2 0.16 or later installed.
-
- To get Metalink support, build with --with-libmetalink and have the
- libmetalink packages installed.
-
- SPECIAL CASES
- -------------
-
- Some versions of uClibc require configuring with CPPFLAGS=-D_GNU_SOURCE=1
- to get correct large file support.
-
- The Open Watcom C compiler on Linux requires configuring with the variables:
-
- ./configure CC=owcc AR="$WATCOM/binl/wlib" AR_FLAGS=-q \
- RANLIB=/bin/true STRIP="$WATCOM/binl/wstrip" CFLAGS=-Wextra
-
-Win32
-=====
-
- Building Windows DLLs and C run-time (CRT) linkage issues
- ---------------------------------------------------------
-
- As a general rule, building a DLL with static CRT linkage is highly
- discouraged, and intermixing CRTs in the same app is something to
- avoid at any cost.
-
- Reading and comprehension of Microsoft Knowledge Base articles
- KB94248 and KB140584 is a must for any Windows developer. Especially
- important is full understanding if you are not going to follow the
- advice given above.
-
- KB94248 - How To Use the C Run-Time
- https://support.microsoft.com/kb/94248/en-us
-
- KB140584 - How to link with the correct C Run-Time (CRT) library
- https://support.microsoft.com/kb/140584/en-us
-
- KB190799 - Potential Errors Passing CRT Objects Across DLL Boundaries
- https://msdn.microsoft.com/en-us/library/ms235460
-
- If your app is misbehaving in some strange way, or it is suffering
- from memory corruption, before asking for further help, please try
- first to rebuild every single library your app uses as well as your
- app using the debug multithreaded dynamic C runtime.
-
- If you get linkage errors read section 5.7 of the FAQ document.
-
- MingW32
- -------
-
- Make sure that MinGW32's bin dir is in the search path, for example:
-
- set PATH=c:\mingw32\bin;%PATH%
-
- then run 'mingw32-make mingw32' in the root dir. There are other
- make targets available to build libcurl with more features, use:
- 'mingw32-make mingw32-zlib' to build with Zlib support;
- 'mingw32-make mingw32-ssl-zlib' to build with SSL and Zlib enabled;
- 'mingw32-make mingw32-ssh2-ssl-zlib' to build with SSH2, SSL, Zlib;
- 'mingw32-make mingw32-ssh2-ssl-sspi-zlib' to build with SSH2, SSL, Zlib
- and SSPI support.
-
- If you have any problems linking libraries or finding header files, be sure
- to verify that the provided "Makefile.m32" files use the proper paths, and
- adjust as necessary. It is also possible to override these paths with
- environment variables, for example:
-
- set ZLIB_PATH=c:\zlib-1.2.8
- set OPENSSL_PATH=c:\openssl-1.0.2c
- set LIBSSH2_PATH=c:\libssh2-1.6.0
-
- ATTENTION: if you want to build with libssh2 support you have to use latest
- version 0.17 - previous versions will NOT work with 7.17.0 and later!
- Use 'mingw32-make mingw32-ssh2-ssl-zlib' to build with SSH2 and SSL enabled.
-
- It is now also possible to build with other LDAP SDKs than MS LDAP;
- currently it is possible to build with native Win32 OpenLDAP, or with the
- Novell CLDAP SDK. If you want to use these you need to set these vars:
-
- set LDAP_SDK=c:\openldap
- set USE_LDAP_OPENLDAP=1
-
- or for using the Novell SDK:
-
- set USE_LDAP_NOVELL=1
-
- If you want to enable LDAPS support then set LDAPS=1.
-
- - optional MingW32-built OpenLDAP SDK available from:
- http://www.gknw.net/mirror/openldap/
- - optional recent Novell CLDAP SDK available from:
- https://www.novell.com/developer/ndk/ldap_libraries_for_c.html
-
- Cygwin
- ------
-
- Almost identical to the unix installation. Run the configure script in the
- curl root with 'sh configure'. Make sure you have the sh executable in
- /bin/ or you'll see the configure fail toward the end.
-
- Run 'make'
-
- Dev-Cpp
- -------
-
- See the separate INSTALL.devcpp file for details.
-
- MSVC 6 caveats
- --------------
-
- If you use MSVC 6 it is required that you use the February 2003 edition of
- the 'Platform SDK' which can be downloaded from:
-
- https://www.microsoft.com/en-us/download/details.aspx?id=12261
-
- Building any software with MSVC 6 without having PSDK installed is just
- asking for trouble down the road once you have released it, you might notice
- the problems in the first corner or ten miles ahead, depending mostly on your
- choice of static vs dynamic runtime and third party libraries. Anyone using
- software built in such way will at some point regret having done so.
-
- If the compiler has been updated with the installation of a service pack as
- those mentioned in https://support.microsoft.com/kb/194022 the compiler can be
- safely used to read source code, translate and make it object code.
-
- But, even with the service packs mentioned above installed, the resulting
- software generated in such an environment will be using outdated system
- header files and libraries with bugs and security issues which have already
- been addressed and fixed long time ago.
-
- So, building curl and libcurl with MSVC 6 without PSDK is absolutely
- discouraged for the benefit of anyone using software built in such
- environment. And it will not be supported in any way, as we could just
- be hunting bugs which have already been fixed way back in 2003.
-
- When building with MSVC 6 we attempt to detect if PSDK is not being used,
- and if this is the case the build process will fail hard with an error
- message stating that the February 2003 PSDK is required. This is done to
- protect the unsuspecting and avoid PEBKAC issues.
-
- Additionally it might happen that a die hard MSVC hacker still wants to
- build curl and libcurl with MSVC 6 without PSDK installed, even knowing
- that this is a highly discouraged and unsupported build environment. In
- this case the brave of heart will be able to build in such an environment
- with the requisite of defining preprocessor symbol ALLOW_MSVC6_WITHOUT_PSDK
- in lib/config-win32.h and knowing that LDAP and IPv6 support will be missing.
-
- MSVC from command line
- ----------------------
-
- Run the 'vcvars32.bat' file to get a proper environment. The
- vcvars32.bat file is part of the Microsoft development environment and
- you may find it in 'C:\Program Files\Microsoft Visual Studio\vc98\bin'
- provided that you installed Visual C/C++ 6 in the default directory.
-
- Then run 'nmake vc' in curl's root directory.
-
- If you want to compile with zlib support, you will need to build
- zlib (http://www.zlib.net/) as well. Please read the zlib
- documentation on how to compile zlib. Define the ZLIB_PATH environment
- variable to the location of zlib.h and zlib.lib, for example:
-
- set ZLIB_PATH=c:\zlib-1.2.8
-
- Then run 'nmake vc-zlib' in curl's root directory.
-
- If you want to compile with SSL support you need the OpenSSL package.
- Please read the OpenSSL documentation on how to compile and install
- the OpenSSL libraries. The build process of OpenSSL generates the
- libeay32.dll and ssleay32.dll files in the out32dll subdirectory in
- the OpenSSL home directory. OpenSSL static libraries (libeay32.lib,
- ssleay32.lib, RSAglue.lib) are created in the out32 subdirectory.
-
- Before running nmake define the OPENSSL_PATH environment variable with
- the root/base directory of OpenSSL, for example:
-
- set OPENSSL_PATH=c:\openssl-0.9.8zc
-
- Then run 'nmake vc-ssl' or 'nmake vc-ssl-dll' in curl's root
- directory. 'nmake vc-ssl' will create a libcurl static and dynamic
- libraries in the lib subdirectory, as well as a statically linked
- version of curl.exe in the src subdirectory. This statically linked
- version is a standalone executable not requiring any DLL at
- runtime. This make method requires that you have the static OpenSSL
- libraries available in OpenSSL's out32 subdirectory.
- 'nmake vc-ssl-dll' creates the libcurl dynamic library and
- links curl.exe against libcurl and OpenSSL dynamically.
- This executable requires libcurl.dll and the OpenSSL DLLs
- at runtime.
- Run 'nmake vc-ssl-zlib' to build with both ssl and zlib support.
-
- MSVC IDE
- --------
-
- A fairly comprehensive set of Visual Studio project files are available for
- v6.0 through v12.0 and are located in the projects folder to allow proper
- building of both the libcurl library as well as the curl tool.
-
- For more information about these projects and building via Visual Studio
- please see the README file located in the projects folder.
-
- Borland C++ compiler
- --------------------
-
- Ensure that your build environment is properly set up to use the compiler
- and associated tools. PATH environment variable must include the path to
- bin subdirectory of your compiler installation, eg: c:\Borland\BCC55\bin
-
- It is advisable to set environment variable BCCDIR to the base path of
- the compiler installation.
-
- set BCCDIR=c:\Borland\BCC55
-
- In order to build a plain vanilla version of curl and libcurl run the
- following command from curl's root directory:
-
- make borland
-
- To build curl and libcurl with zlib and OpenSSL support set environment
- variables ZLIB_PATH and OPENSSL_PATH to the base subdirectories of the
- already built zlib and OpenSSL libraries and from curl's root directory
- run command:
-
- make borland-ssl-zlib
-
- libcurl library will be built in 'lib' subdirectory while curl tool
- is built in 'src' subdirectory. In order to use libcurl library it is
- advisable to modify compiler's configuration file bcc32.cfg located
- in c:\Borland\BCC55\bin to reflect the location of libraries include
- paths for example the '-I' line could result in something like:
-
- -I"c:\Borland\BCC55\include;c:\curl\include;c:\openssl\inc32"
-
- bcc3.cfg '-L' line could also be modified to reflect the location of
- of libcurl library resulting for example:
-
- -L"c:\Borland\BCC55\lib;c:\curl\lib;c:\openssl\out32"
-
- In order to build sample program 'simple.c' from the docs\examples
- subdirectory run following command from mentioned subdirectory:
-
- bcc32 simple.c libcurl.lib cw32mt.lib
-
- In order to build sample program simplessl.c an SSL enabled libcurl
- is required, as well as the OpenSSL libeay32.lib and ssleay32.lib
- libraries.
-
- OTHER MSVC IDEs
- ---------------
-
- If you use VC++, Borland or similar compilers. Include all lib source
- files in a static lib "project" (all .c and .h files that is).
- (you should name it libcurl or similar)
-
- Make the sources in the src/ drawer be a "win32 console application"
- project. Name it curl.
-
- Disabling Specific Protocols in Win32 builds
- --------------------------------------------
-
- The configure utility, unfortunately, is not available for the Windows
- environment, therefore, you cannot use the various disable-protocol
- options of the configure utility on this platform.
-
- However, you can use the following defines to disable specific
- protocols:
-
- HTTP_ONLY disables all protocols except HTTP
- CURL_DISABLE_FTP disables FTP
- CURL_DISABLE_LDAP disables LDAP
- CURL_DISABLE_TELNET disables TELNET
- CURL_DISABLE_DICT disables DICT
- CURL_DISABLE_FILE disables FILE
- CURL_DISABLE_TFTP disables TFTP
- CURL_DISABLE_HTTP disables HTTP
- CURL_DISABLE_IMAP disables IMAP
- CURL_DISABLE_POP3 disables POP3
- CURL_DISABLE_SMTP disables SMTP
-
- If you want to set any of these defines you have the following options:
-
- - Modify lib/config-win32.h
- - Modify lib/curl_setup.h
- - Modify lib/Makefile.vc6
- - Modify the "Preprocessor Definitions" in the libcurl project
-
- Note: The pre-processor settings can be found using the Visual Studio IDE
- under "Project -> Settings -> C/C++ -> General" in VC6 and "Project ->
- Properties -> Configuration Properties -> C/C++ -> Preprocessor" in later
- versions.
-
- Using BSD-style lwIP instead of Winsock TCP/IP stack in Win32 builds
- --------------------------------------------------------------------
-
- In order to compile libcurl and curl using BSD-style lwIP TCP/IP stack
- it is necessary to make definition of preprocessor symbol USE_LWIPSOCK
- visible to libcurl and curl compilation processes. To set this definition
- you have the following alternatives:
-
- - Modify lib/config-win32.h and src/config-win32.h
- - Modify lib/Makefile.vc6
- - Modify the "Preprocessor Definitions" in the libcurl project
-
- Note: The pre-processor settings can be found using the Visual Studio IDE
- under "Project -> Settings -> C/C++ -> General" in VC6 and "Project ->
- Properties -> Configuration Properties -> C/C++ -> Preprocessor" in later
- versions.
-
- Once that libcurl has been built with BSD-style lwIP TCP/IP stack support,
- in order to use it with your program it is mandatory that your program
- includes lwIP header file <lwip/opt.h> (or another lwIP header that includes
- this) before including any libcurl header. Your program does not need the
- USE_LWIPSOCK preprocessor definition which is for libcurl internals only.
-
- Compilation has been verified with lwIP 1.4.0 and contrib-1.4.0 from:
-
- http://download.savannah.gnu.org/releases/lwip/lwip-1.4.0.zip
- http://download.savannah.gnu.org/releases/lwip/contrib-1.4.0.zip
-
- This BSD-style lwIP TCP/IP stack support must be considered experimental
- given that it has been verified that lwIP 1.4.0 still needs some polish,
- and libcurl might yet need some additional adjustment, caveat emptor.
-
- Important static libcurl usage note
- -----------------------------------
-
- When building an application that uses the static libcurl library, you must
- add '-DCURL_STATICLIB' to your CFLAGS. Otherwise the linker will look for
- dynamic import symbols.
-
- Legacy Windows and SSL
- ----------------------
-
- WinSSL (specifically SChannel from Windows SSPI), is the native SSL library
- in Windows. However, WinSSL in Windows <= XP is unable to connect to servers
- that no longer support the legacy handshakes and algorithms used by those
- versions. If you will be using curl in one of those earlier versions of
- Windows you should choose another SSL backend such as OpenSSL.
-
-Apple iOS and Mac OS X
-======================
-
- On recent Apple operating systems, curl can be built to use Apple's
- SSL/TLS implementation, Secure Transport, instead of OpenSSL. To build with
- Secure Transport for SSL/TLS, use the configure option --with-darwinssl. (It
- is not necessary to use the option --without-ssl.) This feature requires iOS
- 5.0 or later, or OS X 10.5 ("Leopard") or later.
-
- When Secure Transport is in use, the curl options --cacert and --capath and
- their libcurl equivalents, will be ignored, because Secure Transport uses
- the certificates stored in the Keychain to evaluate whether or not to trust
- the server. This, of course, includes the root certificates that ship with
- the OS. The --cert and --engine options, and their libcurl equivalents, are
- currently unimplemented in curl with Secure Transport.
-
- For OS X users: In OS X 10.8 ("Mountain Lion"), Apple made a major
- overhaul to the Secure Transport API that, among other things, added
- support for the newer TLS 1.1 and 1.2 protocols. To get curl to support
- TLS 1.1 and 1.2, you must build curl on Mountain Lion or later, or by
- using the equivalent SDK. If you set the MACOSX_DEPLOYMENT_TARGET
- environmental variable to an earlier version of OS X prior to building curl,
- then curl will use the new Secure Transport API on Mountain Lion and later,
- and fall back on the older API when the same curl binary is executed on
- older cats. For example, running these commands in curl's directory in the
- shell will build the code such that it will run on cats as old as OS X 10.6
- ("Snow Leopard") (using bash):
-
- export MACOSX_DEPLOYMENT_TARGET="10.6"
- ./configure --with-darwinssl
- make
-
-IBM OS/2
-========
-
- Building under OS/2 is not much different from building under unix.
- You need:
-
- - emx 0.9d
- - GNU make
- - GNU patch
- - ksh
- - GNU bison
- - GNU file utilities
- - GNU sed
- - autoconf 2.13
-
- If you want to build with OpenSSL or OpenLDAP support, you'll need to
- download those libraries, too. Dirk Ohme has done some work to port SSL
- libraries under OS/2, but it looks like he doesn't care about emx. You'll
- find his patches on: http://come.to/Dirk_Ohme
-
- If during the linking you get an error about _errno being an undefined
- symbol referenced from the text segment, you need to add -D__ST_MT_ERRNO__
- in your definitions.
-
- If everything seems to work fine but there's no curl.exe, you need to add
- -Zexe to your linker flags.
-
- If you're getting huge binaries, probably your makefiles have the -g in
- CFLAGS.
-
-VMS
-===
-
- (The VMS section is in whole contributed by the friendly Nico Baggus)
-
- Curl seems to work with FTP & HTTP other protocols are not tested. (the
- perl http/ftp testing server supplied as testing too cannot work on VMS
- because vms has no concept of fork(). [ I tried to give it a whack, but
- that's of no use.
-
- SSL stuff has not been ported.
-
- Telnet has about the same issues as for Win32. When the changes for Win32
- are clear maybe they'll work for VMS too. The basic problem is that select
- ONLY works for sockets.
-
- Marked instances of fopen/[f]stat that might become a problem, especially
- for non stream files. In this regard, the files opened for writing will be
- created stream/lf and will thus be safe. Just keep in mind that non-binary
- read/wring from/to files will have a records size limit of 32767 bytes
- imposed.
-
- Stat to get the size of the files is again only safe for stream files &
- fixed record files without implied CC.
-
- -- My guess is that only allowing access to stream files is the quickest
- way to get around the most issues. Therefore all files need to to be
- checked to be sure they will be stream/lf before processing them. This is
- the easiest way out, I know. The reason for this is that code that needs to
- report the filesize will become a pain in the ass otherwise.
-
- Exit status.... Well we needed something done here,
-
- VMS has a structured exist status:
- | 3 | 2 | 1 | 0|
- |1098|765432109876|5432109876543|210|
- +----+------------+-------------+---+
- |Ctrl| Facility | Error code |sev|
- +----+------------+-------------+---+
-
- With the Ctrl-bits an application can tell if part or the whole message has
- already been printed from the program, DCL doesn't need to print it again.
-
- Facility - basically the program ID. A code assigned to the program
- the name can be fetched from external or internal message libraries
- Error code - the err codes assigned by the application
- Sev. - severity: Even = error, off = non error
-
- 0 = Warning
- 1 = Success
- 2 = Error
- 3 = Information
- 4 = Fatal
- <5-7> reserved.
-
- This all presents itself with:
- %<FACILITY>-<Sev>-<Errorname>, <Error message>
-
- See also the src/curlmsg.msg file, it has the source for the messages In
- src/main.c a section is devoted to message status values, the globalvalues
- create symbols with certain values, referenced from a compiled message
- file. Have all exit function use a exit status derived from a translation
- table with the compiled message codes.
-
- This was all compiled with:
-
- Compaq C V6.2-003 on OpenVMS Alpha V7.1-1H2
-
- So far for porting notes as of:
-
- 13-jul-2001
- N. Baggus
-
-QNX
-===
-
- (This section was graciously brought to us by David Bentham)
-
- As QNX is targeted for resource constrained environments, the QNX headers
- set conservative limits. This includes the FD_SETSIZE macro, set by default
- to 32. Socket descriptors returned within the CURL library may exceed this,
- resulting in memory faults/SIGSEGV crashes when passed into select(..)
- calls using fd_set macros.
-
- A good all-round solution to this is to override the default when building
- libcurl, by overriding CFLAGS during configure, example
-
- # configure CFLAGS='-DFD_SETSIZE=64 -g -O2'
-
-RISC OS
-=======
-
- The library can be cross-compiled using gccsdk as follows:
-
- CC=riscos-gcc AR=riscos-ar RANLIB='riscos-ar -s' ./configure \
- --host=arm-riscos-aof --without-random --disable-shared
- make
-
- where riscos-gcc and riscos-ar are links to the gccsdk tools.
- You can then link your program with curl/lib/.libs/libcurl.a
-
-AmigaOS
-=======
-
- (This section was graciously brought to us by Diego Casorran)
-
- To build cURL/libcurl on AmigaOS just type 'make amiga' ...
-
- What you need is: (not tested with others versions)
-
- GeekGadgets / gcc 2.95.3 (http://www.geekgadgets.org/)
-
- AmiTCP SDK v4.3 (http://www.aminet.net/comm/tcp/AmiTCP-SDK-4.3.lha)
-
- Native Developer Kit (http://www.amiga.com/3.9/download/NDK3.9.lha)
-
- As no ixemul.library is required you will be able to build it for
- WarpOS/PowerPC (not tested by me), as well a MorphOS version should be
- possible with no problems.
-
- To enable SSL support, you need a OpenSSL native version (without ixemul),
- you can find a precompiled package at http://amiga.sourceforge.net/OpenSSL/
-
-NetWare
-=======
-
- To compile curl.nlm / libcurl.nlm you need:
-
- - either any gcc / nlmconv, or CodeWarrior 7 PDK 4 or later.
- - gnu make and awk running on the platform you compile on;
- native Win32 versions can be downloaded from:
- http://www.gknw.net/development/prgtools/
- - recent Novell LibC or Novell CLib SDK available from:
- https://www.novell.com/developer/ndk/
- - optional recent Novell CLDAP SDK available from:
- https://www.novell.com/developer/ndk/ldap_libraries_for_c.html
- - optional zlib sources (static or dynamic linking with zlib.imp);
- sources with NetWare Makefile can be obtained from:
- http://www.gknw.net/mirror/zlib/
- - optional OpenSSL sources (version 0.9.8 or later build with BSD sockets);
- you can find precompiled packages at:
- http://www.gknw.net/development/ossl/netware/
- for CLIB-based builds OpenSSL 0.9.8h or later is required - earlier versions
- don't support building with CLIB BSD sockets.
- - optional SSH2 sources (version 0.17 or later);
-
- Set a search path to your compiler, linker and tools; on Linux make
- sure that the var OSTYPE contains the string 'linux'; set the var
- NDKBASE to point to the base of your Novell NDK; and then type
- 'make netware' from the top source directory; other targets available
- are 'netware-ssl', 'netware-ssl-zlib', 'netware-zlib' and 'netware-ares';
- if you need other combinations you can control the build with the
- environment variables WITH_SSL, WITH_ZLIB, WITH_ARES, WITH_SSH2, and
- ENABLE_IPV6; you can set LINK_STATIC=1 to link curl.nlm statically.
- By default LDAP support is enabled, however currently you will need a patch
- in order to use the CLDAP NDK with BSD sockets (Novell Bug 300237):
- http://www.gknw.net/test/curl/cldap_ndk/ldap_ndk.diff
- I found on some Linux systems (RH9) that OS detection didn't work although
- a 'set | grep OSTYPE' shows the var present and set; I simply overwrote it
- with 'OSTYPE=linux-rh9-gnu' and the detection in the Makefile worked...
- Any help in testing appreciated!
- Builds automatically created 8 times a day from current git are here:
- http://www.gknw.net/mirror/curl/autobuilds/
- the status of these builds can be viewed at the autobuild table:
- https://curl.haxx.se/dev/builds.html
-
-eCos
-====
-
- curl does not use the eCos build system, so you must first build eCos
- separately, then link curl to the resulting eCos library. Here's a sample
- configure line to do so on an x86 Linux box targeting x86:
-
- GCCLIB=`gcc -print-libgcc-file-name` && \
- CFLAGS="-D__ECOS=1 -nostdinc -I$ECOS_INSTALL/include \
- -I`dirname $GCCLIB`/include" \
- LDFLAGS="-nostdlib -Wl,--gc-sections -Wl,-static \
- -L$ECOS_INSTALL/lib -Ttarget.ld -ltarget" \
- ./configure --host=i386 --disable-shared \
- --without-ssl --without-zlib --disable-manual --disable-ldap
-
- In most cases, eCos users will be using libcurl from within a custom
- embedded application. Using the standard 'curl' executable from
- within eCos means facing the limitation of the standard eCos C
- startup code which does not allow passing arguments in main(). To
- run 'curl' from eCos and have it do something useful, you will need
- to either modify the eCos startup code to pass in some arguments, or
- modify the curl application itself to retrieve its arguments from
- some location set by the bootloader or hard-code them.
-
- Something like the following patch could be used to hard-code some
- arguments. The MTAB_ENTRY line mounts a RAM disk as the root filesystem
- (without mounting some kind of filesystem, eCos errors out all file
- operations which curl does not take to well). The next section synthesizes
- some command-line arguments for curl to use, in this case to direct curl
- to read further arguments from a file. It then creates that file on the
- RAM disk and places within it a URL to download: a file: URL that
- just happens to point to the configuration file itself. The results
- of running curl in this way is the contents of the configuration file
- printed to the console.
-
---- src/main.c 19 Jul 2006 19:09:56 -0000 1.363
-+++ src/main.c 24 Jul 2006 21:37:23 -0000
-@@ -4286,11 +4286,31 @@
- }
-
-
-+#ifdef __ECOS
-+#include <cyg/fileio/fileio.h>
-+MTAB_ENTRY( testfs_mte1,
-+ "/",
-+ "ramfs",
-+ "",
-+ 0);
-+#endif
-
- int main(int argc, char *argv[])
- {
- int res;
- struct Configurable config;
-+#ifdef __ECOS
-+ char *args[] = {"ecos-curl", "-K", "curlconf.txt"};
-+ FILE *f;
-+ argc = sizeof(args)/sizeof(args[0]);
-+ argv = args;
-+
-+ f = fopen("curlconf.txt", "w");
-+ if (f) {
-+ fprintf(f, "--url file:curlconf.txt");
-+ fclose(f);
-+ }
-+#endif
- memset(&config, 0, sizeof(struct Configurable));
-
- config.errors = stderr; /* default errors to stderr */
-
-Minix
-=====
-
- curl can be compiled on Minix 3 using gcc or ACK (starting with
- ver. 3.1.3). Ensure that GNU gawk and bash are both installed and
- available in the PATH.
-
- ACK
- ---
- Increase the heap sizes of the compiler with the command:
-
- binsizes xxl
-
- then configure and compile curl with:
-
- ./configure CC=cc LD=cc AR=/usr/bin/aal GREP=grep \
- CPPFLAGS='-D_POSIX_SOURCE=1 -I/usr/local/include'
- make
- chmem =256000 src/curl
-
- GCC
- ---
- Make sure gcc is in your PATH with the command:
-
- export PATH=/usr/gnu/bin:$PATH
-
- then configure and compile curl with:
-
- ./configure CC=gcc AR=/usr/gnu/bin/gar GREP=grep
- make
- chmem =256000 src/curl
-
-Symbian OS
-==========
-
- The Symbian OS port uses the Symbian build system to compile. From the
- packages/Symbian/group/ directory, run:
-
- bldmake bldfiles
- abld build
-
- to compile and install curl and libcurl using SBSv1. If your Symbian
- SDK doesn't include support for P.I.P.S., you will need to contact
- your SDK vendor to obtain that first.
-
-VxWorks
-========
-
- Build for VxWorks is performed using cross compilation.
- That means you build on Windows machine using VxWorks tools and
- run the built image on the VxWorks device.
-
- To build libcurl for VxWorks you need:
-
- - CYGWIN (free, https://cygwin.com/)
- - Wind River Workbench (commercial)
-
- If you have CYGWIN and Workbench installed on you machine
- follow after next steps:
-
- 1. Open the Command Prompt window and change directory ('cd')
- to the libcurl 'lib' folder.
- 2. Add CYGWIN 'bin' folder to the PATH environment variable.
- For example, type 'set PATH=C:/embedded/cygwin/bin;%PATH%'.
- 3. Adjust environment variables defined in 'Environment' section
- of the Makefile.vxworks file to point to your software folders.
- 4. Build the libcurl by typing 'make -f ./Makefile.vxworks'
-
- As a result the libcurl.a library should be created in the 'lib' folder.
- To clean the build results type 'make -f ./Makefile.vxworks clean'.
-
-Android
-=======
-
- Method using the static makefile:
-
- - see the build notes in the packages/Android/Android.mk file.
-
- Method using a configure cross-compile (tested with Android NDK r7c, r8):
-
- - prepare the toolchain of the Android NDK for standalone use; this can
- be done by invoking the script:
- ./build/tools/make-standalone-toolchain.sh
- which creates a usual cross-compile toolchain. Lets assume that you put
- this toolchain below /opt then invoke configure with something like:
- export PATH=/opt/arm-linux-androideabi-4.4.3/bin:$PATH
- ./configure --host=arm-linux-androideabi [more configure options]
- make
- - if you want to compile directly from our GIT repo you might run into
- this issue with older automake stuff:
- checking host system type...
- Invalid configuration `arm-linux-androideabi':
- system `androideabi' not recognized
- configure: error: /bin/sh ./config.sub arm-linux-androideabi failed
- this issue can be fixed with using more recent versions of config.sub
- and config.guess which can be obtained here:
- http://git.savannah.gnu.org/gitweb/?p=config.git;a=tree
- you need to replace your system-own versions which usually can be
- found in your automake folder:
- find /usr -name config.sub
-
- Wrapper for pkg-config:
-
- - In order to make proper use of pkg-config so that configure is able to
- find all dependencies you should create a wrapper script for pkg-config;
- file /opt/arm-linux-androideabi-4.4.3/bin/arm-linux-androideabi-pkg-config:
-
- #!/bin/sh
- SYSROOT=$(dirname ${0%/*})/sysroot
- export PKG_CONFIG_DIR=
- export PKG_CONFIG_LIBDIR=${SYSROOT}/usr/local/lib/pkgconfig:${SYSROOT}/usr/share/pkgconfig
- export PKG_CONFIG_SYSROOT_DIR=${SYSROOT}
- exec pkg-config "$@"
-
- also create a copy or symlink with name arm-unknown-linux-androideabi-pkg-config.
-
-CROSS COMPILE
-=============
-
- (This section was graciously brought to us by Jim Duey, with additions by
- Dan Fandrich)
-
- Download and unpack the cURL package.
-
- 'cd' to the new directory. (e.g. cd curl-7.12.3)
-
- Set environment variables to point to the cross-compile toolchain and call
- configure with any options you need. Be sure and specify the '--host' and
- '--build' parameters at configuration time. The following script is an
- example of cross-compiling for the IBM 405GP PowerPC processor using the
- toolchain from MonteVista for Hardhat Linux.
-
- (begin script)
-
- #! /bin/sh
-
- export PATH=$PATH:/opt/hardhat/devkit/ppc/405/bin
- export CPPFLAGS="-I/opt/hardhat/devkit/ppc/405/target/usr/include"
- export AR=ppc_405-ar
- export AS=ppc_405-as
- export LD=ppc_405-ld
- export RANLIB=ppc_405-ranlib
- export CC=ppc_405-gcc
- export NM=ppc_405-nm
-
- ./configure --target=powerpc-hardhat-linux \
- --host=powerpc-hardhat-linux \
- --build=i586-pc-linux-gnu \
- --prefix=/opt/hardhat/devkit/ppc/405/target/usr/local \
- --exec-prefix=/usr/local
-
- (end script)
-
- You may also need to provide a parameter like '--with-random=/dev/urandom'
- to configure as it cannot detect the presence of a random number
- generating device for a target system. The '--prefix' parameter
- specifies where cURL will be installed. If 'configure' completes
- successfully, do 'make' and 'make install' as usual.
-
- In some cases, you may be able to simplify the above commands to as
- little as:
-
- ./configure --host=ARCH-OS
-
-REDUCING SIZE
-=============
-
- There are a number of configure options that can be used to reduce the
- size of libcurl for embedded applications where binary size is an
- important factor. First, be sure to set the CFLAGS variable when
- configuring with any relevant compiler optimization flags to reduce the
- size of the binary. For gcc, this would mean at minimum the -Os option,
- and potentially the -march=X, -mdynamic-no-pic and -flto options as well,
- e.g.
-
- ./configure CFLAGS='-Os' LDFLAGS='-Wl,-Bsymbolic'...
-
- Note that newer compilers often produce smaller code than older versions
- due to improved optimization.
-
- Be sure to specify as many --disable- and --without- flags on the configure
- command-line as you can to disable all the libcurl features that you
- know your application is not going to need. Besides specifying the
- --disable-PROTOCOL flags for all the types of URLs your application
- will not use, here are some other flags that can reduce the size of the
- library:
-
- --disable-ares (disables support for the C-ARES DNS library)
- --disable-cookies (disables support for HTTP cookies)
- --disable-crypto-auth (disables HTTP cryptographic authentication)
- --disable-ipv6 (disables support for IPv6)
- --disable-manual (disables support for the built-in documentation)
- --disable-proxy (disables support for HTTP and SOCKS proxies)
- --disable-unix-sockets (disables support for UNIX sockets)
- --disable-verbose (eliminates debugging strings and error code strings)
- --disable-versioned-symbols (disables support for versioned symbols)
- --enable-hidden-symbols (eliminates unneeded symbols in the shared library)
- --without-libidn (disables support for the libidn DNS library)
- --without-librtmp (disables support for RTMP)
- --without-ssl (disables support for SSL/TLS)
- --without-zlib (disables support for on-the-fly decompression)
-
- The GNU compiler and linker have a number of options that can reduce the
- size of the libcurl dynamic libraries on some platforms even further.
- Specify them by providing appropriate CFLAGS and LDFLAGS variables on the
- configure command-line, e.g.
-
- CFLAGS="-Os -ffunction-sections -fdata-sections \
- -fno-unwind-tables -fno-asynchronous-unwind-tables -flto" \
- LDFLAGS="-Wl,-s -Wl,-Bsymbolic -Wl,--gc-sections"
-
- Be sure also to strip debugging symbols from your binaries after
- compiling using 'strip' (or the appropriate variant if cross-compiling).
- If space is really tight, you may be able to remove some unneeded
- sections of the shared library using the -R option to objcopy (e.g. the
- .comment section).
-
- Using these techniques it is possible to create a basic HTTP-only shared
- libcurl library for i386 Linux platforms that is only 109 KiB in size, and
- an FTP-only library that is 109 KiB in size (as of libcurl version 7.45.0,
- using gcc 4.9.2).
-
- You may find that statically linking libcurl to your application will
- result in a lower total size than dynamically linking.
-
- Note that the curl test harness can detect the use of some, but not all, of
- the --disable statements suggested above. Use will cause tests relying on
- those features to fail. The test harness can be manually forced to skip
- the relevant tests by specifying certain key words on the runtests.pl
- command line. Following is a list of appropriate key words:
-
- --disable-cookies !cookies
- --disable-manual !--manual
- --disable-proxy !HTTP\ proxy !proxytunnel !SOCKS4 !SOCKS5
-
-PORTS
-=====
-
- This is a probably incomplete list of known hardware and operating systems
- that curl has been compiled for. If you know a system curl compiles and
- runs on, that isn't listed, please let us know!
-
- - Alpha DEC OSF 4
- - Alpha Digital UNIX v3.2
- - Alpha FreeBSD 4.1, 4.5
- - Alpha Linux 2.2, 2.4
- - Alpha NetBSD 1.5.2
- - Alpha OpenBSD 3.0
- - Alpha OpenVMS V7.1-1H2
- - Alpha Tru64 v5.0 5.1
- - AVR32 Linux
- - ARM Android 1.5, 2.1, 2.3, 3.2, 4.x
- - ARM INTEGRITY
- - ARM iOS
- - Cell Linux
- - Cell Cell OS
- - HP-PA HP-UX 9.X 10.X 11.X
- - HP-PA Linux
- - HP3000 MPE/iX
- - MicroBlaze uClinux
- - MIPS IRIX 6.2, 6.5
- - MIPS Linux
- - OS/400
- - Pocket PC/Win CE 3.0
- - Power AIX 3.2.5, 4.2, 4.3.1, 4.3.2, 5.1, 5.2
- - PowerPC Darwin 1.0
- - PowerPC INTEGRITY
- - PowerPC Linux
- - PowerPC Mac OS 9
- - PowerPC Mac OS X
- - SH4 Linux 2.6.X
- - SH4 OS21
- - SINIX-Z v5
- - Sparc Linux
- - Sparc Solaris 2.4, 2.5, 2.5.1, 2.6, 7, 8, 9, 10
- - Sparc SunOS 4.1.X
- - StrongARM (and other ARM) RISC OS 3.1, 4.02
- - StrongARM/ARM7/ARM9 Linux 2.4, 2.6
- - StrongARM NetBSD 1.4.1
- - Symbian OS (P.I.P.S.) 9.x
- - TPF
- - Ultrix 4.3a
- - UNICOS 9.0
- - i386 BeOS
- - i386 DOS
- - i386 eCos 1.3.1
- - i386 Esix 4.1
- - i386 FreeBSD
- - i386 HURD
- - i386 Haiku OS
- - i386 Linux 1.3, 2.0, 2.2, 2.3, 2.4, 2.6
- - i386 Mac OS X
- - i386 MINIX 3.1
- - i386 NetBSD
- - i386 Novell NetWare
- - i386 OS/2
- - i386 OpenBSD
- - i386 QNX 6
- - i386 SCO unix
- - i386 Solaris 2.7
- - i386 Windows 95, 98, ME, NT, 2000, XP, 2003
- - i486 ncr-sysv4.3.03 (NCR MP-RAS)
- - ia64 Linux 2.3.99
- - m68k AmigaOS 3
- - m68k Linux
- - m68k uClinux
- - m68k OpenBSD
- - m88k dg-dgux5.4R3.00
- - s390 Linux
- - x86_64 Linux
- - XScale/PXA250 Linux 2.4
- - Nios II uClinux
-
-Useful URLs
-===========
-
-axTLS http://axtls.sourceforge.net/
-c-ares http://c-ares.haxx.se/
-GNU GSS https://www.gnu.org/software/gss/
-GnuTLS https://www.gnu.org/software/gnutls/
-Heimdal http://www.h5l.org/
-libidn https://www.gnu.org/software/libidn/
-libmetalink https://launchpad.net/libmetalink/
-libssh2 https://www.libssh2.org/
-MIT Kerberos http://web.mit.edu/kerberos/www/dist/
-NSS https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS
-OpenLDAP http://www.openldap.org/
-OpenSSL https://www.openssl.org/
-PolarSSL https://tls.mbed.org/
-wolfSSL https://www.wolfssl.com/wolfSSL/
-Zlib http://www.zlib.net/
-
-MingW http://www.mingw.org/
-MinGW-w64 http://mingw-w64.sourceforge.net/
-OpenWatcom http://www.openwatcom.org/
+see INSTALL.md
diff --git a/docs/INSTALL.devcpp b/docs/INSTALL.devcpp
deleted file mode 100644
index f989d5295..000000000
--- a/docs/INSTALL.devcpp
+++ /dev/null
@@ -1,302 +0,0 @@
-DevCpp-Mingw Install & Compilation Sept 2005
-==================================
-
-Reference Emails available at curl@haxx.se:
-
- Libcurl Install and Use Issues
- Awaiting an Answer for Win 32 Install
- res = curl_easy_perform(curl); Error
- Makefile Issues
-
-
-Having previously done a thorough review of what was available that met my
-requirements under GPL, I settled for Libcurl as the software of choice for
-many reasons not the least of which was the support.
-
-Background
-----------
-
-This quest started when I innocently tried to incorporate the libcurl library
-into my simple source code. I figured that a few easy steps would accomplish
-this without major headaches. I had no idea that I would be facing an almost
-insurmountable challenge.
-
-The main problem lies in two areas. First the bulk of support for libcurl
-exists for a Unix/linux command line environments. This is of little help when
-it comes to Windows O/S.
-
-Secondly the help that does exist for the Windows O/S focused around mingw
-through a command line argument environment.
-
-You may ask "Why is this a problem?"
-
-I'm using a Windows O/S with DevCpp. For those of you who are unfamiliar with
-DevCpp, it is a window shell GUI that replaces the command line environment
-for gcc. A definite improvement that I am unwilling to give up. However using
-DevCpp presented its own set of issues. Inadvertently I also made some
-careless errors such as compiling the 7.14 version of Makefile with an older
-version of source code. Thanks to Dan Fandrich for picking this up.
-
-I did eventually with the help of Daniel, Phillipe and others manage to
-implement successfully (the only mingw available version)
-curl-7.13.0-win32-ssl-devel-mingw32 into the DevCpp environment. Only the
-dynamic libcurl.dll libcurldll.a libraries worked. The static library which I
-was interested in did not. Furthermore when I tried to implement one of the
-examples included with the curl package (get info.c) it caused the executable
-to crash. Tracing the bug I found it in the code and function res =
-curl_easy_perform(curl);.
-
-At this point I had to make a choice as to whether invest my limited
-time-energy resource to fixing the bug or to compile the new version
-available. After searching the archives I found a very similar or the same bug
-reported from version 7.12x on. Daniel did inform me that he thought that this
-bug had been fixed with the latest version. So I proceeded to compile the
-latest SSL version where I faced other challenges.
-
-In order to make this process unremarkable for others using the same
-environment I decided to document the process so that others will find it
-routine. It would be a shame if newbies could not implement this excellent
-package for their use.
-
-I would like to thank the many others in this forum and in the DevCpp forum
-for their help. Without your help I may either have given up or it would have
-taken me many times longer to achieve success.
-
-The Cookbook Approach
----------------------
-
-This discussion will be confined to a SSL static library compilation and
-installation. Limited mention and comments will be inserted where appropriate
-to help with non-SSL, dynamic libraries and executables.
-
-
- Using Makefile from DevCpp to compile Libcurl libraries
-
-Preamble
---------
-
-Using the latest version release - curl-7.14.0.tar.gz. Curl source code is
-platform independent. This simply means that the source code can be compiled
-for any Operating System (Linux/Unix Windows etc. and variations of thereof).
-
-The first thing to note is that inside curl-7.14.0 you will find two folders
-lib and src. Both contain Makefile.m32 (required for win mingw library or exe
-compilation) files which are different. The main difference between these two
-folders and the makefiles is that the src folder contents are used to compile
-an executable file(curl.exe) while the lib folder contents are used to compile
-a static (libcurl.a) and dynamic (libcurl.dll & libcurldll.a) file that can be
-used to compile libcurl with your own source code so that one can use and
-access all libcurl functions.
-
-Before we start please make sure that DevCpp is installed properly. In
-particular make sure you have no spaces in the name of any of the directories
-and subdirectories where DevCpp is installed. Failure to comply with the
-install instructions may produce erratic behaviour in DevCpp. For further info
-check the following sites
-
-http://aditsu.freeunixhost.com/dev-cpp-faq.html
-https://sourceforge.net/p/dev-cpp/discussion/48211/thread/2a85ea46
-
-As I have mentioned before I will confine this to the SSL Library compilations
-but the process is very similar for compilation of the executable - curl.exe;
-just substitute the src folder makefile in its stead.
-
-First use a text processor Notepad, or your own favourite text processor. To
-engage your favourite text processor, select Makefile.m32 click once with your
-mouse on file icon; icon turns blue, press the shift key and right-click on
-mouse, menu appears select "Open with", select your favourite text processor.
-
-Next read the contents of Makefile.m32. It includes instructions on its use.
-
-Method I - DOS Command Line
----------------------------
-
-Note - The only reason I have included this method is that Method II which is
-the preferred method for compiling does not allow for the setting of option
-switches (e.g. SSL = 1 or SSL =0). At least that's what they tell me at the
-Dev-Cpp forum.
-
-1 - Make a copy of (D:\Dev-Cpp\bin) bin folder and name it "bin Original"
-place it in the Dev-Cpp installed directory (D:\Dev-Cpp\ for this example)
-
-2 - Copy the entire contents of the LIB folder of curl-7.14.0.tar.gz or zip
-version into the bin folder above (D:\Dev-Cpp\bin). The reason being is that
-the make.exe file resides in this folder. Make.exe will use - Makefile.m32,
-Makefile.inc, and the source code included in the lib folder to compile the
-source code. There is a PATH issue with make.exe that remains unresolved at
-least for me. Unless the entire source code to be compiled is placed entirely
-within the directory of make.exe an error message will be generated - "file
-xxxx.yyy not available".
-
-3- Go to Dev-Cpp\bin and double click on make .exe. You will see a DOS window
-quickly pop up and close very quickly. Not to worry! Please do not skip this
-step.
-
-4- Click on the start button\Programs\MS-DOS Prompt.Once the DOS Window is up
-Type the disk drive letter (e.g. E: ) engage the enter button. The path should
-automatically take you to the directory of the make.exe file.
-
-5- To compile the source code simply type at the DOS prompt make -f
-Makefile.m32 as per instructions contained in the Makefile.m32 file (use any
-text processor to read instructions). I don't believe that this makefile
-allows for the option of non SSL. Ignore any warnings.
-
-6- Collect and make copies of libcurl.a, libcurl.dll, libcurldll.a and any *.o
-compilations you might need in another directory outside of the bin directory
-as you will need this files shortly to set up libcurl for use with
-Dev-cpp. For most apps *.o is not required. Later on we will show what to do
-with these files.
-
-7- You are finished but before closing we need to do cleanup - erase the bin
-folder and rename the "bin Original" folder created in step 1 to bin.
-
-Note to compile a curl executable the process is probably similar but instead
-of using the LIB folder contents use the SRC folder contents and Makefiles in
-curl-7.14.0.tar.gz. File directories relative placements must be respected for
-compiling to take place successfully. This may not be possible with the PATH
-problem that make.exe experiences. If anyone has solved this PATH issue and
-please make sure it actually works on Win 9x/2000/XP before letting me
-know. Then please let me or Daniel in on the solution so that it can be
-included with these instructions. Thanks.
-
-or
-
-Method II - Dev-Cpp GUI
------------------------
-
-1- Copy the entire contents of the LIB folder of curl-7.14.0.tar.gz or zip
-version into any folder outside of (Dev-Cpp\bin).
-
-2- Drop the File/New/click on Project.
-
-3- New Project Dialogue box appears. Double click on the Static Library.
-
-4- Create Project Dialogue box appears. Select the LIB folder location to
-place and locate your Project File Name. Placing the Project File Name
-elsewhere may cause problems (PATH issue problem again).
-
-5- Drop down the Project/Project Options. Project Options Dialogue box
-appears.
-
-6- Select the Makefile tab in the Project Options Dialogue Box. Check Box -
-Use Custom Makefile. Click on the Folder icon at the extreme right of the
-Check Box. Select Makefile.m32 in the folder wherever you have placed the
-contents of the LIB Folder. Press OK and close the Dialogue Box.
-
-7- Drop the Menu Project/Click on Add to Project. Open File Dialogue Box
-appears. The Dialogue Box should open in the folder wherever you have placed
-the contents of the LIB Folder. If not go there.
-
-8- Select Crtl-A to select all files in the LIB folder. Click on open to add
-files and close box. Wait till all files are added. This may take 30 seconds
-or longer.
-
-9- Drop the Menu Execute/Click on Compile.
-
-10- That's it.
-
-
- The following steps must be completed if Curl is to work properly
- =================================================================
-
-LIB folder inclusions (*.a placement)
--------------------------------------
-
-1- Refer to Method I - DOS Command Line point # 6 Take libcurl.a, libcurldll.a
-and install it in the directory C( or whichever drive Dev is installed)
-:\Dev-Cpp\lib.
-
-
-Include Folder
---------------
-
-1- Create a new folder by the name of curl (do not change the name curl to
-some other name as it will cause major issues) in the directory
-C:\Dev-Cpp\include.
-
-2- Copy the entire contents of the curl folder of curl-7.14.0.tar.gz or zip
- version into the newly created curl directory - C:\Dev-Cpp\include\curl.
-
-Links To Include And Lib Folder
--------------------------------
-
-1- Drop the Menu - Tools\Compiler Options\Directories\Libraries. Make sure
-that C( or whichever drive Dev is installed):\DEV-CPP\lib is included.
-
-2- Next select the Menu - Tools\Compiler Options\Directories\C Includes. Make
-sure that C:\DEV-CPP\include and C:\Dev-Cpp\include\curl are included.
-
-3- Next select the Menu - Tools\Compiler Options\Directories\C++
-Includes. Make sure that C:\DEV-CPP\include and C:\Dev-Cpp\include\curl are
-included.
-
-Linker Links
-------------
-
-1- Drop the Menu - Tools\Compiler Options\Directories\Compiler.
-
-2- Make sure that the box "Add these commands to the linker command line" is
-checked.
-
-3- Include in the white space immediately below the box referred in 2 -lcurl
--lws2_32.
-
-SSL Files
----------
-
-1- Get the latest openSSL (as of time of this writing)
-openssl-0.9.7e-win32-bin.zip for the minimalist package of the openssl-0.9.7e
-binaries ported to MS Windows 95/98/NT/XP using the MingW32/GCC-3.1
-development environment. The file may be downloaded at
-https://curl.haxx.se/download/.
-
-2- Open the above zip file. You will find two files - SDL.dll,
-SDL_mixer.dll. Install them in the directory C:\WINDOWS\SYSTEM32 for Win 9x
-users and c:\winnt\system32 for NT-family users.
-
-Multithreading Files
---------------------
-
-To be completed
-
-#define
--------
-
-1- Make sure that your program includes the following - #define CURL_STATICLIB
-must be declared FIRST before any other define functions may be
-added. Otherwise you may experience link errors.
-
-2- Don't forget to include #include "curl/curl.h".
-
-e.g.
- #define CURL_STATICLIB
-#include <windows.h>
- #include "curl/curl.h"
-#include <fstream>
-#include <iostream>
-#include <vector>
-etc...
-
-
-Static or Dynamic Library
--------------------------
-
-The above steps apply for the use by a static library. Should you choose to
-use a dynamic library you will be required to perform these additional steps.
-
-1- Refer to Method I - DOS Command Line point # 6. Install libcurl.dll in the
-directory C:\WINDOWS\SYSTEM32 for Win 9x users and c:\winnt\system32 for
-NT-family users.
-
-2- Refer to Linker Links point 3 - Replace -lcurl with -lcurldll.
-
-Voila you're done.
-
-The non-SSL static Library build may not be possible to use at least as of the
-time of this writing - v7.14. Check reference emails - Phillipe and I found it
-impossible to fully compile as certain files were missing for linking. No big
-loss as SSL is a major plus.
-
-Hope this Helps
-
-Tom
diff --git a/docs/INSTALL.md b/docs/INSTALL.md
new file mode 100644
index 000000000..ff56600a5
--- /dev/null
+++ b/docs/INSTALL.md
@@ -0,0 +1,513 @@
+# how to install curl and libcurl
+
+## Installing Binary Packages
+
+Lots of people download binary distributions of curl and libcurl. This
+document does not describe how to install curl or libcurl using such a binary
+package. This document describes how to compile, build and install curl and
+libcurl from source code.
+
+## Building from git
+
+If you get your code off a git repository instead of a release tarball, see
+the `GIT-INFO` file in the root directory for specific instructions on how to
+proceed.
+
+# Unix
+
+A normal Unix installation is made in three or four steps (after you've
+unpacked the source archive):
+
+ ./configure
+ make
+ make test (optional)
+ make install
+
+You probably need to be root when doing the last command.
+
+Get a full listing of all available configure options by invoking it like:
+
+ ./configure --help
+
+If you want to install curl in a different file hierarchy than `/usr/local`,
+specify that when running configure:
+
+ ./configure --prefix=/path/to/curl/tree
+
+If you have write permission in that directory, you can do 'make install'
+without being root. An example of this would be to make a local install in
+your own home directory:
+
+ ./configure --prefix=$HOME
+ make
+ make install
+
+The configure script always tries to find a working SSL library unless
+explicitly told not to. If you have OpenSSL installed in the default search
+path for your compiler/linker, you don't need to do anything special. If you
+have OpenSSL installed in /usr/local/ssl, you can run configure like:
+
+ ./configure --with-ssl
+
+If you have OpenSSL installed somewhere else (for example, /opt/OpenSSL) and
+you have pkg-config installed, set the pkg-config path first, like this:
+
+ env PKG_CONFIG_PATH=/opt/OpenSSL/lib/pkgconfig ./configure --with-ssl
+
+Without pkg-config installed, use this:
+
+ ./configure --with-ssl=/opt/OpenSSL
+
+If you insist on forcing a build without SSL support, even though you may
+have OpenSSL installed in your system, you can run configure like this:
+
+ ./configure --without-ssl
+
+If you have OpenSSL installed, but with the libraries in one place and the
+header files somewhere else, you have to set the LDFLAGS and CPPFLAGS
+environment variables prior to running configure. Something like this should
+work:
+
+ CPPFLAGS="-I/path/to/ssl/include" LDFLAGS="-L/path/to/ssl/lib" ./configure
+
+If you have shared SSL libs installed in a directory where your run-time
+linker doesn't find them (which usually causes configure failures), you can
+provide the -R option to ld on some operating systems to set a hard-coded
+path to the run-time linker:
+
+ LDFLAGS=-R/usr/local/ssl/lib ./configure --with-ssl
+
+## More Options
+
+To force a static library compile, disable the shared library creation by
+running configure like:
+
+ ./configure --disable-shared
+
+To tell the configure script to skip searching for thread-safe functions, add
+an option like:
+
+ ./configure --disable-thread
+
+If you're a curl developer and use gcc, you might want to enable more debug
+options with the `--enable-debug` option.
+
+curl can be built to use a whole range of libraries to provide various useful
+services, and configure will try to auto-detect a decent default. But if you
+want to alter it, you can select how to deal with each individual library.
+
+## Select TLS backend
+
+The default OpenSSL configure check will also detect and use BoringSSL or
+libressl.
+
+ - GnuTLS: `--without-ssl --with-gnutls`.
+ - Cyassl: `--without-ssl --with-cyassl`
+ - NSS: `--without-ssl --with-nss`
+ - PolarSSL: `--without-ssl --with-polarssl`
+ - mbedTLS: `--without-ssl --with-mbedtls`
+ - axTLS: `--without-ssl --with-axtls`
+ - schannel: `--without-ssl --with-winssl`
+ - secure transport: `--with-winssl --with-darwinssl`
+
+# Windows
+
+## Building Windows DLLs and C run-time (CRT) linkage issues
+
+ As a general rule, building a DLL with static CRT linkage is highly
+ discouraged, and intermixing CRTs in the same app is something to avoid at
+ any cost.
+
+ Reading and comprehending Microsoft Knowledge Base articles KB94248 and
+ KB140584 is a must for any Windows developer. Especially important is full
+ understanding if you are not going to follow the advice given above.
+
+ - [How To Use the C Run-Time](https://support.microsoft.com/kb/94248/en-us)
+ - [How to link with the correct C Run-Time CRT library](https://support.microsoft.com/kb/140584/en-us)
+ - [Potential Errors Passing CRT Objects Across DLL Boundaries](https://msdn.microsoft.com/en-us/library/ms235460)
+
+If your app is misbehaving in some strange way, or it is suffering from
+memory corruption, before asking for further help, please try first to
+rebuild every single library your app uses as well as your app using the
+debug multithreaded dynamic C runtime.
+
+ If you get linkage errors read section 5.7 of the FAQ document.
+
+## MingW32
+
+Make sure that MinGW32's bin dir is in the search path, for example:
+
+ set PATH=c:\mingw32\bin;%PATH%
+
+then run `mingw32-make mingw32` in the root dir. There are other
+make targets available to build libcurl with more features, use:
+
+ - `mingw32-make mingw32-zlib` to build with Zlib support;
+ - `mingw32-make mingw32-ssl-zlib` to build with SSL and Zlib enabled;
+ - `mingw32-make mingw32-ssh2-ssl-zlib` to build with SSH2, SSL, Zlib;
+ - `mingw32-make mingw32-ssh2-ssl-sspi-zlib` to build with SSH2, SSL, Zlib
+ and SSPI support.
+
+If you have any problems linking libraries or finding header files, be sure
+to verify that the provided "Makefile.m32" files use the proper paths, and
+adjust as necessary. It is also possible to override these paths with
+environment variables, for example:
+
+ set ZLIB_PATH=c:\zlib-1.2.8
+ set OPENSSL_PATH=c:\openssl-1.0.2c
+ set LIBSSH2_PATH=c:\libssh2-1.6.0
+
+It is also possible to build with other LDAP SDKs than MS LDAP; currently
+it is possible to build with native Win32 OpenLDAP, or with the Novell CLDAP
+SDK. If you want to use these you need to set these vars:
+
+ set LDAP_SDK=c:\openldap
+ set USE_LDAP_OPENLDAP=1
+
+or for using the Novell SDK:
+
+ set USE_LDAP_NOVELL=1
+
+If you want to enable LDAPS support then set LDAPS=1.
+
+## Cygwin
+
+Almost identical to the unix installation. Run the configure script in the
+curl source tree root with `sh configure`. Make sure you have the sh
+executable in /bin/ or you'll see the configure fail toward the end.
+
+Run `make`
+
+## Borland C++ compiler
+
+Ensure that your build environment is properly set up to use the compiler and
+associated tools. PATH environment variable must include the path to bin
+subdirectory of your compiler installation, eg: `c:\Borland\BCC55\bin`
+
+It is advisable to set environment variable BCCDIR to the base path of the
+compiler installation.
+
+ set BCCDIR=c:\Borland\BCC55
+
+In order to build a plain vanilla version of curl and libcurl run the
+following command from curl's root directory:
+
+ make borland
+
+To build curl and libcurl with zlib and OpenSSL support set environment
+variables `ZLIB_PATH` and `OPENSSL_PATH` to the base subdirectories of the
+already built zlib and OpenSSL libraries and from curl's root directory run
+command:
+
+ make borland-ssl-zlib
+
+libcurl library will be built in 'lib' subdirectory while curl tool is built
+in 'src' subdirectory. In order to use libcurl library it is advisable to
+modify compiler's configuration file bcc32.cfg located in
+`c:\Borland\BCC55\bin` to reflect the location of libraries include paths for
+example the '-I' line could result in something like:
+
+ -I"c:\Borland\BCC55\include;c:\curl\include;c:\openssl\inc32"
+
+bcc3.cfg `-L` line could also be modified to reflect the location of of
+libcurl library resulting for example:
+
+ -L"c:\Borland\BCC55\lib;c:\curl\lib;c:\openssl\out32"
+
+In order to build sample program `simple.c` from the docs\examples
+subdirectory run following command from mentioned subdirectory:
+
+ bcc32 simple.c libcurl.lib cw32mt.lib
+
+In order to build sample program simplessl.c an SSL enabled libcurl is
+required, as well as the OpenSSL libeay32.lib and ssleay32.lib libraries.
+
+## Disabling Specific Protocols in Windows builds
+
+The configure utility, unfortunately, is not available for the Windows
+environment, therefore, you cannot use the various disable-protocol options of
+the configure utility on this platform.
+
+However, you can use the following defines to disable specific
+protocols:
+
+ - `HTTP_ONLY` disables all protocols except HTTP
+ - `CURL_DISABLE_FTP` disables FTP
+ - `CURL_DISABLE_LDAP` disables LDAP
+ - `CURL_DISABLE_TELNET` disables TELNET
+ - `CURL_DISABLE_DICT` disables DICT
+ - `CURL_DISABLE_FILE` disables FILE
+ - `CURL_DISABLE_TFTP` disables TFTP
+ - `CURL_DISABLE_HTTP` disables HTTP
+ - `CURL_DISABLE_IMAP` disables IMAP
+ - `CURL_DISABLE_POP3` disables POP3
+ - `CURL_DISABLE_SMTP` disables SMTP
+
+If you want to set any of these defines you have the following options:
+
+ - Modify lib/config-win32.h
+ - Modify lib/curl_setup.h
+ - Modify winbuild/Makefile.vc
+ - Modify the "Preprocessor Definitions" in the libcurl project
+
+Note: The pre-processor settings can be found using the Visual Studio IDE
+under "Project -> Settings -> C/C++ -> General" in VC6 and "Project ->
+Properties -> Configuration Properties -> C/C++ -> Preprocessor" in later
+versions.
+
+## Using BSD-style lwIP instead of Winsock TCP/IP stack in Win32 builds
+
+In order to compile libcurl and curl using BSD-style lwIP TCP/IP stack it is
+necessary to make definition of preprocessor symbol USE_LWIPSOCK visible to
+libcurl and curl compilation processes. To set this definition you have the
+following alternatives:
+
+ - Modify lib/config-win32.h and src/config-win32.h
+ - Modify winbuild/Makefile.vc
+ - Modify the "Preprocessor Definitions" in the libcurl project
+
+Note: The pre-processor settings can be found using the Visual Studio IDE
+under "Project -> Settings -> C/C++ -> General" in VC6 and "Project ->
+Properties -> Configuration Properties -> C/C++ -> Preprocessor" in later
+versions.
+
+Once that libcurl has been built with BSD-style lwIP TCP/IP stack support, in
+order to use it with your program it is mandatory that your program includes
+lwIP header file `<lwip/opt.h>` (or another lwIP header that includes this)
+before including any libcurl header. Your program does not need the
+`USE_LWIPSOCK` preprocessor definition which is for libcurl internals only.
+
+Compilation has been verified with [lwIP
+1.4.0](http://download.savannah.gnu.org/releases/lwip/lwip-1.4.0.zip) and
+[contrib-1.4.0](http://download.savannah.gnu.org/releases/lwip/contrib-1.4.0.zip).
+
+This BSD-style lwIP TCP/IP stack support must be considered experimental given
+that it has been verified that lwIP 1.4.0 still needs some polish, and libcurl
+might yet need some additional adjustment, caveat emptor.
+
+## Important static libcurl usage note
+
+When building an application that uses the static libcurl library on Windows,
+you must add `-DCURL_STATICLIB` to your `CFLAGS`. Otherwise the linker will
+look for dynamic import symbols.
+
+## Legacy Windows and SSL
+
+WinSSL (specifically SChannel from Windows SSPI), is the native SSL library in
+Windows. However, WinSSL in Windows <= XP is unable to connect to servers that
+no longer support the legacy handshakes and algorithms used by those
+versions. If you will be using curl in one of those earlier versions of
+Windows you should choose another SSL backend such as OpenSSL.
+
+# Apple iOS and Mac OS X
+
+On modern Apple operating systems, curl can be built to use Apple's SSL/TLS
+implementation, Secure Transport, instead of OpenSSL. To build with Secure
+Transport for SSL/TLS, use the configure option `--with-darwinssl`. (It is not
+necessary to use the option `--without-ssl`.) This feature requires iOS 5.0 or
+later, or OS X 10.5 ("Leopard") or later.
+
+When Secure Transport is in use, the curl options `--cacert` and `--capath`
+and their libcurl equivalents, will be ignored, because Secure Transport uses
+the certificates stored in the Keychain to evaluate whether or not to trust
+the server. This, of course, includes the root certificates that ship with the
+OS. The `--cert` and `--engine` options, and their libcurl equivalents, are
+currently unimplemented in curl with Secure Transport.
+
+For OS X users: In OS X 10.8 ("Mountain Lion"), Apple made a major overhaul to
+the Secure Transport API that, among other things, added support for the newer
+TLS 1.1 and 1.2 protocols. To get curl to support TLS 1.1 and 1.2, you must
+build curl on Mountain Lion or later, or by using the equivalent SDK. If you
+set the `MACOSX_DEPLOYMENT_TARGET` environmental variable to an earlier
+version of OS X prior to building curl, then curl will use the new Secure
+Transport API on Mountain Lion and later, and fall back on the older API when
+the same curl binary is executed on older cats. For example, running these
+commands in curl's directory in the shell will build the code such that it
+will run on cats as old as OS X 10.6 ("Snow Leopard") (using bash):
+
+ export MACOSX_DEPLOYMENT_TARGET="10.6"
+ ./configure --with-darwinssl
+ make
+
+# Cross compile
+
+Download and unpack the curl package.
+
+'cd' to the new directory. (e.g. `cd curl-7.12.3`)
+
+Set environment variables to point to the cross-compile toolchain and call
+configure with any options you need. Be sure and specify the `--host` and
+`--build` parameters at configuration time. The following script is an
+example of cross-compiling for the IBM 405GP PowerPC processor using the
+toolchain from MonteVista for Hardhat Linux.
+
+ #! /bin/sh
+
+ export PATH=$PATH:/opt/hardhat/devkit/ppc/405/bin
+ export CPPFLAGS="-I/opt/hardhat/devkit/ppc/405/target/usr/include"
+ export AR=ppc_405-ar
+ export AS=ppc_405-as
+ export LD=ppc_405-ld
+ export RANLIB=ppc_405-ranlib
+ export CC=ppc_405-gcc
+ export NM=ppc_405-nm
+
+ ./configure --target=powerpc-hardhat-linux
+ --host=powerpc-hardhat-linux
+ --build=i586-pc-linux-gnu
+ --prefix=/opt/hardhat/devkit/ppc/405/target/usr/local
+ --exec-prefix=/usr/local
+
+You may also need to provide a parameter like `--with-random=/dev/urandom` to
+configure as it cannot detect the presence of a random number generating
+device for a target system. The `--prefix` parameter specifies where curl
+will be installed. If `configure` completes successfully, do `make` and `make
+install` as usual.
+
+In some cases, you may be able to simplify the above commands to as little as:
+
+ ./configure --host=ARCH-OS
+
+# REDUCING SIZE
+
+There are a number of configure options that can be used to reduce the size of
+libcurl for embedded applications where binary size is an important factor.
+First, be sure to set the CFLAGS variable when configuring with any relevant
+compiler optimization flags to reduce the size of the binary. For gcc, this
+would mean at minimum the -Os option, and potentially the `-march=X`,
+`-mdynamic-no-pic` and `-flto` options as well, e.g.
+
+ ./configure CFLAGS='-Os' LDFLAGS='-Wl,-Bsymbolic'...
+
+Note that newer compilers often produce smaller code than older versions
+due to improved optimization.
+
+Be sure to specify as many `--disable-` and `--without-` flags on the
+configure command-line as you can to disable all the libcurl features that you
+know your application is not going to need. Besides specifying the
+`--disable-PROTOCOL` flags for all the types of URLs your application will not
+use, here are some other flags that can reduce the size of the library:
+
+ - `--disable-ares` (disables support for the C-ARES DNS library)
+ - `--disable-cookies` (disables support for HTTP cookies)
+ - `--disable-crypto-auth` (disables HTTP cryptographic authentication)
+ - `--disable-ipv6` (disables support for IPv6)
+ - `--disable-manual` (disables support for the built-in documentation)
+ - `--disable-proxy` (disables support for HTTP and SOCKS proxies)
+ - `--disable-unix-sockets` (disables support for UNIX sockets)
+ - `--disable-verbose` (eliminates debugging strings and error code strings)
+ - `--disable-versioned-symbols` (disables support for versioned symbols)
+ - `--enable-hidden-symbols` (eliminates unneeded symbols in the shared library)
+ - `--without-libidn` (disables support for the libidn DNS library)
+ - `--without-librtmp` (disables support for RTMP)
+ - `--without-ssl` (disables support for SSL/TLS)
+ - `--without-zlib` (disables support for on-the-fly decompression)
+
+The GNU compiler and linker have a number of options that can reduce the
+size of the libcurl dynamic libraries on some platforms even further.
+Specify them by providing appropriate CFLAGS and LDFLAGS variables on the
+configure command-line, e.g.
+
+ CFLAGS="-Os -ffunction-sections -fdata-sections
+ -fno-unwind-tables -fno-asynchronous-unwind-tables -flto"
+ LDFLAGS="-Wl,-s -Wl,-Bsymbolic -Wl,--gc-sections"
+
+Be sure also to strip debugging symbols from your binaries after compiling
+using 'strip' (or the appropriate variant if cross-compiling). If space is
+really tight, you may be able to remove some unneeded sections of the shared
+library using the -R option to objcopy (e.g. the .comment section).
+
+Using these techniques it is possible to create a basic HTTP-only shared
+libcurl library for i386 Linux platforms that is only 113 KiB in size, and an
+FTP-only library that is 113 KiB in size (as of libcurl version 7.50.3, using
+gcc 5.4.0).
+
+You may find that statically linking libcurl to your application will result
+in a lower total size than dynamically linking.
+
+Note that the curl test harness can detect the use of some, but not all, of
+the `--disable` statements suggested above. Use will cause tests relying on
+those features to fail. The test harness can be manually forced to skip the
+relevant tests by specifying certain key words on the runtests.pl command
+line. Following is a list of appropriate key words:
+
+ - `--disable-cookies` !cookies
+ - `--disable-manual` !--manual
+ - `--disable-proxy` !HTTP\ proxy !proxytunnel !SOCKS4 !SOCKS5
+
+# PORTS
+
+This is a probably incomplete list of known hardware and operating systems
+that curl has been compiled for. If you know a system curl compiles and
+runs on, that isn't listed, please let us know!
+
+ - Alpha DEC OSF 4
+ - Alpha Digital UNIX v3.2
+ - Alpha FreeBSD 4.1, 4.5
+ - Alpha Linux 2.2, 2.4
+ - Alpha NetBSD 1.5.2
+ - Alpha OpenBSD 3.0
+ - Alpha OpenVMS V7.1-1H2
+ - Alpha Tru64 v5.0 5.1
+ - AVR32 Linux
+ - ARM Android 1.5, 2.1, 2.3, 3.2, 4.x
+ - ARM INTEGRITY
+ - ARM iOS
+ - Cell Linux
+ - Cell Cell OS
+ - HP-PA HP-UX 9.X 10.X 11.X
+ - HP-PA Linux
+ - HP3000 MPE/iX
+ - MicroBlaze uClinux
+ - MIPS IRIX 6.2, 6.5
+ - MIPS Linux
+ - OS/400
+ - Pocket PC/Win CE 3.0
+ - Power AIX 3.2.5, 4.2, 4.3.1, 4.3.2, 5.1, 5.2
+ - PowerPC Darwin 1.0
+ - PowerPC INTEGRITY
+ - PowerPC Linux
+ - PowerPC Mac OS 9
+ - PowerPC Mac OS X
+ - SH4 Linux 2.6.X
+ - SH4 OS21
+ - SINIX-Z v5
+ - Sparc Linux
+ - Sparc Solaris 2.4, 2.5, 2.5.1, 2.6, 7, 8, 9, 10
+ - Sparc SunOS 4.1.X
+ - StrongARM (and other ARM) RISC OS 3.1, 4.02
+ - StrongARM/ARM7/ARM9 Linux 2.4, 2.6
+ - StrongARM NetBSD 1.4.1
+ - Symbian OS (P.I.P.S.) 9.x
+ - TPF
+ - Ultrix 4.3a
+ - UNICOS 9.0
+ - i386 BeOS
+ - i386 DOS
+ - i386 eCos 1.3.1
+ - i386 Esix 4.1
+ - i386 FreeBSD
+ - i386 HURD
+ - i386 Haiku OS
+ - i386 Linux 1.3, 2.0, 2.2, 2.3, 2.4, 2.6
+ - i386 Mac OS X
+ - i386 MINIX 3.1
+ - i386 NetBSD
+ - i386 Novell NetWare
+ - i386 OS/2
+ - i386 OpenBSD
+ - i386 QNX 6
+ - i386 SCO unix
+ - i386 Solaris 2.7
+ - i386 Windows 95, 98, ME, NT, 2000, XP, 2003
+ - i486 ncr-sysv4.3.03 (NCR MP-RAS)
+ - ia64 Linux 2.3.99
+ - m68k AmigaOS 3
+ - m68k Linux
+ - m68k uClinux
+ - m68k OpenBSD
+ - m88k dg-dgux5.4R3.00
+ - s390 Linux
+ - x86_64 Linux
+ - XScale/PXA250 Linux 2.4
+ - Nios II uClinux
diff --git a/docs/INTERNALS.md b/docs/INTERNALS.md
index 1691fcc04..a733e1f0c 100644
--- a/docs/INTERNALS.md
+++ b/docs/INTERNALS.md
@@ -56,7 +56,7 @@ git
All changes to the sources are committed to the git repository as soon as
they're somewhat verified to work. Changes shall be committed as independently
- as possible so that individual changes can be easier spotted and tracked
+ as possible so that individual changes can be easily spotted and tracked
afterwards.
Tagging shall be used extensively, and by the time we release new archives we
@@ -88,7 +88,7 @@ Dependencies
- MIT Kerberos 1.2.4
- GSKit V5R3M0
- NSS 3.14.x
- - axTLS 1.2.7
+ - axTLS 2.1.0
- PolarSSL 1.3.0
- Heimdal ?
- nghttp2 1.0.0
@@ -98,7 +98,7 @@ Operating Systems
On systems where configure runs, we aim at working on them all - if they have
a suitable C compiler. On systems that don't run configure, we strive to keep
- curl running fine on:
+ curl running correctly on:
- Windows 98
- AS/400 V5R3M0
@@ -126,13 +126,13 @@ Build tools
Windows vs Unix
===============
- There are a few differences in how to program curl the unix way compared to
- the Windows way. The four perhaps most notable details are:
+ There are a few differences in how to program curl the Unix way compared to
+ the Windows way. Perhaps the four most notable details are:
1. Different function names for socket operations.
In curl, this is solved with defines and macros, so that the source looks
- the same at all places except for the header file that defines them. The
+ the same in all places except for the header file that defines them. The
macros in use are sclose(), sread() and swrite().
2. Windows requires a couple of init calls for the socket stuff.
@@ -142,7 +142,7 @@ Windows vs Unix
behaviour.
3. The file descriptors for network communication and file operations are
- not easily interchangeable as in unix.
+ not as easily interchangeable as in Unix.
We avoid this by not trying any funny tricks on file descriptors.
@@ -156,11 +156,11 @@ Windows vs Unix
conditionals that deal with features *should* instead be in the format
`#ifdef HAVE_THAT_WEIRD_FUNCTION`. Since Windows can't run configure scripts,
we maintain a `curl_config-win32.h` file in lib directory that is supposed to
- look exactly as a `curl_config.h` file would have looked like on a Windows
+ look exactly like a `curl_config.h` file would have looked like on a Windows
machine!
Generally speaking: always remember that this will be compiled on dozens of
- operating systems. Don't walk on the edge.
+ operating systems. Don't walk on the edge!
<a name="Library"></a>
Library
@@ -174,7 +174,7 @@ Library
rather small and easy-to-follow. All the ones prefixed with `curl_easy` are
put in the lib/easy.c file.
- `curl_global_init_()` and `curl_global_cleanup()` should be called by the
+ `curl_global_init()` and `curl_global_cleanup()` should be called by the
application to initialize and clean up global stuff in the library. As of
today, it can handle the global SSL initing if SSL is enabled and it can init
the socket layer on windows machines. libcurl itself has no "global" scope.
@@ -184,14 +184,14 @@ Library
[ `curl_easy_init()`][2] allocates an internal struct and makes some
initializations. The returned handle does not reveal internals. This is the
- 'Curl_easy' struct which works as an "anchor" struct for all `curl_easy`
+ `Curl_easy` struct which works as an "anchor" struct for all `curl_easy`
functions. All connections performed will get connect-specific data allocated
that should be used for things related to particular connections/requests.
[`curl_easy_setopt()`][1] takes three arguments, where the option stuff must
be passed in pairs: the parameter-ID and the parameter-value. The list of
options is documented in the man page. This function mainly sets things in
- the 'Curl_easy' struct.
+ the `Curl_easy` struct.
`curl_easy_perform()` is just a wrapper function that makes use of the multi
API. It basically calls `curl_multi_init()`, `curl_multi_add_handle()`,
@@ -218,7 +218,7 @@ Curl_connect()
This function makes sure there's an allocated and initiated 'connectdata'
struct that is used for this particular connection only (although there may
be several requests performed on the same connect). A bunch of things are
- inited/inherited from the Curl_easy struct.
+ inited/inherited from the `Curl_easy` struct.
<a name="Curl_do"></a>
Curl_do()
@@ -250,8 +250,8 @@ Curl_readwrite()
Called during the transfer of the actual protocol payload.
- During transfer, the progress functions in lib/progress.c are called at a
- frequent interval (or at the user's choice, a specified callback might get
+ During transfer, the progress functions in lib/progress.c are called at
+ frequent intervals (or at the user's choice, a specified callback might get
called). The speedcheck functions in lib/speedcheck.c are also used to
verify that the transfer is as fast as required.
@@ -272,7 +272,7 @@ Curl_disconnect()
When doing normal connections and transfers, no one ever tries to close any
connections so this is not normally called when `curl_easy_perform()` is
used. This function is only used when we are certain that no more transfers
- is going to be made on the connection. It can be also closed by force, or
+ are going to be made on the connection. It can be also closed by force, or
it can be called to make sure that libcurl doesn't keep too many
connections alive at the same time.
@@ -290,7 +290,7 @@ HTTP(S)
base64-functions for user+password stuff (and more) is in (lib/base64.c) and
all functions for parsing and sending cookies are found in (lib/cookie.c).
- HTTPS uses in almost every means the same procedure as HTTP, with only two
+ HTTPS uses in almost every case the same procedure as HTTP, with only two
exceptions: the connect procedure is different and the function used to read
or write from the socket is different, although the latter fact is hidden in
the source by the use of `Curl_read()` for reading and `Curl_write()` for
@@ -301,8 +301,7 @@ HTTP(S)
An interesting detail with the HTTP(S) request, is the `Curl_add_buffer()`
series of functions we use. They append data to one single buffer, and when
- the building is done the entire request is sent off in one single write. This
- is done this way to overcome problems with flawed firewalls and lame servers.
+ the building is finished the entire request is sent off in one single write. This is done this way to overcome problems with flawed firewalls and lame servers.
<a name="ftp"></a>
FTP
@@ -385,23 +384,23 @@ Persistent Connections
The persistent connection support in libcurl requires some considerations on
how to do things inside of the library.
- - The 'Curl_easy' struct returned in the [`curl_easy_init()`][2] call
+ - The `Curl_easy` struct returned in the [`curl_easy_init()`][2] call
must never hold connection-oriented data. It is meant to hold the root data
as well as all the options etc that the library-user may choose.
- - The 'Curl_easy' struct holds the "connection cache" (an array of
+ - The `Curl_easy` struct holds the "connection cache" (an array of
pointers to 'connectdata' structs).
- This enables the 'curl handle' to be reused on subsequent transfers.
- When libcurl is told to perform a transfer, it first checks for an already
existing connection in the cache that we can use. Otherwise it creates a
- new one and adds that the cache. If the cache is full already when a new
- connection is added added, it will first close the oldest unused one.
+ new one and adds that to the cache. If the cache is full already when a new
+ connection is added, it will first close the oldest unused one.
- When the transfer operation is complete, the connection is left
open. Particular options may tell libcurl not to, and protocols may signal
- closure on connections and then they won't be kept open of course.
+ closure on connections and then they won't be kept open, of course.
- When `curl_easy_cleanup()` is called, we close all still opened connections,
unless of course the multi interface "owns" the connections.
@@ -414,7 +413,7 @@ multi interface/non-blocking
============================
The multi interface is a non-blocking interface to the library. To make that
- interface work as good as possible, no low-level functions within libcurl
+ interface work as well as possible, no low-level functions within libcurl
must be written to work in a blocking manner. (There are still a few spots
violating this rule.)
@@ -465,7 +464,7 @@ Return Codes and Informationals
description.
In aiding the user to understand what's happening and to debug curl usage, we
- must supply a fair amount of informational messages by using the
+ must supply a fair number of informational messages by using the
`Curl_infof()` function. Those messages are only displayed when the user
explicitly asks for them. They are best used when revealing information that
isn't otherwise obvious.
@@ -485,11 +484,11 @@ Client
main() resides in `src/tool_main.c`.
`src/tool_hugehelp.c` is automatically generated by the mkhelp.pl perl script
- to display the complete "manual" and the src/tool_urlglob.c file holds the
+ to display the complete "manual" and the `src/tool_urlglob.c` file holds the
functions used for the URL-"globbing" support. Globbing in the sense that the
{} and [] expansion stuff is there.
- The client mostly messes around to setup its 'config' struct properly, then
+ The client mostly sets up its 'config' struct properly, then
it calls the `curl_easy_*()` functions of the library and when it gets back
control after the `curl_easy_perform()` it cleans up the library, checks
status and exits.
@@ -542,13 +541,13 @@ Test Suite
The main test script is runtests.pl that will invoke test servers like
httpserver.pl and ftpserver.pl before all the test cases are performed. The
- test suite currently only runs on unix-like platforms.
+ test suite currently only runs on Unix-like platforms.
You'll find a description of the test suite in the tests/README file, and the
test case data files in the tests/FILEFORMAT file.
The test suite automatically detects if curl was built with the memory
- debugging enabled, and if it was it will detect memory leaks, too.
+ debugging enabled, and if it was, it will detect memory leaks, too.
<a name="asyncdns"></a>
Asynchronous name resolves
@@ -589,7 +588,7 @@ Asynchronous name resolves
`curl_off_t`
==========
- curl_off_t is a data type provided by the external libcurl include
+ `curl_off_t` is a data type provided by the external libcurl include
headers. It is the type meant to be used for the [`curl_easy_setopt()`][1]
options that end with LARGE. The type is 64bit large on most modern
platforms.
@@ -607,10 +606,10 @@ curlx
`curlx_strtoofft()`
-------------------
- A macro that converts a string containing a number to a curl_off_t number.
- This might use the curlx_strtoll() function which is provided as source
+ A macro that converts a string containing a number to a `curl_off_t` number.
+ This might use the `curlx_strtoll()` function which is provided as source
code in strtoofft.c. Note that the function is only provided if no
- strtoll() (or equivalent) function exist on your platform. If curl_off_t
+ strtoll() (or equivalent) function exist on your platform. If `curl_off_t`
is only a 32 bit number on your platform, this macro uses strtol().
`curlx_tvnow()`
@@ -624,17 +623,17 @@ curlx
`curlx_tvdiff_secs()`
---------------------
- returns the same as curlx_tvdiff but with full usec resolution (as a
+ returns the same as `curlx_tvdiff` but with full usec resolution (as a
double)
Future
------
- Several functions will be removed from the public curl_ name space in a
- future libcurl release. They will then only become available as curlx_
+ Several functions will be removed from the public `curl_` name space in a
+ future libcurl release. They will then only become available as `curlx_`
functions instead. To make the transition easier, we already today provide
- these functions with the curlx_ prefix to allow sources to get built properly
- with the new function names. The functions this concerns are:
+ these functions with the `curlx_` prefix to allow sources to be built
+ properly with the new function names. The concerned functions are:
- `curlx_getenv`
- `curlx_strequal`
@@ -659,7 +658,7 @@ Content Encoding
[HTTP/1.1][4] specifies that a client may request that a server encode its
response. This is usually used to compress a response using one of a set of
commonly available compression techniques. These schemes are 'deflate' (the
- zlib algorithm), 'gzip' and 'compress'. A client requests that the sever
+ zlib algorithm), 'gzip' and 'compress'. A client requests that the server
perform an encoding by including an Accept-Encoding header in the request
document. The value of the header should be one of the recognized tokens
'deflate', ... (there's a way to register new schemes/tokens, see sec 3.5 of
@@ -719,7 +718,7 @@ hostip.c explained
this host has getaddrinfo() and family, and thus we use that. The host may
not be able to resolve IPv6, but we don't really have to take that into
- account. Hosts that aren't IPv6-enabled have CURLRES_IPV4 defined.
+ account. Hosts that aren't IPv6-enabled have `CURLRES_IPV4` defined.
## `CURLRES_ARES`
@@ -750,7 +749,7 @@ hostip.c explained
- hostip6.c - IPv6 specific functions
The hostip.h is the single united header file for all this. It defines the
- `CURLRES_*` defines based on the config*.h and curl_setup.h defines.
+ `CURLRES_*` defines based on the config*.h and `curl_setup.h` defines.
<a name="memoryleak"></a>
Track Down Memory Leaks
@@ -767,7 +766,7 @@ Track Down Memory Leaks
Rebuild libcurl with -DCURLDEBUG (usually, rerunning configure with
--enable-debug fixes this). 'make clean' first, then 'make' so that all
- files actually are rebuilt properly. It will also make sense to build
+ files are actually rebuilt properly. It will also make sense to build
libcurl with the debug option (usually -g to the compiler) so that debugging
it will be easier if you actually do find a leak in the library.
@@ -828,16 +827,16 @@ Track Down Memory Leaks
We also added a timer callback that makes libcurl call the application when
the timeout value changes, and you set that with [`curl_multi_setopt()`][9]
and the [`CURLMOPT_TIMERFUNCTION`][10] option. To get this to work,
- Internally, there's an added a struct to each easy handle in which we store
+ Internally, there's an added struct to each easy handle in which we store
an "expire time" (if any). The structs are then "splay sorted" so that we
can add and remove times from the linked list and yet somewhat swiftly
- figure out both how long time there is until the next nearest timer expires
+ figure out both how long there is until the next nearest timer expires
and which timer (handle) we should take care of now. Of course, the upside
of all this is that we get a [`curl_multi_timeout()`][8] that should also
work with old-style applications that use [`curl_multi_perform()`][11].
We created an internal "socket to easy handles" hash table that given
- a socket (file descriptor) return the easy handle that waits for action on
+ a socket (file descriptor) returns the easy handle that waits for action on
that socket. This hash is made using the already existing hash code
(previously only used for the DNS cache).
@@ -858,7 +857,7 @@ for older and later versions as things don't change drastically that often.
## Curl_easy
- The Curl_easy struct is the one returned to the outside in the external API
+ The `Curl_easy` struct is the one returned to the outside in the external API
as a "CURL *". This is usually known as an easy handle in API documentations
and examples.
@@ -866,27 +865,27 @@ for older and later versions as things don't change drastically that often.
'connectdata' struct. When a transfer is about to be made, libcurl will
either create a new connection or re-use an existing one. The particular
connectdata that is used by this handle is pointed out by
- Curl_easy->easy_conn.
+ `Curl_easy->easy_conn`.
Data and information that regard this particular single transfer is put in
the SingleRequest sub-struct.
- When the Curl_easy struct is added to a multi handle, as it must be in order
- to do any transfer, the ->multi member will point to the `Curl_multi` struct
- it belongs to. The ->prev and ->next members will then be used by the multi
- code to keep a linked list of Curl_easy structs that are added to that same
- multi handle. libcurl always uses multi so ->multi *will* point to a
- `Curl_multi` when a transfer is in progress.
+ When the `Curl_easy` struct is added to a multi handle, as it must be in
+ order to do any transfer, the ->multi member will point to the `Curl_multi`
+ struct it belongs to. The ->prev and ->next members will then be used by the
+ multi code to keep a linked list of `Curl_easy` structs that are added to
+ that same multi handle. libcurl always uses multi so ->multi *will* point to
+ a `Curl_multi` when a transfer is in progress.
- ->mstate is the multi state of this particular Curl_easy. When
+ ->mstate is the multi state of this particular `Curl_easy`. When
`multi_runsingle()` is called, it will act on this handle according to which
state it is in. The mstate is also what tells which sockets to return for a
- specific Curl_easy when [`curl_multi_fdset()`][12] is called etc.
+ specific `Curl_easy` when [`curl_multi_fdset()`][12] is called etc.
The libcurl source code generally use the name 'data' for the variable that
- points to the Curl_easy.
+ points to the `Curl_easy`.
- When doing multiplexed HTTP/2 transfers, each Curl_easy is associated with
+ When doing multiplexed HTTP/2 transfers, each `Curl_easy` is associated with
an individual stream, sharing the same connectdata struct. Multiplexing
makes it even more important to keep things associated with the right thing!
@@ -901,21 +900,21 @@ for older and later versions as things don't change drastically that often.
the connection can't be kept alive, the connection will be closed after use
and then this struct can be removed from the cache and freed.
- Thus, the same Curl_easy can be used multiple times and each time select
+ Thus, the same `Curl_easy` can be used multiple times and each time select
another connectdata struct to use for the connection. Keep this in mind, as
it is then important to consider if options or choices are based on the
- connection or the Curl_easy.
+ connection or the `Curl_easy`.
Functions in libcurl will assume that connectdata->data points to the
- Curl_easy that uses this connection (for the moment).
+ `Curl_easy` that uses this connection (for the moment).
As a special complexity, some protocols supported by libcurl require a
special disconnect procedure that is more than just shutting down the
socket. It can involve sending one or more commands to the server before
doing so. Since connections are kept in the connection cache after use, the
- original Curl_easy may no longer be around when the time comes to shut down
+ original `Curl_easy` may no longer be around when the time comes to shut down
a particular connection. For this purpose, libcurl holds a special dummy
- `closure_handle` Curl_easy in the `Curl_multi` struct to use when needed.
+ `closure_handle` `Curl_easy` in the `Curl_multi` struct to use when needed.
FTP uses two TCP connections for a typical transfer but it keeps both in
this single struct and thus can be considered a single connection for most
@@ -929,36 +928,37 @@ for older and later versions as things don't change drastically that often.
Internally, the easy interface is implemented as a wrapper around multi
interface functions. This makes everything multi interface.
- `Curl_multi` is the multi handle struct exposed as "CURLM *" in external APIs.
+ `Curl_multi` is the multi handle struct exposed as "CURLM *" in external
+ APIs.
- This struct holds a list of Curl_easy structs that have been added to this
+ This struct holds a list of `Curl_easy` structs that have been added to this
handle with [`curl_multi_add_handle()`][13]. The start of the list is
- ->easyp and ->num_easy is a counter of added Curl_easys.
+ `->easyp` and `->num_easy` is a counter of added `Curl_easy`s.
- ->msglist is a linked list of messages to send back when
+ `->msglist` is a linked list of messages to send back when
[`curl_multi_info_read()`][14] is called. Basically a node is added to that
- list when an individual Curl_easy's transfer has completed.
+ list when an individual `Curl_easy`'s transfer has completed.
- ->hostcache points to the name cache. It is a hash table for looking up name
- to IP. The nodes have a limited life time in there and this cache is meant
- to reduce the time for when the same name is wanted within a short period of
- time.
+ `->hostcache` points to the name cache. It is a hash table for looking up
+ name to IP. The nodes have a limited life time in there and this cache is
+ meant to reduce the time for when the same name is wanted within a short
+ period of time.
- ->timetree points to a tree of Curl_easys, sorted by the remaining time
- until it should be checked - normally some sort of timeout. Each Curl_easy
+ `->timetree` points to a tree of `Curl_easy`s, sorted by the remaining time
+ until it should be checked - normally some sort of timeout. Each `Curl_easy`
has one node in the tree.
- ->sockhash is a hash table to allow fast lookups of socket descriptor to
- which Curl_easy that uses that descriptor. This is necessary for the
+ `->sockhash` is a hash table to allow fast lookups of socket descriptor for
+ which `Curl_easy` uses that descriptor. This is necessary for the
`multi_socket` API.
- ->conn_cache points to the connection cache. It keeps track of all
+ `->conn_cache` points to the connection cache. It keeps track of all
connections that are kept after use. The cache has a maximum size.
- ->closure_handle is described in the 'connectdata' section.
+ `->closure_handle` is described in the 'connectdata' section.
The libcurl source code generally use the name 'multi' for the variable that
- points to the Curl_multi struct.
+ points to the `Curl_multi` struct.
## Curl_handler
@@ -971,41 +971,40 @@ for older and later versions as things don't change drastically that often.
from a single array which is scanned through when a URL is given to libcurl
to work with.
- ->scheme is the URL scheme name, usually spelled out in uppercase. That's
- "HTTP" or "FTP" etc. SSL versions of the protcol need its own `Curl_handler`
- setup so HTTPS separate from HTTP.
+ `->scheme` is the URL scheme name, usually spelled out in uppercase. That's
+ "HTTP" or "FTP" etc. SSL versions of the protocol need their own `Curl_handler` setup so HTTPS separate from HTTP.
- ->setup_connection is called to allow the protocol code to allocate protocol
- specific data that then gets associated with that Curl_easy for the rest of
- this transfer. It gets freed again at the end of the transfer. It will be
- called before the 'connectdata' for the transfer has been selected/created.
- Most protocols will allocate its private 'struct [PROTOCOL]' here and assign
- Curl_easy->req.protop to point to it.
+ `->setup_connection` is called to allow the protocol code to allocate
+ protocol specific data that then gets associated with that `Curl_easy` for
+ the rest of this transfer. It gets freed again at the end of the transfer.
+ It will be called before the 'connectdata' for the transfer has been
+ selected/created. Most protocols will allocate its private
+ 'struct [PROTOCOL]' here and assign `Curl_easy->req.protop` to point to it.
- ->connect_it allows a protocol to do some specific actions after the TCP
+ `->connect_it` allows a protocol to do some specific actions after the TCP
connect is done, that can still be considered part of the connection phase.
- Some protocols will alter the connectdata->recv[] and connectdata->send[]
- function pointers in this function.
+ Some protocols will alter the `connectdata->recv[]` and
+ `connectdata->send[]` function pointers in this function.
- ->connecting is similarly a function that keeps getting called as long as the
- protocol considers itself still in the connecting phase.
+ `->connecting` is similarly a function that keeps getting called as long as
+ the protocol considers itself still in the connecting phase.
- ->do_it is the function called to issue the transfer request. What we call
+ `->do_it` is the function called to issue the transfer request. What we call
the DO action internally. If the DO is not enough and things need to be kept
- getting done for the entire DO sequence to complete, ->doing is then usually
- also provided. Each protocol that needs to do multiple commands or similar
- for do/doing need to implement their own state machines (see SCP, SFTP,
- FTP). Some protocols (only FTP and only due to historical reasons) has a
- separate piece of the DO state called `DO_MORE`.
+ getting done for the entire DO sequence to complete, `->doing` is then
+ usually also provided. Each protocol that needs to do multiple commands or
+ similar for do/doing need to implement their own state machines (see SCP,
+ SFTP, FTP). Some protocols (only FTP and only due to historical reasons) has
+ a separate piece of the DO state called `DO_MORE`.
- ->doing keeps getting called while issuing the transfer request command(s)
+ `->doing` keeps getting called while issuing the transfer request command(s)
- ->done gets called when the transfer is complete and DONE. That's after the
+ `->done` gets called when the transfer is complete and DONE. That's after the
main data has been transferred.
- ->do_more gets called during the `DO_MORE` state. The FTP protocol uses this
- state when setting up the second connection.
+ `->do_more` gets called during the `DO_MORE` state. The FTP protocol uses
+ this state when setting up the second connection.
->`proto_getsock`
->`doing_getsock`
@@ -1034,11 +1033,11 @@ for older and later versions as things don't change drastically that often.
- `PROTOPT_CLOSEACTION` - this protocol has actions to do before closing the
connection. This flag is no longer used by code, yet still set for a bunch
- protocol handlers.
+ of protocol handlers.
- `PROTOPT_DIRLOCK` - "direction lock". The SSH protocols set this bit to
limit which "direction" of socket actions that the main engine will
- concern itself about.
+ concern itself with.
- `PROTOPT_NONETWORK` - a protocol that doesn't use network (read file:)
@@ -1050,21 +1049,21 @@ for older and later versions as things don't change drastically that often.
## conncache
- Is a hash table with connections for later re-use. Each Curl_easy has a
+ Is a hash table with connections for later re-use. Each `Curl_easy` has a
pointer to its connection cache. Each multi handle sets up a connection
- cache that all added Curl_easys share by default.
+ cache that all added `Curl_easy`s share by default.
## Curl_share
The libcurl share API allocates a `Curl_share` struct, exposed to the
external API as "CURLSH *".
- The idea is that the struct can have a set of own versions of caches and
+ The idea is that the struct can have a set of its own versions of caches and
pools and then by providing this struct in the `CURLOPT_SHARE` option, those
- specific Curl_easys will use the caches/pools that this share handle
+ specific `Curl_easy`s will use the caches/pools that this share handle
holds.
- Then individual Curl_easy structs can be made to share specific things
+ Then individual `Curl_easy` structs can be made to share specific things
that they otherwise wouldn't, such as cookies.
The `Curl_share` struct can currently hold cookies, DNS cache and the SSL
@@ -1073,7 +1072,7 @@ for older and later versions as things don't change drastically that often.
## CookieInfo
This is the main cookie struct. It holds all known cookies and related
- information. Each Curl_easy has its own private CookieInfo even when
+ information. Each `Curl_easy` has its own private CookieInfo even when
they are added to a multi handle. They can be made to share cookies by using
the share API.
diff --git a/docs/KNOWN_BUGS b/docs/KNOWN_BUGS
index 5230ecbbc..12eeedd02 100644
--- a/docs/KNOWN_BUGS
+++ b/docs/KNOWN_BUGS
@@ -18,18 +18,15 @@ problems may have been fixed or changed somewhat since this was written!
1.4 multipart formposts file name encoding
1.5 Expect-100 meets 417
1.6 Unnecessary close when 401 received waiting for 100
- 1.7 CONNECT response larger than 16KB
1.8 DNS timing is wrong for HTTP redirects
1.9 HTTP/2 frames while in the connection pool kill reuse
1.10 Strips trailing dot from host name
- 1.11 transfer-encoding: chunked in HTTP/2
- 1.12 CURLOPT_SEEKFUNCTION not called with CURLFORM_STREAM
+ 1.11 CURLOPT_SEEKFUNCTION not called with CURLFORM_STREAM
2. TLS
- 2.1 Hangs with PolarSSL
- 2.2 CURLINFO_SSL_VERIFYRESULT has limited support
- 2.3 DER in keychain
- 2.4 GnuTLS backend skips really long certificate fields
+ 2.1 CURLINFO_SSL_VERIFYRESULT has limited support
+ 2.2 DER in keychain
+ 2.3 GnuTLS backend skips really long certificate fields
3. Email protocols
3.1 IMAP SEARCH ALL truncated response
@@ -50,6 +47,9 @@ problems may have been fixed or changed somewhat since this was written!
5.5 can't handle Unicode arguments in Windows
5.6 cmake support gaps
5.7 Visual Studio project gaps
+ 5.8 configure finding libs in wrong directory
+ 5.9 Utilize Requires.private directives in libcurl.pc
+ 5.10 Fix the gcc typechecks
6. Authentication
6.1 NTLM authentication and unicode
@@ -83,11 +83,12 @@ problems may have been fixed or changed somewhat since this was written!
11. Internals
11.1 Curl leaks .onion hostnames in DNS
11.2 error buffer not set if connection to multiple addresses fails
+ 11.3 c-ares deviates from stock resolver on http://1346569778
12. LDAP and OpenLDAP
12.1 OpenLDAP hangs after returning results
- 13 TCP/IP
+ 13. TCP/IP
13.1 --interface for ipv6 binds to unusable IP address
@@ -140,13 +141,6 @@ problems may have been fixed or changed somewhat since this was written!
waiting for the the 100-continue response.
https://curl.haxx.se/mail/lib-2008-08/0462.html
-1.7 CONNECT response larger than 16KB
-
- If a CONNECT response-headers are larger than BUFSIZE (16KB) when the
- connection is meant to be kept alive (like for NTLM proxy auth), the function
- will return prematurely and will confuse the rest of the HTTP protocol
- code. This should be very rare.
-
1.8 DNS timing is wrong for HTTP redirects
When extracting timing information after HTTP redirects, only the last
@@ -198,15 +192,7 @@ problems may have been fixed or changed somewhat since this was written!
See https://github.com/curl/curl/issues/716 for the discussion.
-1.11 transfer-encoding: chunked in HTTP/2
-
- For HTTP/1, when -H transfer-encoding:chunked option is given, curl encodes
- the request using chunked encoding. But when HTTP/2 is being used, the
- command wrongly sends a request with both content-length and
- transfer-encoding: chunked headers being set (and the request body is not
- chunked-encoded). See https://github.com/curl/curl/issues/662
-
-1.12 CURLOPT_SEEKFUNCTION not called with CURLFORM_STREAM
+1.11 CURLOPT_SEEKFUNCTION not called with CURLFORM_STREAM
I'm using libcurl to POST form data using a FILE* with the CURLFORM_STREAM
option of curl_formadd(). I've noticed that if the connection drops at just
@@ -220,26 +206,17 @@ problems may have been fixed or changed somewhat since this was written!
2. TLS
-2.1 Hangs with PolarSSL
-
- "curl_easy_perform hangs with imap and PolarSSL"
- https://github.com/curl/curl/issues/334
-
- Most likely, a fix similar to commit c111178bd4 (for mbedTLS) is
- necessary. Or if we just wait a little longer we'll rip out all support for
- PolarSSL instead...
-
-2.2 CURLINFO_SSL_VERIFYRESULT has limited support
+2.1 CURLINFO_SSL_VERIFYRESULT has limited support
CURLINFO_SSL_VERIFYRESULT is only implemented for the OpenSSL and NSS
backends, so relying on this information in a generic app is flaky.
-2.3 DER in keychain
+2.2 DER in keychain
Curl doesn't recognize certificates in DER format in keychain, but it works
with PEM. https://curl.haxx.se/bug/view.cgi?id=1065
-2.4 GnuTLS backend skips really long certificate fields
+2.3 GnuTLS backend skips really long certificate fields
libcurl calls gnutls_x509_crt_get_dn() with a fixed buffer size and if the
field is too long in the cert, it'll just return an error and the field will
@@ -368,6 +345,35 @@ problems may have been fixed or changed somewhat since this was written!
- support for other development IDEs
- add PATH environment variables for third-party DLLs
+5.8 configure finding libs in wrong directory
+
+ When the configure script checks for third-party libraries, it adds those
+ directories to the LDFLAGS variable and then tries linking to see if it
+ works. When successful, the found directory is kept in the LDFLAGS variable
+ when the script continues to execute and do more tests and possibly check for
+ more libraries.
+
+ This can make subsequent checks for libraries wrongly detect another
+ installation in a directory that was previously added to LDFLAGS by another
+ library check!
+
+ A possibly better way to do these checks would be to keep the pristine LDFLAGS
+ even after successful checks and instead add those verified paths to a
+ separate variable that only after all library checks have been performed gets
+ appended to LDFLAGS.
+
+5.9 Utilize Requires.private directives in libcurl.pc
+
+ https://github.com/curl/curl/issues/864
+
+5.10 Fix the gcc typechecks
+
+ Issue #846 identifies a problem with the gcc-typechecks and how the types are
+ documented and checked for CURLINFO_CERTINFO but our attempts to fix the
+ issue were futile and needs more attention.
+
+ https://github.com/curl/curl/issues/846
+
6. Authentication
6.1 NTLM authentication and unicode
@@ -552,6 +558,18 @@ problems may have been fixed or changed somewhat since this was written!
CURLE_COULDNT_CONNECT. But the error buffer set by CURLOPT_ERRORBUFFER
remains empty. Issue: https://github.com/curl/curl/issues/544
+11.3 c-ares deviates from stock resolver on http://1346569778
+
+ When using the socket resolvers, that URL becomes:
+
+ * Rebuilt URL to: http://1346569778/
+ * Trying 80.67.6.50...
+
+ but with c-ares it instead says "Could not resolve: 1346569778 (Domain name
+ not found)"
+
+ See https://github.com/curl/curl/issues/893
+
12. LDAP and OpenLDAP
@@ -575,7 +593,7 @@ problems may have been fixed or changed somewhat since this was written!
https://curl.haxx.se/mail/lib-2016-01/0101.html
-13 TCP/IP
+13. TCP/IP
13.1 --interface for ipv6 binds to unusable IP address
diff --git a/docs/LICENSE-MIXING.md b/docs/LICENSE-MIXING.md
index 0bff73e6d..5376bdb70 100644
--- a/docs/LICENSE-MIXING.md
+++ b/docs/LICENSE-MIXING.md
@@ -45,7 +45,7 @@ not have the announcement clause that collides with GPL.
## WolfSSL
- (May be used for SSL/TLS support) Uses the GPL license or a propietary
+ (May be used for SSL/TLS support) Uses the GPL license or a proprietary
license. If this is a problem for you, consider using another TLS library.
## NSS
@@ -63,8 +63,11 @@ not have the announcement clause that collides with GPL.
## mbedTLS
- (May be used for SSL/TLS support) Uses the GPL license or a propietary
- license. If this is a problem for you, consider using another TLS library.
+ (May be used for SSL/TLS support) Uses the [Apache 2.0
+ license](https://opensource.org/licenses/Apache-2.0) or the GPL license.
+ You may choose to license the code under Apache 2.0 terms or GPL terms.
+ These licenses grant you different permissions and impose different
+ obligations. You should select the license that best meets your needs.
## BoringSSL
diff --git a/docs/MAIL-ETIQUETTE b/docs/MAIL-ETIQUETTE
index 75058009e..897fc9f52 100644
--- a/docs/MAIL-ETIQUETTE
+++ b/docs/MAIL-ETIQUETTE
@@ -38,17 +38,17 @@ MAIL ETIQUETTE
Each mailing list is targeted to a specific set of users and subjects,
please use the one or the ones that suit you the most.
- Each mailing list have hundreds up to thousands of readers, meaning that
- each mail sent will be received and read by a very large amount of people.
+ Each mailing list has hundreds up to thousands of readers, meaning that
+ each mail sent will be received and read by a very large number of people.
People from various cultures, regions, religions and continents.
1.2 Netiquette
- Netiquette is a common name for how to behave on the internet. Of course, in
+ Netiquette is a common term for how to behave on the internet. Of course, in
each particular group and subculture there will be differences in what is
acceptable and what is considered good manners.
- This document outlines what we in the cURL project considers to be good
+ This document outlines what we in the curl project consider to be good
etiquette, and primarily this focus on how to behave on and how to use our
mailing lists.
@@ -56,7 +56,7 @@ MAIL ETIQUETTE
Many people send one question to one person. One person gets many mails, and
there is only one person who can give you a reply. The question may be
- something that other people are also wanting to ask. These other people have
+ something that other people would also like to ask. These other people have
no way to read the reply, but to ask the one person the question. The one
person consequently gets overloaded with mail.
@@ -79,8 +79,8 @@ MAIL ETIQUETTE
1.5 Moderation of new posters
Several of the curl mailing lists automatically make all posts from new
- subscribers require moderation. This means that after you've subscribed and
- send your first mail to a list, that mail will not be let through to the
+ subscribers be moderated. This means that after you've subscribed and
+ sent your first mail to a list, that mail will not be let through to the
list until a mailing list administrator has verified that it is OK and
permits it to get posted.
@@ -104,26 +104,26 @@ MAIL ETIQUETTE
messages"
No matter what, we NEVER EVER respond to trolls or spammers on the list. If
- you believe the list admin should do something particular, contact him/her
- off-list. The subject will be taken care of as good as possible to prevent
- repeated offenses, but responding on the list to such messages never lead to
+ you believe the list admin should do something in particular, contact him/her
+ off-list. The subject will be taken care of as much as possible to prevent
+ repeated offenses, but responding on the list to such messages never leads to
anything good and only puts the light even more on the offender: which was
- the entire purpose of it getting to the list in the first place.
+ the entire purpose of it getting sent to the list in the first place.
Don't feed the trolls!
1.7 How to unsubscribe
- You unsubscribe the same way you subscribed in the first place. You go to
- the page for the particular mailing list you're subscribed to and you enter
+ You can unsubscribe the same way you subscribed in the first place. You go
+ to the page for the particular mailing list you're subscribed to and you enter
your email address and password and press the unsubscribe button.
- Also, this information is included in the headers of every mail that is sent
- out to all curl related mailing lists and there's footer in each mail that
- links to the "admin" page on which you can unsubscribe and change other
- options.
+ Also, the instructions to unsubscribe are included in the headers of every
+ mail that is sent out to all curl related mailing lists and there's a footer
+ in each mail that links to the "admin" page on which you can unsubscribe and
+ change other options.
- You NEVER EVER email the mailing list requesting someone else to get you off
+ You NEVER EVER email the mailing list requesting someone else to take you off
the list.
1.8 I posted, now what?
@@ -132,35 +132,35 @@ MAIL ETIQUETTE
send the email, your post will just be silently discarded.
If you posted for the first time to the mailing list, you first need to wait
- for an administrator to allow your email to go through. This normally
+ for an administrator to allow your email to go through (moderated). This normally
happens very quickly but in case we're asleep, you may have to wait a few
hours.
Once your email goes through it is sent out to several hundred or even
- thousand recipients. Your email may cover an area that not that many people
+ thousands of recipients. Your email may cover an area that not that many people
know about or are interested in. Or possibly the person who knows about it
- is on vacation or under a very heavy work load right now. You have to wait
- for a response and you must not expect to get a response at all, but
+ is on vacation or under a very heavy work load right now. You may have to wait
+ for a response and you should not expect to get a response at all, but
hopefully you get an answer within a couple of days.
You do yourself and all of us a service when you include as many details as
possible already in your first email. Mention your operating system and
environment. Tell us which curl version you're using and tell us what you
did, what happened and what you expected would happen. Preferably, show us
- what you did in details enough to allow others to help point out the problem
- or repeat the same steps in their places.
+ what you did with details enough to allow others to help point out the problem
+ or repeat the same steps in their locations.
Failing to include details will only delay responses and make people respond
- and ask for the details and you have to send a follow-up email that includes
- them.
+ and ask for more details and you will have to send a follow-up email that
+ includes them.
- Expect the responses to primarily help YOU debug the issue, or ask you
+ Expect the responses to primarily help YOU debug the issue, or ask YOU
questions that can lead you or others towards a solution or explanation to
whatever you experience.
If you are a repeat offender to the guidelines outlined in this document,
chances are that people will ignore you at will and your chances to get
- responses will greatly diminish.
+ responses in the future will greatly diminish.
2. Sending mail
@@ -183,7 +183,7 @@ MAIL ETIQUETTE
We're actively discouraging replying back to the single person by setting
the Reply-To: field in outgoing mails back to the mailing list address,
- making it harder for people to mail the author only by mistake.
+ making it harder for people to mail the author directly, if only by mistake.
2.3 Use a Sensible Subject
@@ -198,10 +198,9 @@ MAIL ETIQUETTE
mail conversation below. It forces users to read the mail in a backwards
order to properly understand it.
- This is why top posting is so bad:
+ This is why top posting is so bad (in top posting order):
- A: Because it messes up the order in which people normally read
- text.
+ A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?
@@ -255,7 +254,7 @@ MAIL ETIQUETTE
If you are the one who asks, please consider responding once more in case
one of the hints was what solved your problems. The guys who write answers
feel good to know that they provided a good answer and that you fixed the
- problem. Far too often, the person who asked the question is never heard of
+ problem. Far too often, the person who asked the question is never heard from
again, and we never get to know if he/she is gone because the problem was
solved or perhaps because the problem was unsolvable!
diff --git a/docs/Makefile.am b/docs/Makefile.am
index 149e0af42..ee8f60718 100644
--- a/docs/Makefile.am
+++ b/docs/Makefile.am
@@ -5,7 +5,7 @@
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
-# Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
@@ -29,21 +29,24 @@ PDFPAGES = curl.pdf curl-config.pdf mk-ca-bundle.pdf
HTMLPAGES = $(GENHTMLPAGES) index.html
-SUBDIRS = examples libcurl
+SUBDIRS = examples libcurl cmdline-opts
-CLEANFILES = $(GENHTMLPAGES) $(PDFPAGES)
+CLEANFILES = $(GENHTMLPAGES) $(PDFPAGES) curl.1
-EXTRA_DIST = MANUAL BUGS CONTRIBUTE.md FAQ FEATURES INTERNALS.md SSLCERTS.md \
- README.win32 RESOURCES TODO TheArtOfHttpScripting THANKS VERSIONS \
- KNOWN_BUGS BINDINGS $(man_MANS) $(HTMLPAGES) HISTORY.md INSTALL \
- $(PDFPAGES) LICENSE-MIXING.md README.netware INSTALL.devcpp \
- MAIL-ETIQUETTE HTTP-COOKIES.md SECURITY.md RELEASE-PROCEDURE SSL-PROBLEMS.md \
- HTTP2.md ROADMAP.md CODE_OF_CONDUCT.md CODE_STYLE.md CHECKSRC.md
+EXTRA_DIST = MANUAL BUGS CONTRIBUTE.md FAQ FEATURES INTERNALS.md SSLCERTS.md \
+ README.win32 RESOURCES TODO TheArtOfHttpScripting THANKS VERSIONS KNOWN_BUGS \
+ BINDINGS.md $(man_MANS) HISTORY.md INSTALL INSTALL.md LICENSE-MIXING.md \
+ README.netware MAIL-ETIQUETTE HTTP-COOKIES.md SECURITY.md RELEASE-PROCEDURE \
+ SSL-PROBLEMS.md HTTP2.md ROADMAP.md CODE_OF_CONDUCT.md CODE_STYLE.md \
+ CHECKSRC.md
MAN2HTML= roffit $< >$@
SUFFIXES = .1 .html .pdf
+curl.1:
+ cd cmdline-opts && make
+
html: $(HTMLPAGES)
cd libcurl && make html
diff --git a/docs/Makefile.in b/docs/Makefile.in
index 0e963097b..90ee8a2a0 100644
--- a/docs/Makefile.in
+++ b/docs/Makefile.in
@@ -21,7 +21,7 @@
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
-# Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
@@ -446,14 +446,14 @@ noinst_man_MANS = mk-ca-bundle.1
GENHTMLPAGES = curl.html curl-config.html mk-ca-bundle.html
PDFPAGES = curl.pdf curl-config.pdf mk-ca-bundle.pdf
HTMLPAGES = $(GENHTMLPAGES) index.html
-SUBDIRS = examples libcurl
-CLEANFILES = $(GENHTMLPAGES) $(PDFPAGES)
-EXTRA_DIST = MANUAL BUGS CONTRIBUTE.md FAQ FEATURES INTERNALS.md SSLCERTS.md \
- README.win32 RESOURCES TODO TheArtOfHttpScripting THANKS VERSIONS \
- KNOWN_BUGS BINDINGS $(man_MANS) $(HTMLPAGES) HISTORY.md INSTALL \
- $(PDFPAGES) LICENSE-MIXING.md README.netware INSTALL.devcpp \
- MAIL-ETIQUETTE HTTP-COOKIES.md SECURITY.md RELEASE-PROCEDURE SSL-PROBLEMS.md \
- HTTP2.md ROADMAP.md CODE_OF_CONDUCT.md CODE_STYLE.md CHECKSRC.md
+SUBDIRS = examples libcurl cmdline-opts
+CLEANFILES = $(GENHTMLPAGES) $(PDFPAGES) curl.1
+EXTRA_DIST = MANUAL BUGS CONTRIBUTE.md FAQ FEATURES INTERNALS.md SSLCERTS.md \
+ README.win32 RESOURCES TODO TheArtOfHttpScripting THANKS VERSIONS KNOWN_BUGS \
+ BINDINGS.md $(man_MANS) HISTORY.md INSTALL INSTALL.md LICENSE-MIXING.md \
+ README.netware MAIL-ETIQUETTE HTTP-COOKIES.md SECURITY.md RELEASE-PROCEDURE \
+ SSL-PROBLEMS.md HTTP2.md ROADMAP.md CODE_OF_CONDUCT.md CODE_STYLE.md \
+ CHECKSRC.md
MAN2HTML = roffit $< >$@
SUFFIXES = .1 .html .pdf
@@ -816,6 +816,9 @@ uninstall-man: uninstall-man1
.PRECIOUS: Makefile
+curl.1:
+ cd cmdline-opts && make
+
html: $(HTMLPAGES)
cd libcurl && make html
diff --git a/docs/README.netware b/docs/README.netware
index 12065f305..9028963f6 100644
--- a/docs/README.netware
+++ b/docs/README.netware
@@ -11,17 +11,16 @@ README.netware
Curl has been successfully compiled with gcc / nlmconv on different flavours
of Linux as well as with the official Metrowerks CodeWarrior compiler.
While not being the main development target, a continuously growing share of
- curl users are NetWare-based, specially also consuming the lib from PHP.
+ curl users are NetWare-based, especially also consuming the lib from PHP.
- The unix-style man pages are tricky to read on windows, so therefore are all
- those pages converted to HTML as well as pdf, and included in the release
- archives.
+ The unix-style man pages are tricky to read on windows, so therefore all
+ those pages are also provided as web pages on the curl web site.
The main curl.1 man page is also "built-in" in the command line tool. Use a
command line similar to this in order to extract a separate text file:
curl -M >manual.txt
- Read the INSTALL file for instructions how to compile curl self.
+ Read the INSTALL file for instructions on how to compile curl self.
diff --git a/docs/README.win32 b/docs/README.win32
index cfd45dd25..00ca197fe 100644
--- a/docs/README.win32
+++ b/docs/README.win32
@@ -12,15 +12,14 @@ README.win32
systems. While not being the main develop target, a fair share of curl users
are win32-based.
- The unix-style man pages are tricky to read on windows, so therefore are all
- those pages converted to HTML as well as pdf, and included in the release
- archives.
+ The unix-style man pages are tricky to read on windows, so therefore all
+ those pages are also provided as web pages on the curl web site.
The main curl.1 man page is also "built-in" in the command line tool. Use a
command line similar to this in order to extract a separate text file:
curl -M >manual.txt
- Read the INSTALL file for instructions how to compile curl self.
+ Read the INSTALL file for instructions on how to compile curl self.
diff --git a/docs/RELEASE-PROCEDURE b/docs/RELEASE-PROCEDURE
index 1b574526e..a7c743308 100644
--- a/docs/RELEASE-PROCEDURE
+++ b/docs/RELEASE-PROCEDURE
@@ -83,10 +83,9 @@ Coming dates
Based on the description above, here are some planned release dates (at the
time of this writing):
-- September 7, 2016 (version 7.50.2)
-- November 2, 2016
-- December 28, 2016
-- February 22, 2017
+- February 22, 2017 (version 7.53.0)
- April 19, 2017
- June 14, 2017
- August 9, 2017
+- October 4, 2017
+- December 29, 2017
diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md
index 367130d33..1007ccb02 100644
--- a/docs/ROADMAP.md
+++ b/docs/ROADMAP.md
@@ -5,15 +5,6 @@ Roadmap of things Daniel Stenberg and Steve Holme want to work on next. It is
intended to serve as a guideline for others for information, feedback and
possible participation.
-HTTP/2
-------
-
-Improve performance. Measurements and tests have shown that in several cases
-doing transfers over HTTP/2 can be notably slower than the same transfer done
-over HTTP/1. Some of that difference can be attributed the inefficient window
-size handling currently in use but there are probably more to be learned and
-worked on to optimize this.
-
QUIC
----
@@ -25,15 +16,6 @@ handle the binary/framing layer in a similar fashion to how HTTP/2 is
implemented. This, to allow other projects to benefit from the work and to
thus broaden the interest and chance of others to participate.
-TLS 1.3
--------
-
-The new version of the TLS protocol is in the pipeline and will soon start to
-get used out in the wild. It offers some new interesting features and will
-need the TLS libraries to adapt and quite likely provide additional or
-modified APIs. libcurl needs to adapt accordingly.
-
-
HTTP cookies
------------
@@ -52,19 +34,17 @@ SRV records
How to find services for specific domains/hosts.
-HTTPS to proxy
---------------
-
-To avoid network traffic to/from the proxy getting snooped on. There's a git
-branch in the public git repository for this that we need to make sure works
-for all TLS backends and then merge!
-
curl_formadd()
--------------
make sure there's an easy handle passed in to `curl_formadd()`,
`curl_formget()` and `curl_formfree()` by adding replacement functions and
-deprecating the old ones to allow custom mallocs and more
+deprecating the old ones to allow custom mallocs and more.
+
+Or perhaps even better: revamp the formpost API completely while we're at it
+and making something that is easier to use and understand:
+
+ https://github.com/curl/curl/wiki/formpost-API-redesigned
Third-party SASL
----------------
@@ -120,18 +100,14 @@ Improve
2. curl -h output (considered overwhelming to users)
-3. we have > 170 command line options, is there a way to redo things to
+3. we have > 200 command line options, is there a way to redo things to
simplify or improve the situation as we are likely to keep adding
features/options in the future too
-4. docs (considered "bad" by users but how do we make it better?)
-
- - split up curl.1
-
-5. authentication framework (consider merging HTTP and SASL authentication to
+4. authentication framework (consider merging HTTP and SASL authentication to
give one API for protocols to call)
-6. Perform some of the clean up from the TODO document, removing old
+5. Perform some of the clean up from the TODO document, removing old
definitions and such like that are currently earmarked to be removed years
ago
diff --git a/docs/SECURITY.md b/docs/SECURITY.md
index 3c07e0bbe..c88cc9c81 100644
--- a/docs/SECURITY.md
+++ b/docs/SECURITY.md
@@ -1,9 +1,3 @@
- _ _ ____ _
- ___| | | | _ \| |
- / __| | | | |_) | |
- | (__| |_| | _ <| |___
- \___|\___/|_| \_\_____|
-
curl security for developers
============================
@@ -81,9 +75,11 @@ announcement.
to the 'distros' mailing list to allow them to use the fix prior to the
public announcement.
-- At the day of the next release, the private branch is merged into the master
- branch and pushed. Once pushed, the information is accessible to the public
- and the actual release should follow suit immediately afterwards.
+- No more than 48 hours before the release, the private branch is merged into
+ the master branch and pushed. Once pushed, the information is accessible to
+ the public and the actual release should follow suit immediately afterwards.
+ The time between the push and the release is used for final tests and
+ reviews.
- The project team creates a release that includes the fix.
@@ -94,9 +90,19 @@ announcement.
- The security web page on the web site should get the new vulnerability
mentioned.
+Pre-notification
+----------------
+
+If you think you are or should be eligible for a pre-notification about
+upcoming security announcements for curl, we urge OS distros and similar
+vendors to primarily join the distros@openwall list as that is one of the
+purposes of that list - and not just for curl of course.
+If you are not a distro or otherwise not suitable for distros@openwall and yet
+want pre-notifications from us, contact the curl security team with a detailed
+and clear explanation why this is the case.
-CURL-SECURITY (at haxx dot se)
+curl-security (at haxx dot se)
------------------------------
Who is on this list? There are a couple of criteria you must meet, and then we
@@ -106,5 +112,5 @@ curl project and you have shown an understanding for the project and its way
of working. You must've been around for a good while and you should have no
plans in vanishing in the near future.
-We do not make the list of partipants public mostly because it tends to vary
+We do not make the list of participants public mostly because it tends to vary
somewhat over time and a list somewhere will only risk getting outdated.
diff --git a/docs/THANKS b/docs/THANKS
index 803818ffe..0336e29bc 100644
--- a/docs/THANKS
+++ b/docs/THANKS
@@ -11,6 +11,7 @@ Aaron Oneal
Aaron Orenstein
Abram Pousada
Adam D. Moss
+Adam Langley
Adam Light
Adam Piggott
Adam Sampson
@@ -20,6 +21,7 @@ Adriano Meirelles
Ajit Dhumale
Aki Koskinen
Akos Pasztory
+Akshay Vernekar
Alain Danteny
Alan Pinstein
Albert Chin-A-Young
@@ -32,10 +34,12 @@ Ales Novak
Alessandro Ghedini
Alessandro Vesely
Alex Bligh
+Alex Chan
Alex Fishman
Alex Gruz
Alex McLellan
Alex Neblett
+Alex Rousskov
Alex Suykov
Alex Vinnik
Alex aka WindEagle
@@ -48,6 +52,7 @@ Alexander Krasnostavsky
Alexander Lazic
Alexander Pepper
Alexander Peslyak
+Alexander Sinditskiy
Alexander Traud
Alexander Zhuravlev
Alexey Borzov
@@ -76,11 +81,14 @@ Andreas Malzahn
Andreas Ntaflos
Andreas Olsson
Andreas Rieke
+Andreas Roth
Andreas Schuldei
+Andreas Streichardt
Andreas Wurf
Andrei Benea
Andrei Cipu
Andrei Kurushin
+Andrei Sedoi
Andrej E Baranov
Andrew Benham
Andrew Biggs
@@ -103,6 +111,7 @@ Anthon Pang
Anthony Avina
Anthony Bryan
Anthony G. Basile
+Antoine Aubert
Antoine Calando
Anton Bychkov
Anton Kalmykov
@@ -184,12 +193,14 @@ Brian Ulm
Brock Noland
Bru Rom
Bruce Mitchener
+Bruce Stephens
Bruno Thomsen
Bruno de Carvalho
Bryan Henderson
Bryan Kemp
Byrial Jensen
Cameron Kaiser
+Cameron MacMinn
Camille Moncelier
Caolan McNamara
Carlo Wood
@@ -215,6 +226,7 @@ Chris Smowton
Chris Young
Christian Fillion
Christian Grothoff
+Christian Heimes
Christian Hägele
Christian Krause
Christian Kurz
@@ -229,6 +241,7 @@ Christopher Conroy
Christopher Palow
Christopher R. Palmer
Christopher Stone
+Chungtsun Li
Ciprian Badescu
Claes Jakobsson
Clarence Gardner
@@ -267,7 +280,9 @@ Dan C
Dan Cristian
Dan Donahue
Dan Fandrich
+Dan Jacobson
Dan Locks
+Dan McNulty
Dan Nelson
Dan Petitt
Dan Torop
@@ -282,6 +297,7 @@ Daniel Kahn Gillmor
Daniel Lee Hwang
Daniel Melani
Daniel Mentz
+Daniel Romero
Daniel Schauenberg
Daniel Seither
Daniel Shahaf
@@ -291,6 +307,7 @@ Daniel Theron
Daniel at touchtunes
Darryl House
Darshan Mody
+Darío Hereñú
Dave Dribin
Dave Halbakken
Dave Hamilton
@@ -321,6 +338,7 @@ David Odin
David Phillips
David Rosenstrauch
David Ryskalczyk
+David Schweikert
David Shaw
David Strauss
David Tarendash
@@ -359,6 +377,7 @@ Dmitry S. Baikov
Dolbneff A.V
Domenico Andreoli
Dominick Meglio
+Dominik Hölzl
Dominique Leuenberger
Doug Kaufman
Doug Porter
@@ -394,6 +413,7 @@ Emil Romanus
Emiliano Ida
Enrico Scholz
Enrik Berkhan
+Eramoto Masaya
Eric Cooper
Eric Hu
Eric Landes
@@ -426,6 +446,7 @@ Fabian Hiernaux
Fabian Keil
Fabian Ruff
Fabrizio Ammollo
+Fahim Chandurwala
Fedor Karpelevitch
Feist Josselin
Felix Yan
@@ -496,6 +517,7 @@ Greg Morse
Greg Onufer
Greg Pratt
Greg Zavertnik
+Gregory Szorc
Grigory Entin
Guenole Bescon
Guenter Knauf
@@ -516,6 +538,7 @@ Hans Steegers
Hans-Jurgen May
Hardeep Singh
Haris Okanovic
+Harold Stuart
Harshal Pradhan
Hauke Duden
He Qin
@@ -596,6 +619,7 @@ Javier G. Sogo
Jay Austin
Jayesh A Shah
Jaz Fresh
+Jean Gressmann
Jean Jacques Drouin
Jean-Claude Chauve
Jean-Francois Bertrand
@@ -617,6 +641,7 @@ Jens Rantil
Jeremy Friesner
Jeremy Huddleston
Jeremy Lin
+Jeremy Pearson
Jeroen Koekkoek
Jeroen Ooms
Jerome Muffat-Meridol
@@ -636,7 +661,7 @@ Jim Meyering
Jiri Dvorak
Jiri Hruska
Jiri Jaburek
-Jiri Malak
+Jiří Malák
Jocelyn Jaubert
Joe Halpin
Joe Malicki
@@ -749,6 +774,7 @@ Kevin Fisk
Kevin Lussier
Kevin Reed
Kevin Roth
+Kim Minjoong
Kim Rinnewitz
Kim Vandry
Kimmo Kinnunen
@@ -765,6 +791,7 @@ Kurt Fankhauser
Kyle J. McKay
Kyle L. Huff
Kyle Sallee
+Kyselgov E.N
Lachlan O'Dea
Larry Campbell
Larry Fahnoe
@@ -816,6 +843,7 @@ Luke Call
Luke Dashjr
Luo Jinghua
Luong Dinh Dung
+Luật Nguyễn
Lyndon Hill
Maciej Karpiuk
Maciej Puzio
@@ -844,6 +872,7 @@ Marcin Konicki
Marco Deckel
Marco G. Salvagno
Marco Maggi
+Marcus Hoffmann
Marcus Sundberg
Marcus Webster
Mario Schroeder
@@ -864,16 +893,18 @@ Markus Elfring
Markus Koetter
Markus Moeller
Markus Oberhumer
+Markus Westerlind
Marquis de Muesli
Martijn Koster
Martin C. Martin
Martin Drasar
+Martin Frodl
Martin Hager
Martin Hedenfalk
Martin Jansen
Martin Lemke
Martin Skinner
-Martin Storsjo
+Martin Storsjö
Martin Vejnár
Marty Kuhrt
Maruko
@@ -895,7 +926,9 @@ Matthew Hall
Matthias Bolte
Maurice Barnum
Mauro Iorio
+Mauro Rappa
Max Katsev
+Max Khon
Maxim Ivanov
Maxim Perenesenko
Maxim Prohorov
@@ -947,6 +980,8 @@ Mike Power
Mike Protts
Mike Revi
Miklos Nemeth
+Miloš Ljumović
+Mingliang Zhu
Miroslav Franc
Miroslav Spousta
Mitz Wark
@@ -964,11 +999,13 @@ Nathanael Nerode
Nathaniel Waisbrot
Naveen Chandran
Naveen Noel
+Neal Poole
Neil Bowers
Neil Dunbar
Neil Spring
Nic Roets
Nicholas Maniscalco
+Nick Draffen
Nick Gimbrone
Nick Humfrey
Nick Zitzmann
@@ -992,6 +1029,7 @@ Norbert Kett
Norbert Novotny
Octavio Schroeder
Ofer
+Okhin Vasilij
Ola Mork
Olaf Flebbe
Olaf Stüben
@@ -1030,6 +1068,7 @@ Pau Garcia i Quiles
Paul Donohue
Paul Harrington
Paul Howarth
+Paul Joyce
Paul Marks
Paul Marquis
Paul Moore
@@ -1086,11 +1125,13 @@ Pierre Ynard
Pooyan McSporran
Pramod Sharma
Prash Dush
+Praveen Pvs
Priyanka Shah
Puneet Pawaia
Quagmire
Quanah Gibson-Mount
Quinn Slack
+R. Dennis Steed
Radu Simionescu
Rafa Muyo
Rafael Antonio
@@ -1100,12 +1141,14 @@ Rafaël Carré
Rainer Canavan
Rainer Jung
Rainer Koenig
+Rainer Müller
Rajesh Naganathan
Rajkumar Mandal
Ralf S. Engelschall
Ralph Beckmann
Ralph Mitchell
Ramana Mokkapati
+Randy Armstrong
Randy McMurchy
Ravi Pratap
Ray Dassen
@@ -1115,6 +1158,7 @@ Razvan Cojocaru
Reinhard Max
Reinout van Schouwen
Remi Gacogne
+Remo E
Renato Botelho
Renaud Chaillat
Renaud Duhaut
@@ -1141,8 +1185,11 @@ Richard Moore
Richard Prescott
Richard Silverman
Richard van den Berg
+Richy Kim
Rick Jones
Rick Richardson
+Ricki Hirner
+Rider Linden
Rob Crittenden
Rob Davies
Rob Jones
@@ -1186,6 +1233,7 @@ Ryan Braud
Ryan Chan
Ryan Nelson
Ryan Schmidt
+Ryan Scott
Rémy Léone
S. Moonesamy
Salvador Dávila
@@ -1213,16 +1261,21 @@ Scott Cantor
Scott Davis
Scott McCreary
Sean Boudreau
+Sean Burford
+Sebastian Mundry
Sebastian Pohlschmidt
Sebastian Rasmussen
Senthil Raja Velu
+Sergei Kuzmin
Sergei Nikulov
Sergey Tatarincev
+Sergii Pylypenko
Sergio Ballestrero
Serj Kalichev
Seshubabu Pasam
Seth Mos
Sh Diao
+Shachaf Ben-Kiki
Shao Shuchao
Sharad Gupta
Shard
@@ -1257,6 +1310,7 @@ Stefan Tomanek
Stefan Ulrich
Steinar H. Gunderson
Stephan Bergmann
+Stephen Brokenshire
Stephen Collyer
Stephen Kick
Stephen More
@@ -1327,6 +1381,7 @@ Tobias Stoeckmann
Toby Peterson
Todd A Ouska
Todd Kulesza
+Todd Short
Todd Vierling
Tom Benoist
Tom Donovan
@@ -1351,8 +1406,10 @@ Tommie Gannert
Tommy Tam
Ton Voon
Toni Moreno
+Tony Kelman
Toon Verwaest
Tor Arntsen
+Torben Dannhauer
Torsten Foertsch
Toshio Kuratomi
Toshiyuki Maezawa
@@ -1368,6 +1425,8 @@ Ulf Samuelsson
Ulrich Doehner
Ulrich Telle
Ulrich Zadow
+Valentin David
+Vasy Okhin
Venkat Akella
Victor Snezhko
Vijay Panghal
@@ -1428,20 +1487,27 @@ Zdenek Pavlas
Zekun Ni
Zmey Petroff
Zvi Har'El
+afrind on github
asavah on github
baumanj on github
bsammon on github
dkjjr89 on github
eXeC64 on github
+jonrumsey on github
jveazey on github
kreshano on github
+lukaszgn on github
marc-groundctl on github
neex on github
nk
+nopjmp on github
silveja1 on github
swalkaus at yahoo.com
+tarek112 on github
tommink[at]post.pl
vanillajonathan on github
wmsch on github
+zelinchen on github
+İsmail Dönmez
Štefan Kremeň
Никита Дорохин
diff --git a/docs/TODO b/docs/TODO
index 40b8cc8ec..15c1b274f 100644
--- a/docs/TODO
+++ b/docs/TODO
@@ -6,7 +6,7 @@
Things that could be nice to do in the future
- Things to do in project cURL. Please tell us what you think, contribute and
+ Things to do in project curl. Please tell us what you think, contribute and
send us patches that improve things!
Be aware that these are things that we could do, or have once been considered
@@ -23,9 +23,8 @@
1.5 get rid of PATH_MAX
1.6 Modified buffer size approach
1.7 Detect when called from within callbacks
- 1.8 Allow SSL (HTTPS) to proxy
+ 1.8 CURLOPT_RESOLVE for any port number
1.9 Cache negative name resolves
- 1.10 Support IDNA2008
1.11 minimize dependencies with dynamicly loaded modules
1.12 have form functions use CURL handle argument
1.14 Typesafe curl_easy_setopt()
@@ -37,6 +36,8 @@
1.20 SRV and URI DNS records
1.21 API for URL parsing/splitting
1.23 Offer API to flush the connection pool
+ 1.24 TCP Fast Open for windows
+ 1.25 Remove the generated include file
2. libcurl - multi interface
2.1 More non-blocking
@@ -62,11 +63,15 @@
5.1 Better persistency for HTTP 1.0
5.2 support FF3 sqlite cookie files
5.3 Rearrange request header order
- 5.4 Use huge HTTP/2 windows
+ 5.4 HTTP Digest using SHA-256
5.5 auth= in URLs
5.6 Refuse "downgrade" redirects
5.7 Brotli compression
5.8 QUIC
+ 5.9 Improve formpost API
+ 5.10 Leave secure cookies alone
+ 5.11 Chunked transfer multipart formpost
+ 5.12 OPTIONS *
6. TELNET
6.1 ditch stdin
@@ -102,12 +107,15 @@
13.1 Disable specific versions
13.2 Provide mutex locking API
13.3 Evaluate SSL patches
- 13.4 Cache OpenSSL contexts
+ 13.4 Cache/share OpenSSL contexts
13.5 Export session ids
13.6 Provide callback for cert verification
13.7 improve configure --with-ssl
13.8 Support DANE
- 13.9 Support TLS v1.3
+ 13.10 Support SSLKEYLOGFILE
+ 13.11 Support intermediate & root pinning for PINNEDPUBLICKEY
+ 13.12 Support HSTS
+ 13.13 Support HPKP
14. GnuTLS
14.1 SSL engine stuff
@@ -126,6 +134,7 @@
17. SSH protocols
17.1 Multiplexing
17.2 SFTP performance
+ 17.3 Support better than MD5 hostkey hash
18. Command line tool
18.1 sync
@@ -142,9 +151,13 @@
18.12 keep running, read instructions from pipe/socket
18.13 support metalink in http headers
18.14 --fail without --location should treat 3xx as a failure
+ 18.15 --retry should resume
+ 18.16 send only part of --data
+ 18.17 consider file name from the redirected URL with -O ?
19. Build
19.1 roffit
+ 19.2 Enable PIE and RELRO by default
20. Test suite
20.1 SSL tunnel
@@ -233,27 +246,19 @@
subsequently can add code within libcurl that returns error if called within
callbacks for when that's not supported.
-1.8 Allow SSL (HTTPS) to proxy
+1.8 CURLOPT_RESOLVE for any port number
- To prevent local users from snooping on your traffic to the proxy. Supported
- by Firefox and Chrome already:
- https://www.chromium.org/developers/design-documents/secure-web-proxy
+ This option allows applications to set a replacement IP address for a given
+ host + port pair. Consider making support for providing a replacement address
+ for the host name on all port numbers.
- See this stale work in progress branch:
- https://github.com/curl/curl/tree/HTTPS-proxy based on this PR:
- https://github.com/curl/curl/pull/305
+ See https://github.com/curl/curl/issues/1264
1.9 Cache negative name resolves
A name resolve that has failed is likely to fail when made again within a
short period of time. Currently we only cache positive responses.
-1.10 Support IDNA2008
-
- International Domain Names are supported in libcurl since years back, powered
- by libidn. libidn implements IDNA2003 which has been superseded by IDNA2008.
- libidn2 is an existing library offering support for IDNA2008.
-
1.11 minimize dependencies with dynamicly loaded modules
We can create a system with loadable modules/plug-ins, where these modules
@@ -360,6 +365,38 @@
An API could allow a forced flush or just a forced loop that would properly
close all connections that have been closed by the server already.
+1.24 TCP Fast Open for windows
+
+ libcurl supports the CURLOPT_TCP_FASTOPEN option since 7.49.0 for Linux and
+ Mac OS. Windows supports TCP Fast Open starting with Windows 10, version 1607
+ and we should add support for it.
+
+1.25 Remove the generated include file
+
+ When curl and libcurl are built, one of the public include files are
+ generated and is populated with a set of defines that are derevid from sizes
+ and constants for the particular target architecture that build is made. For
+ platforms that can select between 32 bit and 64 bit at build time, this
+ approach makes the libcurl build only create a set of public headers suitable
+ for one of the architectures and not both. If you build libcurl for such a
+ platform and you want to allow applications to get built using either 32/64
+ version, you must generate the libcurl headers once for each setup and you
+ must then add a replacement curl header that would itself select the correct
+ 32 or 64 bit specific header as necessary.
+
+ Your curl/curl.h alternative could then look like (replace with suitable CPP
+ variable to check):
+
+ #ifdef ARCH_32bit
+ #include <curl32/curl.h>
+ #else /* ARCH_64bit */
+ #include <curl64/curl.h>
+ #endif
+
+ A fix would either (A) fix the 32/64 setup automatically or even better (B)
+ work away the architecture specific defines from the headers so that they can
+ be used for all architectures independently of what libcurl was built for.
+
2. libcurl - multi interface
@@ -368,8 +405,7 @@
Make sure we don't ever loop because of non-blocking sockets returning
EWOULDBLOCK or similar. Blocking cases include:
- - Name resolves on non-windows unless c-ares is used
- - NSS SSL connections
+ - Name resolves on non-windows unless c-ares or the threaded resolver is used
- HTTP proxy CONNECT operations
- SOCKS proxy handshakes
- file:// transfers
@@ -491,12 +527,14 @@ This is not detailed in any FTP specification.
headers use a default value so only headers that need to be moved have to be
specified.
-5.4 Use huge HTTP/2 windows
+5.4 HTTP Digest using SHA-256
+
+ RFC 7616 introduces an update to the HTTP Digest authentication
+ specification, which amongst other thing defines how new digest algorithms
+ can be used instead of MD5 which is considered old and not recommanded.
- We're currently using nghttp2's default window size which is terribly small
- (64K). This becomes a bottle neck over high bandwidth networks. We should
- instead make the window size to be very big (512MB?) as we really don't do
- much flow control anyway.
+ See https://tools.ietf.org/html/rfc7616 and
+ https://github.com/curl/curl/issues/1018
5.5 auth= in URLs
@@ -519,11 +557,9 @@ This is not detailed in any FTP specification.
5.7 Brotli compression
- Compression algorithms that perform better than gzip are being considered for
- use and inclusion in existing browsers. For example 'brotli'. If servers
- follow along it is a good reason for us to also allow users to take advantage
- of this. The algorithm: https://github.com/google/brotli The Firefox bug:
- https://bugzilla.mozilla.org/show_bug.cgi?id=366559
+ Brotli compression performs better than gzip and is being implemented by
+ browsers and servers widely. The algorithm: https://github.com/google/brotli
+ The Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=366559
5.8 QUIC
@@ -535,6 +571,46 @@ This is not detailed in any FTP specification.
implemented. This, to allow other projects to benefit from the work and to
thus broaden the interest and chance of others to participate.
+5.9 Improve formpost API
+
+ Revamp the formpost API and making something that is easier to use and
+ understand:
+
+ https://github.com/curl/curl/wiki/formpost-API-redesigned
+
+5.10 Leave secure cookies alone
+
+ Non-secure origins (HTTP sites) should not be allowed to set or modify
+ cookies with the 'secure' property:
+
+ https://tools.ietf.org/html/draft-ietf-httpbis-cookie-alone-01
+
+5.11 Chunked transfer multipart formpost
+
+ For a case where the file is being made during the upload is progressing
+ (like passed on stdin to the curl tool), we cannot know the size before-hand
+ and we rather not read the entire thing into memory before it can start the
+ upload.
+
+ https://github.com/curl/curl/issues/1139
+
+5.12 OPTIONS *
+
+ HTTP defines an OPTIONS method that can be sent with an asterisk option like
+ "OPTIONS *" to ask about options from the server and not a specific URL
+ resource. https://tools.ietf.org/html/rfc7230#section-5.3.4
+
+ libcurl as it currently works will always sent HTTP methods with a path that
+ starts with a slash so there's no way for an application to send a proper
+ "OPTIONS *" using libcurl. This should be fixed.
+
+ I can't think of any other non-slash paths we should support so it will
+ probably make sense to add a new boolean option for issuign an "OPTIONS *"
+ request. CURLOPT_OPTIONSASTERISK perhaps (and a corresponding command line
+ option)?
+
+ See https://github.com/curl/curl/issues/1280
+
6. TELNET
@@ -655,7 +731,7 @@ that doesn't exist on the server, just like --ftp-create-dirs.
Evaluate/apply Gertjan van Wingerde's SSL patches:
https://curl.haxx.se/mail/lib-2004-03/0087.html
-13.4 Cache OpenSSL contexts
+13.4 Cache/share OpenSSL contexts
"Look at SSL cafile - quick traces look to me like these are done on every
request as well, when they should only be necessary once per SSL context (or
@@ -665,6 +741,12 @@ that doesn't exist on the server, just like --ftp-create-dirs.
style connections are re-used. It will make us use slightly more memory but
it will libcurl do less creations and deletions of SSL contexts.
+ Technically, the "caching" is probably best implemented by getting added to
+ the share interface so that easy handles who want to and can reuse the
+ context specify that by sharing with the right properties set.
+
+ https://github.com/curl/curl/issues/1110
+
13.5 Export session ids
Add an interface to libcurl that enables "session IDs" to get
@@ -699,14 +781,51 @@ that doesn't exist on the server, just like --ftp-create-dirs.
Björn Stenberg wrote a separate initial take on DANE that was never
completed.
-13.9 Support TLS v1.3
+13.10 Support SSLKEYLOGFILE
- TLS version 1.3 is about to ship and is getting implemented by TLS libraries
- as we speak. We should start to support the symbol and make sure all backends
- handle it accordingly, then gradually add support as the TLS libraries add
- the corresponding support. There may be a need to add some additional options
- to allow libcurl to take advantage of the new features in 1.3.
+ When used, Firefox and Chrome dumps their master TLS keys to the file name
+ this environment variable specifies. This allows tools like for example
+ Wireshark to capture and decipher TLS traffic to/from those clients. libcurl
+ could be made to support this more widely (presumably this already works when
+ built with NSS). Peter Wu made a OpenSSL preload to make possible that can be
+ used as inspiration and guidance
+ https://git.lekensteyn.nl/peter/wireshark-notes/tree/src/sslkeylog.c
+13.11 Support intermediate & root pinning for PINNEDPUBLICKEY
+
+ CURLOPT_PINNEDPUBLICKEY does not consider the hashes of intermediate & root
+ certificates when comparing the pinned keys. Therefore it is not compatible
+ with "HTTP Public Key Pinning" as there also intermediate and root certificates
+ can be pinned. This is very useful as it prevents webadmins from "locking
+ themself out of their servers".
+
+ Adding this feature would make curls pinning 100% compatible to HPKP and allow
+ more flexible pinning.
+
+13.12 Support HSTS
+
+ "HTTP Strict Transport Security" is TOFU (trust on first use), time-based
+ features indicated by a HTTP header send by the webserver. It is widely used
+ in browsers and it's purpose is to prevent insecure HTTP connections after
+ a previous HTTPS connection. It protects against SSLStripping attacks.
+
+ Doc: https://developer.mozilla.org/en-US/docs/Web/Security/HTTP_strict_transport_security
+ RFC 6797: https://tools.ietf.org/html/rfc6797
+
+13.13 Support HPKP
+
+ "HTTP Public Key Pinning" is TOFU (trust on first use), time-based
+ features indicated by a HTTP header send by the webserver. It's purpose is
+ to prevent Man-in-the-middle attacks by trusted CAs by allowing webadmins
+ to specify which CAs/certificates/public keys to trust when connection to
+ their websites.
+
+ It can be build based on PINNEDPUBLICKEY.
+
+ Wikipedia: https://en.wikipedia.org/wiki/HTTP_Public_Key_Pinning
+ OWASP: https://www.owasp.org/index.php/Certificate_and_Public_Key_Pinning
+ Doc: https://developer.mozilla.org/de/docs/Web/Security/Public_Key_Pinning
+ RFC: https://tools.ietf.org/html/draft-ietf-websec-key-pinning-21
14. GnuTLS
@@ -791,6 +910,16 @@ that doesn't exist on the server, just like --ftp-create-dirs.
libcurl's SFTP transfer performance is sub par and can be improved, mostly by
the approach mentioned in "1.6 Modified buffer size approach".
+17.3 Support better than MD5 hostkey hash
+
+ libcurl offers the CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 option for verifying the
+ server's key. MD5 is generally being deprecated so we should implement
+ support for stronger hashing algorithms. libssh2 itself is what provides this
+ underlying functionality and it supports at least SHA-1 as an alternative.
+ SHA-1 is also being deprecated these days so we should consider workign with
+ libssh2 to instead offer support for SHA-256 or similar.
+
+
18. Command line tool
18.1 sync
@@ -809,7 +938,7 @@ that doesn't exist on the server, just like --ftp-create-dirs.
18.3 prevent file overwriting
- Add an option that prevents cURL from overwriting existing local files. When
+ Add an option that prevents curl from overwriting existing local files. When
used, and there already is an existing file with the target file name
(either -O or -o), a number should be appended (and increased if already
existing). So that index.html becomes first index.html.1 and then
@@ -914,6 +1043,42 @@ that doesn't exist on the server, just like --ftp-create-dirs.
way to implement this is probably to add that new logic in the command line
tool only and not in the underlying CURLOPT_FAILONERROR logic.
+18.15 --retry should resume
+
+ When --retry is used and curl actually retries transfer, it should use the
+ already transfered data and do a resumed transfer for the rest (when
+ possible) so that it doesn't have to transfer the same data again that was
+ already tranfered before the retry.
+
+ See https://github.com/curl/curl/issues/1084
+
+18.16 send only part of --data
+
+ When the user only wants to send a small piece of the data provided with
+ --data or --data-binary, like when that data is a huge file, consider a way
+ to specify that curl should only send a piece of that. One suggested syntax
+ would be: "--data-binary @largefile.zip!1073741823-2147483647".
+
+ See https://github.com/curl/curl/issues/1200
+
+18.17 consider file name from the redirected URL with -O ?
+
+ When a user gives a URL and uses -O, and curl follows a redirect to a new
+ URL, the file name is not extracted and used from the newly redirected-to URL
+ even if the new URL may have a much more sensible file name.
+
+ This is clearly documented and helps for security since there's no surprise
+ to users which file name that might get overwritten. But maybe a new option
+ could allow for this or maybe -J should imply such a treatment as well as -J
+ already allows for the server to decide what file name to use so it already
+ provides the "may overwrite any file" risk.
+
+ This is extra tricky if the original URL has no file name part at all since
+ then the current code path will error out with an error message, and we can't
+ *know* already at that point if curl will be redirected to a URL that has a
+ file name...
+
+ See https://github.com/curl/curl/issues/1241
19. Build
@@ -922,6 +1087,19 @@ that doesn't exist on the server, just like --ftp-create-dirs.
Consider extending 'roffit' to produce decent ASCII output, and use that
instead of (g)nroff when building src/tool_hugehelp.c
+19.2 Enable PIE and RELRO by default
+
+ Especially when having programs that execute curl via the command line, PIE
+ renders the exploitation of memory corruption vulnerabilities a lot more
+ difficult. This can be attributed to the additional information leaks being
+ required to conduct a successful attack. RELRO, on the other hand, masks
+ different binary sections like the GOT as read-only and thus kills a handful
+ of techniques that come in handy when attackers are able to arbitrarily
+ overwrite memory. A few tests showed that enabling these features had close
+ to no impact, neither on the performance nor on the general functionality of
+ curl.
+
+
20. Test suite
20.1 SSL tunnel
diff --git a/docs/TheArtOfHttpScripting b/docs/TheArtOfHttpScripting
index 047db809b..b2bd9db7a 100644
--- a/docs/TheArtOfHttpScripting
+++ b/docs/TheArtOfHttpScripting
@@ -145,7 +145,7 @@ The Art Of Scripting HTTP Requests Using Curl
address and that's what curl will communicate with. Alternatively you specify
the IP address directly in the URL instead of a name.
- For development and other trying out situation, you can point out a different
+ For development and other trying out situations, you can point to a different
IP address for a host name than what would otherwise be used, by using curl's
--resolve option:
@@ -153,7 +153,7 @@ The Art Of Scripting HTTP Requests Using Curl
2.3 Port number
- Each protocol curl supports operate on a default port number, be it over TCP
+ Each protocol curl supports operates on a default port number, be it over TCP
or in some cases UDP. Normally you don't have to take that into
consideration, but at times you run test servers on other ports or
similar. Then you can specify the port number in the URL with a colon and a
@@ -164,7 +164,7 @@ The Art Of Scripting HTTP Requests Using Curl
The port number you specify in the URL is the number that the server uses to
offer its services. Sometimes you may use a local proxy, and then you may
- need to specify that proxy's port number separate on what curl needs to
+ need to specify that proxy's port number separately for what curl needs to
connect to locally. Like when using a HTTP proxy on port 4321:
curl --proxy http://proxy.example.org:4321 http://remote.example.org/
@@ -172,7 +172,7 @@ The Art Of Scripting HTTP Requests Using Curl
2.4 User name and password
Some services are setup to require HTTP authentication and then you need to
- provide name and password which then is transferred to the remote site in
+ provide name and password which is then transferred to the remote site in
various ways depending on the exact authentication protocol used.
You can opt to either insert the user and password in the URL or you can
@@ -198,7 +198,7 @@ The Art Of Scripting HTTP Requests Using Curl
3.1 GET
- The simplest and most common request/operation made using HTTP is to get a
+ The simplest and most common request/operation made using HTTP is to GET a
URL. The URL could itself refer to a web page, an image or a file. The client
issues a GET request to the server and receives the document it asked for.
If you issue the command line
@@ -269,14 +269,14 @@ The Art Of Scripting HTTP Requests Using Curl
4.1 Forms explained
Forms are the general way a web site can present a HTML page with fields for
- the user to enter data in, and then press some kind of 'OK' or 'submit'
+ the user to enter data in, and then press some kind of 'OK' or 'Submit'
button to get that data sent to the server. The server then typically uses
the posted data to decide how to act. Like using the entered words to search
- in a database, or to add the info in a bug track system, display the entered
+ in a database, or to add the info in a bug tracking system, display the entered
address on a map or using the info as a login-prompt verifying that the user
is allowed to see what it is about to see.
- Of course there has to be some kind of program in the server end to receive
+ Of course there has to be some kind of program on the server end to receive
the data you send. You cannot just invent something out of the air.
4.2 GET
@@ -369,7 +369,7 @@ The Art Of Scripting HTTP Requests Using Curl
4.5 Hidden Fields
- A very common way for HTML based application to pass state information
+ A very common way for HTML based applications to pass state information
between pages is to add hidden fields to the forms. Hidden fields are
already filled in, they aren't displayed to the user and they get passed
along just as all the other fields.
@@ -383,7 +383,7 @@ The Art Of Scripting HTTP Requests Using Curl
<input type=submit name="press" value="OK">
</form>
- To post this with curl, you won't have to think about if the fields are
+ To POST this with curl, you won't have to think about if the fields are
hidden or not. To curl they're all the same:
curl --data "birthyear=1905&press=OK&person=daniel" [URL]
@@ -405,7 +405,7 @@ The Art Of Scripting HTTP Requests Using Curl
5.1 PUT
- The perhaps best way to upload data to a HTTP server is to use PUT. Then
+ Perhaps the best way to upload data to a HTTP server is to use PUT. Then
again, this of course requires that someone put a program or script on the
server end that knows how to receive a HTTP PUT stream.
@@ -446,7 +446,7 @@ The Art Of Scripting HTTP Requests Using Curl
If your proxy requires the authentication to be done using the NTLM method,
use --proxy-ntlm, if it requires Digest use --proxy-digest.
- If you use any one these user+password options but leave out the password
+ If you use any one of these user+password options but leave out the password
part, curl will prompt for the password interactively.
6.4 Hiding credentials
@@ -508,7 +508,7 @@ The Art Of Scripting HTTP Requests Using Curl
to redirect is Location:.
Curl does not follow Location: headers by default, but will simply display
- such pages in the same manner it display all HTTP replies. It does however
+ such pages in the same manner it displays all HTTP replies. It does however
feature an option that will make it attempt to follow the Location: pointers.
To tell curl to follow a Location:
@@ -562,7 +562,7 @@ The Art Of Scripting HTTP Requests Using Curl
(Take note that the --cookie-jar option described below is a better way to
store cookies.)
- Curl has a full blown cookie parsing engine built-in that comes to use if you
+ Curl has a full blown cookie parsing engine built-in that comes in use if you
want to reconnect to a server and use cookies that were stored from a
previous connection (or hand-crafted manually to fool the server into
believing you had a previous connection). To use previously stored cookies,
@@ -592,7 +592,7 @@ The Art Of Scripting HTTP Requests Using Curl
10.1 HTTPS is HTTP secure
- There are a few ways to do secure HTTP transfers. The by far most common
+ There are a few ways to do secure HTTP transfers. By far the most common
protocol for doing this is what is generally known as HTTPS, HTTP over
SSL. SSL encrypts all the data that is sent and received over the network and
thus makes it harder for attackers to spy on sensitive information.
@@ -680,7 +680,7 @@ The Art Of Scripting HTTP Requests Using Curl
12.1 Some login tricks
- While not strictly just HTTP related, it still cause a lot of people problems
+ While not strictly just HTTP related, it still causes a lot of people problems
so here's the executive run-down of how the vast majority of all login forms
work and how to login to them using curl.
@@ -693,7 +693,7 @@ The Art Of Scripting HTTP Requests Using Curl
make sure you got there through their login page) so you should make a habit
of first getting the login-form page to capture the cookies set there.
- Some web-based login systems features various amounts of javascript, and
+ Some web-based login systems feature various amounts of javascript, and
sometimes they use such code to set or modify cookie contents. Possibly they
do that to prevent programmed logins, like this manual describes how to...
Anyway, if reading the code isn't enough to let you repeat the behavior
@@ -755,4 +755,4 @@ The Art Of Scripting HTTP Requests Using Curl
14.2 Sites
- https://curl.haxx.se is the home of the cURL project
+ https://curl.haxx.se is the home of the curl project
diff --git a/docs/cmdline-opts/MANPAGE.md b/docs/cmdline-opts/MANPAGE.md
new file mode 100644
index 000000000..1ba00c83c
--- /dev/null
+++ b/docs/cmdline-opts/MANPAGE.md
@@ -0,0 +1,52 @@
+# curl man page generator
+
+This is the curl man page generator. It generates a single nroff man page
+output from the set of sources files in this directory.
+
+There is one source file for each supported command line option. The format is
+described below.
+
+## Option files
+
+Each command line option is described in a file named `<long name>.d`, where
+option name is written without any prefixing dashes. Like the file name for
+the -v, --verbose option is named `verbose.d`.
+
+Each file has a set of meta-data and a body of text.
+
+### Meta-data
+
+ Short: (single letter, without dash)
+ Long: (long form name, without dashes)
+ Arg: (the argument the option takes)
+ Magic: (description of "magic" options)
+ Tags: (space separated list)
+ Protocols: (space separated list for which protocols this option works)
+ Added: (version number in which this was added)
+ Mutexed: (space separated list of options this overrides)
+ Requires: (space separated list of features this option requires)
+ See-also: (space separated list of related options)
+ Help: (short text for the --help output for this option)
+ --- (end of meta-data)
+
+### Body
+
+The body of the description. Only refer to options with their long form option
+version, like --verbose. The output generator will replace such with the
+correct markup that shows both short and long version.
+
+## Header
+
+`page-header` is the nroff formatted file that will be output before the
+generated options output for the master man page.
+
+## Generate
+
+`./gen.pl mainpage`
+
+This command outputs a single huge nroff file, meant to become `curl.1`. The
+full curl man page.
+
+`./gen.pl listhelp`
+
+Generates a full `curl --help` output for all known command line options.
diff --git a/docs/cmdline-opts/Makefile.am b/docs/cmdline-opts/Makefile.am
new file mode 100644
index 000000000..c844bca4f
--- /dev/null
+++ b/docs/cmdline-opts/Makefile.am
@@ -0,0 +1,76 @@
+#***************************************************************************
+# _ _ ____ _
+# Project ___| | | | _ \| |
+# / __| | | | |_) | |
+# | (__| |_| | _ <| |___
+# \___|\___/|_| \_\_____|
+#
+# Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, 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.
+#
+###########################################################################
+
+AUTOMAKE_OPTIONS = foreign no-dependencies
+
+MANPAGE = $(top_builddir)/docs/curl.1
+
+DPAGES = abstract-unix-socket.d anyauth.d append.d basic.d cacert.d capath.d cert.d \
+ cert-status.d cert-type.d ciphers.d compressed.d config.d \
+ connect-timeout.d connect-to.d continue-at.d cookie.d cookie-jar.d \
+ create-dirs.d crlf.d crlfile.d data-ascii.d data-binary.d data.d \
+ data-raw.d data-urlencode.d delegation.d digest.d disable.d \
+ disable-eprt.d disable-epsv.d dns-interface.d dns-ipv4-addr.d \
+ dns-ipv6-addr.d dns-servers.d dump-header.d egd-file.d engine.d \
+ environment.d expect100-timeout.d fail.d fail-early.d false-start.d \
+ form.d form-string.d ftp-account.d ftp-alternative-to-user.d \
+ ftp-create-dirs.d ftp-method.d ftp-pasv.d ftp-port.d ftp-pret.d \
+ ftp-skip-pasv-ip.d ftp-ssl-ccc.d ftp-ssl-ccc-mode.d ftp-ssl-control.d \
+ get.d globoff.d head.d header.d help.d hostpubmd5.d http1.0.d \
+ http1.1.d http2.d http2-prior-knowledge.d ignore-content-length.d \
+ include.d insecure.d interface.d ipv4.d ipv6.d junk-session-cookies.d \
+ keepalive-time.d key.d key-type.d krb.d libcurl.d limit-rate.d \
+ list-only.d local-port.d location.d location-trusted.d \
+ login-options.d mail-auth.d mail-from.d mail-rcpt.d manual.d \
+ max-filesize.d max-redirs.d max-time.d metalink.d negotiate.d netrc.d \
+ netrc-file.d netrc-optional.d next.d no-alpn.d no-buffer.d \
+ no-keepalive.d no-npn.d noproxy.d no-sessionid.d ntlm.d ntlm-wb.d \
+ oauth2-bearer.d output.d pass.d path-as-is.d pinnedpubkey.d post301.d \
+ post302.d post303.d preproxy.d progress-bar.d proto.d proto-default.d \
+ proto-redir.d proxy1.0.d proxy-anyauth.d proxy-basic.d proxy-cacert.d \
+ proxy-capath.d proxy-cert.d proxy-cert-type.d proxy-ciphers.d \
+ proxy-crlfile.d proxy.d proxy-digest.d proxy-header.d \
+ proxy-insecure.d proxy-key.d proxy-key-type.d proxy-negotiate.d \
+ proxy-ntlm.d proxy-pass.d proxy-service-name.d \
+ proxy-ssl-allow-beast.d proxy-tlsauthtype.d proxy-tlspassword.d \
+ proxy-tlsuser.d proxy-tlsv1.d proxytunnel.d proxy-user.d pubkey.d \
+ quote.d random-file.d range.d raw.d referer.d remote-header-name.d \
+ remote-name-all.d remote-name.d remote-time.d request.d resolve.d \
+ retry-connrefused.d retry.d retry-delay.d retry-max-time.d sasl-ir.d \
+ service-name.d show-error.d silent.d socks4a.d socks4.d socks5.d \
+ socks5-gssapi-nec.d socks5-gssapi-service.d socks5-hostname.d \
+ speed-limit.d speed-time.d ssl-allow-beast.d ssl.d ssl-no-revoke.d \
+ ssl-reqd.d sslv2.d sslv3.d stderr.d tcp-fastopen.d tcp-nodelay.d \
+ telnet-option.d tftp-blksize.d tftp-no-options.d time-cond.d \
+ tlsauthtype.d tlspassword.d tlsuser.d tlsv1.0.d tlsv1.1.d tlsv1.2.d \
+ tlsv1.3.d tlsv1.d trace-ascii.d trace.d trace-time.d tr-encoding.d \
+ unix-socket.d upload-file.d url.d use-ascii.d user-agent.d user.d \
+ verbose.d version.d write-out.d xattr.d
+
+OTHERPAGES = page-footer page-header
+
+EXTRA_DIST = $(DPAGES) MANPAGE.md gen.pl $(OTHERPAGES)
+
+all: $(MANPAGE)
+
+$(MANPAGE): $(DPAGES) $(OTHERPAGES)
+ @PERL@ $(srcdir)/gen.pl mainpage $(srcdir) > $(MANPAGE)
diff --git a/docs/cmdline-opts/Makefile.in b/docs/cmdline-opts/Makefile.in
new file mode 100644
index 000000000..fb2a689c6
--- /dev/null
+++ b/docs/cmdline-opts/Makefile.in
@@ -0,0 +1,598 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+#***************************************************************************
+# _ _ ____ _
+# Project ___| | | | _ \| |
+# / __| | | | |_) | |
+# | (__| |_| | _ <| |___
+# \___|\___/|_| \_\_____|
+#
+# Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, 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.
+#
+###########################################################################
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = docs/cmdline-opts
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/curl-compilers.m4 \
+ $(top_srcdir)/m4/curl-confopts.m4 \
+ $(top_srcdir)/m4/curl-functions.m4 \
+ $(top_srcdir)/m4/curl-openssl.m4 \
+ $(top_srcdir)/m4/curl-override.m4 \
+ $(top_srcdir)/m4/curl-reentrant.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/xc-am-iface.m4 \
+ $(top_srcdir)/m4/xc-cc-check.m4 \
+ $(top_srcdir)/m4/xc-lt-iface.m4 \
+ $(top_srcdir)/m4/xc-translit.m4 \
+ $(top_srcdir)/m4/xc-val-flgs.m4 \
+ $(top_srcdir)/m4/zz40-xc-ovr.m4 \
+ $(top_srcdir)/m4/zz50-xc-ovr.m4 \
+ $(top_srcdir)/m4/zz60-xc-ovr.m4 $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/lib/curl_config.h \
+ $(top_builddir)/include/curl/curlbuild.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+depcomp =
+am__depfiles_maybe =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLANK_AT_MAKETIME = @BLANK_AT_MAKETIME@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CFLAG_CURL_SYMBOL_HIDING = @CFLAG_CURL_SYMBOL_HIDING@
+CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CPPFLAG_CURL_STATICLIB = @CPPFLAG_CURL_STATICLIB@
+CURLVERSION = @CURLVERSION@
+CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
+CURL_CFLAG_EXTRAS = @CURL_CFLAG_EXTRAS@
+CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
+CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
+CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
+CURL_DISABLE_GOPHER = @CURL_DISABLE_GOPHER@
+CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
+CURL_DISABLE_IMAP = @CURL_DISABLE_IMAP@
+CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
+CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@
+CURL_DISABLE_POP3 = @CURL_DISABLE_POP3@
+CURL_DISABLE_PROXY = @CURL_DISABLE_PROXY@
+CURL_DISABLE_RTSP = @CURL_DISABLE_RTSP@
+CURL_DISABLE_SMB = @CURL_DISABLE_SMB@
+CURL_DISABLE_SMTP = @CURL_DISABLE_SMTP@
+CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
+CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
+CURL_LT_SHLIB_VERSIONED_FLAVOUR = @CURL_LT_SHLIB_VERSIONED_FLAVOUR@
+CURL_NETWORK_AND_TIME_LIBS = @CURL_NETWORK_AND_TIME_LIBS@
+CURL_NETWORK_LIBS = @CURL_NETWORK_LIBS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ENABLE_SHARED = @ENABLE_SHARED@
+ENABLE_STATIC = @ENABLE_STATIC@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GREP = @GREP@
+HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@
+HAVE_LDAP_SSL = @HAVE_LDAP_SSL@
+HAVE_LIBZ = @HAVE_LIBZ@
+HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@
+IDN_ENABLED = @IDN_ENABLED@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+IPV6_ENABLED = @IPV6_ENABLED@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBCURL_LIBS = @LIBCURL_LIBS@
+LIBMETALINK_CPPFLAGS = @LIBMETALINK_CPPFLAGS@
+LIBMETALINK_LDFLAGS = @LIBMETALINK_LDFLAGS@
+LIBMETALINK_LIBS = @LIBMETALINK_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MANOPT = @MANOPT@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+NROFF = @NROFF@
+NSS_LIBS = @NSS_LIBS@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKGADD_NAME = @PKGADD_NAME@
+PKGADD_PKG = @PKGADD_PKG@
+PKGADD_VENDOR = @PKGADD_VENDOR@
+PKGCONFIG = @PKGCONFIG@
+RANDOM_FILE = @RANDOM_FILE@
+RANLIB = @RANLIB@
+REQUIRE_LIB_DEPS = @REQUIRE_LIB_DEPS@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SSL_ENABLED = @SSL_ENABLED@
+SSL_LIBS = @SSL_LIBS@
+STRIP = @STRIP@
+SUPPORT_FEATURES = @SUPPORT_FEATURES@
+SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@
+USE_ARES = @USE_ARES@
+USE_AXTLS = @USE_AXTLS@
+USE_CYASSL = @USE_CYASSL@
+USE_DARWINSSL = @USE_DARWINSSL@
+USE_GNUTLS = @USE_GNUTLS@
+USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@
+USE_LIBRTMP = @USE_LIBRTMP@
+USE_LIBSSH2 = @USE_LIBSSH2@
+USE_MBEDTLS = @USE_MBEDTLS@
+USE_NGHTTP2 = @USE_NGHTTP2@
+USE_NSS = @USE_NSS@
+USE_OPENLDAP = @USE_OPENLDAP@
+USE_POLARSSL = @USE_POLARSSL@
+USE_SCHANNEL = @USE_SCHANNEL@
+USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@
+USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
+VERSION = @VERSION@
+VERSIONNUM = @VERSIONNUM@
+ZLIB_LIBS = @ZLIB_LIBS@
+ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+libext = @libext@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+subdirs = @subdirs@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AUTOMAKE_OPTIONS = foreign no-dependencies
+MANPAGE = $(top_builddir)/docs/curl.1
+DPAGES = abstract-unix-socket.d anyauth.d append.d basic.d cacert.d capath.d cert.d \
+ cert-status.d cert-type.d ciphers.d compressed.d config.d \
+ connect-timeout.d connect-to.d continue-at.d cookie.d cookie-jar.d \
+ create-dirs.d crlf.d crlfile.d data-ascii.d data-binary.d data.d \
+ data-raw.d data-urlencode.d delegation.d digest.d disable.d \
+ disable-eprt.d disable-epsv.d dns-interface.d dns-ipv4-addr.d \
+ dns-ipv6-addr.d dns-servers.d dump-header.d egd-file.d engine.d \
+ environment.d expect100-timeout.d fail.d fail-early.d false-start.d \
+ form.d form-string.d ftp-account.d ftp-alternative-to-user.d \
+ ftp-create-dirs.d ftp-method.d ftp-pasv.d ftp-port.d ftp-pret.d \
+ ftp-skip-pasv-ip.d ftp-ssl-ccc.d ftp-ssl-ccc-mode.d ftp-ssl-control.d \
+ get.d globoff.d head.d header.d help.d hostpubmd5.d http1.0.d \
+ http1.1.d http2.d http2-prior-knowledge.d ignore-content-length.d \
+ include.d insecure.d interface.d ipv4.d ipv6.d junk-session-cookies.d \
+ keepalive-time.d key.d key-type.d krb.d libcurl.d limit-rate.d \
+ list-only.d local-port.d location.d location-trusted.d \
+ login-options.d mail-auth.d mail-from.d mail-rcpt.d manual.d \
+ max-filesize.d max-redirs.d max-time.d metalink.d negotiate.d netrc.d \
+ netrc-file.d netrc-optional.d next.d no-alpn.d no-buffer.d \
+ no-keepalive.d no-npn.d noproxy.d no-sessionid.d ntlm.d ntlm-wb.d \
+ oauth2-bearer.d output.d pass.d path-as-is.d pinnedpubkey.d post301.d \
+ post302.d post303.d preproxy.d progress-bar.d proto.d proto-default.d \
+ proto-redir.d proxy1.0.d proxy-anyauth.d proxy-basic.d proxy-cacert.d \
+ proxy-capath.d proxy-cert.d proxy-cert-type.d proxy-ciphers.d \
+ proxy-crlfile.d proxy.d proxy-digest.d proxy-header.d \
+ proxy-insecure.d proxy-key.d proxy-key-type.d proxy-negotiate.d \
+ proxy-ntlm.d proxy-pass.d proxy-service-name.d \
+ proxy-ssl-allow-beast.d proxy-tlsauthtype.d proxy-tlspassword.d \
+ proxy-tlsuser.d proxy-tlsv1.d proxytunnel.d proxy-user.d pubkey.d \
+ quote.d random-file.d range.d raw.d referer.d remote-header-name.d \
+ remote-name-all.d remote-name.d remote-time.d request.d resolve.d \
+ retry-connrefused.d retry.d retry-delay.d retry-max-time.d sasl-ir.d \
+ service-name.d show-error.d silent.d socks4a.d socks4.d socks5.d \
+ socks5-gssapi-nec.d socks5-gssapi-service.d socks5-hostname.d \
+ speed-limit.d speed-time.d ssl-allow-beast.d ssl.d ssl-no-revoke.d \
+ ssl-reqd.d sslv2.d sslv3.d stderr.d tcp-fastopen.d tcp-nodelay.d \
+ telnet-option.d tftp-blksize.d tftp-no-options.d time-cond.d \
+ tlsauthtype.d tlspassword.d tlsuser.d tlsv1.0.d tlsv1.1.d tlsv1.2.d \
+ tlsv1.3.d tlsv1.d trace-ascii.d trace.d trace-time.d tr-encoding.d \
+ unix-socket.d upload-file.d url.d use-ascii.d user-agent.d user.d \
+ verbose.d version.d write-out.d xattr.d
+
+OTHERPAGES = page-footer page-header
+EXTRA_DIST = $(DPAGES) MANPAGE.md gen.pl $(OTHERPAGES)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign docs/cmdline-opts/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign docs/cmdline-opts/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ cscopelist-am ctags-am distclean distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+all: $(MANPAGE)
+
+$(MANPAGE): $(DPAGES) $(OTHERPAGES)
+ @PERL@ $(srcdir)/gen.pl mainpage $(srcdir) > $(MANPAGE)
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/docs/cmdline-opts/abstract-unix-socket.d b/docs/cmdline-opts/abstract-unix-socket.d
new file mode 100644
index 000000000..bb4467b67
--- /dev/null
+++ b/docs/cmdline-opts/abstract-unix-socket.d
@@ -0,0 +1,9 @@
+Long: abstract-unix-socket
+Arg: <path>
+Help: Connect through an abstract Unix domain socket
+Added: 7.53.0
+Protocols: HTTP
+---
+Connect through an abstract Unix domain socket, instead of using the network.
+Note: netstat shows the path of an abstract socket prefixed with '@', however
+the <path> argument should not have this leading character.
diff --git a/docs/cmdline-opts/anyauth.d b/docs/cmdline-opts/anyauth.d
new file mode 100644
index 000000000..c32d1ed5e
--- /dev/null
+++ b/docs/cmdline-opts/anyauth.d
@@ -0,0 +1,17 @@
+Long: anyauth
+Help: Pick any authentication method
+Protocols: HTTP
+See-also: proxy-anyauth basic digest
+---
+Tells curl to figure out authentication method by itself, and use the most
+secure one the remote site claims to support. This is done by first doing a
+request and checking the response-headers, thus possibly inducing an extra
+network round-trip. This is used instead of setting a specific authentication
+method, which you can do with --basic, --digest, --ntlm, and --negotiate.
+
+Using --anyauth is not recommended if you do uploads from stdin, since it may
+require data to be sent twice and then the client must be able to rewind. If
+the need should arise when uploading from stdin, the upload operation will
+fail.
+
+Used together with --user.
diff --git a/docs/cmdline-opts/append.d b/docs/cmdline-opts/append.d
new file mode 100644
index 000000000..f001b1239
--- /dev/null
+++ b/docs/cmdline-opts/append.d
@@ -0,0 +1,8 @@
+Short: a
+Long: append
+Help: Append to target file when uploading
+Protocols: FTP SFTP
+---
+When used in an upload, this makes curl append to the target file instead of
+overwriting it. If the remote file doesn't exist, it will be created. Note
+that this flag is ignored by some SFTP servers (including OpenSSH).
diff --git a/docs/cmdline-opts/basic.d b/docs/cmdline-opts/basic.d
new file mode 100644
index 000000000..09d42af9d
--- /dev/null
+++ b/docs/cmdline-opts/basic.d
@@ -0,0 +1,11 @@
+Long: basic
+Help: Use HTTP Basic Authentication
+See-also: proxy-basic
+Protocols: HTTP
+---
+Tells curl to use HTTP Basic authentication with the remote host. This is the
+default and this option is usually pointless, unless you use it to override a
+previously set option that sets a different authentication method (such as
+--ntlm, --digest, or --negotiate).
+
+Used together with --user.
diff --git a/docs/cmdline-opts/cacert.d b/docs/cmdline-opts/cacert.d
new file mode 100644
index 000000000..04e113980
--- /dev/null
+++ b/docs/cmdline-opts/cacert.d
@@ -0,0 +1,28 @@
+Long: cacert
+Arg: <CA certificate>
+Help: CA certificate to verify peer against
+Protocols: TLS
+---
+Tells curl to use the specified certificate file to verify the peer. The file
+may contain multiple CA certificates. The certificate(s) must be in PEM
+format. Normally curl is built to use a default file for this, so this option
+is typically used to alter that default file.
+
+curl recognizes the environment variable named 'CURL_CA_BUNDLE' if it is
+set, and uses the given path as a path to a CA cert bundle. This option
+overrides that variable.
+
+The windows version of curl will automatically look for a CA certs file named
+\'curl-ca-bundle.crt\', either in the same directory as curl.exe, or in the
+Current Working Directory, or in any folder along your PATH.
+
+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.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/capath.d b/docs/cmdline-opts/capath.d
new file mode 100644
index 000000000..0763f7a0d
--- /dev/null
+++ b/docs/cmdline-opts/capath.d
@@ -0,0 +1,15 @@
+Long: capath
+Arg: <dir>
+Help: CA directory to verify peer against
+Protocols: TLS
+---
+Tells curl to use the specified certificate directory to verify the
+peer. Multiple paths can be provided by separating them with ":" (e.g.
+\&"path1:path2:path3"). The certificates must be in PEM format, and if curl is
+built against OpenSSL, the directory must have been processed using the
+c_rehash utility supplied with OpenSSL. Using --capath can allow
+OpenSSL-powered curl to make SSL-connections much more efficiently than using
+--cacert if the --cacert file contains many CA certificates.
+
+If this option is set, the default capath value will be ignored, and if it is
+used several times, the last one will be used.
diff --git a/docs/cmdline-opts/cert-status.d b/docs/cmdline-opts/cert-status.d
new file mode 100644
index 000000000..f1aaa2174
--- /dev/null
+++ b/docs/cmdline-opts/cert-status.d
@@ -0,0 +1,13 @@
+Long: cert-status
+Protocols: TLS
+Added: 7.41.0
+Help: Verify the status of the server certificate
+---
+Tells curl to verify the status of the server certificate by using the
+Certificate Status Request (aka. OCSP stapling) TLS extension.
+
+If this option is enabled and the server sends an invalid (e.g. expired)
+response, if the response suggests that the server certificate has been revoked,
+or no response at all is received, the verification fails.
+
+This is currently only implemented in the OpenSSL, GnuTLS and NSS backends.
diff --git a/docs/cmdline-opts/cert-type.d b/docs/cmdline-opts/cert-type.d
new file mode 100644
index 000000000..a04bdce5d
--- /dev/null
+++ b/docs/cmdline-opts/cert-type.d
@@ -0,0 +1,10 @@
+Long: cert-type
+Protocols: TLS
+Arg: <type>
+Help: Certificate file type (DER/PEM/ENG)
+See-also: cert key key-type
+---
+Tells curl what certificate type the provided certificate is in. PEM, DER and
+ENG are recognized types. If not specified, PEM is assumed.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/cert.d b/docs/cmdline-opts/cert.d
new file mode 100644
index 000000000..0cd5d535f
--- /dev/null
+++ b/docs/cmdline-opts/cert.d
@@ -0,0 +1,32 @@
+Short: E
+Long: cert
+Arg: <certificate[:password]>
+Help: Client certificate file and password
+Protocols: TLS
+See-also: cert-type key key-type
+---
+Tells curl to use the specified client certificate file when getting a file
+with HTTPS, FTPS or another SSL-based protocol. The certificate must be in
+PKCS#12 format if using Secure Transport, or PEM format if using any other
+engine. If the optional password isn't specified, it will be queried for on
+the terminal. Note that this option assumes a \&"certificate" file that is the
+private key and the client certificate concatenated! See --cert and --key to
+specify them independently.
+
+If curl is built against the NSS SSL library then this option can tell
+curl the nickname of the certificate to use within the NSS database defined
+by the environment variable SSL_DIR (or by default /etc/pki/nssdb). If the
+NSS PEM PKCS#11 module (libnsspem.so) is available then PEM files may be
+loaded. If you want to use a file from the current directory, please precede
+it with "./" prefix, in order to avoid confusion with a nickname. If the
+nickname contains ":", it needs to be preceded by "\\" so that it is not
+recognized as password delimiter. If the nickname contains "\\", it needs to
+be escaped as "\\\\" so that it is not recognized as an escape character.
+
+(iOS and macOS only) If curl is built against Secure Transport, then the
+certificate string can either be the name of a certificate/private key in the
+system or user keychain, or the path to a PKCS#12-encoded certificate and
+private key. If you want to use a file from the current directory, please
+precede it with "./" prefix, in order to avoid confusion with a nickname.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/ciphers.d b/docs/cmdline-opts/ciphers.d
new file mode 100644
index 000000000..d3bac6026
--- /dev/null
+++ b/docs/cmdline-opts/ciphers.d
@@ -0,0 +1,11 @@
+Long: ciphers
+Arg: <list of ciphers>
+help: SSL ciphers to use
+Protocols: TLS
+---
+Specifies which ciphers to use in the connection. The list of ciphers must
+specify valid ciphers. Read up on SSL cipher list details on this URL:
+
+ https://curl.haxx.se/docs/ssl-ciphers.html
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/compressed.d b/docs/cmdline-opts/compressed.d
new file mode 100644
index 000000000..dc130c1f0
--- /dev/null
+++ b/docs/cmdline-opts/compressed.d
@@ -0,0 +1,7 @@
+Long: compressed
+Help: Request compressed response
+Protocols: HTTP
+---
+Request a compressed response using one of the algorithms curl supports, and
+save the uncompressed document. If this option is used and the server sends
+an unsupported encoding, curl will report an error.
diff --git a/docs/cmdline-opts/config.d b/docs/cmdline-opts/config.d
new file mode 100644
index 000000000..4a3251275
--- /dev/null
+++ b/docs/cmdline-opts/config.d
@@ -0,0 +1,60 @@
+Long: config
+Arg: <file>
+Help: Read config from a file
+Short: K
+---
+Specify which config file to read curl arguments from. The config file is a
+text file in which command line arguments can be written which then will be
+used as if they were written on the actual command line.
+
+Options and their parameters must be specified on the same config file line,
+separated by whitespace, colon, or the equals sign. Long option names can
+optionally be given in the config file without the initial double dashes and
+if so, the colon or equals characters can be used as separators. If the option
+is specified with one or two dashes, there can be no colon or equals character
+between the option and its parameter.
+
+If the parameter is to contain whitespace, the parameter must be enclosed
+within quotes. Within double quotes, the following escape sequences are
+available: \\\\, \\", \\t, \\n, \\r and \\v. A backslash preceding any other
+letter is ignored. If the first column of a config line is a '#' character,
+the rest of the line will be treated as a comment. Only write one option per
+physical line in the config file.
+
+Specify the filename to --config as '-' to make curl read the file from stdin.
+
+Note that to be able to specify a URL in the config file, you need to specify
+it using the --url option, and not by simply writing the URL on its own
+line. So, it could look similar to this:
+
+url = "https://curl.haxx.se/docs/"
+
+When curl is invoked, it always (unless --disable is used) checks for a
+default config file and uses it if found. The default config file is checked
+for in the following places in this order:
+
+1) curl tries to find the "home dir": It first checks for the CURL_HOME and
+then the HOME environment variables. Failing that, it uses getpwuid() on
+Unix-like systems (which returns the home dir given the current user in your
+system). On Windows, it then checks for the APPDATA variable, or as a last
+resort the '%USERPROFILE%\\Application Data'.
+
+2) On windows, if there is no _curlrc file in the home dir, it checks for one
+in the same dir the curl executable is placed. On Unix-like systems, it will
+simply try to load .curlrc from the determined home dir.
+
+.nf
+# --- Example file ---
+# this is a comment
+url = "example.com"
+output = "curlhere.html"
+user-agent = "superagent/1.0"
+
+# and fetch another URL too
+url = "example.com/docs/manpage.html"
+-O
+referer = "http://nowhereatall.example.com/"
+# --- End of example file ---
+.fi
+
+This option can be used multiple times to load multiple config files.
diff --git a/docs/cmdline-opts/connect-timeout.d b/docs/cmdline-opts/connect-timeout.d
new file mode 100644
index 000000000..3a32d8685
--- /dev/null
+++ b/docs/cmdline-opts/connect-timeout.d
@@ -0,0 +1,11 @@
+Long: connect-timeout
+Arg: <seconds>
+Help: Maximum time allowed for connection
+See-also: max-time
+---
+Maximum time in seconds that you allow curl's connection to take. This only
+limits the connection phase, so if curl connects within the given period it
+will continue - if not it will exit. Since version 7.32.0, this option
+accepts decimal values.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/connect-to.d b/docs/cmdline-opts/connect-to.d
new file mode 100644
index 000000000..3fa0568a6
--- /dev/null
+++ b/docs/cmdline-opts/connect-to.d
@@ -0,0 +1,18 @@
+Long: connect-to
+Arg: <HOST1:PORT1:HOST2:PORT2>
+Help: Connect to host
+Added: 7.49.0
+See-also: resolve header
+---
+
+For a request to the given HOST:PORT pair, connect to
+CONNECT-TO-HOST:CONNECT-TO-PORT instead. This option is suitable to direct
+requests at a specific server, e.g. at a specific cluster node in a cluster of
+servers. This option is only used to establish the network connection. It
+does NOT affect the hostname/port that is used for TLS/SSL (e.g. SNI,
+certificate verification) or for the application protocols. "host" and "port"
+may be the empty string, meaning "any host/port". "connect-to-host" and
+"connect-to-port" may also be the empty string, meaning "use the request's
+original host/port".
+
+This option can be used many times to add many connect rules.
diff --git a/docs/cmdline-opts/continue-at.d b/docs/cmdline-opts/continue-at.d
new file mode 100644
index 000000000..733f4941e
--- /dev/null
+++ b/docs/cmdline-opts/continue-at.d
@@ -0,0 +1,15 @@
+Short: C
+Long: continue-at
+Arg: <offset>
+Help: Resumed transfer offset
+See-also: range
+---
+Continue/Resume a previous file transfer at the given offset. The given offset
+is the exact number of bytes that will be skipped, counting from the beginning
+of the source file before it is transferred to the destination. If used with
+uploads, the FTP server command SIZE will not be used by curl.
+
+Use "-C -" to tell curl to automatically find out where/how to resume the
+transfer. It then uses the given output/input files to figure that out.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/cookie-jar.d b/docs/cmdline-opts/cookie-jar.d
new file mode 100644
index 000000000..da79777eb
--- /dev/null
+++ b/docs/cmdline-opts/cookie-jar.d
@@ -0,0 +1,24 @@
+Short: c
+Long: cookie-jar
+Arg: <filename>
+Protocols: HTTP
+Help: Write cookies to <filename> after operation
+---
+Specify to which file you want curl to write all cookies after a completed
+operation. Curl writes all cookies from its in-memory cookie storage to the
+given file at the end of operations. If no cookies are known, no data will be
+written. The file will be written using the Netscape cookie file format. If
+you set the file name to a single dash, "-", the cookies will be written to
+stdout.
+
+This command line option will activate the cookie engine that makes curl
+record and use cookies. Another way to activate it is to use the --cookie
+option.
+
+If the cookie jar can't be created or written to, the whole curl operation
+won't fail or even report an error clearly. Using --verbose will get a warning
+displayed, but that is the only visible feedback you get about this possibly
+lethal situation.
+
+If this option is used several times, the last specified file name will be
+used.
diff --git a/docs/cmdline-opts/cookie.d b/docs/cmdline-opts/cookie.d
new file mode 100644
index 000000000..383adda6e
--- /dev/null
+++ b/docs/cmdline-opts/cookie.d
@@ -0,0 +1,36 @@
+Short: b
+Long: cookie
+Arg: <data>
+Protocols: HTTP
+Help: Send cookies from string/file
+---
+Pass the data to the HTTP server in the Cookie header. It is supposedly
+the data previously received from the server in a "Set-Cookie:" line. The
+data should be in the format "NAME1=VALUE1; NAME2=VALUE2".
+
+If no '=' symbol is used in the argument, it is instead treated as a filename
+to read previously stored cookie from. This option also activates the cookie
+engine which will make curl record incoming cookies, which may be handy if
+you're using this in combination with the --location option or do multiple URL
+transfers on the same invoke.
+
+The file format of the file to read cookies from should be plain HTTP headers
+(Set-Cookie style) or the Netscape/Mozilla cookie file format.
+
+The file specified with --cookie is only used as input. No cookies will be
+written to the file. To store cookies, use the --cookie-jar option.
+
+Exercise caution if you are using this option and multiple transfers may
+occur. If you use the NAME1=VALUE1; format, or in a file use the Set-Cookie
+format and don't specify a domain, then the cookie is sent for any domain
+(even after redirects are followed) and cannot be modified by a server-set
+cookie. If the cookie engine is enabled and a server sets a cookie of the same
+name then both will be sent on a future transfer to that server, likely not
+what you intended. To address these issues set a domain in Set-Cookie (doing
+that will include sub domains) or use the Netscape format.
+
+If this option is used several times, the last one will be used.
+
+Users very often want to both read cookies from a file and write updated
+cookies back to a file, so using both --cookie and --cookie-jar in the same
+command line is common.
diff --git a/docs/cmdline-opts/create-dirs.d b/docs/cmdline-opts/create-dirs.d
new file mode 100644
index 000000000..49e22e75a
--- /dev/null
+++ b/docs/cmdline-opts/create-dirs.d
@@ -0,0 +1,9 @@
+Long: create-dirs
+Help: Create necessary local directory hierarchy
+---
+When used in conjunction with the --output option, curl will create the
+necessary local directory hierarchy as needed. This option creates the dirs
+mentioned with the --output option, nothing else. If the --output file name
+uses no dir or if the dirs it mentions already exist, no dir will be created.
+
+To create remote directories when using FTP or SFTP, try --ftp-create-dirs.
diff --git a/docs/cmdline-opts/crlf.d b/docs/cmdline-opts/crlf.d
new file mode 100644
index 000000000..f6694b654
--- /dev/null
+++ b/docs/cmdline-opts/crlf.d
@@ -0,0 +1,7 @@
+Long: crlf
+Help: Convert LF to CRLF in upload
+Protocols: FTP SMTP
+---
+Convert LF to CRLF in upload. Useful for MVS (OS/390).
+
+(SMTP added in 7.40.0)
diff --git a/docs/cmdline-opts/crlfile.d b/docs/cmdline-opts/crlfile.d
new file mode 100644
index 000000000..0fcc63c85
--- /dev/null
+++ b/docs/cmdline-opts/crlfile.d
@@ -0,0 +1,10 @@
+Long: crlfile
+Arg: <file>
+Protocols: TLS
+Help: Get a CRL list in PEM format from the given file
+Added: 7.19.7
+---
+Provide a file using PEM format with a Certificate Revocation List that may
+specify peer certificates that are to be considered revoked.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/data-ascii.d b/docs/cmdline-opts/data-ascii.d
new file mode 100644
index 000000000..bda4abc3d
--- /dev/null
+++ b/docs/cmdline-opts/data-ascii.d
@@ -0,0 +1,6 @@
+Long: data-ascii
+Arg: <data>
+Help: HTTP POST ASCII data
+Protocols: HTTP
+---
+This is just an alias for --data.
diff --git a/docs/cmdline-opts/data-binary.d b/docs/cmdline-opts/data-binary.d
new file mode 100644
index 000000000..c6721c641
--- /dev/null
+++ b/docs/cmdline-opts/data-binary.d
@@ -0,0 +1,13 @@
+Long: data-binary
+Arg: <data>
+Help: HTTP POST binary data
+Protocols: HTTP
+---
+This posts data exactly as specified with no extra processing whatsoever.
+
+If you start the data with the letter @, the rest should be a filename. Data
+is posted in a similar manner as --data does, except that newlines and
+carriage returns are preserved and conversions are never done.
+
+If this option is used several times, the ones following the first will append
+data as described in --data.
diff --git a/docs/cmdline-opts/data-raw.d b/docs/cmdline-opts/data-raw.d
new file mode 100644
index 000000000..7669b4abf
--- /dev/null
+++ b/docs/cmdline-opts/data-raw.d
@@ -0,0 +1,9 @@
+Long: data-raw
+Arg: <data>
+Protocols: HTTP
+Help: HTTP POST data, '@' allowed
+Added: 7.43.0
+See-also: data
+---
+This posts data similarly to --data but without the special
+interpretation of the @ character.
diff --git a/docs/cmdline-opts/data-urlencode.d b/docs/cmdline-opts/data-urlencode.d
new file mode 100644
index 000000000..9873f3356
--- /dev/null
+++ b/docs/cmdline-opts/data-urlencode.d
@@ -0,0 +1,33 @@
+Long: data-urlencode
+Arg: <data>
+Help: HTTP POST data url encoded
+Protocols: HTTP
+See-also: data data-raw
+Added: 7.18.0
+---
+This posts data, similar to the other --data options with the exception
+that this performs URL-encoding.
+
+To be CGI-compliant, the <data> part should begin with a \fIname\fP followed
+by a separator and a content specification. The <data> part can be passed to
+curl using one of the following syntaxes:
+.RS
+.IP "content"
+This will make curl URL-encode the content and pass that on. Just be careful
+so that the content doesn't contain any = or @ symbols, as that will then make
+the syntax match one of the other cases below!
+.IP "=content"
+This will make curl URL-encode the content and pass that on. The preceding =
+symbol is not included in the data.
+.IP "name=content"
+This will make curl URL-encode the content part and pass that on. Note that
+the name part is expected to be URL-encoded already.
+.IP "@filename"
+This will make curl load data from the given file (including any newlines),
+URL-encode that data and pass it on in the POST.
+.IP "name@filename"
+This will make curl load data from the given file (including any newlines),
+URL-encode that data and pass it on in the POST. The name part gets an equal
+sign appended, resulting in \fIname=urlencoded-file-content\fP. Note that the
+name is expected to be URL-encoded already.
+.RE
diff --git a/docs/cmdline-opts/data.d b/docs/cmdline-opts/data.d
new file mode 100644
index 000000000..157285840
--- /dev/null
+++ b/docs/cmdline-opts/data.d
@@ -0,0 +1,30 @@
+Long: data
+Short: d
+Arg: <data>
+Help: HTTP POST data
+Protocols: HTTP
+See-also: data-binary data-urlencode data-raw
+Mutexed: form head upload
+---
+Sends the specified data in a POST request to the HTTP server, in the same way
+that a browser does when a user has filled in an HTML form and presses the
+submit button. This will cause curl to pass the data to the server using the
+content-type application/x-www-form-urlencoded. Compare to --form.
+
+--data-raw is almost the same but does not have a special interpretation of
+the @ character. To post data purely binary, you should instead use the
+--data-binary option. To URL-encode the value of a form field you may use
+--data-urlencode.
+
+If any of these options is used more than once on the same command line, the
+data pieces specified will be merged together with a separating
+&-symbol. Thus, using '-d name=daniel -d skill=lousy' would generate a post
+chunk that looks like \&'name=daniel&skill=lousy'.
+
+If you start the data with the letter @, the rest should be a file name to
+read the data from, or - if you want curl to read the data from
+stdin. Multiple files can also be specified. Posting data from a file named
+'foobar' would thus be done with --data @foobar. When --data is told to read
+from a file like that, carriage returns and newlines will be stripped out. If
+you don't want the @ character to have a special interpretation use --data-raw
+instead.
diff --git a/docs/cmdline-opts/delegation.d b/docs/cmdline-opts/delegation.d
new file mode 100644
index 000000000..138d82333
--- /dev/null
+++ b/docs/cmdline-opts/delegation.d
@@ -0,0 +1,16 @@
+Long: delegation
+Arg: <LEVEL>
+Help: GSS-API delegation permission
+Protocols: GSS/kerberos
+---
+Set LEVEL to tell the server what it is allowed to delegate when it
+comes to user credentials.
+.RS
+.IP "none"
+Don't allow any delegation.
+.IP "policy"
+Delegates if and only if the OK-AS-DELEGATE flag is set in the Kerberos
+service ticket, which is a matter of realm policy.
+.IP "always"
+Unconditionally allow the server to delegate.
+.RE
diff --git a/docs/cmdline-opts/digest.d b/docs/cmdline-opts/digest.d
new file mode 100644
index 000000000..5cdd9258a
--- /dev/null
+++ b/docs/cmdline-opts/digest.d
@@ -0,0 +1,11 @@
+Long: digest
+Help: Use HTTP Digest Authentication
+Protocols: HTTP
+Mutexed: basic ntlm negotiate
+See-also: user proxy-digest anyauth
+---
+Enables HTTP Digest authentication. This is an authentication scheme that
+prevents the password from being sent over the wire in clear text. Use this in
+combination with the normal --user option to set user name and password.
+
+If this option is used several times, only the first one is used.
diff --git a/docs/cmdline-opts/disable-eprt.d b/docs/cmdline-opts/disable-eprt.d
new file mode 100644
index 000000000..a1e53c0bd
--- /dev/null
+++ b/docs/cmdline-opts/disable-eprt.d
@@ -0,0 +1,19 @@
+Long: disable-eprt
+Help: Inhibit using EPRT or LPRT
+Protocols: FTP
+---
+Tell curl to disable the use of the EPRT and LPRT commands when doing active
+FTP transfers. Curl will normally always first attempt to use EPRT, then LPRT
+before using PORT, but with this option, it will use PORT right away. EPRT and
+LPRT are extensions to the original FTP protocol, and may not work on all
+servers, but they enable more functionality in a better way than the
+traditional PORT command.
+
+--eprt can be used to explicitly enable EPRT again and --no-eprt is an alias
+for --disable-eprt.
+
+If the server is accessed using IPv6, this option will have no effect as EPRT
+is necessary then.
+
+Disabling EPRT only changes the active behavior. If you want to switch to
+passive mode you need to not use --ftp-port or force it with --ftp-pasv.
diff --git a/docs/cmdline-opts/disable-epsv.d b/docs/cmdline-opts/disable-epsv.d
new file mode 100644
index 000000000..6d2cb7089
--- /dev/null
+++ b/docs/cmdline-opts/disable-epsv.d
@@ -0,0 +1,16 @@
+Long: disable-epsv
+Help: Inhibit using EPSV
+Protocols: FTP
+---
+(FTP) Tell curl to disable the use of the EPSV command when doing passive FTP
+transfers. Curl will normally always first attempt to use EPSV before PASV,
+but with this option, it will not try using EPSV.
+
+--epsv can be used to explicitly enable EPSV again and --no-epsv is an alias
+for --disable-epsv.
+
+If the server is an IPv6 host, this option will have no effect as EPSV is
+necessary then.
+
+Disabling EPSV only changes the passive behavior. If you want to switch to
+active mode you need to use --ftp-port.
diff --git a/docs/cmdline-opts/disable.d b/docs/cmdline-opts/disable.d
new file mode 100644
index 000000000..20b27b4c5
--- /dev/null
+++ b/docs/cmdline-opts/disable.d
@@ -0,0 +1,7 @@
+Long: disable
+Short: q
+Help: Disable .curlrc
+---
+If used as the first parameter on the command line, the \fIcurlrc\fP config
+file will not be read and used. See the --config for details on the default
+config file search path.
diff --git a/docs/cmdline-opts/dns-interface.d b/docs/cmdline-opts/dns-interface.d
new file mode 100644
index 000000000..45e5af263
--- /dev/null
+++ b/docs/cmdline-opts/dns-interface.d
@@ -0,0 +1,11 @@
+Long: dns-interface
+Arg: <interface>
+Help: Interface to use for DNS requests
+Protocols: DNS
+See-also: dns-ipv4-addr dns-ipv6-addr
+Added: 7.33.0
+Requires: c-ares
+---
+Tell curl to send outgoing DNS requests through <interface>. This option is a
+counterpart to --interface (which does not affect DNS). The supplied string
+must be an interface name (not an address).
diff --git a/docs/cmdline-opts/dns-ipv4-addr.d b/docs/cmdline-opts/dns-ipv4-addr.d
new file mode 100644
index 000000000..597b85884
--- /dev/null
+++ b/docs/cmdline-opts/dns-ipv4-addr.d
@@ -0,0 +1,11 @@
+Long: dns-ipv4-addr
+Arg: <address>
+Help: IPv4 address to use for DNS requests
+Protocols: DNS
+See-also: dns-interface dns-ipv6-addr
+Added: 7.33.0
+Requires: c-ares
+---
+Tell curl to bind to <ip-address> when making IPv4 DNS requests, so that
+the DNS requests originate from this address. The argument should be a
+single IPv4 address.
diff --git a/docs/cmdline-opts/dns-ipv6-addr.d b/docs/cmdline-opts/dns-ipv6-addr.d
new file mode 100644
index 000000000..581f01953
--- /dev/null
+++ b/docs/cmdline-opts/dns-ipv6-addr.d
@@ -0,0 +1,11 @@
+Long: dns-ipv6-addr
+Arg: <address>
+Help: IPv6 address to use for DNS requests
+Protocols: DNS
+See-also: dns-interface dns-ipv4-addr
+Added: 7.33.0
+Requires: c-ares
+---
+Tell curl to bind to <ip-address> when making IPv6 DNS requests, so that
+the DNS requests originate from this address. The argument should be a
+single IPv6 address.
diff --git a/docs/cmdline-opts/dns-servers.d b/docs/cmdline-opts/dns-servers.d
new file mode 100644
index 000000000..a98fd07d8
--- /dev/null
+++ b/docs/cmdline-opts/dns-servers.d
@@ -0,0 +1,10 @@
+Long: dns-servers
+Arg: <addresses>
+Help: DNS server addrs to use
+Requires: c-ares
+Added: 7.33.0
+---
+Set the list of DNS servers to be used instead of the system default.
+The list of IP addresses should be separated with commas. Port numbers
+may also optionally be given as \fI:<port-number>\fP after each IP
+address.
diff --git a/docs/cmdline-opts/dump-header.d b/docs/cmdline-opts/dump-header.d
new file mode 100644
index 000000000..05c10affd
--- /dev/null
+++ b/docs/cmdline-opts/dump-header.d
@@ -0,0 +1,18 @@
+Long: dump-header
+Short: D
+Arg: <filename>
+Help: Write the received headers to <filename>
+Protocols: HTTP FTP
+See-also: output
+---
+Write the received protocol headers to the specified file.
+
+This option is handy to use when you want to store the headers that an HTTP
+site sends to you. Cookies from the headers could then be read in a second
+curl invocation by using the --cookie option! The --cookie-jar option is a
+better way to store cookies.
+
+When used in FTP, the FTP server response lines are considered being "headers"
+and thus are saved there.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/egd-file.d b/docs/cmdline-opts/egd-file.d
new file mode 100644
index 000000000..c22790f6a
--- /dev/null
+++ b/docs/cmdline-opts/egd-file.d
@@ -0,0 +1,8 @@
+Long: egd-file
+Arg: <file>
+Help: EGD socket path for random data
+Protocols: TLS
+See-also: random-file
+---
+Specify the path name to the Entropy Gathering Daemon socket. The socket is
+used to seed the random engine for SSL connections.
diff --git a/docs/cmdline-opts/engine.d b/docs/cmdline-opts/engine.d
new file mode 100644
index 000000000..cde1a4773
--- /dev/null
+++ b/docs/cmdline-opts/engine.d
@@ -0,0 +1,8 @@
+Long: engine
+Arg: <name>
+Help: Crypto engine to use
+Protocols: TLS
+---
+Select the OpenSSL crypto engine to use for cipher operations. Use --engine
+list to print a list of build-time supported engines. Note that not all (or
+none) of the engines may be available at run-time.
diff --git a/docs/cmdline-opts/environment.d b/docs/cmdline-opts/environment.d
new file mode 100644
index 000000000..6289e53d4
--- /dev/null
+++ b/docs/cmdline-opts/environment.d
@@ -0,0 +1,7 @@
+Long: environment
+Help: Write results to environment variables
+Requires: RISC OS
+---
+Sets a range of environment variables, using the names the --write-out option
+supports, to allow easier extraction of useful information after having run
+curl.
diff --git a/docs/cmdline-opts/expect100-timeout.d b/docs/cmdline-opts/expect100-timeout.d
new file mode 100644
index 000000000..c88f0b84f
--- /dev/null
+++ b/docs/cmdline-opts/expect100-timeout.d
@@ -0,0 +1,11 @@
+Long: expect100-timeout
+Arg: <seconds>
+Help: How long to wait for 100-continue
+Protocols: HTTP
+Added: 7.47.0
+See-also: connect-timeout
+---
+Maximum time in seconds that you allow curl to wait for a 100-continue
+response when curl emits an Expects: 100-continue header in its request. By
+default curl will wait one second. This option accepts decimal values! When
+curl stops waiting, it will continue as if the response has been received.
diff --git a/docs/cmdline-opts/fail-early.d b/docs/cmdline-opts/fail-early.d
new file mode 100644
index 000000000..4489b4fc4
--- /dev/null
+++ b/docs/cmdline-opts/fail-early.d
@@ -0,0 +1,18 @@
+Long: fail-early
+Help: Fail on first transfer error, do not continue
+Added: 7.52.0
+---
+Fail and exit on first detected error.
+
+When curl is used to do multiple transfers on the command line, it will
+attempt to operate on each given URL, one by one. By default, it will ignore
+errors if there are more URLs given and the last URL's success will determine
+the error code curl returns. So early failures will be "hidden" by subsequent
+successful transfers.
+
+Using this option, curl will instead return an error on the first transfers
+that fails, independent on the amount of more URLs that are given on the
+command line. This way, no transfer failures go undetected by scripts and
+similar.
+
+This option will apply for all given URLs even if you use --next.
diff --git a/docs/cmdline-opts/fail.d b/docs/cmdline-opts/fail.d
new file mode 100644
index 000000000..c46c571bf
--- /dev/null
+++ b/docs/cmdline-opts/fail.d
@@ -0,0 +1,14 @@
+Long: fail
+Short: f
+Protocols: HTTP
+Help: Fail silently (no output at all) on HTTP errors
+---
+Fail silently (no output at all) on server errors. This is mostly done to
+better enable scripts etc to better deal with failed attempts. In normal cases
+when an HTTP server fails to deliver a document, it returns an HTML document
+stating so (which often also describes why and more). This flag will prevent
+curl from outputting that and return error 22.
+
+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).
diff --git a/docs/cmdline-opts/false-start.d b/docs/cmdline-opts/false-start.d
new file mode 100644
index 000000000..65a8afb8f
--- /dev/null
+++ b/docs/cmdline-opts/false-start.d
@@ -0,0 +1,12 @@
+Long: false-start
+Help: Enable TLS False Start
+Protocols: TLS
+Added: 7.42.0
+---
+Tells curl to use false start during the TLS handshake. False start is a mode
+where a TLS client will start sending application data before verifying the
+server's Finished message, thus saving a round trip when performing a full
+handshake.
+
+This is currently only implemented in the NSS and Secure Transport (on iOS 7.0
+or later, or OS X 10.9 or later) backends.
diff --git a/docs/cmdline-opts/form-string.d b/docs/cmdline-opts/form-string.d
new file mode 100644
index 000000000..80790553c
--- /dev/null
+++ b/docs/cmdline-opts/form-string.d
@@ -0,0 +1,11 @@
+Long: form-string
+Help: Specify HTTP multipart POST data
+Protocols: HTTP
+Arg: <name=string>
+See-also: form
+---
+Similar to --form except that the value string for the named parameter is used
+literally. Leading \&'@' and \&'<' characters, and the \&';type=' string in
+the value have no special meaning. Use this in preference to --form if
+there's any possibility that the string value may accidentally trigger the
+\&'@' or \&'<' features of --form.
diff --git a/docs/cmdline-opts/form.d b/docs/cmdline-opts/form.d
new file mode 100644
index 000000000..87a7d0766
--- /dev/null
+++ b/docs/cmdline-opts/form.d
@@ -0,0 +1,54 @@
+Long: form
+Short: F
+Arg: <name=content>
+Help: Specify HTTP multipart POST data
+Protocols: HTTP
+Mutexed: data head upload
+---
+This lets curl emulate a filled-in form in which a user has pressed the submit
+button. This causes curl to POST data using the Content-Type
+multipart/form-data according to RFC 2388. This enables uploading of binary
+files etc. To force the 'content' part to be a file, prefix the file name with
+an @ sign. To just get the content part from a file, prefix the file name with
+the symbol <. The difference between @ and < is then that @ makes a file get
+attached in the post as a file upload, while the < makes a text field and just
+get the contents for that text field from a file.
+
+Example: to send an image to a server, where \&'profile' is the name of the
+form-field to which portrait.jpg will be the input:
+
+ curl -F profile=@portrait.jpg https://example.com/upload.cgi
+
+To read content from stdin instead of a file, use - as the filename. This goes
+for both @ and < constructs. Unfortunately it does not support reading the
+file from a named pipe or similar, as it needs the full size before the
+transfer starts.
+
+You can also tell curl what Content-Type to use by using 'type=', in a manner
+similar to:
+
+ curl -F "web=@index.html;type=text/html" example.com
+
+or
+
+ curl -F "name=daniel;type=text/foo" example.com
+
+You can also explicitly change the name field of a file upload part by setting
+filename=, like this:
+
+ curl -F "file=@localfile;filename=nameinpost" example.com
+
+If filename/path contains ',' or ';', it must be quoted by double-quotes like:
+
+ curl -F "file=@\\"localfile\\";filename=\\"nameinpost\\"" example.com
+
+or
+
+ curl -F 'file=@"localfile";filename="nameinpost"' example.com
+
+Note that if a filename/path is quoted by double-quotes, any double-quote
+or backslash within the filename must be escaped by backslash.
+
+See further examples and details in the MANUAL.
+
+This option can be used multiple times.
diff --git a/docs/cmdline-opts/ftp-account.d b/docs/cmdline-opts/ftp-account.d
new file mode 100644
index 000000000..013c4f37b
--- /dev/null
+++ b/docs/cmdline-opts/ftp-account.d
@@ -0,0 +1,10 @@
+Long: ftp-account
+Arg: <data>
+Help: Account data string
+Protocols: FTP
+Added: 7.13.0
+---
+When an FTP server asks for "account data" after user name and password has
+been provided, this data is sent off using the ACCT command.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/ftp-alternative-to-user.d b/docs/cmdline-opts/ftp-alternative-to-user.d
new file mode 100644
index 000000000..8982ba8b8
--- /dev/null
+++ b/docs/cmdline-opts/ftp-alternative-to-user.d
@@ -0,0 +1,10 @@
+Long: ftp-alternative-to-user
+Arg: <command>
+Help: String to replace USER [name]
+Protocols: FTP
+Added: 7.15.5
+---
+If authenticating with the USER and PASS commands fails, send this command.
+When connecting to Tumbleweed's Secure Transport server over FTPS using a
+client certificate, using "SITE AUTH" will tell the server to retrieve the
+username from the certificate.
diff --git a/docs/cmdline-opts/ftp-create-dirs.d b/docs/cmdline-opts/ftp-create-dirs.d
new file mode 100644
index 000000000..ede57100d
--- /dev/null
+++ b/docs/cmdline-opts/ftp-create-dirs.d
@@ -0,0 +1,8 @@
+Long: ftp-create-dirs
+Protocols: FTP SFTP
+Help: Create the remote dirs if not present
+See-also: create-dirs
+---
+When an FTP or SFTP URL/operation uses a path that doesn't currently exist on
+the server, the standard behavior of curl is to fail. Using this option, curl
+will instead attempt to create missing directories.
diff --git a/docs/cmdline-opts/ftp-method.d b/docs/cmdline-opts/ftp-method.d
new file mode 100644
index 000000000..95aa522e8
--- /dev/null
+++ b/docs/cmdline-opts/ftp-method.d
@@ -0,0 +1,21 @@
+Long: ftp-method
+Arg: <method>
+Help: Control CWD usage
+Protocols: FTP
+Added: 7.15.1
+---
+Control what method curl should use to reach a file on an FTP(S)
+server. The method argument should be one of the following alternatives:
+.RS
+.IP multicwd
+curl does a single CWD operation for each path part in the given URL. For deep
+hierarchies this means very many commands. This is how RFC 1738 says it should
+be done. This is the default but the slowest behavior.
+.IP nocwd
+curl does no CWD at all. curl will do SIZE, RETR, STOR etc and give a full
+path to the server for all these commands. This is the fastest behavior.
+.IP singlecwd
+curl does one CWD with the full target directory and then operates on the file
+\&"normally" (like in the multicwd case). This is somewhat more standards
+compliant than 'nocwd' but without the full penalty of 'multicwd'.
+.RE
diff --git a/docs/cmdline-opts/ftp-pasv.d b/docs/cmdline-opts/ftp-pasv.d
new file mode 100644
index 000000000..44103e21a
--- /dev/null
+++ b/docs/cmdline-opts/ftp-pasv.d
@@ -0,0 +1,16 @@
+Long: ftp-pasv
+Help: Use PASV/EPSV instead of PORT
+Protocols: FTP
+Added: 7.11.0
+See-also: disable-epsv
+---
+Use passive mode for the data connection. Passive is the internal default
+behavior, but using this option can be used to override a previous --ftp-port
+option.
+
+If this option is used several times, only the first one is used. Undoing an
+enforced passive really isn't doable but you must then instead enforce the
+correct --ftp-port again.
+
+Passive mode means that curl will try the EPSV command first and then PASV,
+unless --disable-epsv is used.
diff --git a/docs/cmdline-opts/ftp-port.d b/docs/cmdline-opts/ftp-port.d
new file mode 100644
index 000000000..a852e9054
--- /dev/null
+++ b/docs/cmdline-opts/ftp-port.d
@@ -0,0 +1,32 @@
+Long: ftp-port
+Arg: <address>
+Help: Use PORT instead of PASV
+Short: P
+Protocols: FTP
+See-also: ftp-pasv disable-eprt
+---
+Reverses the default initiator/listener roles when connecting with FTP. This
+option makes curl use active mode. curl then tells the server to connect back
+to the client's specified address and port, while passive mode asks the server
+to setup an IP address and port for it to connect to. <address> should be one
+of:
+.RS
+.IP interface
+i.e "eth0" to specify which interface's IP address you want to use (Unix only)
+.IP "IP address"
+i.e "192.168.10.1" to specify the exact IP address
+.IP "host name"
+i.e "my.host.domain" to specify the machine
+.IP "-"
+make curl pick the same IP address that is already used for the control
+connection
+.RE
+
+If this option is used several times, the last one will be used. Disable the
+use of PORT with --ftp-pasv. Disable the attempt to use the EPRT command
+instead of PORT by using --disable-eprt. EPRT is really PORT++.
+
+Since 7.19.5, you can append \&":[start]-[end]\&" to the right of the address,
+to tell curl what TCP port range to use. That means you specify a port range,
+from a lower to a higher number. A single number works as well, but do note
+that it increases the risk of failure since the port may not be available.
diff --git a/docs/cmdline-opts/ftp-pret.d b/docs/cmdline-opts/ftp-pret.d
new file mode 100644
index 000000000..dac4c3531
--- /dev/null
+++ b/docs/cmdline-opts/ftp-pret.d
@@ -0,0 +1,8 @@
+Long: ftp-pret
+Help: Send PRET before PASV
+Protocols: FTP
+Added: 7.20.0
+---
+Tell curl to send a PRET command before PASV (and EPSV). Certain FTP servers,
+mainly drftpd, require this non-standard command for directory listings as
+well as up and downloads in PASV mode.
diff --git a/docs/cmdline-opts/ftp-skip-pasv-ip.d b/docs/cmdline-opts/ftp-skip-pasv-ip.d
new file mode 100644
index 000000000..da6ab11fc
--- /dev/null
+++ b/docs/cmdline-opts/ftp-skip-pasv-ip.d
@@ -0,0 +1,12 @@
+Long: ftp-skip-pasv-ip
+Help: Skip the IP address for PASV
+Protocols: FTP
+Added: 7.14.2
+See-also: ftp-pasv
+---
+Tell curl to not use the IP address the server suggests in its response
+to curl's PASV command when curl connects the data connection. Instead curl
+will re-use the same IP address it already uses for the control
+connection.
+
+This option has no effect if PORT, EPRT or EPSV is used instead of PASV.
diff --git a/docs/cmdline-opts/ftp-ssl-ccc-mode.d b/docs/cmdline-opts/ftp-ssl-ccc-mode.d
new file mode 100644
index 000000000..be1029498
--- /dev/null
+++ b/docs/cmdline-opts/ftp-ssl-ccc-mode.d
@@ -0,0 +1,11 @@
+Long: ftp-ssl-ccc-mode
+Arg: <active/passive>
+Help: Set CCC mode
+Protocols: FTP
+Added: 7.16.2
+See-also: ftp-ssl-ccc
+---
+Sets the CCC mode. The passive mode will not initiate the shutdown, but
+instead wait for the server to do it, and will not reply to the shutdown from
+the server. The active mode initiates the shutdown and waits for a reply from
+the server.
diff --git a/docs/cmdline-opts/ftp-ssl-ccc.d b/docs/cmdline-opts/ftp-ssl-ccc.d
new file mode 100644
index 000000000..c6edc5b39
--- /dev/null
+++ b/docs/cmdline-opts/ftp-ssl-ccc.d
@@ -0,0 +1,10 @@
+Long: ftp-ssl-ccc
+Help: Send CCC after authenticating
+Protocols: FTP
+See-also: ssl ftp-ssl-ccc-mode
+Added: 7.16.1
+---
+Use CCC (Clear Command Channel) Shuts down the SSL/TLS layer after
+authenticating. The rest of the control channel communication will be
+unencrypted. This allows NAT routers to follow the FTP transaction. The
+default mode is passive.
diff --git a/docs/cmdline-opts/ftp-ssl-control.d b/docs/cmdline-opts/ftp-ssl-control.d
new file mode 100644
index 000000000..87a822531
--- /dev/null
+++ b/docs/cmdline-opts/ftp-ssl-control.d
@@ -0,0 +1,8 @@
+Long: ftp-ssl-control
+Help: Require SSL/TLS for FTP login, clear for transfer
+Protocols: FTP
+Added: 7.16.0
+---
+Require SSL/TLS for the FTP login, clear for transfer. Allows secure
+authentication, but non-encrypted data transfers for efficiency. Fails the
+transfer if the server doesn't support SSL/TLS.
diff --git a/docs/cmdline-opts/gen.pl b/docs/cmdline-opts/gen.pl
new file mode 100755
index 000000000..91e893f3e
--- /dev/null
+++ b/docs/cmdline-opts/gen.pl
@@ -0,0 +1,383 @@
+#!/usr/bin/perl
+
+=begin comment
+
+This script generates the manpage.
+
+Example: gen.pl mainpage > curl.1
+
+Dev notes:
+
+We open *input* files in :crlf translation (a no-op on many platforms) in
+case we have CRLF line endings in Windows but a perl that defaults to LF.
+Unfortunately it seems some perls like msysgit can't handle a global input-only
+:crlf so it has to be specified on each file open for text input.
+
+=end comment
+=cut
+
+my $some_dir=$ARGV[1] || ".";
+
+opendir(my $dh, $some_dir) || die "Can't opendir $some_dir: $!";
+my @s = grep { /\.d$/ && -f "$some_dir/$_" } readdir($dh);
+closedir $dh;
+
+my %optshort;
+my %optlong;
+my %helplong;
+my %arglong;
+my %redirlong;
+my %protolong;
+
+# get the long name version, return the man page string
+sub manpageify {
+ my ($k)=@_;
+ my $l;
+ if($optlong{$k} ne "") {
+ # both short + long
+ $l = "\\fI-".$optlong{$k}.", --$k\\fP";
+ }
+ else {
+ # only long
+ $l = "\\fI--$k\\fP";
+ }
+ return $l;
+}
+
+sub printdesc {
+ my @desc = @_;
+ for my $d (@desc) {
+ # skip lines starting with space (examples)
+ if($d =~ /^[^ ]/) {
+ for my $k (keys %optlong) {
+ my $l = manpageify($k);
+ $d =~ s/--$k([^a-z0-9_-])/$l$1/;
+ }
+ }
+ print $d;
+ }
+}
+
+sub seealso {
+ my($standalone, $data)=@_;
+ if($standalone) {
+ return sprintf
+ ".SH \"SEE ALSO\"\n$data\n";
+ }
+ else {
+ return "See also $data. ";
+ }
+}
+
+sub overrides {
+ my ($standalone, $data)=@_;
+ if($standalone) {
+ return ".SH \"OVERRIDES\"\n$data\n";
+ }
+ else {
+ return $data;
+ }
+}
+
+sub protocols {
+ my ($standalone, $data)=@_;
+ if($standalone) {
+ return ".SH \"PROTOCOLS\"\n$data\n";
+ }
+ else {
+ return "($data) ";
+ }
+}
+
+sub added {
+ my ($standalone, $data)=@_;
+ if($standalone) {
+ return ".SH \"ADDED\"\nAdded in curl version $data\n";
+ }
+ else {
+ return "Added in $data. ";
+ }
+}
+
+sub single {
+ my ($f, $standalone)=@_;
+ open(F, "<:crlf", "$some_dir/$f") ||
+ return 1;
+ my $short;
+ my $long;
+ my $tags;
+ my $added;
+ my $protocols;
+ my $arg;
+ my $mutexed;
+ my $requires;
+ my $seealso;
+ my $magic; # cmdline special option
+ while(<F>) {
+ if(/^Short: *(.)/i) {
+ $short=$1;
+ }
+ elsif(/^Long: *(.*)/i) {
+ $long=$1;
+ }
+ elsif(/^Added: *(.*)/i) {
+ $added=$1;
+ }
+ elsif(/^Tags: *(.*)/i) {
+ $tags=$1;
+ }
+ elsif(/^Arg: *(.*)/i) {
+ $arg=$1;
+ }
+ elsif(/^Magic: *(.*)/i) {
+ $magic=$1;
+ }
+ elsif(/^Mutexed: *(.*)/i) {
+ $mutexed=$1;
+ }
+ elsif(/^Protocols: *(.*)/i) {
+ $protocols=$1;
+ }
+ elsif(/^See-also: *(.*)/i) {
+ $seealso=$1;
+ }
+ elsif(/^Requires: *(.*)/i) {
+ $requires=$1;
+ }
+ elsif(/^Help: *(.*)/i) {
+ ;
+ }
+ elsif(/^---/) {
+ if(!$long) {
+ print STDERR "WARN: no 'Long:' in $f\n";
+ }
+ last;
+ }
+ else {
+ chomp;
+ print STDERR "WARN: unrecognized line in $f, ignoring:\n:'$_';"
+ }
+ }
+ my @dest;
+ while(<F>) {
+ push @desc, $_;
+ }
+ close(F);
+ my $opt;
+ if(defined($short) && $long) {
+ $opt = "-$short, --$long";
+ }
+ elsif($short && !$long) {
+ $opt = "-$short";
+ }
+ elsif($long && !$short) {
+ $opt = "--$long";
+ }
+
+ if($arg) {
+ $opt .= " $arg";
+ }
+
+ if($standalone) {
+ print ".TH curl 1 \"30 Nov 2016\" \"curl 7.52.0\" \"curl manual\"\n";
+ print ".SH OPTION\n";
+ print "curl $opt\n";
+ }
+ else {
+ print ".IP \"$opt\"\n";
+ }
+ if($protocols) {
+ print protocols($standalone, $protocols);
+ }
+
+ if($standalone) {
+ print ".SH DESCRIPTION\n";
+ }
+
+ printdesc(@desc);
+ undef @desc;
+
+ my @foot;
+ if($seealso) {
+ my @m=split(/ /, $seealso);
+ my $mstr;
+ for my $k (@m) {
+ my $l = manpageify($k);
+ $mstr .= sprintf "%s$l", $mstr?" and ":"";
+ }
+ push @foot, seealso($standalone, $mstr);
+ }
+ if($requires) {
+ my $l = manpageify($long);
+ push @foot, "$l requires that the underlying libcurl".
+ " was built to support $requires. ";
+ }
+ if($mutexed) {
+ my @m=split(/ /, $mutexed);
+ my $mstr;
+ for my $k (@m) {
+ my $l = manpageify($k);
+ $mstr .= sprintf "%s$l", $mstr?" and ":"";
+ }
+ push @foot, overrides($standalone, "This option overrides $mstr. ");
+ }
+ if($added) {
+ push @foot, added($standalone, $added);
+ }
+ if($foot[0]) {
+ print "\n";
+ my $f = join("", @foot);
+ $f =~ s/ +\z//; # remove trailing space
+ print "$f\n";
+ }
+ return 0;
+}
+
+sub getshortlong {
+ my ($f)=@_;
+ open(F, "<:crlf", "$some_dir/$f");
+ my $short;
+ my $long;
+ my $help;
+ my $arg;
+ my $protocols;
+ while(<F>) {
+ if(/^Short: (.)/i) {
+ $short=$1;
+ }
+ elsif(/^Long: (.*)/i) {
+ $long=$1;
+ }
+ elsif(/^Help: (.*)/i) {
+ $help=$1;
+ }
+ elsif(/^Arg: (.*)/i) {
+ $arg=$1;
+ }
+ elsif(/^Protocols: (.*)/i) {
+ $protocols=$1;
+ }
+ elsif(/^---/) {
+ last;
+ }
+ }
+ close(F);
+ if($short) {
+ $optshort{$short}=$long;
+ }
+ if($long) {
+ $optlong{$long}=$short;
+ $helplong{$long}=$help;
+ $arglong{$long}=$arg;
+ $protolong{$long}=$protocols;
+ }
+}
+
+sub indexoptions {
+ foreach my $f (@s) {
+ getshortlong($f);
+ }
+}
+
+sub header {
+ my ($f)=@_;
+ open(F, "<:crlf", "$some_dir/$f");
+ my @d;
+ while(<F>) {
+ push @d, $_;
+ }
+ close(F);
+ printdesc(@d);
+}
+
+sub listhelp {
+ foreach my $f (sort keys %helplong) {
+ my $long = $f;
+ my $short = $optlong{$long};
+ my $opt;
+
+ if(defined($short) && $long) {
+ $opt = "-$short, --$long";
+ }
+ elsif($long && !$short) {
+ $opt = " --$long";
+ }
+
+ my $arg = $arglong{$long};
+ if($arg) {
+ $opt .= " $arg";
+ }
+
+ my $line = sprintf " %-19s %s\n", $opt, $helplong{$f};
+
+ if(length($line) > 79) {
+ print STDERR "WARN: the --$long line is too long\n";
+ }
+ print $line;
+ }
+}
+
+sub mainpage {
+ # show the page header
+ header("page-header");
+
+ # output docs for all options
+ foreach my $f (sort @s) {
+ single($f, 0);
+ }
+
+ header("page-footer");
+}
+
+sub showonly {
+ my ($f) = @_;
+ if(single($f, 1)) {
+ print STDERR "$f: failed\n";
+ }
+}
+
+sub showprotocols {
+ my %prots;
+ foreach my $f (keys %optlong) {
+ my @p = split(/ /, $protolong{$f});
+ for my $p (@p) {
+ $prots{$p}++;
+ }
+ }
+ for(sort keys %prots) {
+ printf "$_ (%d options)\n", $prots{$_};
+ }
+}
+
+sub getargs {
+ my $f;
+ do {
+ $f = shift @ARGV;
+ if($f eq "mainpage") {
+ mainpage();
+ return;
+ }
+ elsif($f eq "listhelp") {
+ listhelp();
+ return;
+ }
+ elsif($f eq "single") {
+ showonly(shift @ARGV);
+ return;
+ }
+ elsif($f eq "protos") {
+ showprotocols();
+ return;
+ }
+ } while($f);
+
+ print "Usage: gen.pl <mainpage/listhelp/single FILE/protos> [srcdir]\n";
+}
+
+#------------------------------------------------------------------------
+
+# learn all existing options
+indexoptions();
+
+getargs();
+
diff --git a/docs/cmdline-opts/get.d b/docs/cmdline-opts/get.d
new file mode 100644
index 000000000..be7cb25f0
--- /dev/null
+++ b/docs/cmdline-opts/get.d
@@ -0,0 +1,15 @@
+Long: get
+Short: G
+Help: Put the post data in the URL and use GET
+---
+When used, this option will make all data specified with --data, --data-binary
+or --data-urlencode to be used in an HTTP GET request instead of the POST
+request that otherwise would be used. The data will be appended to the URL
+with a '?' separator.
+
+If used in combination with --head, the POST data will instead be appended to
+the URL with a HEAD request.
+
+If this option is used several times, only the first one is used. This is
+because undoing a GET doesn't make sense, but you should then instead enforce
+the alternative method you prefer.
diff --git a/docs/cmdline-opts/globoff.d b/docs/cmdline-opts/globoff.d
new file mode 100644
index 000000000..fff6516b6
--- /dev/null
+++ b/docs/cmdline-opts/globoff.d
@@ -0,0 +1,8 @@
+Long: globoff
+Short: g
+Help: Disable URL sequences and ranges using {} and []
+---
+This option switches off the "URL globbing parser". When you set this option,
+you can specify URLs that contain the letters {}[] without having them being
+interpreted by curl itself. Note that these letters are not normal legal URL
+contents but they should be encoded according to the URI standard.
diff --git a/docs/cmdline-opts/head.d b/docs/cmdline-opts/head.d
new file mode 100644
index 000000000..350a100f6
--- /dev/null
+++ b/docs/cmdline-opts/head.d
@@ -0,0 +1,8 @@
+Long: head
+Short: I
+Help: Show document info only
+Protocols: HTTP FTP FILE
+---
+Fetch the headers only! HTTP-servers feature the command HEAD which this uses
+to get nothing but the header of a document. When used on an FTP or FILE file,
+curl displays the file size and last modification time only.
diff --git a/docs/cmdline-opts/header.d b/docs/cmdline-opts/header.d
new file mode 100644
index 000000000..90af7359e
--- /dev/null
+++ b/docs/cmdline-opts/header.d
@@ -0,0 +1,38 @@
+Long: header
+Short: H
+Arg: <header>
+Help: Pass custom header LINE to server
+Protocols: HTTP
+---
+
+Extra header to include in the request when sending HTTP to a server. You may
+specify any number of extra headers. Note that if you should add a custom
+header that has the same name as one of the internal ones curl would use, your
+externally set header will be used instead of the internal one. This allows
+you to make even trickier stuff than curl would normally do. You should not
+replace internally set headers without knowing perfectly well what you're
+doing. Remove an internal header by giving a replacement without content on
+the right side of the colon, as in: -H \&"Host:". If you send the custom
+header with no-value then its header must be terminated with a semicolon, such
+as \-H \&"X-Custom-Header;" to send "X-Custom-Header:".
+
+curl will make sure that each header you add/replace is sent with the proper
+end-of-line marker, you should thus \fBnot\fP add that as a part of the header
+content: do not add newlines or carriage returns, they will only mess things up
+for you.
+
+See also the --user-agent and --referer options.
+
+Starting in 7.37.0, you need --proxy-header to send custom headers intended
+for a proxy.
+
+Example:
+
+ curl -H "X-First-Name: Joe" http://example.com/
+
+\fBWARNING\fP: headers set with this option will be set in all requests - even
+after redirects are followed, like when told with --location. This can lead to
+the header being sent to other hosts than the original host, so sensitive
+headers should be used with caution combined with following redirects.
+
+This option can be used multiple times to add/replace/remove multiple headers.
diff --git a/docs/cmdline-opts/help.d b/docs/cmdline-opts/help.d
new file mode 100644
index 000000000..64aa696d4
--- /dev/null
+++ b/docs/cmdline-opts/help.d
@@ -0,0 +1,6 @@
+Long: help
+Short: h
+Help: This help text
+---
+Usage help. This lists all current command line options with a short
+description.
diff --git a/docs/cmdline-opts/hostpubmd5.d b/docs/cmdline-opts/hostpubmd5.d
new file mode 100644
index 000000000..a85115803
--- /dev/null
+++ b/docs/cmdline-opts/hostpubmd5.d
@@ -0,0 +1,9 @@
+Long: hostpubmd5
+Arg: <md5>
+Help: Acceptable MD5 hash of the host public key
+Protocols: SFTP SCP
+Added: 7.17.1
+---
+Pass a string containing 32 hexadecimal digits. The string should
+be the 128 bit MD5 checksum of the remote host's public key, curl will refuse
+the connection with the host unless the md5sums match.
diff --git a/docs/cmdline-opts/http1.0.d b/docs/cmdline-opts/http1.0.d
new file mode 100644
index 000000000..d9bbd76f0
--- /dev/null
+++ b/docs/cmdline-opts/http1.0.d
@@ -0,0 +1,10 @@
+Short: 0
+Long: http1.0
+Tags: Versions
+Protocols: HTTP
+Added:
+Mutexed: http1.1 http2
+Help: Use HTTP 1.0
+---
+Tells curl to use HTTP version 1.0 instead of using its internally preferred
+HTTP version.
diff --git a/docs/cmdline-opts/http1.1.d b/docs/cmdline-opts/http1.1.d
new file mode 100644
index 000000000..f1e6b5c3b
--- /dev/null
+++ b/docs/cmdline-opts/http1.1.d
@@ -0,0 +1,8 @@
+Long: http1.1
+Tags: Versions
+Protocols: HTTP
+Added: 7.33.0
+Mutexed: http1.0 http2
+Help: Use HTTP 1.1
+---
+Tells curl to use HTTP version 1.1.
diff --git a/docs/cmdline-opts/http2-prior-knowledge.d b/docs/cmdline-opts/http2-prior-knowledge.d
new file mode 100644
index 000000000..f793f775d
--- /dev/null
+++ b/docs/cmdline-opts/http2-prior-knowledge.d
@@ -0,0 +1,12 @@
+Long: http2-prior-knowledge
+Tags: Versions
+Protocols: HTTP
+Added: 7.49.0
+Mutexed: http1.1 http1.0 http2
+Requires: HTTP/2
+Help: Use HTTP 2 without HTTP/1.1 Upgrade
+---
+Tells curl to issue its 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.
diff --git a/docs/cmdline-opts/http2.d b/docs/cmdline-opts/http2.d
new file mode 100644
index 000000000..04cff00a4
--- /dev/null
+++ b/docs/cmdline-opts/http2.d
@@ -0,0 +1,10 @@
+Long: http2
+Tags: Versions
+Protocols: HTTP
+Added: 7.33.0
+Mutexed: http1.1 http1.0 http2-prior-knowledge
+Requires: HTTP/2
+See-also: no-alpn
+Help: Use HTTP 2
+---
+Tells curl to use HTTP version 2.
diff --git a/docs/cmdline-opts/ignore-content-length.d b/docs/cmdline-opts/ignore-content-length.d
new file mode 100644
index 000000000..53524f518
--- /dev/null
+++ b/docs/cmdline-opts/ignore-content-length.d
@@ -0,0 +1,10 @@
+Long: ignore-content-length
+Help: Ignore the size of the remote resource
+Protocols: FTP HTTP
+---
+For HTTP, Ignore the Content-Length header. This is particularly useful for
+servers running Apache 1.x, which will report incorrect Content-Length for
+files larger than 2 gigabytes.
+
+For FTP (since 7.46.0), skip the RETR command to figure out the size before
+downloading a file.
diff --git a/docs/cmdline-opts/include.d b/docs/cmdline-opts/include.d
new file mode 100644
index 000000000..e55d51638
--- /dev/null
+++ b/docs/cmdline-opts/include.d
@@ -0,0 +1,7 @@
+Long: include
+Short: i
+Help: Include protocol headers in the output
+See-also: verbose
+---
+Include the HTTP-header in the output. The HTTP-header includes things like
+server-name, date of the document, HTTP-version and more...
diff --git a/docs/cmdline-opts/insecure.d b/docs/cmdline-opts/insecure.d
new file mode 100644
index 000000000..1dd0fa8c0
--- /dev/null
+++ b/docs/cmdline-opts/insecure.d
@@ -0,0 +1,12 @@
+Long: insecure
+Short: k
+Help: Allow insecure connections when using SSL
+Protocols: TLS
+---
+This option explicitly allows curl to perform "insecure" SSL connections and
+transfers. All SSL connections are attempted to be made secure by using the CA
+certificate bundle installed by default. This makes all connections considered
+\&"insecure" fail unless --insecure is used.
+
+See this online resource for further details:
+ https://curl.haxx.se/docs/sslcerts.html
diff --git a/docs/cmdline-opts/interface.d b/docs/cmdline-opts/interface.d
new file mode 100644
index 000000000..da84cd2b6
--- /dev/null
+++ b/docs/cmdline-opts/interface.d
@@ -0,0 +1,12 @@
+Long: interface
+Arg: <name>
+Help: Use network INTERFACE (or address)
+See-also: dns-interface
+---
+
+Perform an operation using a specified interface. You can enter interface
+name, IP address or host name. An example could look like:
+
+ curl --interface eth0:1 https://www.example.com/
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/ipv4.d b/docs/cmdline-opts/ipv4.d
new file mode 100644
index 000000000..9c40c8c3e
--- /dev/null
+++ b/docs/cmdline-opts/ipv4.d
@@ -0,0 +1,12 @@
+Short: 4
+Long: ipv4
+Tags: Versions
+Protocols:
+Added:
+Mutexed: ipv6
+Requires:
+See-also: http1.1 http2
+Help: Resolve names to IPv4 addresses
+---
+This option tells curl to resolve names to IPv4 addresses only, and not for
+example try IPv6.
diff --git a/docs/cmdline-opts/ipv6.d b/docs/cmdline-opts/ipv6.d
new file mode 100644
index 000000000..c2392e771
--- /dev/null
+++ b/docs/cmdline-opts/ipv6.d
@@ -0,0 +1,12 @@
+Short: 6
+Long: ipv6
+Tags: Versions
+Protocols:
+Added:
+Mutexed: ipv6
+Requires:
+See-also: http1.1 http2
+Help: Resolve names to IPv6 addresses
+---
+This option tells curl to resolve names to IPv6 addresses only, and not for
+example try IPv4.
diff --git a/docs/cmdline-opts/junk-session-cookies.d b/docs/cmdline-opts/junk-session-cookies.d
new file mode 100644
index 000000000..40ccd9c2d
--- /dev/null
+++ b/docs/cmdline-opts/junk-session-cookies.d
@@ -0,0 +1,10 @@
+Long: junk-session-cookies
+Short: j
+Help: Ignore session cookies read from file
+Protocols: HTTP
+See-also: cookie cookie-jar
+---
+When curl is told to read cookies from a given file, this option will make it
+discard all "session cookies". This will basically have the same effect as if
+a new session is started. Typical browsers always discard session cookies when
+they're closed down.
diff --git a/docs/cmdline-opts/keepalive-time.d b/docs/cmdline-opts/keepalive-time.d
new file mode 100644
index 000000000..c816e13ff
--- /dev/null
+++ b/docs/cmdline-opts/keepalive-time.d
@@ -0,0 +1,13 @@
+Long: keepalive-time
+Arg: <seconds>
+Help: Interval time for keepalive probes
+Added: 7.18.0
+---
+This option sets the time a connection needs to remain idle before sending
+keepalive probes and the time between individual keepalive probes. It is
+currently effective on operating systems offering the TCP_KEEPIDLE and
+TCP_KEEPINTVL socket options (meaning Linux, recent AIX, HP-UX and more). This
+option has no effect if --no-keepalive is used.
+
+If this option is used several times, the last one will be used. If
+unspecified, the option defaults to 60 seconds.
diff --git a/docs/cmdline-opts/key-type.d b/docs/cmdline-opts/key-type.d
new file mode 100644
index 000000000..bf39bcd35
--- /dev/null
+++ b/docs/cmdline-opts/key-type.d
@@ -0,0 +1,9 @@
+Long: key-type
+Arg: <type>
+Help: Private key file type (DER/PEM/ENG)
+Protocols: TLS
+---
+Private key file type. Specify which type your --key provided private key
+is. DER, PEM, and ENG are supported. If not specified, PEM is assumed.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/key.d b/docs/cmdline-opts/key.d
new file mode 100644
index 000000000..fbf583af0
--- /dev/null
+++ b/docs/cmdline-opts/key.d
@@ -0,0 +1,10 @@
+Long: key
+Arg: <key>
+Protocols: TLS SSH
+Help: Private key file name
+---
+Private key file name. Allows you to provide your private key in this separate
+file. For SSH, if not specified, curl tries the following candidates in order:
+'~/.ssh/id_rsa', '~/.ssh/id_dsa', './id_rsa', './id_dsa'.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/krb.d b/docs/cmdline-opts/krb.d
new file mode 100644
index 000000000..19547af08
--- /dev/null
+++ b/docs/cmdline-opts/krb.d
@@ -0,0 +1,11 @@
+Long: krb
+Arg: <level>
+Help: Enable Kerberos with security <level>
+Protocols: FTP
+Requires: Kerberos
+---
+Enable Kerberos authentication and use. The level must be entered and should
+be one of 'clear', 'safe', 'confidential', or 'private'. Should you use a
+level that is not one of these, 'private' will instead be used.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/libcurl.d b/docs/cmdline-opts/libcurl.d
new file mode 100644
index 000000000..ef132fe74
--- /dev/null
+++ b/docs/cmdline-opts/libcurl.d
@@ -0,0 +1,11 @@
+Long: libcurl
+Arg: <file>
+Help: Dump libcurl equivalent code of this command line
+Added: 7.16.1
+---
+Append this option to any ordinary curl command line, and you will get a
+libcurl-using C source code written to the file that does the equivalent
+of what your command-line operation does!
+
+If this option is used several times, the last given file name will be
+used.
diff --git a/docs/cmdline-opts/limit-rate.d b/docs/cmdline-opts/limit-rate.d
new file mode 100644
index 000000000..8784a84d3
--- /dev/null
+++ b/docs/cmdline-opts/limit-rate.d
@@ -0,0 +1,18 @@
+Long: limit-rate
+Arg: <speed>
+Help: Limit transfer speed to RATE
+---
+Specify the maximum transfer rate you want curl to use - for both downloads
+and uploads. This feature is useful if you have a limited pipe and you'd like
+your transfer not to use your entire bandwidth. To make it slower than it
+otherwise would be.
+
+The given speed is measured in bytes/second, unless a suffix is appended.
+Appending 'k' or 'K' will count the number as kilobytes, 'm' or M' makes it
+megabytes, while 'g' or 'G' makes it gigabytes. Examples: 200K, 3m and 1G.
+
+If you also use the --speed-limit option, that option will take precedence and
+might cripple the rate-limiting slightly, to help keeping the speed-limit
+logic working.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/list-only.d b/docs/cmdline-opts/list-only.d
new file mode 100644
index 000000000..4c56304a0
--- /dev/null
+++ b/docs/cmdline-opts/list-only.d
@@ -0,0 +1,24 @@
+Long: list-only
+Short: l
+Protocols: FTP POP3
+Help: List only mode
+Added: 7.21.5
+---
+(FTP)
+When listing an FTP directory, this switch forces a name-only view. This is
+especially useful if the user wants to machine-parse the contents of an FTP
+directory since the normal directory view doesn't use a standard look or
+format. When used like this, the option causes a NLST command to be sent to
+the server instead of LIST.
+
+Note: Some FTP servers list only files in their response to NLST; they do not
+include sub-directories and symbolic links.
+
+(POP3)
+When retrieving a specific email from POP3, this switch forces a LIST command
+to be performed instead of RETR. This is particularly useful if the user wants
+to see if a specific message id exists on the server and what size it is.
+
+Note: When combined with --request, this option can be used to send an UIDL
+command instead, so the user may use the email's unique identifier rather than
+it's message id to make the request.
diff --git a/docs/cmdline-opts/local-port.d b/docs/cmdline-opts/local-port.d
new file mode 100644
index 000000000..d96b46eb8
--- /dev/null
+++ b/docs/cmdline-opts/local-port.d
@@ -0,0 +1,9 @@
+Long: local-port
+Arg: <num/range>
+Help: Force use of RANGE for local port numbers
+Added: 7.15.2
+---
+Set a preferred single number or range (FROM-TO) of local port numbers to use
+for the connection(s). Note that port numbers by nature are a scarce resource
+that will be busy at times so setting this range to something too narrow might
+cause unnecessary connection setup failures.
diff --git a/docs/cmdline-opts/location-trusted.d b/docs/cmdline-opts/location-trusted.d
new file mode 100644
index 000000000..995a8718a
--- /dev/null
+++ b/docs/cmdline-opts/location-trusted.d
@@ -0,0 +1,9 @@
+Long: location-trusted
+Help: Like --location, and send auth to other hosts
+Protocols: HTTP
+See-also: user
+---
+Like --location, but will allow sending the name + password to all hosts that
+the site may redirect to. This may or may not introduce a security breach if
+the site redirects you to a site to which you'll send your authentication info
+(which is plaintext in the case of HTTP Basic authentication).
diff --git a/docs/cmdline-opts/location.d b/docs/cmdline-opts/location.d
new file mode 100644
index 000000000..7c70e6981
--- /dev/null
+++ b/docs/cmdline-opts/location.d
@@ -0,0 +1,23 @@
+Long: location
+Short: L
+Help: Follow redirects
+Protocols: HTTP
+---
+If the server reports that the requested page has moved to a different
+location (indicated with a Location: header and a 3XX response code), this
+option will make curl redo the request on the new place. If used together with
+--include or --head, headers from all requested pages will be shown. When
+authentication is used, curl only sends its credentials to the initial
+host. If a redirect takes curl to a different host, it won't be able to
+intercept the user+password. See also --location-trusted on how to change
+this. You can limit the amount of redirects to follow by using the
+--max-redirs option.
+
+When curl follows a redirect and the request is not a plain GET (for example
+POST or PUT), it will do the following request with a GET if the HTTP response
+was 301, 302, or 303. If the response code was any other 3xx code, curl will
+re-send the following request using the same unmodified method.
+
+You can tell curl to not change the non-GET request method to GET after a 30x
+response by using the dedicated options for that: --post301, --post302 and
+--post303.
diff --git a/docs/cmdline-opts/login-options.d b/docs/cmdline-opts/login-options.d
new file mode 100644
index 000000000..8bad0511d
--- /dev/null
+++ b/docs/cmdline-opts/login-options.d
@@ -0,0 +1,14 @@
+Long: login-options
+Arg: <options>
+Protocols: IMAP POP3 SMTP
+Help: Server login options
+Added: 7.34.0
+---
+Specify the login options to use during server authentication.
+
+You can use the login options to specify protocol specific options that may
+be used during authentication. At present only IMAP, POP3 and SMTP support
+login options. For more information about the login options please see
+RFC 2384, RFC 5092 and IETF draft draft-earhart-url-smtp-00.txt
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/mail-auth.d b/docs/cmdline-opts/mail-auth.d
new file mode 100644
index 000000000..70cf0eda4
--- /dev/null
+++ b/docs/cmdline-opts/mail-auth.d
@@ -0,0 +1,10 @@
+Long: mail-auth
+Arg: <address>
+Protocols: SMTP
+Help: Originator address of the original email
+Added: 7.25.0
+See-also: mail-rcpt mail-from
+---
+Specify a single address. This will be used to specify the authentication
+address (identity) of a submitted message that is being relayed to another
+server.
diff --git a/docs/cmdline-opts/mail-from.d b/docs/cmdline-opts/mail-from.d
new file mode 100644
index 000000000..1d932344c
--- /dev/null
+++ b/docs/cmdline-opts/mail-from.d
@@ -0,0 +1,8 @@
+Long: mail-from
+Arg: <address>
+Help: Mail from this address
+Protocols: SMTP
+Added: 7.20.0
+See-also: mail-rcpt mail-auth
+---
+Specify a single address that the given mail should get sent from.
diff --git a/docs/cmdline-opts/mail-rcpt.d b/docs/cmdline-opts/mail-rcpt.d
new file mode 100644
index 000000000..d747ceabf
--- /dev/null
+++ b/docs/cmdline-opts/mail-rcpt.d
@@ -0,0 +1,19 @@
+Long: mail-rcpt
+Arg: <address>
+Help: Mail from this address
+Protocols: SMTP
+Added: 7.20.0
+---
+Specify a single address, user name or mailing list name. Repeat this
+option several times to send to multiple recipients.
+
+When performing a mail transfer, the recipient should specify a valid email
+address to send the mail to.
+
+When performing an address verification (VRFY command), the recipient should be
+specified as the user name or user name and domain (as per Section 3.5 of
+RFC5321). (Added in 7.34.0)
+
+When performing a mailing list expand (EXPN command), the recipient should be
+specified using the mailing list name, such as "Friends" or "London-Office".
+(Added in 7.34.0)
diff --git a/docs/cmdline-opts/manual.d b/docs/cmdline-opts/manual.d
new file mode 100644
index 000000000..a9dbb0c78
--- /dev/null
+++ b/docs/cmdline-opts/manual.d
@@ -0,0 +1,5 @@
+Long: manual
+Short: M
+Help: Display the full manual
+---
+Manual. Display the huge help text.
diff --git a/docs/cmdline-opts/max-filesize.d b/docs/cmdline-opts/max-filesize.d
new file mode 100644
index 000000000..e92ef5837
--- /dev/null
+++ b/docs/cmdline-opts/max-filesize.d
@@ -0,0 +1,12 @@
+Long: max-filesize
+Arg: <bytes>
+Help: Maximum file size to download
+See-also: limit-rate
+---
+Specify the maximum size (in bytes) of a file to download. If the file
+requested is larger than this value, the transfer will not start and curl will
+return with exit code 63.
+
+\fBNOTE:\fP The file size is not always known prior to download, and for such
+files this option has no effect even if the file transfer ends up being larger
+than this given limit. This concerns both FTP and HTTP transfers.
diff --git a/docs/cmdline-opts/max-redirs.d b/docs/cmdline-opts/max-redirs.d
new file mode 100644
index 000000000..04b824bd2
--- /dev/null
+++ b/docs/cmdline-opts/max-redirs.d
@@ -0,0 +1,11 @@
+Long: max-redirs
+Arg: <num>
+Help: Maximum number of redirects allowed
+Protocols: HTTP
+---
+Set maximum number of redirection-followings allowed. When --location is used,
+is used to prevent curl from following redirections \&"in absurdum". By
+default, the limit is set to 50 redirections. Set this option to -1 to make it
+unlimited.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/max-time.d b/docs/cmdline-opts/max-time.d
new file mode 100644
index 000000000..c22343d32
--- /dev/null
+++ b/docs/cmdline-opts/max-time.d
@@ -0,0 +1,13 @@
+Long: max-time
+Short: m
+Arg: <time>
+Help: Maximum time allowed for the transfer
+See-also: connect-timeout
+---
+Maximum time in seconds that you allow the whole operation to take. This is
+useful for preventing your batch jobs from hanging for hours due to slow
+networks or links going down. Since 7.32.0, this option accepts decimal
+values, but the actual timeout will decrease in accuracy as the specified
+timeout increases in decimal precision.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/metalink.d b/docs/cmdline-opts/metalink.d
new file mode 100644
index 000000000..8047e9f51
--- /dev/null
+++ b/docs/cmdline-opts/metalink.d
@@ -0,0 +1,27 @@
+Long: metalink
+Help: Process given URLs as metalink XML file
+Added: 7.27.0
+Requires: metalink
+---
+This option can tell curl to parse and process a given URI as Metalink file
+(both version 3 and 4 (RFC 5854) are supported) and make use of the mirrors
+listed within for failover if there are errors (such as the file or server not
+being available). It will also verify the hash of the file after the download
+completes. The Metalink file itself is downloaded and processed in memory and
+not stored in the local file system.
+
+Example to use a remote Metalink file:
+
+ curl --metalink http://www.example.com/example.metalink
+
+To use a Metalink file in the local file system, use FILE protocol (file://):
+
+ curl --metalink file://example.metalink
+
+Please note that if FILE protocol is disabled, there is no way to use a local
+Metalink file at the time of this writing. Also note that if --metalink and
+--include are used together, --include will be ignored. This is because
+including headers in the response will break Metalink parser and if the
+headers are included in the file described in Metalink file, hash check will
+fail.
+
diff --git a/docs/cmdline-opts/negotiate.d b/docs/cmdline-opts/negotiate.d
new file mode 100644
index 000000000..69a6b9170
--- /dev/null
+++ b/docs/cmdline-opts/negotiate.d
@@ -0,0 +1,15 @@
+Long: negotiate
+Help: Use HTTP Negotiate (SPNEGO) authentication
+Protocols: HTTP
+See-also: basic ntlm anyauth proxy-negotiate
+---
+Enables Negotiate (SPNEGO) authentication.
+
+This option requires a library built with GSS-API or SSPI support. Use
+--version to see if your curl supports GSS-API/SSPI or SPNEGO.
+
+When using this option, you must also provide a fake --user option to activate
+the authentication code properly. Sending a '-u :' is enough as the user name
+and password from the --user option aren't actually used.
+
+If this option is used several times, only the first one is used.
diff --git a/docs/cmdline-opts/netrc-file.d b/docs/cmdline-opts/netrc-file.d
new file mode 100644
index 000000000..4118b4dba
--- /dev/null
+++ b/docs/cmdline-opts/netrc-file.d
@@ -0,0 +1,12 @@
+Long: netrc-file
+Help: Specify FILE for netrc
+Arg: <filemame>
+Added: 7.21.5
+Mutexed: netrc
+---
+This option is similar to --netrc, except that you provide the path (absolute
+or relative) to the netrc file that Curl should use. You can only specify one
+netrc file per invocation. If several --netrc-file options are provided,
+the last one will be used.
+
+It will abide by --netrc-optional if specified.
diff --git a/docs/cmdline-opts/netrc-optional.d b/docs/cmdline-opts/netrc-optional.d
new file mode 100644
index 000000000..c28540309
--- /dev/null
+++ b/docs/cmdline-opts/netrc-optional.d
@@ -0,0 +1,7 @@
+Long: netrc-optional
+Help: Use either .netrc or URL
+Mutexed: netrc
+See-also: netrc-file
+---
+Very similar to --netrc, but this option makes the .netrc usage \fBoptional\fP
+and not mandatory as the --netrc option does.
diff --git a/docs/cmdline-opts/netrc.d b/docs/cmdline-opts/netrc.d
new file mode 100644
index 000000000..2df26782c
--- /dev/null
+++ b/docs/cmdline-opts/netrc.d
@@ -0,0 +1,17 @@
+Long: netrc
+Short: n
+Help: Must read .netrc for user name and password
+---
+Makes curl scan the \fI.netrc\fP (\fI_netrc\fP on Windows) file in the user's
+home directory for login name and password. This is typically used for FTP on
+Unix. If used with HTTP, curl will enable user authentication. See
+\fInetrc(5)\fP \fIftp(1)\fP for details on the file format. Curl will not
+complain if that file doesn't have the right permissions (it should not be
+either world- or group-readable). The environment variable "HOME" is used to
+find the home directory.
+
+A quick and very simple example of how to setup a \fI.netrc\fP to allow curl
+to FTP to the machine host.domain.com with user name \&'myself' and password
+\&'secret' should look similar to:
+
+.B "machine host.domain.com login myself password secret"
diff --git a/docs/cmdline-opts/next.d b/docs/cmdline-opts/next.d
new file mode 100644
index 000000000..1d1e70a35
--- /dev/null
+++ b/docs/cmdline-opts/next.d
@@ -0,0 +1,20 @@
+Short: :
+Long: next
+Tags:
+Protocols:
+Added: 7.36.0
+Magic: divider
+Help: Make next URL use its separate set of options
+---
+Tells curl to use a separate operation for the following URL and associated
+options. This allows you to send several URL requests, each with their own
+specific options, for example, such as different user names or custom requests
+for each.
+
+--next will reset all local options and only global ones will have their
+values survive over to the operation following the --next instruction. Global
+options include --verbose, --trace, --trace-ascii and --fail-early.
+
+For example, you can do both a GET and a POST in a single command line:
+
+ curl www1.example.com --next -d postthis www2.example.com
diff --git a/docs/cmdline-opts/no-alpn.d b/docs/cmdline-opts/no-alpn.d
new file mode 100644
index 000000000..88abb8368
--- /dev/null
+++ b/docs/cmdline-opts/no-alpn.d
@@ -0,0 +1,11 @@
+Long: no-alpn
+Tags: HTTP/2
+Protocols: HTTPS
+Added: 7.36.0
+See-also: no-npn http2
+Requires: TLS
+Help: Disable the ALPN TLS extension
+---
+Disable the ALPN TLS extension. ALPN is enabled by default if libcurl was built
+with an SSL library that supports ALPN. ALPN is used by a libcurl that supports
+HTTP/2 to negotiate HTTP/2 support with the server during https sessions.
diff --git a/docs/cmdline-opts/no-buffer.d b/docs/cmdline-opts/no-buffer.d
new file mode 100644
index 000000000..65a6282f6
--- /dev/null
+++ b/docs/cmdline-opts/no-buffer.d
@@ -0,0 +1,11 @@
+Long: no-buffer
+Short: N
+Help: Disable buffering of the output stream
+---
+Disables the buffering of the output stream. In normal work situations, curl
+will use a standard buffered output stream that will have the effect that it
+will output the data in chunks, not necessarily exactly when the data arrives.
+Using this option will disable that buffering.
+
+Note that this is the negated option name documented. You can thus use
+--buffer to enforce the buffering.
diff --git a/docs/cmdline-opts/no-keepalive.d b/docs/cmdline-opts/no-keepalive.d
new file mode 100644
index 000000000..7eb3d639c
--- /dev/null
+++ b/docs/cmdline-opts/no-keepalive.d
@@ -0,0 +1,8 @@
+Long: no-keepalive
+Help: Disable TCP keepalive on the connection
+---
+Disables the use of keepalive messages on the TCP connection. curl otherwis
+enables them by default.
+
+Note that this is the negated option name documented. You can thus use
+--keepalive to enforce keepalive.
diff --git a/docs/cmdline-opts/no-npn.d b/docs/cmdline-opts/no-npn.d
new file mode 100644
index 000000000..ab0f6de2e
--- /dev/null
+++ b/docs/cmdline-opts/no-npn.d
@@ -0,0 +1,12 @@
+Long: no-npn
+Tags: Versions HTTP/2
+Protocols: HTTPS
+Added: 7.36.0
+Mutexed:
+See-also: no-alpn http2
+Requires: TLS
+Help: Disable the NPN TLS extension
+---
+Disable the NPN TLS extension. NPN is enabled by default if libcurl was built
+with an SSL library that supports NPN. NPN is used by a libcurl that supports
+HTTP/2 to negotiate HTTP/2 support with the server during https sessions.
diff --git a/docs/cmdline-opts/no-sessionid.d b/docs/cmdline-opts/no-sessionid.d
new file mode 100644
index 000000000..397a15869
--- /dev/null
+++ b/docs/cmdline-opts/no-sessionid.d
@@ -0,0 +1,13 @@
+Long: no-sessionid
+Help: Disable SSL session-ID reusing
+Protocols: TLS
+Added: 7.16.0
+---
+Disable curl's use of SSL session-ID caching. By default all transfers are
+done using the cache. Note that while nothing should ever get hurt by
+attempting to reuse SSL session-IDs, there seem to be broken SSL
+implementations in the wild that may require you to disable this in order for
+you to succeed.
+
+Note that this is the negated option name documented. You can thus use
+--sessionid to enforce session-ID caching.
diff --git a/docs/cmdline-opts/noproxy.d b/docs/cmdline-opts/noproxy.d
new file mode 100644
index 000000000..a216e75f4
--- /dev/null
+++ b/docs/cmdline-opts/noproxy.d
@@ -0,0 +1,15 @@
+Long: noproxy
+Arg: <no-proxy-list>
+Help: List of hosts which do not use proxy
+Added: 7.19.4
+---
+Comma-separated list of hosts which do not use a proxy, if one is specified.
+The only wildcard is a single * character, which matches all hosts, and
+effectively disables the proxy. Each name in this list is matched as either
+a domain which contains the hostname, or the hostname itself. For example,
+local.com would match local.com, local.com:80, and www.local.com, but not
+www.notlocal.com.
+
+Since 7.53.0, This option overrides the environment variables that disable the
+proxy. If there's an environment variable disabling a proxy, you can set
+noproxy list to \&"" to override it.
diff --git a/docs/cmdline-opts/ntlm-wb.d b/docs/cmdline-opts/ntlm-wb.d
new file mode 100644
index 000000000..7b9338408
--- /dev/null
+++ b/docs/cmdline-opts/ntlm-wb.d
@@ -0,0 +1,7 @@
+Long: ntlm-wb
+Help: Use HTTP NTLM authentication with winbind
+Protocols: HTTP
+See-also: ntlm proxy-ntlm
+---
+Enables NTLM much in the style --ntlm does, but hand over the authentication
+to the separate binary ntlmauth application that is executed when needed.
diff --git a/docs/cmdline-opts/ntlm.d b/docs/cmdline-opts/ntlm.d
new file mode 100644
index 000000000..d71cd43fe
--- /dev/null
+++ b/docs/cmdline-opts/ntlm.d
@@ -0,0 +1,18 @@
+Long: ntlm
+Help: Use HTTP NTLM authentication
+Mutexed: basic negotiated digest anyauth
+See-also: proxy-ntlm
+Protocols: HTTP
+Requires: TLS
+---
+Enables NTLM authentication. The NTLM authentication method was designed by
+Microsoft and is used by IIS web servers. It is a proprietary protocol,
+reverse-engineered by clever people and implemented in curl based on their
+efforts. This kind of behavior should not be endorsed, you should encourage
+everyone who uses NTLM to switch to a public and documented authentication
+method instead, such as Digest.
+
+If you want to enable NTLM for your proxy authentication, then use
+--proxy-ntlm.
+
+If this option is used several times, only the first one is used.
diff --git a/docs/cmdline-opts/oauth2-bearer.d b/docs/cmdline-opts/oauth2-bearer.d
new file mode 100644
index 000000000..adad532c7
--- /dev/null
+++ b/docs/cmdline-opts/oauth2-bearer.d
@@ -0,0 +1,11 @@
+Long: oauth2-bearer
+Help: OAuth 2 Bearer Token
+Protocols: IMAP POP3 SMTP
+---
+Specify the Bearer Token for OAUTH 2.0 server authentication. The Bearer Token
+is used in conjunction with the user name which can be specified as part of
+the --url or --user options.
+
+The Bearer Token and user name are formatted according to RFC 6750.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/output.d b/docs/cmdline-opts/output.d
new file mode 100644
index 000000000..35f52a213
--- /dev/null
+++ b/docs/cmdline-opts/output.d
@@ -0,0 +1,32 @@
+Long: output
+Arg: <file>
+Short: o
+Help: Write to file instead of stdout
+See-also: remote-name remote-name-all remote-header-name
+---
+Write output to <file> instead of stdout. If you are using {} or [] to fetch
+multiple documents, you can use '#' followed by a number in the <file>
+specifier. That variable will be replaced with the current string for the URL
+being fetched. Like in:
+
+ curl http://{one,two}.example.com -o "file_#1.txt"
+
+or use several variables like:
+
+ curl http://{site,host}.host[1-5].com -o "#1_#2"
+
+You may use this option as many times as the number of URLs you have. For
+example, if you specify two URLs on the same command line, you can use it like
+this:
+
+ curl -o aa example.com -o bb example.net
+
+and the order of the -o options and the URLs doesn't matter, just that the
+first -o is for the first URL and so on, so the above command line can also be
+written as
+
+ curl example.com example.net -o aa -o bb
+
+See also the --create-dirs option to create the local directories
+dynamically. Specifying the output as '-' (a single dash) will force the
+output to be done to stdout.
diff --git a/docs/cmdline-opts/page-footer b/docs/cmdline-opts/page-footer
new file mode 100644
index 000000000..55aefb23c
--- /dev/null
+++ b/docs/cmdline-opts/page-footer
@@ -0,0 +1,244 @@
+.SH FILES
+.I ~/.curlrc
+.RS
+Default config file, see --config for details.
+.SH ENVIRONMENT
+The environment variables can be specified in lower case or upper case. The
+lower case version has precedence. http_proxy is an exception as it is only
+available in lower case.
+
+Using an environment variable to set the proxy has the same effect as using
+the --proxy option.
+
+.IP "http_proxy [protocol://]<host>[:port]"
+Sets the proxy server to use for HTTP.
+.IP "HTTPS_PROXY [protocol://]<host>[:port]"
+Sets the proxy server to use for HTTPS.
+.IP "[url-protocol]_PROXY [protocol://]<host>[:port]"
+Sets the proxy server to use for [url-protocol], where the protocol is a
+protocol that curl supports and as specified in a URL. FTP, FTPS, POP3, IMAP,
+SMTP, LDAP etc.
+.IP "ALL_PROXY [protocol://]<host>[:port]"
+Sets the proxy server to use if no protocol-specific proxy is set.
+.IP "NO_PROXY <comma-separated list of hosts>"
+list of host names that shouldn't go through any proxy. If set to a asterisk
+\&'*' only, it matches all hosts.
+
+Since 7.53.0, this environment variable disable the proxy even if specify
+--proxy option. That is
+.B NO_PROXY=direct.example.com curl -x http://proxy.example.com
+.B http://direct.example.com
+accesses the target URL directly, and
+.B NO_PROXY=direct.example.com curl -x http://proxy.example.com
+.B http://somewhere.example.com
+accesses the target URL through proxy.
+
+.SH "PROXY PROTOCOL PREFIXES"
+Since curl version 7.21.7, the proxy string may be specified with a
+protocol:// prefix to specify alternative proxy protocols.
+
+If no protocol is specified in the proxy string or if the string doesn't match
+a supported one, the proxy will be treated as an HTTP proxy.
+
+The supported proxy protocol prefixes are as follows:
+.IP "socks4://"
+Makes it the equivalent of --socks4
+.IP "socks4a://"
+Makes it the equivalent of --socks4a
+.IP "socks5://"
+Makes it the equivalent of --socks5
+.IP "socks5h://"
+Makes it the equivalent of --socks5-hostname
+.SH EXIT CODES
+There are a bunch of different error codes and their corresponding error
+messages that may appear during bad conditions. At the time of this writing,
+the exit codes are:
+.IP 1
+Unsupported protocol. This build of curl has no support for this protocol.
+.IP 2
+Failed to initialize.
+.IP 3
+URL malformed. The syntax was not correct.
+.IP 4
+A feature or option that was needed to perform the desired request was not
+enabled or was explicitly disabled at build-time. To make curl able to do
+this, you probably need another build of libcurl!
+.IP 5
+Couldn't resolve proxy. The given proxy host could not be resolved.
+.IP 6
+Couldn't resolve host. The given remote host was not resolved.
+.IP 7
+Failed to connect to host.
+.IP 8
+Weird server reply. The server sent data curl couldn't parse.
+.IP 9
+FTP access denied. The server denied login or denied access to the particular
+resource or directory you wanted to reach. Most often you tried to change to a
+directory that doesn't exist on the server.
+.IP 10
+FTP accept failed. While waiting for the server to connect back when an active
+FTP session is used, an error code was sent over the control connection or
+similar.
+.IP 11
+FTP weird PASS reply. Curl couldn't parse the reply sent to the PASS request.
+.IP 12
+During an active FTP session while waiting for the server to connect back to
+curl, the timeout expired.
+.IP 13
+FTP weird PASV reply, Curl couldn't parse the reply sent to the PASV request.
+.IP 14
+FTP weird 227 format. Curl couldn't parse the 227-line the server sent.
+.IP 15
+FTP can't get host. Couldn't resolve the host IP we got in the 227-line.
+.IP 16
+HTTP/2 error. A problem was detected in the HTTP2 framing layer. This is
+somewhat generic and can be one out of several problems, see the error message
+for details.
+.IP 17
+FTP couldn't set binary. Couldn't change transfer method to binary.
+.IP 18
+Partial file. Only a part of the file was transferred.
+.IP 19
+FTP couldn't download/access the given file, the RETR (or similar) command
+failed.
+.IP 21
+FTP quote error. A quote command returned error from the server.
+.IP 22
+HTTP page not retrieved. The requested url was not found or returned another
+error with the HTTP error code being 400 or above. This return code only
+appears if --fail is used.
+.IP 23
+Write error. Curl couldn't write data to a local filesystem or similar.
+.IP 25
+FTP couldn't STOR file. The server denied the STOR operation, used for FTP
+uploading.
+.IP 26
+Read error. Various reading problems.
+.IP 27
+Out of memory. A memory allocation request failed.
+.IP 28
+Operation timeout. The specified time-out period was reached according to the
+conditions.
+.IP 30
+FTP PORT failed. The PORT command failed. Not all FTP servers support the PORT
+command, try doing a transfer using PASV instead!
+.IP 31
+FTP couldn't use REST. The REST command failed. This command is used for
+resumed FTP transfers.
+.IP 33
+HTTP range error. The range "command" didn't work.
+.IP 34
+HTTP post error. Internal post-request generation error.
+.IP 35
+SSL connect error. The SSL handshaking failed.
+.IP 36
+Bad download resume. Couldn't continue an earlier aborted download.
+.IP 37
+FILE couldn't read file. Failed to open the file. Permissions?
+.IP 38
+LDAP cannot bind. LDAP bind operation failed.
+.IP 39
+LDAP search failed.
+.IP 41
+Function not found. A required LDAP function was not found.
+.IP 42
+Aborted by callback. An application told curl to abort the operation.
+.IP 43
+Internal error. A function was called with a bad parameter.
+.IP 45
+Interface error. A specified outgoing interface could not be used.
+.IP 47
+Too many redirects. When following redirects, curl hit the maximum amount.
+.IP 48
+Unknown option specified to libcurl. This indicates that you passed a weird
+option to curl that was passed on to libcurl and rejected. Read up in the
+manual!
+.IP 49
+Malformed telnet option.
+.IP 51
+The peer's SSL certificate or SSH MD5 fingerprint was not OK.
+.IP 52
+The server didn't reply anything, which here is considered an error.
+.IP 53
+SSL crypto engine not found.
+.IP 54
+Cannot set SSL crypto engine as default.
+.IP 55
+Failed sending network data.
+.IP 56
+Failure in receiving network data.
+.IP 58
+Problem with the local certificate.
+.IP 59
+Couldn't use specified SSL cipher.
+.IP 60
+Peer certificate cannot be authenticated with known CA certificates.
+.IP 61
+Unrecognized transfer encoding.
+.IP 62
+Invalid LDAP URL.
+.IP 63
+Maximum file size exceeded.
+.IP 64
+Requested FTP SSL level failed.
+.IP 65
+Sending the data requires a rewind that failed.
+.IP 66
+Failed to initialise SSL Engine.
+.IP 67
+The user name, password, or similar was not accepted and curl failed to log in.
+.IP 68
+File not found on TFTP server.
+.IP 69
+Permission problem on TFTP server.
+.IP 70
+Out of disk space on TFTP server.
+.IP 71
+Illegal TFTP operation.
+.IP 72
+Unknown TFTP transfer ID.
+.IP 73
+File already exists (TFTP).
+.IP 74
+No such user (TFTP).
+.IP 75
+Character conversion failed.
+.IP 76
+Character conversion functions required.
+.IP 77
+Problem with reading the SSL CA cert (path? access rights?).
+.IP 78
+The resource referenced in the URL does not exist.
+.IP 79
+An unspecified error occurred during the SSH session.
+.IP 80
+Failed to shut down the SSL connection.
+.IP 82
+Could not load CRL file, missing or wrong format (added in 7.19.0).
+.IP 83
+Issuer check failed (added in 7.19.0).
+.IP 84
+The FTP PRET command failed
+.IP 85
+RTSP: mismatch of CSeq numbers
+.IP 86
+RTSP: mismatch of Session Identifiers
+.IP 87
+unable to parse FTP file list
+.IP 88
+FTP chunk callback reported error
+.IP 89
+No connection available, the session will be queued
+.IP 90
+SSL public key does not matched pinned public key
+.IP XX
+More error codes will appear here in future releases. The existing ones
+are meant to never change.
+.SH AUTHORS / CONTRIBUTORS
+Daniel Stenberg is the main author, but the whole list of contributors is
+found in the separate THANKS file.
+.SH WWW
+https://curl.haxx.se
+.SH "SEE ALSO"
+.BR ftp (1),
+.BR wget (1)
diff --git a/docs/cmdline-opts/page-header b/docs/cmdline-opts/page-header
new file mode 100644
index 000000000..ee5af1477
--- /dev/null
+++ b/docs/cmdline-opts/page-header
@@ -0,0 +1,141 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, 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.
+.\" *
+.\" **************************************************************************
+.\"
+.\" DO NOT EDIT. Generated by the curl project gen.pl man page generator.
+.\"
+.TH curl 1 "16 Dec 2016" "Curl 7.52.0" "Curl Manual"
+.SH NAME
+curl \- transfer a URL
+.SH SYNOPSIS
+.B curl [options]
+.I [URL...]
+.SH DESCRIPTION
+.B curl
+is a tool to transfer data from or to a server, using one of the supported
+protocols (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP,
+LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET
+and TFTP). The command is designed to work without user interaction.
+
+curl offers a busload of useful tricks like proxy support, user
+authentication, FTP upload, HTTP post, SSL connections, cookies, file transfer
+resume, Metalink, and more. As you will see below, the number of features will
+make your head spin!
+
+curl is powered by libcurl for all transfer-related features. See
+\fIlibcurl(3)\fP for details.
+.SH URL
+The URL syntax is protocol-dependent. You'll find a detailed description in
+RFC 3986.
+
+You can specify multiple URLs or parts of URLs by writing part sets within
+braces as in:
+
+ http://site.{one,two,three}.com
+
+or you can get sequences of alphanumeric series by using [] as in:
+
+ ftp://ftp.example.com/file[1-100].txt
+
+ ftp://ftp.example.com/file[001-100].txt (with leading zeros)
+
+ ftp://ftp.example.com/file[a-z].txt
+
+Nested sequences are not supported, but you can use several ones next to each
+other:
+
+ http://example.com/archive[1996-1999]/vol[1-4]/part{a,b,c}.html
+
+You can specify any amount of URLs on the command line. They will be fetched
+in a sequential manner in the specified order.
+
+You can specify a step counter for the ranges to get every Nth number or
+letter:
+
+ http://example.com/file[1-100:10].txt
+
+ http://example.com/file[a-z:2].txt
+
+When using [] or {} sequences when invoked from a command line prompt, you
+probably have to put the full URL within double quotes to avoid the shell from
+interfering with it. This also goes for other characters treated special, like
+for example '&', '?' and '*'.
+
+Provide the IPv6 zone index in the URL with an escaped percentage sign and the
+interface name. Like in
+
+ http://[fe80::3%25eth0]/
+
+If you specify URL without protocol:// prefix, curl will attempt to guess what
+protocol you might want. It will then default to HTTP but try other protocols
+based on often-used host name prefixes. For example, for host names starting
+with "ftp." curl will assume you want to speak FTP.
+
+curl will do its best to use what you pass to it as a URL. It is not trying to
+validate it as a syntactically correct URL by any means but is instead
+\fBvery\fP liberal with what it accepts.
+
+curl will attempt to re-use connections for multiple file transfers, so that
+getting many files from the same server will not do multiple connects /
+handshakes. This improves speed. Of course this is only done on files
+specified on a single command line and cannot be used between separate curl
+invokes.
+.SH "PROGRESS METER"
+curl normally displays a progress meter during operations, indicating the
+amount of transferred data, transfer speeds and estimated time left, etc. The
+progress meter displays number of bytes and the speeds are in bytes per
+second. The suffixes (k, M, G, T, P) are 1024 based. For example 1k is 1024
+bytes. 1M is 1048576 bytes.
+
+curl displays this data to the terminal by default, so if you invoke curl to
+do an operation and it is about to write data to the terminal, it
+\fIdisables\fP the progress meter as otherwise it would mess up the output
+mixing progress meter and response data.
+
+If you want a progress meter for HTTP POST or PUT requests, you need to
+redirect the response output to a file, using shell redirect (>), --output or
+similar.
+
+It is not the same case for FTP upload as that operation does not spit out
+any response data to the terminal.
+
+If you prefer a progress "bar" instead of the regular meter, --progress-bar is
+your friend. You can also disable the progress meter completely with the
+--silent option.
+.SH OPTIONS
+Options start with one or two dashes. Many of the options require an
+additional value next to them.
+
+The short "single-dash" form of the options, -d for example, may be used with
+or without a space between it and its value, although a space is a recommended
+separator. The long "double-dash" form, --data for example, requires a space
+between it and its value.
+
+Short version options that don't need any additional values can be used
+immediately next to each other, like for example you can specify all the
+options -O, -L and -v at once as -OLv.
+
+In general, all boolean options are enabled with --\fBoption\fP and yet again
+disabled with --\fBno-\fPoption. That is, you use the exact same option name
+but prefix it with "no-". However, in this list we mostly only list and show
+the --option version of them. (This concept with --no options was added in
+7.19.0. Previously most options were toggled on/off on repeated use of the
+same command line option.)
diff --git a/docs/cmdline-opts/pass.d b/docs/cmdline-opts/pass.d
new file mode 100644
index 000000000..2639cb9d0
--- /dev/null
+++ b/docs/cmdline-opts/pass.d
@@ -0,0 +1,8 @@
+Long: pass
+Arg: <phrase>
+Help: Pass phrase for the private key
+Protocols: SSH TLS
+---
+Passphrase for the private key
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/path-as-is.d b/docs/cmdline-opts/path-as-is.d
new file mode 100644
index 000000000..946e2f07a
--- /dev/null
+++ b/docs/cmdline-opts/path-as-is.d
@@ -0,0 +1,7 @@
+Long: path-as-is
+Help: Do not squash .. sequences in URL path
+Added: 7.42.0
+---
+Tell curl to not handle sequences of /../ or /./ in the given URL
+path. Normally curl will squash or merge them according to standards but with
+this option set you tell it not to do that.
diff --git a/docs/cmdline-opts/pinnedpubkey.d b/docs/cmdline-opts/pinnedpubkey.d
new file mode 100644
index 000000000..0657e6e79
--- /dev/null
+++ b/docs/cmdline-opts/pinnedpubkey.d
@@ -0,0 +1,27 @@
+Long: pinnedpubkey
+Arg: <hashes>
+Help: FILE/HASHES Public key to verify peer against
+Protocols: TLS
+---
+Tells curl to use the specified public key file (or hashes) to verify the
+peer. This can be a path to a file which contains a single public key in PEM
+or DER format, or any number of base64 encoded sha256 hashes preceded by
+\'sha256//\' and separated by \';\'
+
+When negotiating a TLS or SSL connection, the server 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.
+
+PEM/DER support:
+ 7.39.0: OpenSSL, GnuTLS and GSKit
+ 7.43.0: NSS and wolfSSL/CyaSSL
+ 7.47.0: mbedtls
+ 7.49.0: PolarSSL
+sha256 support:
+ 7.44.0: OpenSSL, GnuTLS, NSS and wolfSSL/CyaSSL.
+ 7.47.0: mbedtls
+ 7.49.0: PolarSSL
+Other SSL backends not supported.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/post301.d b/docs/cmdline-opts/post301.d
new file mode 100644
index 000000000..87a9fe7ed
--- /dev/null
+++ b/docs/cmdline-opts/post301.d
@@ -0,0 +1,11 @@
+Long: post301
+Help: Do not switch to GET after following a 301
+Protocols: HTTP
+See-also: post302 post303 location
+Added: 7.17.1
+---
+Tells curl to respect RFC 7231/6.4.2 and not convert POST requests into GET
+requests when following a 301 redirection. The non-RFC behaviour is ubiquitous
+in web browsers, so curl 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 using --location.
diff --git a/docs/cmdline-opts/post302.d b/docs/cmdline-opts/post302.d
new file mode 100644
index 000000000..caf0d87f1
--- /dev/null
+++ b/docs/cmdline-opts/post302.d
@@ -0,0 +1,11 @@
+Long: post302
+Help: Do not switch to GET after following a 302
+Protocols: HTTP
+See-also: post301 post303 location
+Added: 7.19.1
+---
+Tells curl to respect RFC 7231/6.4.3 and not convert POST requests into GET
+requests when following a 302 redirection. The non-RFC behaviour is ubiquitous
+in web browsers, so curl 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 using --location.
diff --git a/docs/cmdline-opts/post303.d b/docs/cmdline-opts/post303.d
new file mode 100644
index 000000000..f8a60ec5f
--- /dev/null
+++ b/docs/cmdline-opts/post303.d
@@ -0,0 +1,11 @@
+Long: post303
+Help: Do not switch to GET after following a 303
+Protocols: HTTP
+See-also: post302 post301 location
+Added: 7.26.0
+---
+Tells curl to respect RFC 7231/6.4.4 and not convert POST requests into GET
+requests when following a 303 redirection. The non-RFC behaviour is ubiquitous
+in web browsers, so curl 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 using --location.
diff --git a/docs/cmdline-opts/preproxy.d b/docs/cmdline-opts/preproxy.d
new file mode 100644
index 000000000..b8eb77fa4
--- /dev/null
+++ b/docs/cmdline-opts/preproxy.d
@@ -0,0 +1,22 @@
+Long: preproxy
+Arg: [protocol://]host[:port]
+Help: Use this proxy first
+Added: 7.52.0
+---
+Use the specified SOCKS proxy before connecting to an HTTP or HTTPS --proxy. In
+such a case curl first connects to the SOCKS proxy and then connects (through
+SOCKS) to the HTTP or HTTPS proxy. Hence pre proxy.
+
+The pre proxy string should be specified with a protocol:// prefix to specify
+alternative proxy protocols. Use socks4://, socks4a://, socks5:// or
+socks5h:// to request the specific SOCKS version to be used. No protocol
+specified will make curl default to SOCKS4.
+
+If the port number is not specified in the proxy string, it is assumed to be
+1080.
+
+User and password that might be provided in the proxy string are URL decoded
+by curl. This allows you to pass in special characters such as @ by using %40
+or pass in a colon with %3a.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/progress-bar.d b/docs/cmdline-opts/progress-bar.d
new file mode 100644
index 000000000..11e95b45e
--- /dev/null
+++ b/docs/cmdline-opts/progress-bar.d
@@ -0,0 +1,11 @@
+Short: #
+Long: progress-bar
+Help: Display transfer progress as a bar
+---
+Make curl display transfer progress as a simple progress bar instead of the
+standard, more informational, meter.
+
+This progress bar draws a single line of '#' characters across the screen and
+shows a percentage if the transfer size is known. For transfers without a
+known size, it will instead output one '#' character for every 1024 bytes
+transferred.
diff --git a/docs/cmdline-opts/proto-default.d b/docs/cmdline-opts/proto-default.d
new file mode 100644
index 000000000..ccc3b85f3
--- /dev/null
+++ b/docs/cmdline-opts/proto-default.d
@@ -0,0 +1,18 @@
+Long: proto-default
+Help: Use PROTOCOL for any URL missing a scheme
+Arg: <protocol>
+Added: 7.45.0
+---
+Tells curl to use \fIprotocol\fP for any URL missing a scheme name.
+
+Example:
+
+ curl --proto-default https ftp.mozilla.org
+
+An unknown or unsupported protocol causes error
+\fICURLE_UNSUPPORTED_PROTOCOL\fP (1).
+
+This option does not change the default proxy protocol (http).
+
+Without this option curl would make a guess based on the host, see --url for
+details.
diff --git a/docs/cmdline-opts/proto-redir.d b/docs/cmdline-opts/proto-redir.d
new file mode 100644
index 000000000..c9eeeab1d
--- /dev/null
+++ b/docs/cmdline-opts/proto-redir.d
@@ -0,0 +1,17 @@
+Long: proto-redir
+Arg: <protocols>
+Help: Enable/disable PROTOCOLS on redirect
+Added: 7.20.2
+---
+Tells curl to limit what protocols it may use on redirect. Protocols denied by
+--proto are not overridden by this option. See --proto for how protocols are
+represented.
+
+Example, allow only HTTP and HTTPS on redirect:
+
+ curl --proto-redir -all,http,https http://example.com
+
+By default curl will allow all protocols on redirect except several disabled
+for security reasons: Since 7.19.4 FILE and SCP are disabled, and since 7.40.0
+SMB and SMBS are also disabled. Specifying \fIall\fP or \fI+all\fP enables all
+protocols on redirect, including those disabled for security.
diff --git a/docs/cmdline-opts/proto.d b/docs/cmdline-opts/proto.d
new file mode 100644
index 000000000..1513fdc05
--- /dev/null
+++ b/docs/cmdline-opts/proto.d
@@ -0,0 +1,43 @@
+Long: proto
+Arg: <protocols>
+Help: Enable/disable PROTOCOLS
+See-also: proto-redir proto-default
+Added: 7.20.2
+---
+Tells curl to limit what protocols it may use in the transfer. Protocols are
+evaluated left to right, are comma separated, and are each a protocol name or
+'all', optionally prefixed by zero or more modifiers. Available modifiers are:
+.RS
+.TP 3
+.B +
+Permit this protocol in addition to protocols already permitted (this is
+the default if no modifier is used).
+.TP
+.B -
+Deny this protocol, removing it from the list of protocols already permitted.
+.TP
+.B =
+Permit only this protocol (ignoring the list already permitted), though
+subject to later modification by subsequent entries in the comma separated
+list.
+.RE
+.IP
+For example:
+.RS
+.TP 15
+.B --proto -ftps
+uses the default protocols, but disables ftps
+.TP
+.B --proto -all,https,+http
+only enables http and https
+.TP
+.B --proto =http,https
+also only enables http and https
+.RE
+
+Unknown protocols produce a warning. This allows scripts to safely rely on
+being able to disable potentially dangerous protocols, without relying upon
+support for that protocol being built into curl to avoid an error.
+
+This option can be used multiple times, in which case the effect is the same
+as concatenating the protocols into one instance of the option.
diff --git a/docs/cmdline-opts/proxy-anyauth.d b/docs/cmdline-opts/proxy-anyauth.d
new file mode 100644
index 000000000..b60d0a05e
--- /dev/null
+++ b/docs/cmdline-opts/proxy-anyauth.d
@@ -0,0 +1,7 @@
+Long: proxy-anyauth
+Help: Pick any proxy authentication method
+Added: 7.13.2
+See-also: proxy proxy-basic proxy-digest
+---
+Tells curl to pick a suitable authentication method when communicating with
+the given HTTP proxy. This might cause an extra request/response round-trip.
diff --git a/docs/cmdline-opts/proxy-basic.d b/docs/cmdline-opts/proxy-basic.d
new file mode 100644
index 000000000..566f890a9
--- /dev/null
+++ b/docs/cmdline-opts/proxy-basic.d
@@ -0,0 +1,7 @@
+Long: proxy-basic
+Help: Use Basic authentication on the proxy
+See-also: proxy proxy-anyauth proxy-digest
+---
+Tells curl to use HTTP Basic authentication when communicating with the given
+proxy. Use --basic for enabling HTTP Basic with a remote host. Basic is the
+default authentication method curl uses with proxies.
diff --git a/docs/cmdline-opts/proxy-cacert.d b/docs/cmdline-opts/proxy-cacert.d
new file mode 100644
index 000000000..2713dd2a4
--- /dev/null
+++ b/docs/cmdline-opts/proxy-cacert.d
@@ -0,0 +1,7 @@
+Long: proxy-cacert
+Help: CA certificate to verify peer against for proxy
+Arg: <file>
+Added: 7.52.0
+See-also: proxy-capath cacert capath proxy
+---
+Same as --cacert but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-capath.d b/docs/cmdline-opts/proxy-capath.d
new file mode 100644
index 000000000..177246aab
--- /dev/null
+++ b/docs/cmdline-opts/proxy-capath.d
@@ -0,0 +1,7 @@
+Long: proxy-capath
+Help: CA directory to verify peer against for proxy
+Arg: <dir>
+Added: 7.52.0
+See-also: proxy-cacert proxy capath
+---
+Same as --capath but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-cert-type.d b/docs/cmdline-opts/proxy-cert-type.d
new file mode 100644
index 000000000..8c9e7889b
--- /dev/null
+++ b/docs/cmdline-opts/proxy-cert-type.d
@@ -0,0 +1,6 @@
+Long: proxy-cert-type
+Arg: <type>
+Added: 7.52.0
+Help: Client certificate type for HTTS proxy
+---
+Same as --cert-type but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-cert.d b/docs/cmdline-opts/proxy-cert.d
new file mode 100644
index 000000000..43acd3950
--- /dev/null
+++ b/docs/cmdline-opts/proxy-cert.d
@@ -0,0 +1,6 @@
+Long: proxy-cert
+Arg: <cert[:passwd]>
+Help: Set client certificate for proxy
+Added: 7.52.0
+---
+Same as --cert but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-ciphers.d b/docs/cmdline-opts/proxy-ciphers.d
new file mode 100644
index 000000000..dcac81284
--- /dev/null
+++ b/docs/cmdline-opts/proxy-ciphers.d
@@ -0,0 +1,6 @@
+Long: proxy-ciphers
+Arg: <list>
+Help: SSL ciphers to use for proxy
+Added: 7.52.0
+---
+Same as --ciphers but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-crlfile.d b/docs/cmdline-opts/proxy-crlfile.d
new file mode 100644
index 000000000..1d6247f47
--- /dev/null
+++ b/docs/cmdline-opts/proxy-crlfile.d
@@ -0,0 +1,6 @@
+Long: proxy-crlfile
+Arg: <file>
+Help: Set a CRL list for proxy
+Added: 7.52.0
+---
+Same as --crlfile but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-digest.d b/docs/cmdline-opts/proxy-digest.d
new file mode 100644
index 000000000..ccf46636c
--- /dev/null
+++ b/docs/cmdline-opts/proxy-digest.d
@@ -0,0 +1,6 @@
+Long: proxy-digest
+Help: Use Digest authentication on the proxy
+See-also: proxy proxy-anyauth proxy-basic
+---
+Tells curl to use HTTP Digest authentication when communicating with the given
+proxy. Use --digest for enabling HTTP Digest with a remote host.
diff --git a/docs/cmdline-opts/proxy-header.d b/docs/cmdline-opts/proxy-header.d
new file mode 100644
index 000000000..1ef696bc7
--- /dev/null
+++ b/docs/cmdline-opts/proxy-header.d
@@ -0,0 +1,20 @@
+Long: proxy-header
+Arg: <header>
+Help: Pass custom header LINE to proxy
+Protocols: HTTP
+Added: 7.37.0
+---
+Extra header to include in the request when sending HTTP to a proxy. You may
+specify any number of extra headers. This is the equivalent option to --header
+but is for proxy communication only like in CONNECT requests when you want a
+separate header sent to the proxy to what is sent to the actual remote host.
+
+curl will make sure that each header you add/replace is sent with the proper
+end-of-line marker, you should thus \fBnot\fP add that as a part of the header
+content: do not add newlines or carriage returns, they will only mess things
+up for you.
+
+Headers specified with this option will not be included in requests that curl
+knows will not be sent to a proxy.
+
+This option can be used multiple times to add/replace/remove multiple headers.
diff --git a/docs/cmdline-opts/proxy-insecure.d b/docs/cmdline-opts/proxy-insecure.d
new file mode 100644
index 000000000..762828f43
--- /dev/null
+++ b/docs/cmdline-opts/proxy-insecure.d
@@ -0,0 +1,5 @@
+Long: proxy-insecure
+Help: Do HTTPS proxy connections without verifying the proxy
+Added: 7.52.0
+---
+Same as --insecure but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-key-type.d b/docs/cmdline-opts/proxy-key-type.d
new file mode 100644
index 000000000..ce7482ae9
--- /dev/null
+++ b/docs/cmdline-opts/proxy-key-type.d
@@ -0,0 +1,6 @@
+Long: proxy-key-type
+Arg: <type>
+Help: Private key file type for proxy
+Added: 7.52.0
+---
+Same as --key-type but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-key.d b/docs/cmdline-opts/proxy-key.d
new file mode 100644
index 000000000..e61eb18a9
--- /dev/null
+++ b/docs/cmdline-opts/proxy-key.d
@@ -0,0 +1,5 @@
+Long: proxy-key
+Help: Private key for HTTPS proxy
+Arg: <key>
+---
+Same as --key but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-negotiate.d b/docs/cmdline-opts/proxy-negotiate.d
new file mode 100644
index 000000000..775f62a9a
--- /dev/null
+++ b/docs/cmdline-opts/proxy-negotiate.d
@@ -0,0 +1,8 @@
+Long: proxy-negotiate
+Help: Use HTTP Negotiate (SPNEGO) authentication on the proxy
+Added: 7.17.1
+See-also: proxy-anyauth proxy-basic
+---
+Tells curl to use HTTP Negotiate (SPNEGO) authentication when communicating
+with the given proxy. Use --negotiate for enabling HTTP Negotiate (SPNEGO)
+with a remote host.
diff --git a/docs/cmdline-opts/proxy-ntlm.d b/docs/cmdline-opts/proxy-ntlm.d
new file mode 100644
index 000000000..c30db53b9
--- /dev/null
+++ b/docs/cmdline-opts/proxy-ntlm.d
@@ -0,0 +1,6 @@
+Long: proxy-ntlm
+Help: Use NTLM authentication on the proxy
+See-also: proxy-negotiate proxy-anyauth
+---
+Tells curl to use HTTP NTLM authentication when communicating with the given
+proxy. Use --ntlm for enabling NTLM with a remote host.
diff --git a/docs/cmdline-opts/proxy-pass.d b/docs/cmdline-opts/proxy-pass.d
new file mode 100644
index 000000000..3371714ba
--- /dev/null
+++ b/docs/cmdline-opts/proxy-pass.d
@@ -0,0 +1,6 @@
+Long: proxy-pass
+Arg: <phrase>
+Help: Pass phrase for the private key for HTTPS proxy
+Added: 7.52.0
+---
+Same as --pass but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-service-name.d b/docs/cmdline-opts/proxy-service-name.d
new file mode 100644
index 000000000..e774d2427
--- /dev/null
+++ b/docs/cmdline-opts/proxy-service-name.d
@@ -0,0 +1,6 @@
+long: proxy-service-name
+Arg: <name>
+Help: SPNEGO proxy service name
+Added: 7.43.0
+---
+This option allows you to change the service name for proxy negotiation.
diff --git a/docs/cmdline-opts/proxy-ssl-allow-beast.d b/docs/cmdline-opts/proxy-ssl-allow-beast.d
new file mode 100644
index 000000000..de96b8436
--- /dev/null
+++ b/docs/cmdline-opts/proxy-ssl-allow-beast.d
@@ -0,0 +1,5 @@
+Long: proxy-ssl-allow-beast
+Help: Allow security flaw for interop for HTTPS proxy
+Added: 7.52.0
+---
+Same as --ssl-allow-beast but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-tlsauthtype.d b/docs/cmdline-opts/proxy-tlsauthtype.d
new file mode 100644
index 000000000..7d0ce8e1a
--- /dev/null
+++ b/docs/cmdline-opts/proxy-tlsauthtype.d
@@ -0,0 +1,6 @@
+Long: proxy-tlsauthtype
+Arg: <type>
+Help: TLS authentication type for HTTPS proxy
+Added: 7.52.0
+---
+Same as --tlsauthtype but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-tlspassword.d b/docs/cmdline-opts/proxy-tlspassword.d
new file mode 100644
index 000000000..cf003844e
--- /dev/null
+++ b/docs/cmdline-opts/proxy-tlspassword.d
@@ -0,0 +1,6 @@
+Long: proxy-tlspassword
+Arg: <string>
+Help: TLS password for HTTPS proxy
+Added: 7.52.0
+---
+Same as --tlspassword but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-tlsuser.d b/docs/cmdline-opts/proxy-tlsuser.d
new file mode 100644
index 000000000..758a7c953
--- /dev/null
+++ b/docs/cmdline-opts/proxy-tlsuser.d
@@ -0,0 +1,6 @@
+Long: proxy-tlsuser
+Arg: <name>
+Help: TLS username for HTTPS proxy
+Added: 7.52.0
+---
+Same as --tlsuser but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-tlsv1.d b/docs/cmdline-opts/proxy-tlsv1.d
new file mode 100644
index 000000000..d024eeac3
--- /dev/null
+++ b/docs/cmdline-opts/proxy-tlsv1.d
@@ -0,0 +1,5 @@
+Long: proxy-tlsv1
+Help: Use TLSv1 for HTTPS proxy
+Added: 7.52.0
+---
+Same as --tlsv1 but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxy-user.d b/docs/cmdline-opts/proxy-user.d
new file mode 100644
index 000000000..b1f6f6e03
--- /dev/null
+++ b/docs/cmdline-opts/proxy-user.d
@@ -0,0 +1,12 @@
+Long: proxy-user
+Short: U
+Arg: <user:password>
+Help: Proxy user and password
+---
+Specify the user name and password to use for proxy authentication.
+
+If you use a Windows SSPI-enabled curl binary and do either Negotiate or NTLM
+authentication then you can tell curl to select the user name and password
+from your environment by specifying a single colon with this option: "-U :".
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/proxy.d b/docs/cmdline-opts/proxy.d
new file mode 100644
index 000000000..6506692be
--- /dev/null
+++ b/docs/cmdline-opts/proxy.d
@@ -0,0 +1,39 @@
+Long: proxy
+Short: x
+Arg: [protocol://]host[:port]
+Help: Use this proxy
+---
+Use the specified proxy.
+
+The proxy string can be specified with a protocol:// prefix. No protocol
+specified or http:// will be treated as HTTP proxy. Use socks4://, socks4a://,
+socks5:// or socks5h:// to request a specific SOCKS version to be used.
+(The protocol support was added in curl 7.21.7)
+
+HTTPS proxy support via https:// protocol prefix was added in 7.52.0 for
+OpenSSL, GnuTLS and NSS.
+
+Unrecognized and unsupported proxy protocols cause an error since 7.52.0.
+Prior versions may ignore the protocol and use http:// instead.
+
+If the port number is not specified in the proxy string, it is assumed to be
+1080.
+
+This option overrides existing environment variables that set the proxy to
+use. If there's an environment variable setting a proxy, you can set proxy to
+\&"" to override it.
+
+All operations that are performed over an HTTP proxy will transparently be
+converted to HTTP. It means that certain protocol specific operations might
+not be available. This is not the case if you can tunnel through the proxy, as
+one with the --proxytunnel option.
+
+User and password that might be provided in the proxy string are URL decoded
+by curl. This allows you to pass in special characters such as @ by using %40
+or pass in a colon with %3a.
+
+The proxy host can be specified the exact same way as the proxy environment
+variables, including the protocol prefix (http://) and the embedded user +
+password.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/proxy1.0.d b/docs/cmdline-opts/proxy1.0.d
new file mode 100644
index 000000000..4a931bd15
--- /dev/null
+++ b/docs/cmdline-opts/proxy1.0.d
@@ -0,0 +1,10 @@
+Long: proxy1.0
+Arg: <host[:port]>
+Help: Use HTTP/1.0 proxy on given port
+---
+Use the specified HTTP 1.0 proxy. If the port number is not specified, it is
+assumed at port 1080.
+
+The only difference between this and the HTTP proxy option --proxy, is that
+attempts to use CONNECT through the proxy will specify an HTTP 1.0 protocol
+instead of the default HTTP 1.1.
diff --git a/docs/cmdline-opts/proxytunnel.d b/docs/cmdline-opts/proxytunnel.d
new file mode 100644
index 000000000..09855ed34
--- /dev/null
+++ b/docs/cmdline-opts/proxytunnel.d
@@ -0,0 +1,10 @@
+Long: proxytunnel
+Short: p
+Help: Operate through a HTTP proxy tunnel (using CONNECT)
+See-also: proxy
+---
+When an HTTP proxy is used --proxy, this option will cause non-HTTP protocols
+to attempt to tunnel through the proxy instead of merely using it to do
+HTTP-like operations. The tunnel approach is made with the HTTP proxy CONNECT
+request and requires that the proxy allows direct connect to the remote port
+number curl wants to tunnel through to.
diff --git a/docs/cmdline-opts/pubkey.d b/docs/cmdline-opts/pubkey.d
new file mode 100644
index 000000000..b2e11c024
--- /dev/null
+++ b/docs/cmdline-opts/pubkey.d
@@ -0,0 +1,14 @@
+Long: pubkey
+Arg: <key>
+Protocols: SFTP SCP
+Help: SSH Public key file name
+---
+Public key file name. Allows you to provide your public key in this separate
+file.
+
+If this option is used several times, the last one will be used.
+
+(As of 7.39.0, curl attempts to automatically extract the public key from the
+private key file, so passing this option is generally not required. Note that
+this public key extraction requires libcurl to be linked against a copy of
+libssh2 1.2.8 or higher that is itself linked against OpenSSL.)
diff --git a/docs/cmdline-opts/quote.d b/docs/cmdline-opts/quote.d
new file mode 100644
index 000000000..cdd3ca6bd
--- /dev/null
+++ b/docs/cmdline-opts/quote.d
@@ -0,0 +1,56 @@
+Long: quote
+Short: Q
+Help: Send command(s) to server before transfer
+Protocols: FTP SFTP
+---
+
+Send an arbitrary command to the remote FTP or SFTP server. Quote commands are
+sent BEFORE the transfer takes place (just after the initial PWD command in an
+FTP transfer, to be exact). To make commands take place after a successful
+transfer, prefix them with a dash '-'. To make commands be sent after curl
+has changed the working directory, just before the transfer command(s), prefix
+the command with a '+' (this is only supported for FTP). You may specify any
+number of commands.
+
+If the server returns failure for one of the commands, the entire operation
+will be aborted. You must send syntactically correct FTP commands as RFC 959
+defines to FTP servers, or one of the commands listed below to SFTP servers.
+
+This option can be used multiple times. When speaking to an FTP server, prefix
+the command with an asterisk (*) to make curl continue even if the command
+fails as by default curl will stop at first failure.
+
+SFTP is a binary protocol. Unlike for FTP, curl interprets SFTP quote commands
+itself before sending them to the server. File names may be quoted
+shell-style to embed spaces or special characters. Following is the list of
+all supported SFTP quote commands:
+.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 "symlink source_file target_file"
+See ln.
+.RE
diff --git a/docs/cmdline-opts/random-file.d b/docs/cmdline-opts/random-file.d
new file mode 100644
index 000000000..51626f88d
--- /dev/null
+++ b/docs/cmdline-opts/random-file.d
@@ -0,0 +1,7 @@
+Long: random-file
+Arg: <file>
+Help: File for reading random data from
+---
+Specify the path name to file containing what will be considered as random
+data. The data may be used to seed the random engine for SSL connections. See
+also the --egd-file option.
diff --git a/docs/cmdline-opts/range.d b/docs/cmdline-opts/range.d
new file mode 100644
index 000000000..760d15e22
--- /dev/null
+++ b/docs/cmdline-opts/range.d
@@ -0,0 +1,46 @@
+Long: range
+Short: r
+Help: Retrieve only the bytes within RANGE
+Arg: <range>
+Protocols: HTTP FTP SFTP FILE
+---
+Retrieve a byte range (i.e a partial document) from a HTTP/1.1, FTP or SFTP
+server or a local FILE. Ranges can be specified in a number of ways.
+.RS
+.TP 10
+.B 0-499
+specifies the first 500 bytes
+.TP
+.B 500-999
+specifies the second 500 bytes
+.TP
+.B -500
+specifies the last 500 bytes
+.TP
+.B 9500-
+specifies the bytes from offset 9500 and forward
+.TP
+.B 0-0,-1
+specifies the first and last byte only(*)(HTTP)
+.TP
+.B 100-199,500-599
+specifies two separate 100-byte ranges(*) (HTTP)
+.RE
+.IP
+(*) = NOTE that this will cause the server to reply with a multipart
+response!
+
+Only digit characters (0-9) are valid in the 'start' and 'stop' fields of the
+\&'start-stop' range syntax. If a non-digit character is given in the range,
+the server's response will be unspecified, depending on the server's
+configuration.
+
+You should also be aware that many HTTP/1.1 servers do not have this feature
+enabled, so that when you attempt to get a range, you'll instead get the whole
+document.
+
+FTP and SFTP range downloads only support the simple 'start-stop' syntax
+(optionally with one of the numbers omitted). FTP use depends on the extended
+FTP command SIZE.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/raw.d b/docs/cmdline-opts/raw.d
new file mode 100644
index 000000000..c3328e69a
--- /dev/null
+++ b/docs/cmdline-opts/raw.d
@@ -0,0 +1,7 @@
+Long: raw
+Help: Do HTTP "raw"; no transfer decoding
+Added: 7.16.2
+Protocols: HTTP
+---
+When used, it disables all internal HTTP decoding of content or transfer
+encodings and instead makes them passed on unaltered, raw.
diff --git a/docs/cmdline-opts/referer.d b/docs/cmdline-opts/referer.d
new file mode 100644
index 000000000..1d4521140
--- /dev/null
+++ b/docs/cmdline-opts/referer.d
@@ -0,0 +1,14 @@
+Long: referer
+Short: e
+Arg: <URL>
+Protocols: HTTP
+Help: Referer URL
+See-also: user-agent header
+---
+Sends the "Referrer Page" information to the HTTP server. This can also be set
+with the --header flag of course. When used with --location you can append
+";auto" to the --referer URL to make curl automatically set the previous URL
+when it follows a Location: header. The \&";auto" string can be used alone,
+even if you don't set an initial --referer.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/remote-header-name.d b/docs/cmdline-opts/remote-header-name.d
new file mode 100644
index 000000000..771b6d469
--- /dev/null
+++ b/docs/cmdline-opts/remote-header-name.d
@@ -0,0 +1,19 @@
+Long: remote-header-name
+Short: J
+Protocols: HTTP
+Help: Use the header-provided filename
+---
+This option tells the --remote-name option to use the server-specified
+Content-Disposition filename instead of extracting a filename from the URL.
+
+If the server specifies a file name and a file with that name already exists
+in the current working directory it will not be overwritten and an error will
+occur. If the server doesn't specify a file name then this option has no
+effect.
+
+There's no attempt to decode %-sequences (yet) in the provided file name, so
+this option may provide you with rather unexpected file names.
+
+\fBWARNING\fP: Exercise judicious use of this option, especially on Windows. A
+rogue server could send you the name of a DLL or other file that could possibly
+be loaded automatically by Windows or some third party software.
diff --git a/docs/cmdline-opts/remote-name-all.d b/docs/cmdline-opts/remote-name-all.d
new file mode 100644
index 000000000..f7a199679
--- /dev/null
+++ b/docs/cmdline-opts/remote-name-all.d
@@ -0,0 +1,8 @@
+Long: remote-name-all
+Help: Use the remote file name for all URLs
+Added: 7.19.0
+---
+This option changes the default action for all given URLs to be dealt with as
+if --remote-name were used for each one. So if you want to disable that for a
+specific URL after --remote-name-all has been used, you must use "-o -" or
+--no-remote-name.
diff --git a/docs/cmdline-opts/remote-name.d b/docs/cmdline-opts/remote-name.d
new file mode 100644
index 000000000..9fed64bf4
--- /dev/null
+++ b/docs/cmdline-opts/remote-name.d
@@ -0,0 +1,21 @@
+Long: remote-name
+Short: O
+Help: Write output to a file named as the remote file
+---
+Write output to a local file named like the remote file we get. (Only the file
+part of the remote file is used, the path is cut off.)
+
+The file will be saved in the current working directory. If you want the file
+saved in a different directory, make sure you change the current working
+directory before invoking curl with this option.
+
+The remote file name to use for saving is extracted from the given URL,
+nothing else, and if it already exists it will be overwritten. If you want the
+server to be able to choose the file name refer to --remote-header-name which
+can be used in addition to this option. If the server chooses a file name and
+that name already exists it will not be overwritten.
+
+There is no URL decoding done on the file name. If it has %20 or other URL
+encoded parts of the name, they will end up as-is as file name.
+
+You may use this option as many times as the number of URLs you have.
diff --git a/docs/cmdline-opts/remote-time.d b/docs/cmdline-opts/remote-time.d
new file mode 100644
index 000000000..0f369e01f
--- /dev/null
+++ b/docs/cmdline-opts/remote-time.d
@@ -0,0 +1,7 @@
+long: remote-time
+short: R
+Help: Set the remote file's time on the local output
+---
+When used, this will make curl attempt to figure out the timestamp of the
+remote file, and if that is available make the local file get that same
+timestamp.
diff --git a/docs/cmdline-opts/request.d b/docs/cmdline-opts/request.d
new file mode 100644
index 000000000..3919d426a
--- /dev/null
+++ b/docs/cmdline-opts/request.d
@@ -0,0 +1,39 @@
+Long: request
+Short: X
+Arg: <command>
+Help: Specify request command to use
+---
+(HTTP) Specifies a custom request method to use when communicating with the
+HTTP server. The specified request method will be used instead of the method
+otherwise used (which defaults to GET). Read the HTTP 1.1 specification for
+details and explanations. Common additional HTTP requests include PUT and
+DELETE, but related technologies like WebDAV offers PROPFIND, COPY, MOVE and
+more.
+
+Normally you don't need this option. All sorts of GET, HEAD, POST and PUT
+requests are rather invoked by using dedicated command line options.
+
+This option only changes the actual word used in the HTTP request, it does not
+alter the way curl behaves. So for example if you want to make a proper HEAD
+request, using -X HEAD will not suffice. You need to use the --head option.
+
+The method string you set with --request will be used for all requests, which
+if you for example use --location may cause unintended side-effects when curl
+doesn't change request method according to the HTTP 30x response codes - and
+similar.
+
+(FTP)
+Specifies a custom FTP command to use instead of LIST when doing file lists
+with FTP.
+
+(POP3)
+Specifies a custom POP3 command to use instead of LIST or RETR. (Added in
+7.26.0)
+
+(IMAP)
+Specifies a custom IMAP command to use instead of LIST. (Added in 7.30.0)
+
+(SMTP)
+Specifies a custom SMTP command to use instead of HELP or VRFY. (Added in 7.34.0)
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/resolve.d b/docs/cmdline-opts/resolve.d
new file mode 100644
index 000000000..ba3967a14
--- /dev/null
+++ b/docs/cmdline-opts/resolve.d
@@ -0,0 +1,17 @@
+Long: resolve
+Arg: <host:port:address>
+Help: Resolve the host+port to this address
+Added: 7.21.3
+---
+Provide a custom address for a specific host and port pair. Using this, you
+can make the curl requests(s) use a specified address and prevent the
+otherwise normally resolved address to be used. Consider it a sort of
+/etc/hosts alternative provided on the command line. The port number should be
+the number used for the specific protocol the host will be used for. It means
+you need several entries if you want to provide address for the same host but
+different ports.
+
+The provided address set by this option will be used even if --ipv4 or --ipv6
+is set to make curl use another IP version.
+
+This option can be used many times to add many host names to resolve.
diff --git a/docs/cmdline-opts/retry-connrefused.d b/docs/cmdline-opts/retry-connrefused.d
new file mode 100644
index 000000000..6a78e1fda
--- /dev/null
+++ b/docs/cmdline-opts/retry-connrefused.d
@@ -0,0 +1,6 @@
+Long: retry-connrefused
+Help: Retry on connection refused (use with --retry)
+Added: 7.52.0
+---
+In addition to the other conditions, consider ECONNREFUSED as a transient
+error too for --retry. This option is used together with --retry.
diff --git a/docs/cmdline-opts/retry-delay.d b/docs/cmdline-opts/retry-delay.d
new file mode 100644
index 000000000..43c5affa2
--- /dev/null
+++ b/docs/cmdline-opts/retry-delay.d
@@ -0,0 +1,11 @@
+long: retry-delay
+arg: <seconds>
+Help: Wait time between retries
+Added: 7.12.3
+---
+Make curl sleep this amount of time before each retry when a transfer has
+failed with a transient error (it changes the default backoff time algorithm
+between retries). This option is only interesting if --retry is also
+used. Setting this delay to zero will make curl use the default backoff time.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/retry-max-time.d b/docs/cmdline-opts/retry-max-time.d
new file mode 100644
index 000000000..1c2f972ab
--- /dev/null
+++ b/docs/cmdline-opts/retry-max-time.d
@@ -0,0 +1,13 @@
+long: retry-max-time
+Arg: <seconds>
+Help: Retry only within this period
+Added: 7.12.3
+---
+The retry timer is reset before the first transfer attempt. Retries will be
+done as usual (see --retry) as long as the timer hasn't reached this given
+limit. Notice that if the timer hasn't reached the limit, the request will be
+made and while performing, it may take longer than this given time period. To
+limit a single request\'s maximum time, use --max-time. Set this option to
+zero to not timeout retries.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/retry.d b/docs/cmdline-opts/retry.d
new file mode 100644
index 000000000..35215dfd4
--- /dev/null
+++ b/docs/cmdline-opts/retry.d
@@ -0,0 +1,17 @@
+Long: retry
+Arg: <num>
+Added: 7.12.3
+Help: Retry request if transient problems occur
+---
+If a transient error is returned when curl tries to perform a transfer, it
+will retry this number of times before giving up. Setting the number to 0
+makes curl do no retries (which is the default). Transient error means either:
+a timeout, an FTP 4xx response code or an HTTP 5xx response code.
+
+When curl is about to retry a transfer, it will first wait one second and then
+for all forthcoming retries it will double the waiting time until it reaches
+10 minutes which then will be the delay between the rest of the retries. By
+using --retry-delay you disable this exponential backoff algorithm. See also
+--retry-max-time to limit the total time allowed for retries.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/sasl-ir.d b/docs/cmdline-opts/sasl-ir.d
new file mode 100644
index 000000000..120b19da0
--- /dev/null
+++ b/docs/cmdline-opts/sasl-ir.d
@@ -0,0 +1,5 @@
+long: sasl-ir
+Help: Enable initial response in SASL authentication
+Added: 7.31.0
+---
+Enable initial response in SASL authentication.
diff --git a/docs/cmdline-opts/service-name.d b/docs/cmdline-opts/service-name.d
new file mode 100644
index 000000000..4dfeb27d6
--- /dev/null
+++ b/docs/cmdline-opts/service-name.d
@@ -0,0 +1,8 @@
+Long: service-name
+Help: SPNEGO service name
+Arg: <name>
+Added: 7.43.0
+---
+This option allows you to change the service name for SPNEGO.
+
+Examples: --negotiate --service-name sockd would use sockd/server-name.
diff --git a/docs/cmdline-opts/show-error.d b/docs/cmdline-opts/show-error.d
new file mode 100644
index 000000000..ede174b7d
--- /dev/null
+++ b/docs/cmdline-opts/show-error.d
@@ -0,0 +1,5 @@
+long: show-error
+Short: S
+Help: Show error even when -s is used
+---
+When used with --silent, it makes curl show an error message if it fails.
diff --git a/docs/cmdline-opts/silent.d b/docs/cmdline-opts/silent.d
new file mode 100644
index 000000000..7603b7634
--- /dev/null
+++ b/docs/cmdline-opts/silent.d
@@ -0,0 +1,11 @@
+long: silent
+Short: s
+Help: Silent mode
+See-also: verbose stderr
+---
+Silent or quiet mode. Don't show progress meter or error messages. Makes Curl
+mute. It will still output the data you ask for, potentially even to the
+terminal/stdout unless you redirect it.
+
+Use --show-error in addition to this option to disable progress meter but
+still show error messages.
diff --git a/docs/cmdline-opts/socks4.d b/docs/cmdline-opts/socks4.d
new file mode 100644
index 000000000..11f6ae033
--- /dev/null
+++ b/docs/cmdline-opts/socks4.d
@@ -0,0 +1,19 @@
+Long: socks4
+Arg: <host[:port]>
+Help: SOCKS4 proxy on given host + port
+Added: 7.15.2
+---
+Use the specified SOCKS4 proxy. If the port number is not specified, it is
+assumed at port 1080.
+
+This option overrides any previous use of --proxy, as they are mutually
+exclusive.
+
+Since 7.21.7, this option is superfluous since you can specify a socks4 proxy
+with --proxy using a socks4:// protocol prefix.
+
+Since 7.52.0, --preproxy can be used to specify a SOCKS proxy at the same time
+--proxy is used with an HTTP/HTTPS proxy. In such a case curl first connects to
+the SOCKS proxy and then connects (through SOCKS) to the HTTP or HTTPS proxy.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/socks4a.d b/docs/cmdline-opts/socks4a.d
new file mode 100644
index 000000000..ae254ae0e
--- /dev/null
+++ b/docs/cmdline-opts/socks4a.d
@@ -0,0 +1,19 @@
+Long: socks4a
+Arg: <host[:port]>
+Help: SOCKS4a proxy on given host + port
+Added: 7.18.0
+---
+Use the specified SOCKS4a proxy. If the port number is not specified, it is
+assumed at port 1080.
+
+This option overrides any previous use of --proxy, as they are mutually
+exclusive.
+
+Since 7.21.7, this option is superfluous since you can specify a socks4a proxy
+with --proxy using a socks4a:// protocol prefix.
+
+Since 7.52.0, --preproxy can be used to specify a SOCKS proxy at the same time
+--proxy is used with an HTTP/HTTPS proxy. In such a case curl first connects to
+the SOCKS proxy and then connects (through SOCKS) to the HTTP or HTTPS proxy.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/socks5-gssapi-nec.d b/docs/cmdline-opts/socks5-gssapi-nec.d
new file mode 100644
index 000000000..477e218e3
--- /dev/null
+++ b/docs/cmdline-opts/socks5-gssapi-nec.d
@@ -0,0 +1,8 @@
+Long: socks5-gssapi-nec
+Help: Compatibility with NEC SOCKS5 server
+Added: 7.19.4
+---
+As part of the GSS-API negotiation a protection mode is negotiated. RFC 1961
+says in section 4.3/4.4 it should be protected, but the NEC reference
+implementation does not. The option --socks5-gssapi-nec allows the
+unprotected exchange of the protection mode negotiation.
diff --git a/docs/cmdline-opts/socks5-gssapi-service.d b/docs/cmdline-opts/socks5-gssapi-service.d
new file mode 100644
index 000000000..eb3b2407b
--- /dev/null
+++ b/docs/cmdline-opts/socks5-gssapi-service.d
@@ -0,0 +1,12 @@
+Long: socks5-gssapi-service
+Arg: <name>
+Help: SOCKS5 proxy service name for GSS-API
+Added: 7.19.4
+---
+The default service name for a socks server is rcmd/server-fqdn. This option
+allows you to change it.
+
+Examples: --socks5 proxy-name --socks5-gssapi-service sockd would use
+sockd/proxy-name --socks5 proxy-name --socks5-gssapi-service sockd/real-name
+would use sockd/real-name for cases where the proxy-name does not match the
+principal name.
diff --git a/docs/cmdline-opts/socks5-hostname.d b/docs/cmdline-opts/socks5-hostname.d
new file mode 100644
index 000000000..9d9d946e5
--- /dev/null
+++ b/docs/cmdline-opts/socks5-hostname.d
@@ -0,0 +1,19 @@
+Long: socks5-hostname
+Arg: <host[:port]>
+Help: SOCKS5 proxy, pass host name to proxy
+Added: 7.18.0
+---
+Use the specified SOCKS5 proxy (and let the proxy resolve the host name). If
+the port number is not specified, it is assumed at port 1080.
+
+This option overrides any previous use of --proxy, as they are mutually
+exclusive.
+
+Since 7.21.7, this option is superfluous since you can specify a socks5
+hostname proxy with --proxy using a socks5h:// protocol prefix.
+
+Since 7.52.0, --preproxy can be used to specify a SOCKS proxy at the same time
+--proxy is used with an HTTP/HTTPS proxy. In such a case curl first connects to
+the SOCKS proxy and then connects (through SOCKS) to the HTTP or HTTPS proxy.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/socks5.d b/docs/cmdline-opts/socks5.d
new file mode 100644
index 000000000..22fae7629
--- /dev/null
+++ b/docs/cmdline-opts/socks5.d
@@ -0,0 +1,21 @@
+Long: socks5
+Arg: <host[:port]>
+Help: SOCKS5 proxy on given host + port
+Added: 7.18.0
+---
+Use the specified SOCKS5 proxy - but resolve the host name locally. If the
+port number is not specified, it is assumed at port 1080.
+
+This option overrides any previous use of --proxy, as they are mutually
+exclusive.
+
+Since 7.21.7, this option is superfluous since you can specify a socks5 proxy
+with --proxy using a socks5:// protocol prefix.
+
+Since 7.52.0, --preproxy can be used to specify a SOCKS proxy at the same time
+--proxy is used with an HTTP/HTTPS proxy. In such a case curl first connects to
+the SOCKS proxy and then connects (through SOCKS) to the HTTP or HTTPS proxy.
+
+If this option is used several times, the last one will be used.
+
+This option (as well as --socks4) does not work with IPV6, FTPS or LDAP.
diff --git a/docs/cmdline-opts/speed-limit.d b/docs/cmdline-opts/speed-limit.d
new file mode 100644
index 000000000..e2b81c79a
--- /dev/null
+++ b/docs/cmdline-opts/speed-limit.d
@@ -0,0 +1,10 @@
+Long: speed-limit
+Short: Y
+Arg: <speed>
+Help: Stop transfers slower than this
+---
+If a download is slower than this given speed (in bytes per second) for
+speed-time seconds it gets aborted. speed-time is set with --speed-time and is
+30 if not set.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/speed-time.d b/docs/cmdline-opts/speed-time.d
new file mode 100644
index 000000000..98d6ae13c
--- /dev/null
+++ b/docs/cmdline-opts/speed-time.d
@@ -0,0 +1,13 @@
+Long: speed-time
+Short: y
+Arg: <seconds>
+Help: Trigger 'speed-limit' abort after this time
+---
+If a download is slower than speed-limit bytes per second during a speed-time
+period, the download gets aborted. If speed-time is used, the default
+speed-limit will be 1 unless set with --speed-limit.
+
+This option controls transfers and thus will not affect slow connects etc. If
+this is a concern for you, try the --connect-timeout option.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/ssl-allow-beast.d b/docs/cmdline-opts/ssl-allow-beast.d
new file mode 100644
index 000000000..973fcd451
--- /dev/null
+++ b/docs/cmdline-opts/ssl-allow-beast.d
@@ -0,0 +1,9 @@
+Long: ssl-allow-beast
+Help: Allow security flaw to improve interop
+Added: 7.25.0
+---
+This option tells curl to not work around a security flaw in the SSL3 and
+TLS1.0 protocols known as BEAST. If this option isn't used, the SSL layer may
+use workarounds known to cause interoperability problems with some older SSL
+implementations. WARNING: this option loosens the SSL security, and by using
+this flag you ask for exactly that.
diff --git a/docs/cmdline-opts/ssl-no-revoke.d b/docs/cmdline-opts/ssl-no-revoke.d
new file mode 100644
index 000000000..cdb6fb5ee
--- /dev/null
+++ b/docs/cmdline-opts/ssl-no-revoke.d
@@ -0,0 +1,7 @@
+Long: ssl-no-revoke
+Help: Disable cert revocation checks (WinSSL)
+Added: 7.44.0
+---
+(WinSSL) This option tells curl to disable certificate revocation checks.
+WARNING: this option loosens the SSL security, and by using this flag you ask
+for exactly that.
diff --git a/docs/cmdline-opts/ssl-reqd.d b/docs/cmdline-opts/ssl-reqd.d
new file mode 100644
index 000000000..b21aed104
--- /dev/null
+++ b/docs/cmdline-opts/ssl-reqd.d
@@ -0,0 +1,9 @@
+long: ssl-reqd
+Help: Require SSL/TLS
+Protocols: FTP IMAP POP3 SMTP
+Added: 7.20.0
+---
+Require SSL/TLS for the connection. Terminates the connection if the server
+doesn't support SSL/TLS.
+
+This option was formerly known as --ftp-ssl-reqd.
diff --git a/docs/cmdline-opts/ssl.d b/docs/cmdline-opts/ssl.d
new file mode 100644
index 000000000..71c187ae3
--- /dev/null
+++ b/docs/cmdline-opts/ssl.d
@@ -0,0 +1,12 @@
+long: ssl
+Help: Try SSL/TLS
+Protocols: FTP IMAP POP3 SMTP
+Added: 7.20.0
+---
+
+Try to use SSL/TLS for the connection. Reverts to a non-secure connection if
+the server doesn't support SSL/TLS. See also --ftp-ssl-control and --ssl-reqd
+for different levels of encryption required.
+
+This option was formerly known as --ftp-ssl (Added in 7.11.0). That option
+name can still be used but will be removed in a future version.
diff --git a/docs/cmdline-opts/sslv2.d b/docs/cmdline-opts/sslv2.d
new file mode 100644
index 000000000..67d2b8506
--- /dev/null
+++ b/docs/cmdline-opts/sslv2.d
@@ -0,0 +1,13 @@
+Short: 2
+Long: sslv2
+Tags: Versions
+Protocols: SSL
+Added:
+Mutexed: sslv3 tlsv1 tlsv1.1 tlsv1.2
+Requires: TLS
+See-also: http1.1 http2
+Help: Use SSLv2
+---
+Forces curl to use SSL version 2 when negotiating with a remote SSL
+server. Sometimes curl is built without SSLv2 support. SSLv2 is widely
+considered insecure (see RFC 6176).
diff --git a/docs/cmdline-opts/sslv3.d b/docs/cmdline-opts/sslv3.d
new file mode 100644
index 000000000..101ad1004
--- /dev/null
+++ b/docs/cmdline-opts/sslv3.d
@@ -0,0 +1,13 @@
+Short: 3
+Long: sslv3
+Tags: Versions
+Protocols: SSL
+Added:
+Mutexed: sslv2 tlsv1 tlsv1.1 tlsv1.2
+Requires: TLS
+See-also: http1.1 http2
+Help: Use SSLv3
+---
+Forces curl to use SSL version 3 when negotiating with a remote SSL
+server. Sometimes curl is built without SSLv3 support. SSLv3 is widely
+considered insecure (see RFC 7568).
diff --git a/docs/cmdline-opts/stderr.d b/docs/cmdline-opts/stderr.d
new file mode 100644
index 000000000..e8cf7ba68
--- /dev/null
+++ b/docs/cmdline-opts/stderr.d
@@ -0,0 +1,8 @@
+Long: stderr
+Help: Where to redirect stderr
+See-also: verbose silent
+---
+Redirect all writes to stderr to the specified file instead. If the file name
+is a plain '-', it is instead written to stdout.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/tcp-fastopen.d b/docs/cmdline-opts/tcp-fastopen.d
new file mode 100644
index 000000000..08e141df7
--- /dev/null
+++ b/docs/cmdline-opts/tcp-fastopen.d
@@ -0,0 +1,5 @@
+Long: tcp-fastopen
+Added: 7.49.0
+Help: Use TCP Fast Open
+---
+Enable use of TCP Fast Open (RFC7413).
diff --git a/docs/cmdline-opts/tcp-nodelay.d b/docs/cmdline-opts/tcp-nodelay.d
new file mode 100644
index 000000000..0c0ddd068
--- /dev/null
+++ b/docs/cmdline-opts/tcp-nodelay.d
@@ -0,0 +1,9 @@
+Long: tcp-nodelay
+Help: Use the TCP_NODELAY option
+Added: 7.11.2
+---
+Turn on the TCP_NODELAY option. See the \fIcurl_easy_setopt(3)\fP man page for
+details about this option.
+
+Since 7.50.2, curl sets this option by default and you need to explictitly
+switch it off if you don't want it on.
diff --git a/docs/cmdline-opts/telnet-option.d b/docs/cmdline-opts/telnet-option.d
new file mode 100644
index 000000000..a67cb627b
--- /dev/null
+++ b/docs/cmdline-opts/telnet-option.d
@@ -0,0 +1,12 @@
+Long: telnet-option
+Short: t
+Arg: <opt=val>
+Help: Set telnet option
+---
+Pass options to the telnet protocol. Supported options are:
+
+TTYPE=<term> Sets the terminal type.
+
+XDISPLOC=<X display> Sets the X display location.
+
+NEW_ENV=<var,val> Sets an environment variable.
diff --git a/docs/cmdline-opts/tftp-blksize.d b/docs/cmdline-opts/tftp-blksize.d
new file mode 100644
index 000000000..04c6c53b6
--- /dev/null
+++ b/docs/cmdline-opts/tftp-blksize.d
@@ -0,0 +1,11 @@
+Long: tftp-blksize
+Arg: <value>
+help: Set TFTP BLKSIZE option
+Protocols: TFTP
+Added: 7.20.0
+---
+Set TFTP BLKSIZE option (must be >512). This is the block size that curl will
+try to use when transferring data to or from a TFTP server. By default 512
+bytes will be used.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/tftp-no-options.d b/docs/cmdline-opts/tftp-no-options.d
new file mode 100644
index 000000000..e2a4dacd5
--- /dev/null
+++ b/docs/cmdline-opts/tftp-no-options.d
@@ -0,0 +1,10 @@
+Long: tftp-no-options
+Help: Do not send any TFTP options
+Protocols: TFTP
+Added: 7.48.0
+---
+Tells curl not to send TFTP options requests.
+
+This option improves interop with some legacy servers that do not acknowledge
+or properly implement TFTP options. When this option is used --tftp-blksize is
+ignored.
diff --git a/docs/cmdline-opts/time-cond.d b/docs/cmdline-opts/time-cond.d
new file mode 100644
index 000000000..830b4e1a2
--- /dev/null
+++ b/docs/cmdline-opts/time-cond.d
@@ -0,0 +1,17 @@
+Long: time-cond
+Short: z
+Arg: <time>
+Help: Transfer based on a time condition
+Protocols: HTTP FTP
+---
+Request a file that has been modified later than the given time and date, or
+one that has been modified before that time. The <date expression> can be all
+sorts of date strings or if it doesn't match any internal ones, it is taken as
+a filename and tries to get the modification date (mtime) from <file>
+instead. See the \fIcurl_getdate(3)\fP man pages for date expression details.
+
+Start the date expression with a dash (-) to make it request for a document
+that is older than the given date/time, default is a document that is newer
+than the specified date/time.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/tlsauthtype.d b/docs/cmdline-opts/tlsauthtype.d
new file mode 100644
index 000000000..1b1481ffe
--- /dev/null
+++ b/docs/cmdline-opts/tlsauthtype.d
@@ -0,0 +1,8 @@
+Long: tlsauthtype
+Arg: <type>
+Help: TLS authentication type
+Added: 7.21.4
+---
+Set TLS authentication type. Currently, the only supported option is "SRP",
+for TLS-SRP (RFC 5054). If --tlsuser and --tlspassword are specified but
+--tlsauthtype is not, then this option defaults to "SRP".
diff --git a/docs/cmdline-opts/tlspassword.d b/docs/cmdline-opts/tlspassword.d
new file mode 100644
index 000000000..234a1168c
--- /dev/null
+++ b/docs/cmdline-opts/tlspassword.d
@@ -0,0 +1,6 @@
+Long: tlspassword
+Help: TLS password
+Added: 7.21.4
+---
+Set password for use with the TLS authentication method specified with
+--tlsauthtype. Requires that --tlsuser also be set.
diff --git a/docs/cmdline-opts/tlsuser.d b/docs/cmdline-opts/tlsuser.d
new file mode 100644
index 000000000..72f1e1667
--- /dev/null
+++ b/docs/cmdline-opts/tlsuser.d
@@ -0,0 +1,7 @@
+Long: tlsuser
+Arg: <name>
+Help: TLS user name
+Added: 7.21.4
+---
+Set username for use with the TLS authentication method specified with
+--tlsauthtype. Requires that --tlspassword also is set.
diff --git a/docs/cmdline-opts/tlsv1.0.d b/docs/cmdline-opts/tlsv1.0.d
new file mode 100644
index 000000000..8789025e0
--- /dev/null
+++ b/docs/cmdline-opts/tlsv1.0.d
@@ -0,0 +1,6 @@
+Long: tlsv1.0
+Help: Use TLSv1.0
+Protocols: TLS
+Added: 7.34.0
+---
+Forces curl to use TLS version 1.0 when connecting to a remote TLS server.
diff --git a/docs/cmdline-opts/tlsv1.1.d b/docs/cmdline-opts/tlsv1.1.d
new file mode 100644
index 000000000..9bfdc3536
--- /dev/null
+++ b/docs/cmdline-opts/tlsv1.1.d
@@ -0,0 +1,6 @@
+Long: tlsv1.1
+Help: Use TLSv1.1
+Protocols: TLS
+Added: 7.34.0
+---
+Forces curl to use TLS version 1.1 when connecting to a remote TLS server.
diff --git a/docs/cmdline-opts/tlsv1.2.d b/docs/cmdline-opts/tlsv1.2.d
new file mode 100644
index 000000000..6db94dc8d
--- /dev/null
+++ b/docs/cmdline-opts/tlsv1.2.d
@@ -0,0 +1,6 @@
+Long: tlsv1.2
+Help: Use TLSv1.2
+Protocols: TLS
+Added: 7.34.0
+---
+Forces curl to use TLS version 1.2 when connecting to a remote TLS server.
diff --git a/docs/cmdline-opts/tlsv1.3.d b/docs/cmdline-opts/tlsv1.3.d
new file mode 100644
index 000000000..7d9640e71
--- /dev/null
+++ b/docs/cmdline-opts/tlsv1.3.d
@@ -0,0 +1,9 @@
+Long: tlsv1.3
+Help: Use TLSv1.3
+Protocols: TLS
+Added: 7.52.0
+---
+Forces curl to use TLS version 1.3 when connecting to a remote TLS server.
+
+Note that TLS 1.3 is only supported by a subset of TLS backends. At the time
+of writing this, those are BoringSSL and NSS only.
diff --git a/docs/cmdline-opts/tlsv1.d b/docs/cmdline-opts/tlsv1.d
new file mode 100644
index 000000000..9c9f6b3f5
--- /dev/null
+++ b/docs/cmdline-opts/tlsv1.d
@@ -0,0 +1,12 @@
+Short: 1
+Long: tlsv1
+Tags: Versions
+Protocols: SSL
+Added:
+Mutexed: tlsv1.1 tlsv1.2 tlsv1.3
+Requires: TLS
+See-also: http1.1 http2
+Help: Use TLSv1.0 or greater
+---
+Tells curl to use TLS version 1.x when negotiating with a remote TLS
+server. That means TLS version 1.0, 1.1 or 1.2.
diff --git a/docs/cmdline-opts/tr-encoding.d b/docs/cmdline-opts/tr-encoding.d
new file mode 100644
index 000000000..01bb62bb3
--- /dev/null
+++ b/docs/cmdline-opts/tr-encoding.d
@@ -0,0 +1,7 @@
+Long: tr-encoding
+Added: 7.21.6
+Help: Request compressed transfer encoding
+Protocols: HTTP
+---
+Request a compressed Transfer-Encoding response using one of the algorithms
+curl supports, and uncompress the data while receiving it.
diff --git a/docs/cmdline-opts/trace-ascii.d b/docs/cmdline-opts/trace-ascii.d
new file mode 100644
index 000000000..fceaa7126
--- /dev/null
+++ b/docs/cmdline-opts/trace-ascii.d
@@ -0,0 +1,14 @@
+Long: trace-ascii
+Arg: <file>
+Help: Like --trace, but without hex output
+Mutexed: trace verbose
+---
+Enables a full trace dump of all incoming and outgoing data, including
+descriptive information, to the given output file. Use "-" as filename to have
+the output sent to stdout.
+
+This is very similar to --trace, but leaves out the hex part and only shows
+the ASCII part of the dump. It makes smaller output that might be easier to
+read for untrained humans.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/trace-time.d b/docs/cmdline-opts/trace-time.d
new file mode 100644
index 000000000..27dcc42cf
--- /dev/null
+++ b/docs/cmdline-opts/trace-time.d
@@ -0,0 +1,5 @@
+Long: trace-time
+Help: Add time stamps to trace/verbose output
+Added: 7.14.0
+---
+Prepends a time stamp to each trace or verbose line that curl displays.
diff --git a/docs/cmdline-opts/trace.d b/docs/cmdline-opts/trace.d
new file mode 100644
index 000000000..334ea5ad6
--- /dev/null
+++ b/docs/cmdline-opts/trace.d
@@ -0,0 +1,11 @@
+Long: trace
+Arg: <file>
+Help: Write a debug trace to FILE
+Mutexed: verbose trace-ascii
+---
+Enables a full trace dump of all incoming and outgoing data, including
+descriptive information, to the given output file. Use "-" as filename to have
+the output sent to stdout. Use "%" as filename to have the output sent to
+stderr.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/unix-socket.d b/docs/cmdline-opts/unix-socket.d
new file mode 100644
index 000000000..812d20f3b
--- /dev/null
+++ b/docs/cmdline-opts/unix-socket.d
@@ -0,0 +1,7 @@
+Long: unix-socket
+Arg: <path>
+Help: Connect through this Unix domain socket
+Added: 7.40.0
+Protocols: HTTP
+---
+Connect through this Unix domain socket, instead of using the network.
diff --git a/docs/cmdline-opts/upload-file.d b/docs/cmdline-opts/upload-file.d
new file mode 100644
index 000000000..6f01dbf35
--- /dev/null
+++ b/docs/cmdline-opts/upload-file.d
@@ -0,0 +1,33 @@
+Long: upload-file
+Short: T
+Arg: <file>
+Help: Transfer local FILE to destination
+---
+This transfers the specified local file to the remote URL. If there is no file
+part in the specified URL, curl will append the local file name. NOTE that you
+must use a trailing / on the last directory to really prove to Curl that there
+is no file name or curl will think that your last directory name is the remote
+file name to use. That will most likely cause the upload operation to fail. If
+this is used on an HTTP(S) server, the PUT command will be used.
+
+Use the file name "-" (a single dash) to use stdin instead of a given file.
+Alternately, the file name "." (a single period) may be specified instead
+of "-" to use stdin in non-blocking mode to allow reading server output
+while stdin is being uploaded.
+
+You can specify one --upload-file for each URL on the command line. Each
+--upload-file + URL pair specifies what to upload and to where. curl also
+supports "globbing" of the --upload-file argument, meaning that you can upload
+multiple files to a single URL by using the same URL globbing style supported
+in the URL, like this:
+
+ curl --upload-file "{file1,file2}" http://www.example.com
+
+or even
+
+ curl -T "img[1-1000].png" ftp://ftp.example.com/upload/
+
+When uploading to an SMTP server: the uploaded data is assumed to be RFC 5322
+formatted. It has to feature the necessary set of headers and mail body
+formatted correctly by the user as curl will not transcode nor encode it
+further in any way.
diff --git a/docs/cmdline-opts/url.d b/docs/cmdline-opts/url.d
new file mode 100644
index 000000000..c54e1ea85
--- /dev/null
+++ b/docs/cmdline-opts/url.d
@@ -0,0 +1,15 @@
+long: url
+Arg: <url>
+Help: URL to work with
+---
+Specify a URL to fetch. This option is mostly handy when you want to specify
+URL(s) in a config file.
+
+If the given URL is missing a scheme name (such as "http://" or "ftp://" etc)
+then curl 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 --proto-default for details.
+
+This option may be used any number of times. To control where this URL is
+written, use the --output or the --remote-name options.
diff --git a/docs/cmdline-opts/use-ascii.d b/docs/cmdline-opts/use-ascii.d
new file mode 100644
index 000000000..d59fad922
--- /dev/null
+++ b/docs/cmdline-opts/use-ascii.d
@@ -0,0 +1,8 @@
+Short: B
+Long: use-ascii
+Help: Use ASCII/text transfer
+Protocols: FTP LDAP
+---
+Enable ASCII transfer. For FTP, this can also be enforced by using a URL that
+ends with ";type=A". This option causes data sent to stdout to be in text mode
+for win32 systems.
diff --git a/docs/cmdline-opts/user-agent.d b/docs/cmdline-opts/user-agent.d
new file mode 100644
index 000000000..c98619d7d
--- /dev/null
+++ b/docs/cmdline-opts/user-agent.d
@@ -0,0 +1,12 @@
+Short: A
+Long: user-agent
+Arg: <name>
+Help: Send User-Agent <name> to server
+Protocols: HTTP
+---
+
+Specify the User-Agent string to send to the HTTP server. To encode blanks in
+the string, surround the string with single quote marks. This can also be set
+with the --header option of course.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/user.d b/docs/cmdline-opts/user.d
new file mode 100644
index 000000000..439def348
--- /dev/null
+++ b/docs/cmdline-opts/user.d
@@ -0,0 +1,33 @@
+Long: user
+Short: u
+Arg: <user:password>
+Help: Server user and password
+---
+Specify the user name and password to use for server authentication. Overrides
+--netrc and --netrc-optional.
+
+If you simply specify the user name, curl will prompt for a password.
+
+The user name and passwords are split up on the first colon, which makes it
+impossible to use a colon in the user name with this option. The password can,
+still.
+
+When using Kerberos V5 with a Windows based server you should include the
+Windows domain name in the user name, in order for the server to successfully
+obtain a Kerberos Ticket. If you don't then the initial authentication
+handshake may fail.
+
+When using NTLM, the user name can be specified simply as the user name,
+without the domain, if there is a single domain and forest in your setup
+for example.
+
+To specify the domain name use either Down-Level Logon Name or UPN (User
+Principal Name) formats. For example, EXAMPLE\\user and user@example.com
+respectively.
+
+If you use a Windows SSPI-enabled curl binary and perform Kerberos V5,
+Negotiate, NTLM or Digest authentication then you can tell curl to select
+the user name and password from your environment by specifying a single colon
+with this option: "-u :".
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/verbose.d b/docs/cmdline-opts/verbose.d
new file mode 100644
index 000000000..5d3352183
--- /dev/null
+++ b/docs/cmdline-opts/verbose.d
@@ -0,0 +1,19 @@
+Short: v
+Long: verbose
+Mutexed: trace trace-ascii
+Help: Make the operation more talkative
+See-also: include
+---
+Makes curl verbose during the operation. Useful for debugging and seeing
+what's going on "under the hood". A line starting with '>' means "header data"
+sent by curl, '<' means "header data" received by curl that is hidden in
+normal cases, and a line starting with '*' means additional info provided by
+curl.
+
+If you only want HTTP headers in the output, --include might be the option
+you're looking for.
+
+If you think this option still doesn't give you enough details, consider using
+--trace or --trace-ascii instead.
+
+Use --silent to make curl really quiet.
diff --git a/docs/cmdline-opts/version.d b/docs/cmdline-opts/version.d
new file mode 100644
index 000000000..196a4a9f5
--- /dev/null
+++ b/docs/cmdline-opts/version.d
@@ -0,0 +1,58 @@
+Long: version
+Short: V
+Help: Show version number and quit
+---
+Displays information about curl and the libcurl version it uses.
+
+The first line includes the full version of curl, libcurl and other 3rd party
+libraries linked with the executable.
+
+The second line (starts with "Protocols:") shows all protocols that libcurl
+reports to support.
+
+The third line (starts with "Features:") shows specific features libcurl
+reports to offer. Available features include:
+.RS
+.IP "IPv6"
+You can use IPv6 with this.
+.IP "krb4"
+Krb4 for FTP is supported.
+.IP "SSL"
+SSL versions of various protocols are supported, such as HTTPS, FTPS, POP3S
+and so on.
+.IP "libz"
+Automatic decompression of compressed files over HTTP is supported.
+.IP "NTLM"
+NTLM authentication is supported.
+.IP "Debug"
+This curl uses a libcurl built with Debug. This enables more error-tracking
+and memory debugging etc. For curl-developers only!
+.IP "AsynchDNS"
+This curl uses asynchronous name resolves. Asynchronous name resolves can be
+done using either the c-ares or the threaded resolver backends.
+.IP "SPNEGO"
+SPNEGO authentication is supported.
+.IP "Largefile"
+This curl supports transfers of large files, files larger than 2GB.
+.IP "IDN"
+This curl supports IDN - international domain names.
+.IP "GSS-API"
+GSS-API is supported.
+.IP "SSPI"
+SSPI is supported.
+.IP "TLS-SRP"
+SRP (Secure Remote Password) authentication is supported for TLS.
+.IP "HTTP2"
+HTTP/2 support has been built-in.
+.IP "UnixSockets"
+Unix sockets support is provided.
+.IP "HTTPS-proxy"
+This curl is built to support HTTPS proxy.
+.IP "Metalink"
+This curl supports Metalink (both version 3 and 4 (RFC 5854)), which
+describes mirrors and hashes. curl will use mirrors for failover if
+there are errors (such as the file or server not being available).
+.IP "PSL"
+PSL is short for Public Suffix List and means that this curl has been built
+with knowledge about "public suffixes".
+.RE
diff --git a/docs/cmdline-opts/write-out.d b/docs/cmdline-opts/write-out.d
new file mode 100644
index 000000000..03506c9de
--- /dev/null
+++ b/docs/cmdline-opts/write-out.d
@@ -0,0 +1,141 @@
+Long: write-out
+Short: w
+Arg: <format>
+Help: Use output FORMAT after completion
+---
+Make curl display information on stdout after a completed transfer. The format
+is a string that may contain plain text mixed with any number of
+variables. The format can be specified as a literal "string", or you can have
+curl read the format from a file with "@filename" and to tell curl to read the
+format from stdin you write "@-".
+
+The variables present in the output format will be substituted by the value or
+text that curl thinks fit, as described below. All variables are specified as
+%{variable_name} and to output a normal % you just write them as %%. You can
+output a newline by using \\n, a carriage return with \\r and a tab space with
+\\t.
+
+.B NOTE:
+The %-symbol is a special symbol in the win32-environment, where all
+occurrences of % must be doubled when using this option.
+
+The variables available are:
+.RS
+.TP 15
+.B content_type
+The Content-Type of the requested document, if there was any.
+.TP
+.B filename_effective
+The ultimate filename that curl writes out to. This is only meaningful if curl
+is told to write to a file with the --remote-name or --output
+option. It's most useful in combination with the --remote-header-name
+option. (Added in 7.26.0)
+.TP
+.B ftp_entry_path
+The initial path curl ended up in when logging on to the remote FTP
+server. (Added in 7.15.4)
+.TP
+.B http_code
+The numerical response code that was found in the last retrieved HTTP(S) or
+FTP(s) transfer. In 7.18.2 the alias \fBresponse_code\fP was added to show the
+same info.
+.TP
+.B http_connect
+The numerical code that was found in the last response (from a proxy) to a
+curl CONNECT request. (Added in 7.12.4)
+.TP
+.B http_version
+The http version that was effectively used. (Added in 7.50.0)
+.TP
+.B local_ip
+The IP address of the local end of the most recently done connection - can be
+either IPv4 or IPv6 (Added in 7.29.0)
+.TP
+.B local_port
+The local port number of the most recently done connection (Added in 7.29.0)
+.TP
+.B num_connects
+Number of new connects made in the recent transfer. (Added in 7.12.3)
+.TP
+.B num_redirects
+Number of redirects that were followed in the request. (Added in 7.12.3)
+.TP
+.B proxy_ssl_verify_result
+The result of the HTTPS proxy's SSL peer certificate verification that was
+requested. 0 means the verification was successful. (Added in 7.52.0)
+.TP
+.B redirect_url
+When an HTTP request was made without -L to follow redirects, this variable
+will show the actual URL a redirect \fIwould\fP take you to. (Added in 7.18.2)
+.TP
+.B remote_ip
+The remote IP address of the most recently done connection - can be either
+IPv4 or IPv6 (Added in 7.29.0)
+.TP
+.B remote_port
+The remote port number of the most recently done connection (Added in 7.29.0)
+.TP
+.B scheme
+The URL scheme (sometimes called protocol) that was effectively used (Added in 7.52.0)
+.TP
+.B size_download
+The total amount of bytes that were downloaded.
+.TP
+.B size_header
+The total amount of bytes of the downloaded headers.
+.TP
+.B size_request
+The total amount of bytes that were sent in the HTTP request.
+.TP
+.B size_upload
+The total amount of bytes that were uploaded.
+.TP
+.B speed_download
+The average download speed that curl measured for the complete download. Bytes
+per second.
+.TP
+.B speed_upload
+The average upload speed that curl measured for the complete upload. Bytes per
+second.
+.TP
+.B ssl_verify_result
+The result of the SSL peer certificate verification that was requested. 0
+means the verification was successful. (Added in 7.19.0)
+.TP
+.B time_appconnect
+The time, in seconds, it took from the start until the SSL/SSH/etc
+connect/handshake to the remote host was completed. (Added in 7.19.0)
+.TP
+.B time_connect
+The time, in seconds, it took from the start until the TCP connect to the
+remote host (or proxy) was completed.
+.TP
+.B time_namelookup
+The time, in seconds, it took from the start until the name resolving was
+completed.
+.TP
+.B time_pretransfer
+The time, in seconds, it took from the start until the file transfer was just
+about to begin. This includes all pre-transfer commands and negotiations that
+are specific to the particular protocol(s) involved.
+.TP
+.B time_redirect
+The time, in seconds, it took for all redirection steps include name lookup,
+connect, pretransfer and transfer before the final transaction was
+started. time_redirect shows the complete execution time for multiple
+redirections. (Added in 7.12.3)
+.TP
+.B time_starttransfer
+The time, in seconds, it took from the start until the first byte was just
+about to be transferred. This includes time_pretransfer and also the time the
+server needed to calculate the result.
+.TP
+.B time_total
+The total time, in seconds, that the full operation lasted.
+.TP
+.B url_effective
+The URL that was fetched last. This is most meaningful if you've told curl
+to follow location: headers.
+.RE
+.IP
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/xattr.d b/docs/cmdline-opts/xattr.d
new file mode 100644
index 000000000..b7553daeb
--- /dev/null
+++ b/docs/cmdline-opts/xattr.d
@@ -0,0 +1,8 @@
+Long: xattr
+Help: Store metadata in extended file attributes
+---
+When saving output to a file, this option tells curl to store certain file
+metadata in extended file attributes. Currently, the URL is stored in the
+xdg.origin.url attribute and, for HTTP, the content type is stored in
+the mime_type attribute. If the file system does not support extended
+attributes, a warning is issued.
diff --git a/docs/curl-config.html b/docs/curl-config.html
deleted file mode 100644
index 83bf13f87..000000000
--- a/docs/curl-config.html
+++ /dev/null
@@ -1,96 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl-config man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl-config - Get information about a libcurl installation <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">curl-config [options]</span> <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0"><span Class="bold">curl-config</span> displays information about the curl and libcurl installation. <a name="OPTIONS"></a><h2 class="nroffsh">OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="--ca"></a><span class="nroffip">--ca</span>
-<p class="level1">Displays the built-in path to the CA cert bundle this libcurl uses.
-<p class="level0"><a name="--cc"></a><span class="nroffip">--cc</span>
-<p class="level1">Displays the compiler used to build libcurl.
-<p class="level0"><a name="--cflags"></a><span class="nroffip">--cflags</span>
-<p class="level1">Set of compiler options (CFLAGS) to use when compiling files that use libcurl. Currently that is only the include path to the curl include files.
-<p class="level0"><a name="--checkfor"></a><span class="nroffip">--checkfor [version]</span>
-<p class="level1">Specify the oldest possible libcurl version string you want, and this script will return 0 if the current installation is new enough or it returns 1 and outputs a text saying that the current version is not new enough. (Added in 7.15.4)
-<p class="level0"><a name="--configure"></a><span class="nroffip">--configure</span>
-<p class="level1">Displays the arguments given to configure when building curl.
-<p class="level0"><a name="--feature"></a><span class="nroffip">--feature</span>
-<p class="level1">Lists what particular main features the installed libcurl was built with. At the time of writing, this list may include SSL, KRB4 or IPv6. Do not assume any particular order. The keywords will be separated by newlines. There may be none, one, or several keywords in the list.
-<p class="level0"><a name="--help"></a><span class="nroffip">--help</span>
-<p class="level1">Displays the available options.
-<p class="level0"><a name="--libs"></a><span class="nroffip">--libs</span>
-<p class="level1">Shows the complete set of libs and other linker options you will need in order to link your application with libcurl.
-<p class="level0"><a name="--prefix"></a><span class="nroffip">--prefix</span>
-<p class="level1">This is the prefix used when libcurl was installed. Libcurl is then installed in $prefix/lib and its header files are installed in $prefix/include and so on. The prefix is set with "configure --prefix".
-<p class="level0"><a name="--protocols"></a><span class="nroffip">--protocols</span>
-<p class="level1">Lists what particular protocols the installed libcurl was built to support. At the time of writing, this list may include HTTP, HTTPS, FTP, FTPS, FILE, TELNET, LDAP, DICT. Do not assume any particular order. The protocols will be listed using uppercase and are separated by newlines. There may be none, one, or several protocols in the list. (Added in 7.13.0)
-<p class="level0"><a name="--static-libs"></a><span class="nroffip">--static-libs</span>
-<p class="level1">Shows the complete set of libs and other linker options you will need in order to link your application with libcurl statically. (Added in 7.17.1)
-<p class="level0"><a name="--version"></a><span class="nroffip">--version</span>
-<p class="level1">Outputs version information about the installed libcurl.
-<p class="level0"><a name="--vernum"></a><span class="nroffip">--vernum</span>
-<p class="level1">Outputs version information about the installed libcurl, in numerical mode. This outputs the version number, in hexadecimal, with 8 bits for each part; major, minor, patch. So that libcurl 7.7.4 would appear as 070704 and libcurl 12.13.14 would appear as 0c0d0e... Note that the initial zero might be omitted. (This option was broken in the 7.15.0 release.) <a name="EXAMPLES"></a><h2 class="nroffsh">EXAMPLES</h2>
-<p class="level0">What linker options do I need when I link with libcurl?
-<p class="level0">&nbsp; $ curl-config --libs
-<p class="level0">What compiler options do I need when I compile using libcurl functions?
-<p class="level0">&nbsp; $ curl-config --cflags
-<p class="level0">How do I know if libcurl was built with SSL support?
-<p class="level0">&nbsp; $ curl-config --feature | grep SSL
-<p class="level0">What's the installed libcurl version?
-<p class="level0">&nbsp; $ curl-config --version
-<p class="level0">How do I build a single file with a one-line command?
-<p class="level0">&nbsp; $ `curl-config --cc --cflags` -o example example.c `curl-config --libs` <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl (1)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/curl-config.pdf b/docs/curl-config.pdf
deleted file mode 100644
index 4129028de..000000000
--- a/docs/curl-config.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/curl.1 b/docs/curl.1
index 7a6cbbd5a..600853eb6 100644
--- a/docs/curl.1
+++ b/docs/curl.1
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,9 @@
.\" *
.\" **************************************************************************
.\"
-.TH curl 1 "30 Nov 2014" "Curl 7.40.0" "Curl Manual"
+.\" DO NOT EDIT. Generated by the curl project gen.pl man page generator.
+.\"
+.TH curl 1 "16 Dec 2016" "Curl 7.52.0" "Curl Manual"
.SH NAME
curl \- transfer a URL
.SH SYNOPSIS
@@ -109,21 +111,22 @@ do an operation and it is about to write data to the terminal, it
mixing progress meter and response data.
If you want a progress meter for HTTP POST or PUT requests, you need to
-redirect the response output to a file, using shell redirect (>), -o [file] or
+redirect the response output to a file, using shell redirect (>), \fI-o, --output\fP or
similar.
It is not the same case for FTP upload as that operation does not spit out
any response data to the terminal.
-If you prefer a progress "bar" instead of the regular meter, \fI-#\fP is your
-friend.
+If you prefer a progress "bar" instead of the regular meter, \fI-#, --progress-bar\fP is
+your friend. You can also disable the progress meter completely with the
+\fI-s, --silent\fP option.
.SH OPTIONS
Options start with one or two dashes. Many of the options require an
additional value next to them.
The short "single-dash" form of the options, -d for example, may be used with
or without a space between it and its value, although a space is a recommended
-separator. The long "double-dash" form, --data for example, requires a space
+separator. The long "double-dash" form, \fI-d, --data\fP for example, requires a space
between it and its value.
Short version options that don't need any additional values can be used
@@ -136,256 +139,311 @@ but prefix it with "no-". However, in this list we mostly only list and show
the --option version of them. (This concept with --no options was added in
7.19.0. Previously most options were toggled on/off on repeated use of the
same command line option.)
-.IP "-#, --progress-bar"
-Make curl display progress as a simple progress bar instead of the standard,
-more informational, meter.
-.IP "-:, --next"
-Tells curl to use a separate operation for the following URL and associated
-options. This allows you to send several URL requests, each with their own
-specific options, for example, such as different user names or custom requests
-for each. (Added in 7.36.0)
-.IP "-0, --http1.0"
-(HTTP) Tells curl to use HTTP version 1.0 instead of using its internally
-preferred: HTTP 1.1.
-.IP "--http1.1"
-(HTTP) Tells curl to use HTTP version 1.1. This is the internal default
-version. (Added in 7.33.0)
-.IP "--http2"
-(HTTP) Tells curl to issue its requests using HTTP 2. This requires that the
-underlying libcurl was built to support it. (Added in 7.33.0)
-.IP "--http2-prior-knowledge"
-(HTTP) Tells curl to issue its 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.
+.IP "--abstract-unix-socket <path>"
+(HTTP) Connect through an abstract Unix domain socket, instead of using the network.
+Note: netstat shows the path of an abstract socket prefixed with '@', however
+the <path> argument should not have this leading character.
-HTTP/2 support in general also requires that the underlying libcurl was built
-to support it. (Added in 7.49.0)
-.IP "--no-npn"
-Disable the NPN TLS extension. NPN is enabled by default if libcurl was built
-with an SSL library that supports NPN. NPN is used by a libcurl that supports
-HTTP 2 to negotiate HTTP 2 support with the server during https sessions.
+Added in 7.53.0.
+.IP "--anyauth"
+(HTTP) Tells curl to figure out authentication method by itself, and use the most
+secure one the remote site claims to support. This is done by first doing a
+request and checking the response-headers, thus possibly inducing an extra
+network round-trip. This is used instead of setting a specific authentication
+method, which you can do with \fI--basic\fP, \fI--digest\fP, \fI--ntlm\fP, and \fI--negotiate\fP.
-(Added in 7.36.0)
-.IP "--no-alpn"
-Disable the ALPN TLS extension. ALPN is enabled by default if libcurl was built
-with an SSL library that supports ALPN. ALPN is used by a libcurl that supports
-HTTP 2 to negotiate HTTP 2 support with the server during https sessions.
+Using \fI--anyauth\fP is not recommended if you do uploads from stdin, since it may
+require data to be sent twice and then the client must be able to rewind. If
+the need should arise when uploading from stdin, the upload operation will
+fail.
-(Added in 7.36.0)
-.IP "-1, --tlsv1"
-(SSL)
-Forces curl to use TLS version 1.x when negotiating with a remote TLS server.
-You can use options \fI--tlsv1.0\fP, \fI--tlsv1.1\fP, and \fI--tlsv1.2\fP to
-control the TLS version more precisely (if the SSL backend in use supports such
-a level of control).
-.IP "-2, --sslv2"
-(SSL) Forces curl to use SSL version 2 when negotiating with a remote SSL
-server. Sometimes curl is built without SSLv2 support. SSLv2 is widely
-considered insecure (see RFC 6176).
-.IP "-3, --sslv3"
-(SSL) Forces curl to use SSL version 3 when negotiating with a remote SSL
-server. Sometimes curl is built without SSLv3 support. SSLv3 is widely
-considered insecure (see RFC 7568).
-.IP "-4, --ipv4"
-This option tells curl to resolve names to IPv4 addresses only, and not for
-example try IPv6.
-.IP "-6, --ipv6"
-This option tells curl to resolve names to IPv6 addresses only, and not for
-example try IPv4.
+Used together with \fI-u, --user\fP.
+
+See also \fI--proxy-anyauth\fP and \fI--basic\fP and \fI--digest\fP.
.IP "-a, --append"
-(FTP/SFTP) When used in an upload, this makes curl append to the target file
-instead of overwriting it. If the remote file doesn't exist, it will be
-created. Note that this flag is ignored by some SFTP servers (including
-OpenSSH).
-.IP "-A, --user-agent <agent string>"
-(HTTP) Specify the User-Agent string to send to the HTTP server. Some badly
-done CGIs fail if this field isn't set to "Mozilla/4.0". To encode blanks in
-the string, surround the string with single quote marks. This can also be set
-with the \fI-H, --header\fP option of course.
+(FTP SFTP) When used in an upload, this makes curl append to the target file instead of
+overwriting it. If the remote file doesn't exist, it will be created. Note
+that this flag is ignored by some SFTP servers (including OpenSSH).
+.IP "--basic"
+(HTTP) Tells curl to use HTTP Basic authentication with the remote host. This is the
+default and this option is usually pointless, unless you use it to override a
+previously set option that sets a different authentication method (such as
+\fI--ntlm\fP, \fI--digest\fP, or \fI--negotiate\fP).
-If this option is used several times, the last one will be used.
-.IP "--anyauth"
-(HTTP) Tells curl to figure out authentication method by itself, and use the
-most secure one the remote site claims to support. This is done by first
-doing a request and checking the response-headers, thus possibly inducing an
-extra network round-trip. This is used instead of setting a specific
-authentication method, which you can do with \fI--basic\fP, \fI--digest\fP,
-\fI--ntlm\fP, and \fI--negotiate\fP.
-
-Note that using --anyauth is not recommended if you do uploads from stdin,
-since it may require data to be sent twice and then the client must be able to
-rewind. If the need should arise when uploading from stdin, the upload
-operation will fail.
-.IP "-b, --cookie <name=data>"
-(HTTP) Pass the data to the HTTP server as a cookie. It is supposedly the data
-previously received from the server in a "Set-Cookie:" line. The data should
-be in the format "NAME1=VALUE1; NAME2=VALUE2".
-
-If no '=' symbol is used in the line, it is treated as a filename to use to
-read previously stored cookie lines from, which should be used in this session
-if they match. Using this method also activates the cookie engine which will
-make curl record incoming cookies too, which may be handy if you're using this
-in combination with the \fI-L, --location\fP option. The file format of the
-file to read cookies from should be plain HTTP headers (Set-Cookie style) or
-the Netscape/Mozilla cookie file format.
-
-The file specified with \fI-b, --cookie\fP is only used as input. No cookies
-will be written to the file. To store cookies, use the \fI-c, --cookie-jar\fP
-option.
+Used together with \fI-u, --user\fP.
+
+See also \fI--proxy-basic\fP.
+.IP "--cacert <CA certificate>"
+(TLS) Tells curl to use the specified certificate file to verify the peer. The file
+may contain multiple CA certificates. The certificate(s) must be in PEM
+format. Normally curl is built to use a default file for this, so this option
+is typically used to alter that default file.
+
+curl recognizes the environment variable named 'CURL_CA_BUNDLE' if it is
+set, and uses the given path as a path to a CA cert bundle. This option
+overrides that variable.
+
+The windows version of curl will automatically look for a CA certs file named
+\'curl-ca-bundle.crt\', either in the same directory as curl.exe, or in the
+Current Working Directory, or in any folder along your PATH.
-Exercise caution if you are using this option and multiple transfers may occur.
-If you use the NAME1=VALUE1; format, or in a file use the Set-Cookie format and
-don't specify a domain, then the cookie is sent for any domain (even after
-redirects are followed) and cannot be modified by a server-set cookie. If the
-cookie engine is enabled and a server sets a cookie of the same name then both
-will be sent on a future transfer to that server, likely not what you intended.
-To address these issues set a domain in Set-Cookie (doing that will include
-sub-domains) or use the Netscape format.
+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.
If this option is used several times, the last one will be used.
-.IP "-B, --use-ascii"
-(FTP/LDAP) Enable ASCII transfer. For FTP, this can also be enforced by using
-an URL that ends with ";type=A". This option causes data sent to stdout to be
-in text mode for win32 systems.
-.IP "--basic"
-(HTTP) Tells curl to use HTTP Basic authentication with the remote host. This
-is the default and this option is usually pointless, unless you use it to
-override a previously set option that sets a different authentication method
-(such as \fI--ntlm\fP, \fI--digest\fP, or \fI--negotiate\fP).
+.IP "--capath <dir>"
+(TLS) Tells curl to use the specified certificate directory to verify the
+peer. Multiple paths can be provided by separating them with ":" (e.g.
+\&"path1:path2:path3"). The certificates must be in PEM format, and if curl is
+built against OpenSSL, the directory must have been processed using the
+c_rehash utility supplied with OpenSSL. Using \fI--capath\fP can allow
+OpenSSL-powered curl to make SSL-connections much more efficiently than using
+\fI--cacert\fP if the --cacert file contains many CA certificates.
-Used together with \fI-u, --user\fP and \fI-x, --proxy\fP.
+If this option is set, the default capath value will be ignored, and if it is
+used several times, the last one will be used.
+.IP "--cert-status"
+(TLS) Tells curl to verify the status of the server certificate by using the
+Certificate Status Request (aka. OCSP stapling) TLS extension.
-See also \fI--proxy-basic\fP.
-.IP "-c, --cookie-jar <file name>"
-(HTTP) Specify to which file you want curl to write all cookies after a
-completed operation. Curl writes all cookies previously read from a specified
-file as well as all cookies received from remote server(s). If no cookies are
-known, no data will be written. The file will be written using the Netscape
-cookie file format. If you set the file name to a single dash, "-", the
-cookies will be written to stdout.
+If this option is enabled and the server sends an invalid (e.g. expired)
+response, if the response suggests that the server certificate has been revoked,
+or no response at all is received, the verification fails.
-This command line option will activate the cookie engine that makes curl
-record and use cookies. Another way to activate it is to use the \fI-b,
---cookie\fP option.
+This is currently only implemented in the OpenSSL, GnuTLS and NSS backends.
-If the cookie jar can't be created or written to, the whole curl operation
-won't fail or even report an error clearly. Using -v will get a warning
-displayed, but that is the only visible feedback you get about this possibly
-lethal situation.
+Added in 7.41.0.
+.IP "--cert-type <type>"
+(TLS) Tells curl what certificate type the provided certificate is in. PEM, DER and
+ENG are recognized types. If not specified, PEM is assumed.
-Since 7.43.0 cookies that were imported in the Set-Cookie format without a
-domain name are not exported by this option.
+If this option is used several times, the last one will be used.
-If this option is used several times, the last specified file name will be
-used.
-.IP "-C, --continue-at <offset>"
-Continue/Resume a previous file transfer at the given offset. The given offset
-is the exact number of bytes that will be skipped, counting from the beginning
-of the source file before it is transferred to the destination. If used with
-uploads, the FTP server command SIZE will not be used by curl.
+See also \fI-E, --cert\fP and \fI--key\fP and \fI--key-type\fP.
+.IP "-E, --cert <certificate[:password]>"
+(TLS) Tells curl to use the specified client certificate file when getting a file
+with HTTPS, FTPS or another SSL-based protocol. The certificate must be in
+PKCS#12 format if using Secure Transport, or PEM format if using any other
+engine. If the optional password isn't specified, it will be queried for on
+the terminal. Note that this option assumes a \&"certificate" file that is the
+private key and the client certificate concatenated! See \fI-E, --cert\fP and \fI--key\fP to
+specify them independently.
-Use "-C -" to tell curl to automatically find out where/how to resume the
-transfer. It then uses the given output/input files to figure that out.
+If curl is built against the NSS SSL library then this option can tell
+curl the nickname of the certificate to use within the NSS database defined
+by the environment variable SSL_DIR (or by default /etc/pki/nssdb). If the
+NSS PEM PKCS#11 module (libnsspem.so) is available then PEM files may be
+loaded. If you want to use a file from the current directory, please precede
+it with "./" prefix, in order to avoid confusion with a nickname. If the
+nickname contains ":", it needs to be preceded by "\\" so that it is not
+recognized as password delimiter. If the nickname contains "\\", it needs to
+be escaped as "\\\\" so that it is not recognized as an escape character.
+
+(iOS and macOS only) If curl is built against Secure Transport, then the
+certificate string can either be the name of a certificate/private key in the
+system or user keychain, or the path to a PKCS#12-encoded certificate and
+private key. If you want to use a file from the current directory, please
+precede it with "./" prefix, in order to avoid confusion with a nickname.
If this option is used several times, the last one will be used.
+
+See also \fI--cert-type\fP and \fI--key\fP and \fI--key-type\fP.
.IP "--ciphers <list of ciphers>"
-(SSL) Specifies which ciphers to use in the connection. The list of ciphers
-must specify valid ciphers. Read up on SSL cipher list details on this URL:
-\fIhttps://www.openssl.org/docs/apps/ciphers.html\fP
+(TLS) Specifies which ciphers to use in the connection. The list of ciphers must
+specify valid ciphers. Read up on SSL cipher list details on this URL:
-NSS ciphers are done differently than OpenSSL and GnuTLS. The full list of NSS
-ciphers is in the NSSCipherSuite entry at this URL:
-\fIhttps://git.fedorahosted.org/cgit/mod_nss.git/plain/docs/mod_nss.html#Directives\fP
+ https://curl.haxx.se/docs/ssl-ciphers.html
If this option is used several times, the last one will be used.
.IP "--compressed"
-(HTTP) Request a compressed response using one of the algorithms curl
-supports, and save the uncompressed document. If this option is used and the
-server sends an unsupported encoding, curl will report an error.
+(HTTP) Request a compressed response using one of the algorithms curl supports, and
+save the uncompressed document. If this option is used and the server sends
+an unsupported encoding, curl will report an error.
+.IP "-K, --config <file>"
+Specify which config file to read curl arguments from. The config file is a
+text file in which command line arguments can be written which then will be
+used as if they were written on the actual command line.
+
+Options and their parameters must be specified on the same config file line,
+separated by whitespace, colon, or the equals sign. Long option names can
+optionally be given in the config file without the initial double dashes and
+if so, the colon or equals characters can be used as separators. If the option
+is specified with one or two dashes, there can be no colon or equals character
+between the option and its parameter.
+
+If the parameter is to contain whitespace, the parameter must be enclosed
+within quotes. Within double quotes, the following escape sequences are
+available: \\\\, \\", \\t, \\n, \\r and \\v. A backslash preceding any other
+letter is ignored. If the first column of a config line is a '#' character,
+the rest of the line will be treated as a comment. Only write one option per
+physical line in the config file.
+
+Specify the filename to \fI-K, --config\fP as '-' to make curl read the file from stdin.
+
+Note that to be able to specify a URL in the config file, you need to specify
+it using the \fI--url\fP option, and not by simply writing the URL on its own
+line. So, it could look similar to this:
+
+url = "https://curl.haxx.se/docs/"
+
+When curl is invoked, it always (unless \fI-q, --disable\fP is used) checks for a
+default config file and uses it if found. The default config file is checked
+for in the following places in this order:
+
+1) curl tries to find the "home dir": It first checks for the CURL_HOME and
+then the HOME environment variables. Failing that, it uses getpwuid() on
+Unix-like systems (which returns the home dir given the current user in your
+system). On Windows, it then checks for the APPDATA variable, or as a last
+resort the '%USERPROFILE%\\Application Data'.
+
+2) On windows, if there is no _curlrc file in the home dir, it checks for one
+in the same dir the curl executable is placed. On Unix-like systems, it will
+simply try to load .curlrc from the determined home dir.
+
+.nf
+# --- Example file ---
+# this is a comment
+url = "example.com"
+output = "curlhere.html"
+user-agent = "superagent/1.0"
+
+# and fetch another URL too
+url = "example.com/docs/manpage.html"
+-O
+referer = "http://nowhereatall.example.com/"
+# --- End of example file ---
+.fi
+
+This option can be used multiple times to load multiple config files.
.IP "--connect-timeout <seconds>"
Maximum time in seconds that you allow curl's connection to take. This only
limits the connection phase, so if curl connects within the given period it
will continue - if not it will exit. Since version 7.32.0, this option
accepts decimal values.
-See also the \fI-m, --max-time\fP option.
-
If this option is used several times, the last one will be used.
-.IP "--create-dirs"
-When used in conjunction with the \fI-o\fP option, curl will create the
-necessary local directory hierarchy as needed. This option creates the dirs
-mentioned with the \fI-o\fP option, nothing else. If the \fI-o\fP file name
-uses no dir or if the dirs it mentions already exist, no dir will be created.
-To create remote directories when using FTP or SFTP, try
-\fI--ftp-create-dirs\fP.
-.IP "--crlf"
-Convert LF to CRLF in upload. Useful for MVS (OS/390).
+See also \fI-m, --max-time\fP.
+.IP "--connect-to <HOST1:PORT1:HOST2:PORT2>"
-(SMTP added in 7.40.0)
-.IP "--crlfile <file>"
-(HTTPS/FTPS) Provide a file using PEM format with a Certificate Revocation
-List that may specify peer certificates that are to be considered revoked.
+For a request to the given HOST:PORT pair, connect to
+CONNECT-TO-HOST:CONNECT-TO-PORT instead. This option is suitable to direct
+requests at a specific server, e.g. at a specific cluster node in a cluster of
+servers. This option is only used to establish the network connection. It
+does NOT affect the hostname/port that is used for TLS/SSL (e.g. SNI,
+certificate verification) or for the application protocols. "host" and "port"
+may be the empty string, meaning "any host/port". "connect-to-host" and
+"connect-to-port" may also be the empty string, meaning "use the request's
+original host/port".
+
+This option can be used many times to add many connect rules.
+
+See also \fI--resolve\fP and \fI-H, --header\fP. Added in 7.49.0.
+.IP "-C, --continue-at <offset>"
+Continue/Resume a previous file transfer at the given offset. The given offset
+is the exact number of bytes that will be skipped, counting from the beginning
+of the source file before it is transferred to the destination. If used with
+uploads, the FTP server command SIZE will not be used by curl.
+
+Use "-C -" to tell curl to automatically find out where/how to resume the
+transfer. It then uses the given output/input files to figure that out.
If this option is used several times, the last one will be used.
-(Added in 7.19.7)
-.IP "-d, --data <data>"
-(HTTP) Sends the specified data in a POST request to the HTTP server, in the
-same way that a browser does when a user has filled in an HTML form and
-presses the submit button. This will cause curl to pass the data to the server
-using the content-type application/x-www-form-urlencoded. Compare to
-\fI-F, --form\fP.
+See also \fI-r, --range\fP.
+.IP "-c, --cookie-jar <filename>"
+(HTTP) Specify to which file you want curl to write all cookies after a completed
+operation. Curl writes all cookies from its in-memory cookie storage to the
+given file at the end of operations. If no cookies are known, no data will be
+written. The file will be written using the Netscape cookie file format. If
+you set the file name to a single dash, "-", the cookies will be written to
+stdout.
-\fI-d, --data\fP is the same as \fI--data-ascii\fP. \fI--data-raw\fP is almost
-the same but does not have a special interpretation of the @ character. To
-post data purely binary, you should instead use the \fI--data-binary\fP option.
-To URL-encode the value of a form field you may use \fI--data-urlencode\fP.
+This command line option will activate the cookie engine that makes curl
+record and use cookies. Another way to activate it is to use the \fI-b, --cookie\fP
+option.
-If any of these options is used more than once on the same command line, the
-data pieces specified will be merged together with a separating
-&-symbol. Thus, using '-d name=daniel -d skill=lousy' would generate a post
-chunk that looks like \&'name=daniel&skill=lousy'.
+If the cookie jar can't be created or written to, the whole curl operation
+won't fail or even report an error clearly. Using \fI-v, --verbose\fP will get a warning
+displayed, but that is the only visible feedback you get about this possibly
+lethal situation.
-If you start the data with the letter @, the rest should be a file name to
-read the data from, or - if you want curl to read the data from
-stdin. Multiple files can also be specified. Posting data from a file
-named 'foobar' would thus be done with \fI--data\fP @foobar. When --data is
-told to read from a file like that, carriage returns and newlines will be
-stripped out. If you don't want the @ character to have a special
-interpretation use \fI--data-raw\fP instead.
-.IP "-D, --dump-header <file>"
-Write the protocol headers to the specified file.
+If this option is used several times, the last specified file name will be
+used.
+.IP "-b, --cookie <data>"
+(HTTP) Pass the data to the HTTP server in the Cookie header. It is supposedly
+the data previously received from the server in a "Set-Cookie:" line. The
+data should be in the format "NAME1=VALUE1; NAME2=VALUE2".
+
+If no '=' symbol is used in the argument, it is instead treated as a filename
+to read previously stored cookie from. This option also activates the cookie
+engine which will make curl record incoming cookies, which may be handy if
+you're using this in combination with the \fI-L, --location\fP option or do multiple URL
+transfers on the same invoke.
+
+The file format of the file to read cookies from should be plain HTTP headers
+(Set-Cookie style) or the Netscape/Mozilla cookie file format.
+
+The file specified with \fI-b, --cookie\fP is only used as input. No cookies will be
+written to the file. To store cookies, use the \fI-c, --cookie-jar\fP option.
+
+Exercise caution if you are using this option and multiple transfers may
+occur. If you use the NAME1=VALUE1; format, or in a file use the Set-Cookie
+format and don't specify a domain, then the cookie is sent for any domain
+(even after redirects are followed) and cannot be modified by a server-set
+cookie. If the cookie engine is enabled and a server sets a cookie of the same
+name then both will be sent on a future transfer to that server, likely not
+what you intended. To address these issues set a domain in Set-Cookie (doing
+that will include sub domains) or use the Netscape format.
-This option is handy to use when you want to store the headers that an HTTP
-site sends to you. Cookies from the headers could then be read in a second
-curl invocation by using the \fI-b, --cookie\fP option! The
-\fI-c, --cookie-jar\fP option is a better way to store cookies.
+If this option is used several times, the last one will be used.
-When used in FTP, the FTP server response lines are considered being "headers"
-and thus are saved there.
+Users very often want to both read cookies from a file and write updated
+cookies back to a file, so using both \fI-b, --cookie\fP and \fI-c, --cookie-jar\fP in the same
+command line is common.
+.IP "--create-dirs"
+When used in conjunction with the \fI-o, --output\fP option, curl will create the
+necessary local directory hierarchy as needed. This option creates the dirs
+mentioned with the \fI-o, --output\fP option, nothing else. If the --output file name
+uses no dir or if the dirs it mentions already exist, no dir will be created.
+
+To create remote directories when using FTP or SFTP, try \fI--ftp-create-dirs\fP.
+.IP "--crlf"
+(FTP SMTP) Convert LF to CRLF in upload. Useful for MVS (OS/390).
+
+(SMTP added in 7.40.0)
+.IP "--crlfile <file>"
+(TLS) Provide a file using PEM format with a Certificate Revocation List that may
+specify peer certificates that are to be considered revoked.
If this option is used several times, the last one will be used.
+
+Added in 7.19.7.
.IP "--data-ascii <data>"
-See \fI-d, --data\fP.
+(HTTP) This is just an alias for \fI-d, --data\fP.
.IP "--data-binary <data>"
-(HTTP) This posts data exactly as specified with no extra processing
-whatsoever.
+(HTTP) This posts data exactly as specified with no extra processing whatsoever.
If you start the data with the letter @, the rest should be a filename. Data
-is posted in a similar manner as \fI--data-ascii\fP does, except that newlines
-and carriage returns are preserved and conversions are never done.
+is posted in a similar manner as \fI-d, --data\fP does, except that newlines and
+carriage returns are preserved and conversions are never done.
If this option is used several times, the ones following the first will append
data as described in \fI-d, --data\fP.
.IP "--data-raw <data>"
-(HTTP) This posts data similarly to \fI--data\fP but without the special
-interpretation of the @ character. See \fI-d, --data\fP.
-(Added in 7.43.0)
+(HTTP) This posts data similarly to \fI-d, --data\fP but without the special
+interpretation of the @ character.
+
+See also \fI-d, --data\fP. Added in 7.43.0.
.IP "--data-urlencode <data>"
-(HTTP) This posts data, similar to the other --data options with the exception
-that this performs URL-encoding. (Added in 7.18.0)
+(HTTP) This posts data, similar to the other \fI-d, --data\fP options with the exception
+that this performs URL-encoding.
To be CGI-compliant, the <data> part should begin with a \fIname\fP followed
by a separator and a content specification. The <data> part can be passed to
@@ -410,9 +468,36 @@ URL-encode that data and pass it on in the POST. The name part gets an equal
sign appended, resulting in \fIname=urlencoded-file-content\fP. Note that the
name is expected to be URL-encoded already.
.RE
-.IP "--delegation LEVEL"
-Set \fILEVEL\fP to tell the server what it is allowed to delegate when it
-comes to user credentials. Used with GSS/kerberos.
+
+See also \fI-d, --data\fP and \fI--data-raw\fP. Added in 7.18.0.
+.IP "-d, --data <data>"
+(HTTP) Sends the specified data in a POST request to the HTTP server, in the same way
+that a browser does when a user has filled in an HTML form and presses the
+submit button. This will cause curl to pass the data to the server using the
+content-type application/x-www-form-urlencoded. Compare to \fI-F, --form\fP.
+
+\fI--data-raw\fP is almost the same but does not have a special interpretation of
+the @ character. To post data purely binary, you should instead use the
+\fI--data-binary\fP option. To URL-encode the value of a form field you may use
+\fI--data-urlencode\fP.
+
+If any of these options is used more than once on the same command line, the
+data pieces specified will be merged together with a separating
+&-symbol. Thus, using '-d name=daniel -d skill=lousy' would generate a post
+chunk that looks like \&'name=daniel&skill=lousy'.
+
+If you start the data with the letter @, the rest should be a file name to
+read the data from, or - if you want curl to read the data from
+stdin. Multiple files can also be specified. Posting data from a file named
+'foobar' would thus be done with \fI-d, --data\fP @foobar. When --data is told to read
+from a file like that, carriage returns and newlines will be stripped out. If
+you don't want the @ character to have a special interpretation use \fI--data-raw\fP
+instead.
+
+See also \fI--data-binary\fP and \fI--data-urlencode\fP and \fI--data-raw\fP. This option overrides \fI-F, --form\fP and \fI-I, --head\fP and \fI--upload\fP.
+.IP "--delegation <LEVEL>"
+(GSS/kerberos) Set LEVEL to tell the server what it is allowed to delegate when it
+comes to user credentials.
.RS
.IP "none"
Don't allow any delegation.
@@ -423,226 +508,155 @@ service ticket, which is a matter of realm policy.
Unconditionally allow the server to delegate.
.RE
.IP "--digest"
-(HTTP) Enables HTTP Digest authentication. This is an authentication scheme
-that prevents the password from being sent over the wire in clear text. Use
-this in combination with the normal \fI-u, --user\fP option to set user name
-and password. See also \fI--ntlm\fP, \fI--negotiate\fP and \fI--anyauth\fP for
-related options.
+(HTTP) Enables HTTP Digest authentication. This is an authentication scheme that
+prevents the password from being sent over the wire in clear text. Use this in
+combination with the normal \fI-u, --user\fP option to set user name and password.
If this option is used several times, only the first one is used.
+
+See also \fI-u, --user\fP and \fI--proxy-digest\fP and \fI--anyauth\fP. This option overrides \fI--basic\fP and \fI--ntlm\fP and \fI--negotiate\fP.
.IP "--disable-eprt"
-(FTP) Tell curl to disable the use of the EPRT and LPRT commands when doing
-active FTP transfers. Curl will normally always first attempt to use EPRT,
-then LPRT before using PORT, but with this option, it will use PORT right
-away. EPRT and LPRT are extensions to the original FTP protocol, and may not
-work on all servers, but they enable more functionality in a better way than
-the traditional PORT command.
+(FTP) Tell curl to disable the use of the EPRT and LPRT commands when doing active
+FTP transfers. Curl will normally always first attempt to use EPRT, then LPRT
+before using PORT, but with this option, it will use PORT right away. EPRT and
+LPRT are extensions to the original FTP protocol, and may not work on all
+servers, but they enable more functionality in a better way than the
+traditional PORT command.
-\fB--eprt\fP can be used to explicitly enable EPRT again and \fB--no-eprt\fP
-is an alias for \fB--disable-eprt\fP.
+--eprt can be used to explicitly enable EPRT again and --no-eprt is an alias
+for \fI--disable-eprt\fP.
-If the server is an IPv6 host, this option will have no effect as EPRT is
-necessary then.
+If the server is accessed using IPv6, this option will have no effect as EPRT
+is necessary then.
Disabling EPRT only changes the active behavior. If you want to switch to
-passive mode you need to not use \fI-P, --ftp-port\fP or force it with
-\fI--ftp-pasv\fP.
+passive mode you need to not use \fI-P, --ftp-port\fP or force it with \fI--ftp-pasv\fP.
.IP "--disable-epsv"
-(FTP) Tell curl to disable the use of the EPSV command when doing passive FTP
+(FTP) (FTP) Tell curl to disable the use of the EPSV command when doing passive FTP
transfers. Curl will normally always first attempt to use EPSV before PASV,
but with this option, it will not try using EPSV.
-\fB--epsv\fP can be used to explicitly enable EPSV again and \fB--no-epsv\fP
-is an alias for \fB--disable-epsv\fP.
+--epsv can be used to explicitly enable EPSV again and --no-epsv is an alias
+for \fI--disable-epsv\fP.
If the server is an IPv6 host, this option will have no effect as EPSV is
necessary then.
Disabling EPSV only changes the passive behavior. If you want to switch to
active mode you need to use \fI-P, --ftp-port\fP.
+.IP "-q, --disable"
+If used as the first parameter on the command line, the \fIcurlrc\fP config
+file will not be read and used. See the \fI-K, --config\fP for details on the default
+config file search path.
.IP "--dns-interface <interface>"
-Tell curl to send outgoing DNS requests through <interface>. This option
-is a counterpart to \fI--interface\fP (which does not affect DNS). The
-supplied string must be an interface name (not an address).
-
-This option requires that libcurl was built with a resolver backend that
-supports this operation. The c-ares backend is the only such one. (Added in
-7.33.0)
-.IP "--dns-ipv4-addr <ip-address>"
-Tell curl to bind to <ip-address> when making IPv4 DNS requests, so that
+(DNS) Tell curl to send outgoing DNS requests through <interface>. This option is a
+counterpart to \fI--interface\fP (which does not affect DNS). The supplied string
+must be an interface name (not an address).
+
+See also \fI--dns-ipv4-addr\fP and \fI--dns-ipv6-addr\fP. \fI--dns-interface\fP requires that the underlying libcurl was built to support c-ares. Added in 7.33.0.
+.IP "--dns-ipv4-addr <address>"
+(DNS) Tell curl to bind to <ip-address> when making IPv4 DNS requests, so that
the DNS requests originate from this address. The argument should be a
single IPv4 address.
-This option requires that libcurl was built with a resolver backend that
-supports this operation. The c-ares backend is the only such one. (Added in
-7.33.0)
-.IP "--dns-ipv6-addr <ip-address>"
-Tell curl to bind to <ip-address> when making IPv6 DNS requests, so that
+See also \fI--dns-interface\fP and \fI--dns-ipv6-addr\fP. \fI--dns-ipv4-addr\fP requires that the underlying libcurl was built to support c-ares. Added in 7.33.0.
+.IP "--dns-ipv6-addr <address>"
+(DNS) Tell curl to bind to <ip-address> when making IPv6 DNS requests, so that
the DNS requests originate from this address. The argument should be a
single IPv6 address.
-This option requires that libcurl was built with a resolver backend that
-supports this operation. The c-ares backend is the only such one. (Added in
-7.33.0)
-.IP "--dns-servers <ip-address,ip-address>"
+See also \fI--dns-interface\fP and \fI--dns-ipv4-addr\fP. \fI--dns-ipv6-addr\fP requires that the underlying libcurl was built to support c-ares. Added in 7.33.0.
+.IP "--dns-servers <addresses>"
Set the list of DNS servers to be used instead of the system default.
The list of IP addresses should be separated with commas. Port numbers
may also optionally be given as \fI:<port-number>\fP after each IP
address.
-This option requires that libcurl was built with a resolver backend that
-supports this operation. The c-ares backend is the only such one. (Added in
-7.33.0)
-.IP "-e, --referer <URL>"
-(HTTP) Sends the "Referrer Page" information to the HTTP server. This can also
-be set with the \fI-H, --header\fP flag of course. When used with
-\fI-L, --location\fP you can append ";auto" to the --referer URL to make curl
-automatically set the previous URL when it follows a Location: header. The
-\&";auto" string can be used alone, even if you don't set an initial --referer.
+\fI--dns-servers\fP requires that the underlying libcurl was built to support c-ares. Added in 7.33.0.
+.IP "-D, --dump-header <filename>"
+(HTTP FTP) Write the received protocol headers to the specified file.
-If this option is used several times, the last one will be used.
-.IP "-E, --cert <certificate[:password]>"
-(SSL) Tells curl to use the specified client certificate file when getting a
-file with HTTPS, FTPS or another SSL-based protocol. The certificate must be
-in PKCS#12 format if using Secure Transport, or PEM format if using any other
-engine. If the optional password isn't specified, it will be queried for on
-the terminal. Note that this option assumes a \&"certificate" file that is the
-private key and the client certificate concatenated! See \fI--cert\fP and
-\fI--key\fP to specify them independently.
-
-If curl is built against the NSS SSL library then this option can tell
-curl the nickname of the certificate to use within the NSS database defined
-by the environment variable SSL_DIR (or by default /etc/pki/nssdb). If the
-NSS PEM PKCS#11 module (libnsspem.so) is available then PEM files may be
-loaded. If you want to use a file from the current directory, please precede
-it with "./" prefix, in order to avoid confusion with a nickname. If the
-nickname contains ":", it needs to be preceded by "\\" so that it is not
-recognized as password delimiter. If the nickname contains "\\", it needs to
-be escaped as "\\\\" so that it is not recognized as an escape character.
+This option is handy to use when you want to store the headers that an HTTP
+site sends to you. Cookies from the headers could then be read in a second
+curl invocation by using the \fI-b, --cookie\fP option! The \fI-c, --cookie-jar\fP option is a
+better way to store cookies.
-(iOS and macOS only) If curl is built against Secure Transport, then the
-certificate string can either be the name of a certificate/private key in the
-system or user keychain, or the path to a PKCS#12-encoded certificate and
-private key. 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 used in FTP, the FTP server response lines are considered being "headers"
+and thus are saved there.
If this option is used several times, the last one will be used.
+
+See also \fI-o, --output\fP.
+.IP "--egd-file <file>"
+(TLS) Specify the path name to the Entropy Gathering Daemon socket. The socket is
+used to seed the random engine for SSL connections.
+
+See also \fI--random-file\fP.
.IP "--engine <name>"
-Select the OpenSSL crypto engine to use for cipher
-operations. Use \fI--engine list\fP to print a list of build-time supported
-engines. Note that not all (or none) of the engines may be available at
-run-time.
+(TLS) Select the OpenSSL crypto engine to use for cipher operations. Use \fI--engine\fP
+list to print a list of build-time supported engines. Note that not all (or
+none) of the engines may be available at run-time.
.IP "--environment"
-(RISC OS ONLY) Sets a range of environment variables, using the names the
-\fI-w\fP option supports, to allow easier extraction of useful information
-after having run curl.
-.IP "--egd-file <file>"
-(SSL) Specify the path name to the Entropy Gathering Daemon socket. The socket
-is used to seed the random engine for SSL connections. See also the
-\fI--random-file\fP option.
+Sets a range of environment variables, using the names the \fI-w, --write-out\fP option
+supports, to allow easier extraction of useful information after having run
+curl.
+
+\fI--environment\fP requires that the underlying libcurl was built to support RISC OS.
.IP "--expect100-timeout <seconds>"
(HTTP) Maximum time in seconds that you allow curl to wait for a 100-continue
response when curl emits an Expects: 100-continue header in its request. By
default curl will wait one second. This option accepts decimal values! When
curl stops waiting, it will continue as if the response has been received.
-(Added in 7.47.0)
-.IP "--cert-type <type>"
-(SSL) Tells curl what certificate type the provided certificate is in. PEM,
-DER and ENG are recognized types. If not specified, PEM is assumed.
+See also \fI--connect-timeout\fP. Added in 7.47.0.
+.IP "--fail-early"
+Fail and exit on first detected error.
-If this option is used several times, the last one will be used.
-.IP "--cacert <CA certificate>"
-(SSL) Tells curl to use the specified certificate file to verify the peer. The
-file may contain multiple CA certificates. The certificate(s) must be in PEM
-format. Normally curl is built to use a default file for this, so this option
-is typically used to alter that default file.
-
-curl recognizes the environment variable named 'CURL_CA_BUNDLE' if it is
-set, and uses the given path as a path to a CA cert bundle. This option
-overrides that variable.
+When curl is used to do multiple transfers on the command line, it will
+attempt to operate on each given URL, one by one. By default, it will ignore
+errors if there are more URLs given and the last URL's success will determine
+the error code curl returns. So early failures will be "hidden" by subsequent
+successful transfers.
-The windows version of curl will automatically look for a CA certs file named
-\'curl-ca-bundle.crt\', either in the same directory as curl.exe, or in the
-Current Working Directory, or in any folder along your PATH.
-
-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.
-
-If this option is used several times, the last one will be used.
-.IP "--capath <CA certificate directory>"
-(SSL) Tells curl to use the specified certificate directory to verify the
-peer. Multiple paths can be provided by separating them with ":" (e.g.
-\&"path1:path2:path3"). The certificates must be in PEM format, and if curl is
-built against OpenSSL, the directory must have been processed using the
-c_rehash utility supplied with OpenSSL. Using \fI--capath\fP can allow
-OpenSSL-powered curl to make SSL-connections much more efficiently than using
-\fI--cacert\fP if the \fI--cacert\fP file contains many CA certificates.
-
-If this option is set, the default capath value will be ignored, and if it is
-used several times, the last one will be used.
-.IP "--pinnedpubkey <pinned public key (hashes)>"
-(SSL) Tells curl to use the specified public key file (or hashes) to verify the
-peer. This can be a path to a file which contains a single public key in PEM or
-DER format, or any number of base64 encoded sha256 hashes preceded by
-\'sha256//\' and separated by \';\'
-
-When negotiating a TLS or SSL connection, the server 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.
-
-PEM/DER support:
- 7.39.0: OpenSSL, GnuTLS and GSKit
- 7.43.0: NSS and wolfSSL/CyaSSL
- 7.47.0: mbedtls
- 7.49.0: PolarSSL
-sha256 support:
- 7.44.0: OpenSSL, GnuTLS, NSS and wolfSSL/CyaSSL.
- 7.47.0: mbedtls
- 7.49.0: PolarSSL
-Other SSL backends not supported.
+Using this option, curl will instead return an error on the first transfers
+that fails, independent on the amount of more URLs that are given on the
+command line. This way, no transfer failures go undetected by scripts and
+similar.
-If this option is used several times, the last one will be used.
-.IP "--cert-status"
-(SSL) Tells curl to verify the status of the server certificate by using the
-Certificate Status Request (aka. OCSP stapling) TLS extension.
+This option will apply for all given URLs even if you use \fI-:, --next\fP.
-If this option is enabled and the server sends an invalid (e.g. expired)
-response, if the response suggests that the server certificate has been revoked,
-or no response at all is received, the verification fails.
+Added in 7.52.0.
+.IP "-f, --fail"
+(HTTP) Fail silently (no output at all) on server errors. This is mostly done to
+better enable scripts etc to better deal with failed attempts. In normal cases
+when an HTTP server fails to deliver a document, it returns an HTML document
+stating so (which often also describes why and more). This flag will prevent
+curl from outputting that and return error 22.
-This is currently only implemented in the OpenSSL, GnuTLS and NSS backends.
-(Added in 7.41.0)
+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).
.IP "--false-start"
-
-(SSL) Tells curl to use false start during the TLS handshake. False start is a
-mode where a TLS client will start sending application data before verifying
-the server's Finished message, thus saving a round trip when performing a full
+(TLS) Tells curl to use false start during the TLS handshake. False start is a mode
+where a TLS client will start sending application data before verifying the
+server's Finished message, thus saving a round trip when performing a full
handshake.
This is currently only implemented in the NSS and Secure Transport (on iOS 7.0
or later, or OS X 10.9 or later) backends.
-(Added in 7.42.0)
-.IP "-f, --fail"
-(HTTP) Fail silently (no output at all) on server errors. This is mostly done
-to better enable scripts etc to better deal with failed attempts. In normal
-cases when an HTTP server fails to deliver a document, it returns an HTML
-document stating so (which often also describes why and more). This flag will
-prevent curl from outputting that and return error 22.
-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).
+Added in 7.42.0.
+.IP "--form-string <name=string>"
+(HTTP) Similar to \fI-F, --form\fP except that the value string for the named parameter is used
+literally. Leading \&'@' and \&'<' characters, and the \&';type=' string in
+the value have no special meaning. Use this in preference to \fI-F, --form\fP if
+there's any possibility that the string value may accidentally trigger the
+\&'@' or \&'<' features of \fI-F, --form\fP.
+
+See also \fI-F, --form\fP.
.IP "-F, --form <name=content>"
-(HTTP) This lets curl emulate a filled-in form in which a user has pressed the
-submit button. This causes curl to POST data using the Content-Type
+(HTTP) This lets curl emulate a filled-in form in which a user has pressed the submit
+button. This causes curl to POST data using the Content-Type
multipart/form-data according to RFC 2388. This enables uploading of binary
files etc. To force the 'content' part to be a file, prefix the file name with
an @ sign. To just get the content part from a file, prefix the file name with
@@ -653,7 +667,7 @@ get the contents for that text field from a file.
Example: to send an image to a server, where \&'profile' is the name of the
form-field to which portrait.jpg will be the input:
-\fBcurl\fP -F profile=@portrait.jpg https://example.com/upload.cgi
+ curl -F profile=@portrait.jpg https://example.com/upload.cgi
To read content from stdin instead of a file, use - as the filename. This goes
for both @ and < constructs. Unfortunately it does not support reading the
@@ -663,24 +677,24 @@ transfer starts.
You can also tell curl what Content-Type to use by using 'type=', in a manner
similar to:
-\fBcurl\fP -F "web=@index.html;type=text/html" example.com
+ curl -F "web=@index.html;type=text/html" example.com
or
-\fBcurl\fP -F "name=daniel;type=text/foo" example.com
+ curl -F "name=daniel;type=text/foo" example.com
You can also explicitly change the name field of a file upload part by setting
filename=, like this:
-\fBcurl\fP -F "file=@localfile;filename=nameinpost" example.com
+ curl -F "file=@localfile;filename=nameinpost" example.com
If filename/path contains ',' or ';', it must be quoted by double-quotes like:
-\fBcurl\fP -F "file=@\\"localfile\\";filename=\\"nameinpost\\"" example.com
+ curl -F "file=@\\"localfile\\";filename=\\"nameinpost\\"" example.com
or
-\fBcurl\fP -F 'file=@"localfile";filename="nameinpost"' example.com
+ curl -F 'file=@"localfile";filename="nameinpost"' example.com
Note that if a filename/path is quoted by double-quotes, any double-quote
or backslash within the filename must be escaped by backslash.
@@ -688,23 +702,29 @@ or backslash within the filename must be escaped by backslash.
See further examples and details in the MANUAL.
This option can be used multiple times.
-.IP "--ftp-account [data]"
-(FTP) When an FTP server asks for "account data" after user name and password
-has been provided, this data is sent off using the ACCT command. (Added in
-7.13.0)
+
+This option overrides \fI-d, --data\fP and \fI-I, --head\fP and \fI--upload\fP.
+.IP "--ftp-account <data>"
+(FTP) When an FTP server asks for "account data" after user name and password has
+been provided, this data is sent off using the ACCT command.
If this option is used several times, the last one will be used.
+
+Added in 7.13.0.
.IP "--ftp-alternative-to-user <command>"
-(FTP) If authenticating with the USER and PASS commands fails, send this
-command. When connecting to Tumbleweed's Secure Transport server over FTPS
-using a client certificate, using "SITE AUTH" will tell the server to retrieve
-the username from the certificate. (Added in 7.15.5)
+(FTP) If authenticating with the USER and PASS commands fails, send this command.
+When connecting to Tumbleweed's Secure Transport server over FTPS using a
+client certificate, using "SITE AUTH" will tell the server to retrieve the
+username from the certificate.
+
+Added in 7.15.5.
.IP "--ftp-create-dirs"
-(FTP/SFTP) When an FTP or SFTP URL/operation uses a path that doesn't
-currently exist on the server, the standard behavior of curl is to
-fail. Using this option, curl will instead attempt to create missing
-directories.
-.IP "--ftp-method [method]"
+(FTP SFTP) When an FTP or SFTP URL/operation uses a path that doesn't currently exist on
+the server, the standard behavior of curl is to fail. Using this option, curl
+will instead attempt to create missing directories.
+
+See also \fI--create-dirs\fP.
+.IP "--ftp-method <method>"
(FTP) Control what method curl should use to reach a file on an FTP(S)
server. The method argument should be one of the following alternatives:
.RS
@@ -720,12 +740,12 @@ curl does one CWD with the full target directory and then operates on the file
\&"normally" (like in the multicwd case). This is somewhat more standards
compliant than 'nocwd' but without the full penalty of 'multicwd'.
.RE
-.IP
-(Added in 7.15.1)
+
+Added in 7.15.1.
.IP "--ftp-pasv"
(FTP) Use passive mode for the data connection. Passive is the internal default
-behavior, but using this option can be used to override a previous
-\fI-P/-ftp-port\fP option. (Added in 7.11.0)
+behavior, but using this option can be used to override a previous \fI-P, --ftp-port\fP
+option.
If this option is used several times, only the first one is used. Undoing an
enforced passive really isn't doable but you must then instead enforce the
@@ -733,75 +753,104 @@ correct \fI-P, --ftp-port\fP again.
Passive mode means that curl will try the EPSV command first and then PASV,
unless \fI--disable-epsv\fP is used.
+
+See also \fI--disable-epsv\fP. Added in 7.11.0.
+.IP "-P, --ftp-port <address>"
+(FTP) Reverses the default initiator/listener roles when connecting with FTP. This
+option makes curl use active mode. curl then tells the server to connect back
+to the client's specified address and port, while passive mode asks the server
+to setup an IP address and port for it to connect to. <address> should be one
+of:
+.RS
+.IP interface
+i.e "eth0" to specify which interface's IP address you want to use (Unix only)
+.IP "IP address"
+i.e "192.168.10.1" to specify the exact IP address
+.IP "host name"
+i.e "my.host.domain" to specify the machine
+.IP "-"
+make curl pick the same IP address that is already used for the control
+connection
+.RE
+
+If this option is used several times, the last one will be used. Disable the
+use of PORT with \fI--ftp-pasv\fP. Disable the attempt to use the EPRT command
+instead of PORT by using \fI--disable-eprt\fP. EPRT is really PORT++.
+
+Since 7.19.5, you can append \&":[start]-[end]\&" to the right of the address,
+to tell curl what TCP port range to use. That means you specify a port range,
+from a lower to a higher number. A single number works as well, but do note
+that it increases the risk of failure since the port may not be available.
+
+See also \fI--ftp-pasv\fP and \fI--disable-eprt\fP.
+.IP "--ftp-pret"
+(FTP) Tell curl to send a PRET command before PASV (and EPSV). Certain FTP servers,
+mainly drftpd, require this non-standard command for directory listings as
+well as up and downloads in PASV mode.
+
+Added in 7.20.0.
.IP "--ftp-skip-pasv-ip"
(FTP) Tell curl to not use the IP address the server suggests in its response
to curl's PASV command when curl connects the data connection. Instead curl
will re-use the same IP address it already uses for the control
-connection. (Added in 7.14.2)
+connection.
This option has no effect if PORT, EPRT or EPSV is used instead of PASV.
-.IP "--ftp-pret"
-(FTP) Tell curl to send a PRET command before PASV (and EPSV). Certain
-FTP servers, mainly drftpd, require this non-standard command for
-directory listings as well as up and downloads in PASV mode.
-(Added in 7.20.x)
+
+See also \fI--ftp-pasv\fP. Added in 7.14.2.
+.IP "--ftp-ssl-ccc-mode <active/passive>"
+(FTP) Sets the CCC mode. The passive mode will not initiate the shutdown, but
+instead wait for the server to do it, and will not reply to the shutdown from
+the server. The active mode initiates the shutdown and waits for a reply from
+the server.
+
+See also \fI--ftp-ssl-ccc\fP. Added in 7.16.2.
.IP "--ftp-ssl-ccc"
-(FTP) Use CCC (Clear Command Channel)
-Shuts down the SSL/TLS layer after authenticating. The rest of the
-control channel communication will be unencrypted. This allows
-NAT routers to follow the FTP transaction. The default mode is
-passive. See \fI--ftp-ssl-ccc-mode\fP for other modes.
-(Added in 7.16.1)
-.IP "--ftp-ssl-ccc-mode [active/passive]"
-(FTP) Use CCC (Clear Command Channel)
-Sets the CCC mode. The passive mode will not initiate the shutdown, but
-instead wait for the server to do it, and will not reply to the
-shutdown from the server. The active mode initiates the shutdown and
-waits for a reply from the server.
-(Added in 7.16.2)
+(FTP) Use CCC (Clear Command Channel) Shuts down the SSL/TLS layer after
+authenticating. The rest of the control channel communication will be
+unencrypted. This allows NAT routers to follow the FTP transaction. The
+default mode is passive.
+
+See also \fI--ssl\fP and \fI--ftp-ssl-ccc-mode\fP. Added in 7.16.1.
.IP "--ftp-ssl-control"
(FTP) Require SSL/TLS for the FTP login, clear for transfer. Allows secure
authentication, but non-encrypted data transfers for efficiency. Fails the
-transfer if the server doesn't support SSL/TLS. (Added in 7.16.0)
-that can still be used but will be removed in a future version.
-.IP "--ftp-ssl"
-(FTP) This deprecated option is now known as \fI--ssl\fP.
-.IP "--ftp-ssl-reqd"
-(FTP) This deprecated option is now known as \fI--ssl-reqd\fP.
-.IP "--form-string <name=string>"
-(HTTP) Similar to \fI--form\fP except that the value string for the named
-parameter is used literally. Leading \&'@' and \&'<' characters, and the
-\&';type=' string in the value have no special meaning. Use this in preference
-to \fI--form\fP if there's any possibility that the string value may
-accidentally trigger the \&'@' or \&'<' features of \fI--form\fP.
-.IP "-g, --globoff"
-This option switches off the "URL globbing parser". When you set this option,
-you can specify URLs that contain the letters {}[] without having them being
-interpreted by curl itself. Note that these letters are not normal legal URL
-contents but they should be encoded according to the URI standard.
+transfer if the server doesn't support SSL/TLS.
+
+Added in 7.16.0.
.IP "-G, --get"
-When used, this option will make all data specified with \fI-d, --data\fP,
-\fI--data-binary\fP or \fI--data-urlencode\fP to be used in an HTTP GET
-request instead of the POST request that otherwise would be used. The data
-will be appended to the URL with a '?' separator.
+When used, this option will make all data specified with \fI-d, --data\fP, \fI--data-binary\fP
+or \fI--data-urlencode\fP to be used in an HTTP GET request instead of the POST
+request that otherwise would be used. The data will be appended to the URL
+with a '?' separator.
-If used in combination with -I, the POST data will instead be appended to the
-URL with a HEAD request.
+If used in combination with \fI-I, --head\fP, the POST data will instead be appended to
+the URL with a HEAD request.
If this option is used several times, only the first one is used. This is
because undoing a GET doesn't make sense, but you should then instead enforce
the alternative method you prefer.
+.IP "-g, --globoff"
+This option switches off the "URL globbing parser". When you set this option,
+you can specify URLs that contain the letters {}[] without having them being
+interpreted by curl itself. Note that these letters are not normal legal URL
+contents but they should be encoded according to the URI standard.
+.IP "-I, --head"
+(HTTP FTP FILE) Fetch the headers only! HTTP-servers feature the command HEAD which this uses
+to get nothing but the header of a document. When used on an FTP or FILE file,
+curl displays the file size and last modification time only.
.IP "-H, --header <header>"
-(HTTP) Extra header to include in the request when sending HTTP to a
-server. You may specify any number of extra headers. Note that if you should
-add a custom header that has the same name as one of the internal ones curl
-would use, your externally set header will be used instead of the internal
-one. This allows you to make even trickier stuff than curl would normally
-do. You should not replace internally set headers without knowing perfectly
-well what you're doing. Remove an internal header by giving a replacement
-without content on the right side of the colon, as in: -H \&"Host:". If you
-send the custom header with no-value then its header must be terminated with a
-semicolon, such as \-H \&"X-Custom-Header;" to send "X-Custom-Header:".
+(HTTP)
+Extra header to include in the request when sending HTTP to a server. You may
+specify any number of extra headers. Note that if you should add a custom
+header that has the same name as one of the internal ones curl would use, your
+externally set header will be used instead of the internal one. This allows
+you to make even trickier stuff than curl would normally do. You should not
+replace internally set headers without knowing perfectly well what you're
+doing. Remove an internal header by giving a replacement without content on
+the right side of the colon, as in: -H \&"Host:". If you send the custom
+header with no-value then its header must be terminated with a semicolon, such
+as \-H \&"X-Custom-Header;" to send "X-Custom-Header:".
curl will make sure that each header you add/replace is sent with the proper
end-of-line marker, you should thus \fBnot\fP add that as a part of the header
@@ -810,167 +859,151 @@ for you.
See also the \fI-A, --user-agent\fP and \fI-e, --referer\fP options.
-Starting in 7.37.0, you need \fI--proxy-header\fP to send custom headers
-intended for a proxy.
+Starting in 7.37.0, you need \fI--proxy-header\fP to send custom headers intended
+for a proxy.
Example:
-\&# curl -H "X-First-Name: Joe" http://example.com/
+ curl -H "X-First-Name: Joe" http://example.com/
\fBWARNING\fP: headers set with this option will be set in all requests - even
-after redirects are followed, like when told with \fB-L, --location\fP. This
-can lead to the header being sent to other hosts than the original host, so
-sensitive headers should be used with caution combined with following
-redirects.
+after redirects are followed, like when told with \fI-L, --location\fP. This can lead to
+the header being sent to other hosts than the original host, so sensitive
+headers should be used with caution combined with following redirects.
This option can be used multiple times to add/replace/remove multiple headers.
+.IP "-h, --help"
+Usage help. This lists all current command line options with a short
+description.
.IP "--hostpubmd5 <md5>"
-(SCP/SFTP) Pass a string containing 32 hexadecimal digits. The string should
+(SFTP SCP) Pass a string containing 32 hexadecimal digits. The string should
be the 128 bit MD5 checksum of the remote host's public key, curl will refuse
-the connection with the host unless the md5sums match. (Added in 7.17.1)
+the connection with the host unless the md5sums match.
+
+Added in 7.17.1.
+.IP "-0, --http1.0"
+(HTTP) Tells curl to use HTTP version 1.0 instead of using its internally preferred
+HTTP version.
+
+This option overrides \fI--http1.1\fP and \fI--http2\fP.
+.IP "--http1.1"
+(HTTP) Tells curl to use HTTP version 1.1.
+
+This option overrides \fI-0, --http1.0\fP and \fI--http2\fP. Added in 7.33.0.
+.IP "--http2-prior-knowledge"
+(HTTP) Tells curl to issue its 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.
+
+\fI--http2-prior-knowledge\fP requires that the underlying libcurl was built to support HTTP/2. This option overrides \fI--http1.1\fP and \fI-0, --http1.0\fP and \fI--http2\fP. Added in 7.49.0.
+.IP "--http2"
+(HTTP) Tells curl to use HTTP version 2.
+
+See also \fI--no-alpn\fP. \fI--http2\fP requires that the underlying libcurl was built to support HTTP/2. This option overrides \fI--http1.1\fP and \fI-0, --http1.0\fP and \fI--http2-prior-knowledge\fP. Added in 7.33.0.
.IP "--ignore-content-length"
-For HTTP, Ignore the Content-Length header. This is particularly useful for
+(FTP HTTP) For HTTP, Ignore the Content-Length header. This is particularly useful for
servers running Apache 1.x, which will report incorrect Content-Length for
files larger than 2 gigabytes.
For FTP (since 7.46.0), skip the RETR command to figure out the size before
downloading a file.
.IP "-i, --include"
-(HTTP) Include the HTTP-header in the output. The HTTP-header includes things
-like server-name, date of the document, HTTP-version and more...
-.IP "-I, --head"
-(HTTP/FTP/FILE)
-Fetch the HTTP-header only! HTTP-servers feature the command HEAD
-which this uses to get nothing but the header of a document. When used
-on an FTP or FILE file, curl displays the file size and last modification
-time only.
-.IP "--interface <name>"
-Perform an operation using a specified interface. You can enter interface
-name, IP address or host name. An example could look like:
+Include the HTTP-header in the output. The HTTP-header includes things like
+server-name, date of the document, HTTP-version and more...
- curl --interface eth0:1 https://www.example.com/
-
-If this option is used several times, the last one will be used.
-.IP "-j, --junk-session-cookies"
-(HTTP) When curl is told to read cookies from a given file, this option will
-make it discard all "session cookies". This will basically have the same effect
-as if a new session is started. Typical browsers always discard session
-cookies when they're closed down.
-.IP "-J, --remote-header-name"
-(HTTP) This option tells the \fI-O, --remote-name\fP option to use the
-server-specified Content-Disposition filename instead of extracting a filename
-from the URL.
-
-If the server specifies a file name and a file with that name already exists
-in the current working directory it will not be overwritten and an error will
-occur. If the server doesn't specify a file name then this option has no
-effect.
-
-There's no attempt to decode %-sequences (yet) in the provided file name, so
-this option may provide you with rather unexpected file names.
-
-\fBWARNING\fP: Exercise judicious use of this option, especially on Windows. A
-rogue server could send you the name of a DLL or other file that could possibly
-be loaded automatically by Windows or some third party software.
+See also \fI-v, --verbose\fP.
.IP "-k, --insecure"
-(SSL) This option explicitly allows curl to perform "insecure" SSL connections
-and transfers. All SSL connections are attempted to be made secure by using
-the CA certificate bundle installed by default. This makes all connections
-considered "insecure" fail unless \fI-k, --insecure\fP is used.
+(TLS) This option explicitly allows curl to perform "insecure" SSL connections and
+transfers. All SSL connections are attempted to be made secure by using the CA
+certificate bundle installed by default. This makes all connections considered
+\&"insecure" fail unless \fI-k, --insecure\fP is used.
See this online resource for further details:
-\fBhttps://curl.haxx.se/docs/sslcerts.html\fP
-.IP "-K, --config <config file>"
-Specify which config file to read curl arguments from. The config file is a
-text file in which command line arguments can be written which then will be
-used as if they were written on the actual command line.
-
-Options and their parameters must be specified on the same config file line,
-separated by whitespace, colon, or the equals sign. Long option names can
-optionally be given in the config file without the initial double dashes and
-if so, the colon or equals characters can be used as separators. If the option
-is specified with one or two dashes, there can be no colon or equals character
-between the option and its parameter.
-
-If the parameter is to contain whitespace, the parameter must be enclosed
-within quotes. Within double quotes, the following escape sequences are
-available: \\\\, \\", \\t, \\n, \\r and \\v. A backslash preceding any other
-letter is ignored. If the first column of a config line is a '#' character,
-the rest of the line will be treated as a comment. Only write one option per
-physical line in the config file.
-
-Specify the filename to -K, --config as '-' to make curl read the file from
-stdin.
-
-Note that to be able to specify a URL in the config file, you need to specify
-it using the \fI--url\fP option, and not by simply writing the URL on its own
-line. So, it could look similar to this:
+ https://curl.haxx.se/docs/sslcerts.html
+.IP "--interface <name>"
-url = "https://curl.haxx.se/docs/"
+Perform an operation using a specified interface. You can enter interface
+name, IP address or host name. An example could look like:
-When curl is invoked, it always (unless \fI-q\fP is used) checks for a default
-config file and uses it if found. The default config file is checked for in
-the following places in this order:
+ curl --interface eth0:1 https://www.example.com/
-1) curl tries to find the "home dir": It first checks for the CURL_HOME and
-then the HOME environment variables. Failing that, it uses getpwuid() on
-Unix-like systems (which returns the home dir given the current user in your
-system). On Windows, it then checks for the APPDATA variable, or as a last
-resort the '%USERPROFILE%\\Application Data'.
+If this option is used several times, the last one will be used.
-2) On windows, if there is no _curlrc file in the home dir, it checks for one
-in the same dir the curl executable is placed. On Unix-like systems, it will
-simply try to load .curlrc from the determined home dir.
+See also \fI--dns-interface\fP.
+.IP "-4, --ipv4"
+This option tells curl to resolve names to IPv4 addresses only, and not for
+example try IPv6.
-.nf
-# --- Example file ---
-# this is a comment
-url = "example.com"
-output = "curlhere.html"
-user-agent = "superagent/1.0"
+See also \fI--http1.1\fP and \fI--http2\fP. This option overrides \fI-6, --ipv6\fP.
+.IP "-6, --ipv6"
+This option tells curl to resolve names to IPv6 addresses only, and not for
+example try IPv4.
-# and fetch another URL too
-url = "example.com/docs/manpage.html"
--O
-referer = "http://nowhereatall.example.com/"
-# --- End of example file ---
-.fi
+See also \fI--http1.1\fP and \fI--http2\fP. This option overrides \fI-6, --ipv6\fP.
+.IP "-j, --junk-session-cookies"
+(HTTP) When curl is told to read cookies from a given file, this option will make it
+discard all "session cookies". This will basically have the same effect as if
+a new session is started. Typical browsers always discard session cookies when
+they're closed down.
-This option can be used multiple times to load multiple config files.
+See also \fI-b, --cookie\fP and \fI-c, --cookie-jar\fP.
.IP "--keepalive-time <seconds>"
This option sets the time a connection needs to remain idle before sending
keepalive probes and the time between individual keepalive probes. It is
currently effective on operating systems offering the TCP_KEEPIDLE and
TCP_KEEPINTVL socket options (meaning Linux, recent AIX, HP-UX and more). This
-option has no effect if \fI--no-keepalive\fP is used. (Added in 7.18.0)
+option has no effect if \fI--no-keepalive\fP is used.
If this option is used several times, the last one will be used. If
unspecified, the option defaults to 60 seconds.
-.IP "--key <key>"
-(SSL/SSH) Private key file name. Allows you to provide your private key in this
-separate file. For SSH, if not specified, curl tries the following candidates
-in order: '~/.ssh/id_rsa', '~/.ssh/id_dsa', './id_rsa', './id_dsa'.
-If this option is used several times, the last one will be used.
+Added in 7.18.0.
.IP "--key-type <type>"
-(SSL) Private key file type. Specify which type your \fI--key\fP provided
-private key is. DER, PEM, and ENG are supported. If not specified, PEM is
-assumed.
+(TLS) Private key file type. Specify which type your \fI--key\fP provided private key
+is. DER, PEM, and ENG are supported. If not specified, PEM is assumed.
+
+If this option is used several times, the last one will be used.
+.IP "--key <key>"
+(TLS SSH) Private key file name. Allows you to provide your private key in this separate
+file. For SSH, if not specified, curl tries the following candidates in order:
+'~/.ssh/id_rsa', '~/.ssh/id_dsa', './id_rsa', './id_dsa'.
If this option is used several times, the last one will be used.
.IP "--krb <level>"
-(FTP) Enable Kerberos authentication and use. The level must be entered and
-should be one of 'clear', 'safe', 'confidential', or 'private'. Should you use
-a level that is not one of these, 'private' will instead be used.
+(FTP) Enable Kerberos authentication and use. The level must be entered and should
+be one of 'clear', 'safe', 'confidential', or 'private'. Should you use a
+level that is not one of these, 'private' will instead be used.
+
+If this option is used several times, the last one will be used.
+
+\fI--krb\fP requires that the underlying libcurl was built to support Kerberos.
+.IP "--libcurl <file>"
+Append this option to any ordinary curl command line, and you will get a
+libcurl-using C source code written to the file that does the equivalent
+of what your command-line operation does!
+
+If this option is used several times, the last given file name will be
+used.
+
+Added in 7.16.1.
+.IP "--limit-rate <speed>"
+Specify the maximum transfer rate you want curl to use - for both downloads
+and uploads. This feature is useful if you have a limited pipe and you'd like
+your transfer not to use your entire bandwidth. To make it slower than it
+otherwise would be.
+
+The given speed is measured in bytes/second, unless a suffix is appended.
+Appending 'k' or 'K' will count the number as kilobytes, 'm' or M' makes it
+megabytes, while 'g' or 'G' makes it gigabytes. Examples: 200K, 3m and 1G.
-This option requires a library built with kerberos4 support. This is not
-very common. Use \fI-V, --version\fP to see if your curl supports it.
+If you also use the \fI-Y, --speed-limit\fP option, that option will take precedence and
+might cripple the rate-limiting slightly, to help keeping the speed-limit
+logic working.
If this option is used several times, the last one will be used.
-.IP "--krb4 <level>"
-(FTP) This is the former name for \fI--krb\fP. Do not use.
.IP "-l, --list-only"
-(FTP)
+(FTP POP3) (FTP)
When listing an FTP directory, this switch forces a name-only view. This is
especially useful if the user wants to machine-parse the contents of an FTP
directory since the normal directory view doesn't use a standard look or
@@ -985,18 +1018,34 @@ When retrieving a specific email from POP3, this switch forces a LIST command
to be performed instead of RETR. This is particularly useful if the user wants
to see if a specific message id exists on the server and what size it is.
-Note: When combined with \fI-X, --request <command>\fP, this option can be used
-to send an UIDL command instead, so the user may use the email's unique
-identifier rather than it's message id to make the request. (Added in 7.21.5)
+Note: When combined with \fI-X, --request\fP, this option can be used to send an UIDL
+command instead, so the user may use the email's unique identifier rather than
+it's message id to make the request.
+
+Added in 7.21.5.
+.IP "--local-port <num/range>"
+Set a preferred single number or range (FROM-TO) of local port numbers to use
+for the connection(s). Note that port numbers by nature are a scarce resource
+that will be busy at times so setting this range to something too narrow might
+cause unnecessary connection setup failures.
+
+Added in 7.15.2.
+.IP "--location-trusted"
+(HTTP) Like \fI-L, --location\fP, but will allow sending the name + password to all hosts that
+the site may redirect to. This may or may not introduce a security breach if
+the site redirects you to a site to which you'll send your authentication info
+(which is plaintext in the case of HTTP Basic authentication).
+
+See also \fI-u, --user\fP.
.IP "-L, --location"
-(HTTP/HTTPS) If the server reports that the requested page has moved to a
-different location (indicated with a Location: header and a 3XX response code),
-this option will make curl redo the request on the new place. If used together
-with \fI-i, --include\fP or \fI-I, --head\fP, headers from all requested pages
-will be shown. When authentication is used, curl only sends its credentials to
-the initial host. If a redirect takes curl to a different host, it won't be
-able to intercept the user+password. See also \fI--location-trusted\fP on how
-to change this. You can limit the amount of redirects to follow by using the
+(HTTP) If the server reports that the requested page has moved to a different
+location (indicated with a Location: header and a 3XX response code), this
+option will make curl redo the request on the new place. If used together with
+\fI-i, --include\fP or \fI-I, --head\fP, headers from all requested pages will be shown. When
+authentication is used, curl only sends its credentials to the initial
+host. If a redirect takes curl to a different host, it won't be able to
+intercept the user+password. See also \fI--location-trusted\fP on how to change
+this. You can limit the amount of redirects to follow by using the
\fI--max-redirs\fP option.
When curl follows a redirect and the request is not a plain GET (for example
@@ -1005,84 +1054,35 @@ was 301, 302, or 303. If the response code was any other 3xx code, curl will
re-send the following request using the same unmodified method.
You can tell curl to not change the non-GET request method to GET after a 30x
-response by using the dedicated options for that: \fI--post301\fP,
-\fI--post302\fP and \fI--post303\fP.
-.IP "--libcurl <file>"
-Append this option to any ordinary curl command line, and you will get a
-libcurl-using C source code written to the file that does the equivalent
-of what your command-line operation does!
-
-If this option is used several times, the last given file name will be
-used. (Added in 7.16.1)
-.IP "--limit-rate <speed>"
-Specify the maximum transfer rate you want curl to use - for both downloads
-and uploads. This feature is useful if you have a limited pipe and you'd like
-your transfer not to use your entire bandwidth. To make it slower than it
-otherwise would be.
-
-The given speed is measured in bytes/second, unless a suffix is appended.
-Appending 'k' or 'K' will count the number as kilobytes, 'm' or M' makes it
-megabytes, while 'g' or 'G' makes it gigabytes. Examples: 200K, 3m and 1G.
-
-If you also use the \fI-Y, --speed-limit\fP option, that option will take
-precedence and might cripple the rate-limiting slightly, to help keeping the
-speed-limit logic working.
-
-If this option is used several times, the last one will be used.
-.IP "--local-port <num>[-num]"
-Set a preferred number or range of local port numbers to use for the
-connection(s). Note that port numbers by nature are a scarce resource that
-will be busy at times so setting this range to something too narrow might
-cause unnecessary connection setup failures. (Added in 7.15.2)
-.IP "--location-trusted"
-(HTTP/HTTPS) Like \fI-L, --location\fP, but will allow sending the name +
-password to all hosts that the site may redirect to. This may or may not
-introduce a security breach if the site redirects you to a site to which
-you'll send your authentication info (which is plaintext in the case of HTTP
-Basic authentication).
-.IP "-m, --max-time <seconds>"
-Maximum time in seconds that you allow the whole operation to take. This is
-useful for preventing your batch jobs from hanging for hours due to slow
-networks or links going down. Since 7.32.0, this option accepts decimal
-values, but the actual timeout will decrease in accuracy as the specified
-timeout increases in decimal precision. See also the \fI--connect-timeout\fP
-option.
-
-If this option is used several times, the last one will be used.
+response by using the dedicated options for that: \fI--post301\fP, \fI--post302\fP and
+\fI--post303\fP.
.IP "--login-options <options>"
-Specify the login options to use during server authentication.
+(IMAP POP3 SMTP) Specify the login options to use during server authentication.
You can use the login options to specify protocol specific options that may
be used during authentication. At present only IMAP, POP3 and SMTP support
login options. For more information about the login options please see
-RFC 2384, RFC 5092 and IETF draft draft-earhart-url-smtp-00.txt (Added in
-7.34.0).
+RFC 2384, RFC 5092 and IETF draft draft-earhart-url-smtp-00.txt
If this option is used several times, the last one will be used.
+
+Added in 7.34.0.
.IP "--mail-auth <address>"
-(SMTP) Specify a single address. This will be used to specify the
-authentication address (identity) of a submitted message that is being relayed
-to another server.
+(SMTP) Specify a single address. This will be used to specify the authentication
+address (identity) of a submitted message that is being relayed to another
+server.
-(Added in 7.25.0)
+See also \fI--mail-rcpt\fP and \fI--mail-from\fP. Added in 7.25.0.
.IP "--mail-from <address>"
(SMTP) Specify a single address that the given mail should get sent from.
-(Added in 7.20.0)
-.IP "--max-filesize <bytes>"
-Specify the maximum size (in bytes) of a file to download. If the file
-requested is larger than this value, the transfer will not start and curl will
-return with exit code 63.
-
-\fBNOTE:\fP The file size is not always known prior to download, and for such
-files this option has no effect even if the file transfer ends up being larger
-than this given limit. This concerns both FTP and HTTP transfers.
+See also \fI--mail-rcpt\fP and \fI--mail-auth\fP. Added in 7.20.0.
.IP "--mail-rcpt <address>"
(SMTP) Specify a single address, user name or mailing list name. Repeat this
option several times to send to multiple recipients.
When performing a mail transfer, the recipient should specify a valid email
-address to send the mail to. (Added in 7.20.0)
+address to send the mail to.
When performing an address verification (VRFY command), the recipient should be
specified as the user name or user name and domain (as per Section 3.5 of
@@ -1091,13 +1091,37 @@ RFC5321). (Added in 7.34.0)
When performing a mailing list expand (EXPN command), the recipient should be
specified using the mailing list name, such as "Friends" or "London-Office".
(Added in 7.34.0)
+
+Added in 7.20.0.
+.IP "-M, --manual"
+Manual. Display the huge help text.
+.IP "--max-filesize <bytes>"
+Specify the maximum size (in bytes) of a file to download. If the file
+requested is larger than this value, the transfer will not start and curl will
+return with exit code 63.
+
+\fBNOTE:\fP The file size is not always known prior to download, and for such
+files this option has no effect even if the file transfer ends up being larger
+than this given limit. This concerns both FTP and HTTP transfers.
+
+See also \fI--limit-rate\fP.
.IP "--max-redirs <num>"
-Set maximum number of redirection-followings allowed. If \fI-L, --location\fP
-is used, this option can be used to prevent curl from following redirections
-\&"in absurdum". By default, the limit is set to 50 redirections. Set this
-option to -1 to make it limitless.
+(HTTP) Set maximum number of redirection-followings allowed. When \fI-L, --location\fP is used,
+is used to prevent curl from following redirections \&"in absurdum". By
+default, the limit is set to 50 redirections. Set this option to -1 to make it
+unlimited.
If this option is used several times, the last one will be used.
+.IP "-m, --max-time <time>"
+Maximum time in seconds that you allow the whole operation to take. This is
+useful for preventing your batch jobs from hanging for hours due to slow
+networks or links going down. Since 7.32.0, this option accepts decimal
+values, but the actual timeout will decrease in accuracy as the specified
+timeout increases in decimal precision.
+
+If this option is used several times, the last one will be used.
+
+See also \fI--connect-timeout\fP.
.IP "--metalink"
This option can tell curl to parse and process a given URI as Metalink file
(both version 3 and 4 (RFC 5854) are supported) and make use of the mirrors
@@ -1108,21 +1132,48 @@ not stored in the local file system.
Example to use a remote Metalink file:
-\fBcurl\fP --metalink http://www.example.com/example.metalink
+ curl --metalink http://www.example.com/example.metalink
+
+To use a Metalink file in the local file system, use FILE protocol (file://):
-To use a Metalink file in the local file system, use FILE protocol
-(file://):
+ curl --metalink file://example.metalink
-\fBcurl\fP --metalink file://example.metalink
+Please note that if FILE protocol is disabled, there is no way to use a local
+Metalink file at the time of this writing. Also note that if \fI--metalink\fP and
+\fI-i, --include\fP are used together, --include will be ignored. This is because
+including headers in the response will break Metalink parser and if the
+headers are included in the file described in Metalink file, hash check will
+fail.
-Please note that if FILE protocol is disabled, there is no way to use
-a local Metalink file at the time of this writing. Also note that if
-\fI--metalink\fP and \fI--include\fP are used together, \fI--include\fP will be
-ignored. This is because including headers in the response will break
-Metalink parser and if the headers are included in the file described
-in Metalink file, hash check will fail.
-(Added in 7.27.0, if built against the libmetalink library.)
+\fI--metalink\fP requires that the underlying libcurl was built to support metalink. Added in 7.27.0.
+.IP "--negotiate"
+(HTTP) Enables Negotiate (SPNEGO) authentication.
+
+This option requires a library built with GSS-API or SSPI support. Use
+\fI-V, --version\fP to see if your curl supports GSS-API/SSPI or SPNEGO.
+
+When using this option, you must also provide a fake \fI-u, --user\fP option to activate
+the authentication code properly. Sending a '-u :' is enough as the user name
+and password from the \fI-u, --user\fP option aren't actually used.
+
+If this option is used several times, only the first one is used.
+
+See also \fI--basic\fP and \fI--ntlm\fP and \fI--anyauth\fP and \fI--proxy-negotiate\fP.
+.IP "--netrc-file <filemame>"
+This option is similar to \fI-n, --netrc\fP, except that you provide the path (absolute
+or relative) to the netrc file that Curl should use. You can only specify one
+netrc file per invocation. If several \fI--netrc-file\fP options are provided,
+the last one will be used.
+
+It will abide by \fI--netrc-optional\fP if specified.
+
+This option overrides \fI-n, --netrc\fP. Added in 7.21.5.
+.IP "--netrc-optional"
+Very similar to \fI-n, --netrc\fP, but this option makes the .netrc usage \fBoptional\fP
+and not mandatory as the \fI-n, --netrc\fP option does.
+
+See also \fI--netrc-file\fP. This option overrides \fI-n, --netrc\fP.
.IP "-n, --netrc"
Makes curl scan the \fI.netrc\fP (\fI_netrc\fP on Windows) file in the user's
home directory for login name and password. This is typically used for FTP on
@@ -1137,6 +1188,27 @@ to FTP to the machine host.domain.com with user name \&'myself' and password
\&'secret' should look similar to:
.B "machine host.domain.com login myself password secret"
+.IP "-:, --next"
+Tells curl to use a separate operation for the following URL and associated
+options. This allows you to send several URL requests, each with their own
+specific options, for example, such as different user names or custom requests
+for each.
+
+\fI-:, --next\fP will reset all local options and only global ones will have their
+values survive over to the operation following the \fI-:, --next\fP instruction. Global
+options include \fI-v, --verbose\fP, \fI--trace\fP, \fI--trace-ascii\fP and \fI--fail-early\fP.
+
+For example, you can do both a GET and a POST in a single command line:
+
+ curl www1.example.com --next -d postthis www2.example.com
+
+Added in 7.36.0.
+.IP "--no-alpn"
+(HTTPS) Disable the ALPN TLS extension. ALPN is enabled by default if libcurl was built
+with an SSL library that supports ALPN. ALPN is used by a libcurl that supports
+HTTP/2 to negotiate HTTP/2 support with the server during https sessions.
+
+See also \fI--no-npn\fP and \fI--http2\fP. \fI--no-alpn\fP requires that the underlying libcurl was built to support TLS. Added in 7.36.0.
.IP "-N, --no-buffer"
Disables the buffering of the output stream. In normal work situations, curl
will use a standard buffered output stream that will have the effect that it
@@ -1144,186 +1216,101 @@ will output the data in chunks, not necessarily exactly when the data arrives.
Using this option will disable that buffering.
Note that this is the negated option name documented. You can thus use
-\fI--buffer\fP to enforce the buffering.
-.IP "--netrc-file"
-This option is similar to \fI--netrc\fP, except that you provide the path
-(absolute or relative) to the netrc file that Curl should use.
-You can only specify one netrc file per invocation. If several
-\fI--netrc-file\fP options are provided, only the \fBlast one\fP will be used.
-(Added in 7.21.5)
-
-This option overrides any use of \fI--netrc\fP as they are mutually exclusive.
-It will also abide by \fI--netrc-optional\fP if specified.
-
-.IP "--netrc-optional"
-Very similar to \fI--netrc\fP, but this option makes the .netrc usage
-\fBoptional\fP and not mandatory as the \fI--netrc\fP option does.
-
-.IP "--negotiate"
-(HTTP) Enables Negotiate (SPNEGO) authentication.
-
-If you want to enable Negotiate (SPNEGO) for proxy authentication, then use
-\fI--proxy-negotiate\fP.
-
-This option requires a library built with GSS-API or SSPI support. Use \fI-V,
---version\fP to see if your curl supports GSS-API/SSPI and SPNEGO.
-
-When using this option, you must also provide a fake \fI-u, --user\fP option to
-activate the authentication code properly. Sending a '-u :' is enough as the
-user name and password from the \fI-u\fP option aren't actually used.
-
-If this option is used several times, only the first one is used.
+--buffer to enforce the buffering.
.IP "--no-keepalive"
-Disables the use of keepalive messages on the TCP connection, as by default
-curl enables them.
+Disables the use of keepalive messages on the TCP connection. curl otherwis
+enables them by default.
Note that this is the negated option name documented. You can thus use
-\fI--keepalive\fP to enforce keepalive.
+--keepalive to enforce keepalive.
+.IP "--no-npn"
+(HTTPS) Disable the NPN TLS extension. NPN is enabled by default if libcurl was built
+with an SSL library that supports NPN. NPN is used by a libcurl that supports
+HTTP/2 to negotiate HTTP/2 support with the server during https sessions.
+
+See also \fI--no-alpn\fP and \fI--http2\fP. \fI--no-npn\fP requires that the underlying libcurl was built to support TLS. Added in 7.36.0.
.IP "--no-sessionid"
-(SSL) Disable curl's use of SSL session-ID caching. By default all transfers
-are done using the cache. Note that while nothing should ever get hurt by
+(TLS) Disable curl's use of SSL session-ID caching. By default all transfers are
+done using the cache. Note that while nothing should ever get hurt by
attempting to reuse SSL session-IDs, there seem to be broken SSL
implementations in the wild that may require you to disable this in order for
-you to succeed. (Added in 7.16.0)
+you to succeed.
Note that this is the negated option name documented. You can thus use
-\fI--sessionid\fP to enforce session-ID caching.
+--sessionid to enforce session-ID caching.
+
+Added in 7.16.0.
.IP "--noproxy <no-proxy-list>"
Comma-separated list of hosts which do not use a proxy, if one is specified.
The only wildcard is a single * character, which matches all hosts, and
effectively disables the proxy. Each name in this list is matched as either
a domain which contains the hostname, or the hostname itself. For example,
local.com would match local.com, local.com:80, and www.local.com, but not
-www.notlocal.com. (Added in 7.19.4).
-.IP "--connect-to <host:port:connect-to-host:connect-to-port>"
-For a request to the given "host:port" pair, connect to
-"connect-to-host:connect-to-port" instead.
-This is suitable to direct the request at a specific server, e.g. at a specific
-cluster node in a cluster of servers.
-This option is only used to establish the network connection. It does NOT
-affect the hostname/port that is used for TLS/SSL (e.g. SNI, certificate
-verification) or for the application protocols.
-"host" and "port" may be the empty string, meaning "any host/port".
-"connect-to-host" and "connect-to-port" may also be the empty string,
-meaning "use the request's original host/port".
-This option can be used many times to add many connect rules.
-(Added in 7.49.0).
+www.notlocal.com.
+
+Since 7.53.0, This option overrides the environment variables that disable the
+proxy. If there's an environment variable disabling a proxy, you can set
+noproxy list to \&"" to override it.
+
+Added in 7.19.4.
+.IP "--ntlm-wb"
+(HTTP) Enables NTLM much in the style \fI--ntlm\fP does, but hand over the authentication
+to the separate binary ntlmauth application that is executed when needed.
+
+See also \fI--ntlm\fP and \fI--proxy-ntlm\fP.
.IP "--ntlm"
-(HTTP) Enables NTLM authentication. The NTLM authentication method was
-designed by Microsoft and is used by IIS web servers. It is a proprietary
-protocol, reverse-engineered by clever people and implemented in curl based
-on their efforts. This kind of behavior should not be endorsed, you should
-encourage everyone who uses NTLM to switch to a public and documented
-authentication method instead, such as Digest.
+(HTTP) Enables NTLM authentication. The NTLM authentication method was designed by
+Microsoft and is used by IIS web servers. It is a proprietary protocol,
+reverse-engineered by clever people and implemented in curl based on their
+efforts. This kind of behavior should not be endorsed, you should encourage
+everyone who uses NTLM to switch to a public and documented authentication
+method instead, such as Digest.
If you want to enable NTLM for your proxy authentication, then use
\fI--proxy-ntlm\fP.
-This option requires a library built with SSL support. Use
-\fI-V, --version\fP to see if your curl supports NTLM.
-
If this option is used several times, only the first one is used.
-.IP "--ntlm-wb"
-(HTTP) Enables NTLM much in the style \fI--ntlm\fP does, but hand over the
-authentication to the separate binary ntlmauth application that is executed
-when needed.
+
+See also \fI--proxy-ntlm\fP. \fI--ntlm\fP requires that the underlying libcurl was built to support TLS. This option overrides \fI--basic\fP and \fI--negotiated\fP and \fI--digest\fP and \fI--anyauth\fP.
+.IP "--oauth2-bearer"
+(IMAP POP3 SMTP) Specify the Bearer Token for OAUTH 2.0 server authentication. The Bearer Token
+is used in conjunction with the user name which can be specified as part of
+the \fI--url\fP or \fI-u, --user\fP options.
+
+The Bearer Token and user name are formatted according to RFC 6750.
+
+If this option is used several times, the last one will be used.
.IP "-o, --output <file>"
Write output to <file> instead of stdout. If you are using {} or [] to fetch
multiple documents, you can use '#' followed by a number in the <file>
specifier. That variable will be replaced with the current string for the URL
being fetched. Like in:
- curl http://{one,two}.example.com -o "file_#1.txt"
+ curl http://{one,two}.example.com -o "file_#1.txt"
or use several variables like:
- curl http://{site,host}.host[1-5].com -o "#1_#2"
-
-You may use this option as many times as the number of URLs you have.
-
-See also the \fI--create-dirs\fP option to create the local directories
-dynamically. Specifying the output as '-' (a single dash) will force the
-output to be done to stdout.
-.IP "-O, --remote-name"
-Write output to a local file named like the remote file we get. (Only the file
-part of the remote file is used, the path is cut off.)
-
-The file will be saved in the current working directory. If you want the file
-saved in a different directory, make sure you change the current working
-directory before invoking curl with this option.
-
-The remote file name to use for saving is extracted from the given URL, nothing
-else, and if it already exists it will be overwritten. If you want the server
-to be able to choose the file name refer to \fI-J, --remote-header-name\fP
-which can be used in addition to this option. If the server chooses a file name
-and that name already exists it will not be overwritten.
+ curl http://{site,host}.host[1-5].com -o "#1_#2"
-There is no URL decoding done on the file name. If it has %20 or other URL
-encoded parts of the name, they will end up as-is as file name.
+You may use this option as many times as the number of URLs you have. For
+example, if you specify two URLs on the same command line, you can use it like
+this:
-You may use this option as many times as the number of URLs you have.
-.IP "--oauth2-bearer"
-(IMAP, POP3, SMTP)
-Specify the Bearer Token for OAUTH 2.0 server authentication. The Bearer Token
-is used in conjunction with the user name which can be specified as part of the
-\fI--url\fP or \fI-u, --user\fP options.
+ curl -o aa example.com -o bb example.net
-The Bearer Token and user name are formatted according to RFC 6750.
+and the order of the -o options and the URLs doesn't matter, just that the
+first -o is for the first URL and so on, so the above command line can also be
+written as
-If this option is used several times, the last one will be used.
-.IP "--proxy-header <header>"
-(HTTP) Extra header to include in the request when sending HTTP to a
-proxy. You may specify any number of extra headers. This is the equivalent
-option to \fI-H, --header\fP but is for proxy communication only like in
-CONNECT requests when you want a separate header sent to the proxy to what is
-sent to the actual remote host.
+ curl example.com example.net -o aa -o bb
-curl will make sure that each header you add/replace is sent with the proper
-end-of-line marker, you should thus \fBnot\fP add that as a part of the header
-content: do not add newlines or carriage returns, they will only mess things
-up for you.
-
-Headers specified with this option will not be included in requests that curl
-knows will not be sent to a proxy.
-
-This option can be used multiple times to add/replace/remove multiple headers.
-
-(Added in 7.37.0)
-.IP "-p, --proxytunnel"
-When an HTTP proxy is used (\fI-x, --proxy\fP), this option will cause non-HTTP
-protocols to attempt to tunnel through the proxy instead of merely using it to
-do HTTP-like operations. The tunnel approach is made with the HTTP proxy
-CONNECT request and requires that the proxy allows direct connect to the
-remote port number curl wants to tunnel through to.
-.IP "-P, --ftp-port <address>"
-(FTP) Reverses the default initiator/listener roles when connecting with
-FTP. This switch makes curl use active mode. In practice, curl then tells the
-server to connect back to the client's specified address and port, while
-passive mode asks the server to setup an IP address and port for it to connect
-to. <address> should be one of:
-.RS
-.IP interface
-i.e "eth0" to specify which interface's IP address you want to use (Unix only)
-.IP "IP address"
-i.e "192.168.10.1" to specify the exact IP address
-.IP "host name"
-i.e "my.host.domain" to specify the machine
-.IP "-"
-make curl pick the same IP address that is already used for the control
-connection
-.RE
-.IP
-If this option is used several times, the last one will be used. Disable the
-use of PORT with \fI--ftp-pasv\fP. Disable the attempt to use the EPRT command
-instead of PORT by using \fI--disable-eprt\fP. EPRT is really PORT++.
+See also the \fI--create-dirs\fP option to create the local directories
+dynamically. Specifying the output as '-' (a single dash) will force the
+output to be done to stdout.
-Starting in 7.19.5, you can append \&":[start]-[end]\&" to the right of the
-address, to tell curl what TCP port range to use. That means you specify a
-port range, from a lower to a higher number. A single number works as well,
-but do note that it increases the risk of failure since the port may not be
-available.
+See also \fI-O, --remote-name\fP and \fI--remote-name-all\fP and \fI-J, --remote-header-name\fP.
.IP "--pass <phrase>"
-(SSL/SSH) Passphrase for the private key
+(SSH TLS) Passphrase for the private key
If this option is used several times, the last one will be used.
.IP "--path-as-is"
@@ -1331,33 +1318,117 @@ Tell curl to not handle sequences of /../ or /./ in the given URL
path. Normally curl will squash or merge them according to standards but with
this option set you tell it not to do that.
-(Added in 7.42.0)
+Added in 7.42.0.
+.IP "--pinnedpubkey <hashes>"
+(TLS) Tells curl to use the specified public key file (or hashes) to verify the
+peer. This can be a path to a file which contains a single public key in PEM
+or DER format, or any number of base64 encoded sha256 hashes preceded by
+\'sha256//\' and separated by \';\'
+
+When negotiating a TLS or SSL connection, the server 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.
+
+PEM/DER support:
+ 7.39.0: OpenSSL, GnuTLS and GSKit
+ 7.43.0: NSS and wolfSSL/CyaSSL
+ 7.47.0: mbedtls
+ 7.49.0: PolarSSL
+sha256 support:
+ 7.44.0: OpenSSL, GnuTLS, NSS and wolfSSL/CyaSSL.
+ 7.47.0: mbedtls
+ 7.49.0: PolarSSL
+Other SSL backends not supported.
+
+If this option is used several times, the last one will be used.
.IP "--post301"
-(HTTP) Tells curl to respect RFC 7230/6.4.2 and not convert POST requests
-into GET requests when following a 301 redirection. The non-RFC behaviour is
-ubiquitous in web browsers, so curl does the conversion by default to maintain
+(HTTP) Tells curl to respect RFC 7231/6.4.2 and not convert POST requests into GET
+requests when following a 301 redirection. The non-RFC behaviour is ubiquitous
+in web browsers, so curl 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 using \fI-L, --location\fP
-(Added in 7.17.1)
+a redirection. This option is meaningful only when using \fI-L, --location\fP.
+
+See also \fI--post302\fP and \fI--post303\fP and \fI-L, --location\fP. Added in 7.17.1.
.IP "--post302"
-(HTTP) Tells curl to respect RFC 7230/6.4.3 and not convert POST requests
-into GET requests when following a 302 redirection. The non-RFC behaviour is
-ubiquitous in web browsers, so curl does the conversion by default to maintain
+(HTTP) Tells curl to respect RFC 7231/6.4.3 and not convert POST requests into GET
+requests when following a 302 redirection. The non-RFC behaviour is ubiquitous
+in web browsers, so curl 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 using \fI-L, --location\fP
-(Added in 7.19.1)
+a redirection. This option is meaningful only when using \fI-L, --location\fP.
+
+See also \fI--post301\fP and \fI--post303\fP and \fI-L, --location\fP. Added in 7.19.1.
.IP "--post303"
-(HTTP) Tells curl to respect RFC 7230/6.4.4 and not convert POST requests
-into GET requests when following a 303 redirection. The non-RFC behaviour is
-ubiquitous in web browsers, so curl does the conversion by default to maintain
+(HTTP) Tells curl to respect RFC 7231/6.4.4 and not convert POST requests into GET
+requests when following a 303 redirection. The non-RFC behaviour is ubiquitous
+in web browsers, so curl 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 using \fI-L, --location\fP
-(Added in 7.26.0)
+a redirection. This option is meaningful only when using \fI-L, --location\fP.
+
+See also \fI--post302\fP and \fI--post301\fP and \fI-L, --location\fP. Added in 7.26.0.
+.IP "--preproxy [protocol://]host[:port]"
+Use the specified SOCKS proxy before connecting to an HTTP or HTTPS \fI-x, --proxy\fP. In
+such a case curl first connects to the SOCKS proxy and then connects (through
+SOCKS) to the HTTP or HTTPS proxy. Hence pre proxy.
+
+The pre proxy string should be specified with a protocol:// prefix to specify
+alternative proxy protocols. Use socks4://, socks4a://, socks5:// or
+socks5h:// to request the specific SOCKS version to be used. No protocol
+specified will make curl default to SOCKS4.
+
+If the port number is not specified in the proxy string, it is assumed to be
+1080.
+
+User and password that might be provided in the proxy string are URL decoded
+by curl. This allows you to pass in special characters such as @ by using %40
+or pass in a colon with %3a.
+
+If this option is used several times, the last one will be used.
+
+Added in 7.52.0.
+.IP "-#, --progress-bar"
+Make curl display transfer progress as a simple progress bar instead of the
+standard, more informational, meter.
+
+This progress bar draws a single line of '#' characters across the screen and
+shows a percentage if the transfer size is known. For transfers without a
+known size, it will instead output one '#' character for every 1024 bytes
+transferred.
+.IP "--proto-default <protocol>"
+Tells curl to use \fIprotocol\fP for any URL missing a scheme name.
+
+Example:
+
+ curl --proto-default https ftp.mozilla.org
+
+An unknown or unsupported protocol causes error
+\fICURLE_UNSUPPORTED_PROTOCOL\fP (1).
+
+This option does not change the default proxy protocol (http).
+
+Without this option curl would make a guess based on the host, see \fI--url\fP for
+details.
+
+Added in 7.45.0.
+.IP "--proto-redir <protocols>"
+Tells curl to limit what protocols it may use on redirect. Protocols denied by
+\fI--proto\fP are not overridden by this option. See --proto for how protocols are
+represented.
+
+Example, allow only HTTP and HTTPS on redirect:
+
+ curl --proto-redir -all,http,https http://example.com
+
+By default curl will allow all protocols on redirect except several disabled
+for security reasons: Since 7.19.4 FILE and SCP are disabled, and since 7.40.0
+SMB and SMBS are also disabled. Specifying \fIall\fP or \fI+all\fP enables all
+protocols on redirect, including those disabled for security.
+
+Added in 7.20.2.
.IP "--proto <protocols>"
-Tells curl to use the listed protocols for its initial retrieval. Protocols
-are evaluated left to right, are comma separated, and are each a protocol
-name or 'all', optionally prefixed by zero or more modifiers. Available
-modifiers are:
+Tells curl to limit what protocols it may use in the transfer. Protocols are
+evaluated left to right, are comma separated, and are each a protocol name or
+'all', optionally prefixed by zero or more modifiers. Available modifiers are:
.RS
.TP 3
.B +
@@ -1376,16 +1447,16 @@ list.
For example:
.RS
.TP 15
-.B --proto -ftps
+.B \fI--proto\fP -ftps
uses the default protocols, but disables ftps
.TP
-.B --proto -all,https,+http
+.B \fI--proto\fP -all,https,+http
only enables http and https
.TP
-.B --proto =http,https
+.B \fI--proto\fP =http,https
also only enables http and https
.RE
-.IP
+
Unknown protocols produce a warning. This allows scripts to safely rely on
being able to disable potentially dangerous protocols, without relying upon
support for that protocol being built into curl to avoid an error.
@@ -1393,76 +1464,174 @@ support for that protocol being built into curl to avoid an error.
This option can be used multiple times, in which case the effect is the same
as concatenating the protocols into one instance of the option.
-(Added in 7.20.2)
-.IP "--proto-default <protocol>"
-Tells curl to use \fIprotocol\fP for any URL missing a scheme name.
-
-Example:
+See also \fI--proto-redir\fP and \fI--proto-default\fP. Added in 7.20.2.
+.IP "--proxy-anyauth"
+Tells curl to pick a suitable authentication method when communicating with
+the given HTTP proxy. This might cause an extra request/response round-trip.
-.RS
-.IP "--proto-default https ftp.mozilla.org"
-https://ftp.mozilla.org
-.RE
+See also \fI-x, --proxy\fP and \fI--proxy-basic\fP and \fI--proxy-digest\fP. Added in 7.13.2.
+.IP "--proxy-basic"
+Tells curl to use HTTP Basic authentication when communicating with the given
+proxy. Use \fI--basic\fP for enabling HTTP Basic with a remote host. Basic is the
+default authentication method curl uses with proxies.
-An unknown or unsupported protocol causes error
-\fICURLE_UNSUPPORTED_PROTOCOL\fP.
+See also \fI-x, --proxy\fP and \fI--proxy-anyauth\fP and \fI--proxy-digest\fP.
+.IP "--proxy-cacert <file>"
+Same as \fI--cacert\fP but used in HTTPS proxy context.
-This option does not change the default proxy protocol (http).
+See also \fI--proxy-capath\fP and \fI--cacert\fP and \fI--capath\fP and \fI-x, --proxy\fP. Added in 7.52.0.
+.IP "--proxy-capath <dir>"
+Same as \fI--capath\fP but used in HTTPS proxy context.
-Without this option curl would make a guess based on the host, see \fI--url\fP
-for details.
+See also \fI--proxy-cacert\fP and \fI-x, --proxy\fP and \fI--capath\fP. Added in 7.52.0.
+.IP "--proxy-cert-type <type>"
+Same as \fI--cert-type\fP but used in HTTPS proxy context.
-(Added in 7.45.0)
-.IP "--proto-redir <protocols>"
-Tells curl to use the listed protocols on redirect. See --proto for how
-protocols are represented.
+Added in 7.52.0.
+.IP "--proxy-cert <cert[:passwd]>"
+Same as \fI-E, --cert\fP but used in HTTPS proxy context.
-Example:
+Added in 7.52.0.
+.IP "--proxy-ciphers <list>"
+Same as \fI--ciphers\fP but used in HTTPS proxy context.
-.RS
-.IP "--proto-redir -all,http,https"
-Allow only HTTP and HTTPS on redirect.
-.RE
+Added in 7.52.0.
+.IP "--proxy-crlfile <file>"
+Same as \fI--crlfile\fP but used in HTTPS proxy context.
-By default curl will allow all protocols on redirect except several disabled
-for security reasons: Since 7.19.4 FILE and SCP are disabled, and since 7.40.0
-SMB and SMBS are also disabled. Specifying \fIall\fP or \fI+all\fP enables all
-protocols on redirect, including those disabled for security.
-
-(Added in 7.20.2)
-.IP "--proxy-anyauth"
-Tells curl to pick a suitable authentication method when communicating with
-the given proxy. This might cause an extra request/response round-trip. (Added
-in 7.13.2)
-.IP "--proxy-basic"
-Tells curl to use HTTP Basic authentication when communicating with the given
-proxy. Use \fI--basic\fP for enabling HTTP Basic with a remote host. Basic is
-the default authentication method curl uses with proxies.
+Added in 7.52.0.
.IP "--proxy-digest"
Tells curl to use HTTP Digest authentication when communicating with the given
proxy. Use \fI--digest\fP for enabling HTTP Digest with a remote host.
+
+See also \fI-x, --proxy\fP and \fI--proxy-anyauth\fP and \fI--proxy-basic\fP.
+.IP "--proxy-header <header>"
+(HTTP) Extra header to include in the request when sending HTTP to a proxy. You may
+specify any number of extra headers. This is the equivalent option to \fI-H, --header\fP
+but is for proxy communication only like in CONNECT requests when you want a
+separate header sent to the proxy to what is sent to the actual remote host.
+
+curl will make sure that each header you add/replace is sent with the proper
+end-of-line marker, you should thus \fBnot\fP add that as a part of the header
+content: do not add newlines or carriage returns, they will only mess things
+up for you.
+
+Headers specified with this option will not be included in requests that curl
+knows will not be sent to a proxy.
+
+This option can be used multiple times to add/replace/remove multiple headers.
+
+Added in 7.37.0.
+.IP "--proxy-insecure"
+Same as \fI-k, --insecure\fP but used in HTTPS proxy context.
+
+Added in 7.52.0.
+.IP "--proxy-key-type <type>"
+Same as \fI--key-type\fP but used in HTTPS proxy context.
+
+Added in 7.52.0.
+.IP "--proxy-key <key>"
+Same as \fI--key\fP but used in HTTPS proxy context.
.IP "--proxy-negotiate"
Tells curl to use HTTP Negotiate (SPNEGO) authentication when communicating
with the given proxy. Use \fI--negotiate\fP for enabling HTTP Negotiate (SPNEGO)
-with a remote host. (Added in 7.17.1)
+with a remote host.
+
+See also \fI--proxy-anyauth\fP and \fI--proxy-basic\fP. Added in 7.17.1.
.IP "--proxy-ntlm"
Tells curl to use HTTP NTLM authentication when communicating with the given
proxy. Use \fI--ntlm\fP for enabling NTLM with a remote host.
-.IP "--proxy-service-name <servicename>"
+
+See also \fI--proxy-negotiate\fP and \fI--proxy-anyauth\fP.
+.IP "--proxy-pass <phrase>"
+Same as \fI--pass\fP but used in HTTPS proxy context.
+
+Added in 7.52.0.
+.IP "--proxy-service-name <name>"
This option allows you to change the service name for proxy negotiation.
-Examples: --proxy-negotiate proxy-name \fI--proxy-service-name\fP sockd would use
-sockd/proxy-name. (Added in 7.43.0).
-.IP "--proxy1.0 <proxyhost[:port]>"
+Added in 7.43.0.
+.IP "--proxy-ssl-allow-beast"
+Same as \fI--ssl-allow-beast\fP but used in HTTPS proxy context.
+
+Added in 7.52.0.
+.IP "--proxy-tlsauthtype <type>"
+Same as \fI--tlsauthtype\fP but used in HTTPS proxy context.
+
+Added in 7.52.0.
+.IP "--proxy-tlspassword <string>"
+Same as \fI--tlspassword\fP but used in HTTPS proxy context.
+
+Added in 7.52.0.
+.IP "--proxy-tlsuser <name>"
+Same as \fI--tlsuser\fP but used in HTTPS proxy context.
+
+Added in 7.52.0.
+.IP "--proxy-tlsv1"
+Same as \fI-1, --tlsv1\fP but used in HTTPS proxy context.
+
+Added in 7.52.0.
+.IP "-U, --proxy-user <user:password>"
+Specify the user name and password to use for proxy authentication.
+
+If you use a Windows SSPI-enabled curl binary and do either Negotiate or NTLM
+authentication then you can tell curl to select the user name and password
+from your environment by specifying a single colon with this option: "-U :".
+
+If this option is used several times, the last one will be used.
+.IP "-x, --proxy [protocol://]host[:port]"
+Use the specified proxy.
+
+The proxy string can be specified with a protocol:// prefix. No protocol
+specified or http:// will be treated as HTTP proxy. Use socks4://, socks4a://,
+socks5:// or socks5h:// to request a specific SOCKS version to be used.
+(The protocol support was added in curl 7.21.7)
+
+HTTPS proxy support via https:// protocol prefix was added in 7.52.0 for
+OpenSSL, GnuTLS and NSS.
+
+Unrecognized and unsupported proxy protocols cause an error since 7.52.0.
+Prior versions may ignore the protocol and use http:// instead.
+
+If the port number is not specified in the proxy string, it is assumed to be
+1080.
+
+This option overrides existing environment variables that set the proxy to
+use. If there's an environment variable setting a proxy, you can set proxy to
+\&"" to override it.
+
+All operations that are performed over an HTTP proxy will transparently be
+converted to HTTP. It means that certain protocol specific operations might
+not be available. This is not the case if you can tunnel through the proxy, as
+one with the \fI-p, --proxytunnel\fP option.
+
+User and password that might be provided in the proxy string are URL decoded
+by curl. This allows you to pass in special characters such as @ by using %40
+or pass in a colon with %3a.
+
+The proxy host can be specified the exact same way as the proxy environment
+variables, including the protocol prefix (http://) and the embedded user +
+password.
+
+If this option is used several times, the last one will be used.
+.IP "--proxy1.0 <host[:port]>"
Use the specified HTTP 1.0 proxy. If the port number is not specified, it is
assumed at port 1080.
-The only difference between this and the HTTP proxy option (\fI-x, --proxy\fP),
-is that attempts to use CONNECT through the proxy will specify an HTTP 1.0
-protocol instead of the default HTTP 1.1.
+The only difference between this and the HTTP proxy option \fI-x, --proxy\fP, is that
+attempts to use CONNECT through the proxy will specify an HTTP 1.0 protocol
+instead of the default HTTP 1.1.
+.IP "-p, --proxytunnel"
+When an HTTP proxy is used \fI-x, --proxy\fP, this option will cause non-HTTP protocols
+to attempt to tunnel through the proxy instead of merely using it to do
+HTTP-like operations. The tunnel approach is made with the HTTP proxy CONNECT
+request and requires that the proxy allows direct connect to the remote port
+number curl wants to tunnel through to.
+
+See also \fI-x, --proxy\fP.
.IP "--pubkey <key>"
-(SSH) Public key file name. Allows you to provide your public key in this
-separate file.
+(SFTP SCP) Public key file name. Allows you to provide your public key in this separate
+file.
If this option is used several times, the last one will be used.
@@ -1470,24 +1639,23 @@ If this option is used several times, the last one will be used.
private key file, so passing this option is generally not required. Note that
this public key extraction requires libcurl to be linked against a copy of
libssh2 1.2.8 or higher that is itself linked against OpenSSL.)
-.IP "-q, --disable"
-If used as the first parameter on the command line, the \fIcurlrc\fP config
-file will not be read and used. See the \fI-K, --config\fP for details on the
-default config file search path.
-.IP "-Q, --quote <command>"
-(FTP/SFTP) Send an arbitrary command to the remote FTP or SFTP server. Quote
-commands are sent BEFORE the transfer takes place (just after the initial PWD
-command in an FTP transfer, to be exact). To make commands take place after a
-successful transfer, prefix them with a dash '-'. To make commands be sent
-after curl has changed the working directory, just before the transfer
-command(s), prefix the command with a '+' (this is only supported for
-FTP). You may specify any number of commands. If the server returns failure
-for one of the commands, the entire operation will be aborted. You must send
-syntactically correct FTP commands as RFC 959 defines to FTP servers, or one
-of the commands listed below to SFTP servers. This option can be used
-multiple times. When speaking to an FTP server, prefix the command with an
-asterisk (*) to make curl continue even if the command fails as by default
-curl will stop at first failure.
+.IP "-Q, --quote"
+(FTP SFTP)
+Send an arbitrary command to the remote FTP or SFTP server. Quote commands are
+sent BEFORE the transfer takes place (just after the initial PWD command in an
+FTP transfer, to be exact). To make commands take place after a successful
+transfer, prefix them with a dash '-'. To make commands be sent after curl
+has changed the working directory, just before the transfer command(s), prefix
+the command with a '+' (this is only supported for FTP). You may specify any
+number of commands.
+
+If the server returns failure for one of the commands, the entire operation
+will be aborted. You must send syntactically correct FTP commands as RFC 959
+defines to FTP servers, or one of the commands listed below to SFTP servers.
+
+This option can be used multiple times. When speaking to an FTP server, prefix
+the command with an asterisk (*) to make curl continue even if the command
+fails as by default curl will stop at first failure.
SFTP is a binary protocol. Unlike for FTP, curl interprets SFTP quote commands
itself before sending them to the server. File names may be quoted
@@ -1523,10 +1691,13 @@ operand, provided it is empty.
.IP "symlink source_file target_file"
See ln.
.RE
+.IP "--random-file <file>"
+Specify the path name to file containing what will be considered as random
+data. The data may be used to seed the random engine for SSL connections. See
+also the \fI--egd-file\fP option.
.IP "-r, --range <range>"
-(HTTP/FTP/SFTP/FILE) Retrieve a byte range (i.e a partial document) from a
-HTTP/1.1, FTP or SFTP server or a local FILE. Ranges can be specified
-in a number of ways.
+(HTTP FTP SFTP FILE) Retrieve a byte range (i.e a partial document) from a HTTP/1.1, FTP or SFTP
+server or a local FILE. Ranges can be specified in a number of ways.
.RS
.TP 10
.B 0-499
@@ -1565,22 +1736,100 @@ FTP and SFTP range downloads only support the simple 'start-stop' syntax
FTP command SIZE.
If this option is used several times, the last one will be used.
-.IP "-R, --remote-time"
-When used, this will make curl attempt to figure out the timestamp of the
-remote file, and if that is available make the local file get that same
-timestamp.
-.IP "--random-file <file>"
-(SSL) Specify the path name to file containing what will be considered as
-random data. The data is used to seed the random engine for SSL connections.
-See also the \fI--egd-file\fP option.
.IP "--raw"
(HTTP) When used, it disables all internal HTTP decoding of content or transfer
-encodings and instead makes them passed on unaltered, raw. (Added in 7.16.2)
+encodings and instead makes them passed on unaltered, raw.
+
+Added in 7.16.2.
+.IP "-e, --referer <URL>"
+(HTTP) Sends the "Referrer Page" information to the HTTP server. This can also be set
+with the \fI-H, --header\fP flag of course. When used with \fI-L, --location\fP you can append
+";auto" to the \fI-e, --referer\fP URL to make curl automatically set the previous URL
+when it follows a Location: header. The \&";auto" string can be used alone,
+even if you don't set an initial \fI-e, --referer\fP.
+
+If this option is used several times, the last one will be used.
+
+See also \fI-A, --user-agent\fP and \fI-H, --header\fP.
+.IP "-J, --remote-header-name"
+(HTTP) This option tells the \fI-O, --remote-name\fP option to use the server-specified
+Content-Disposition filename instead of extracting a filename from the URL.
+
+If the server specifies a file name and a file with that name already exists
+in the current working directory it will not be overwritten and an error will
+occur. If the server doesn't specify a file name then this option has no
+effect.
+
+There's no attempt to decode %-sequences (yet) in the provided file name, so
+this option may provide you with rather unexpected file names.
+
+\fBWARNING\fP: Exercise judicious use of this option, especially on Windows. A
+rogue server could send you the name of a DLL or other file that could possibly
+be loaded automatically by Windows or some third party software.
.IP "--remote-name-all"
This option changes the default action for all given URLs to be dealt with as
-if \fI-O, --remote-name\fP were used for each one. So if you want to disable
-that for a specific URL after \fI--remote-name-all\fP has been used, you must
-use "-o -" or \fI--no-remote-name\fP. (Added in 7.19.0)
+if \fI-O, --remote-name\fP were used for each one. So if you want to disable that for a
+specific URL after \fI--remote-name-all\fP has been used, you must use "-o -" or
+--no-remote-name.
+
+Added in 7.19.0.
+.IP "-O, --remote-name"
+Write output to a local file named like the remote file we get. (Only the file
+part of the remote file is used, the path is cut off.)
+
+The file will be saved in the current working directory. If you want the file
+saved in a different directory, make sure you change the current working
+directory before invoking curl with this option.
+
+The remote file name to use for saving is extracted from the given URL,
+nothing else, and if it already exists it will be overwritten. If you want the
+server to be able to choose the file name refer to \fI-J, --remote-header-name\fP which
+can be used in addition to this option. If the server chooses a file name and
+that name already exists it will not be overwritten.
+
+There is no URL decoding done on the file name. If it has %20 or other URL
+encoded parts of the name, they will end up as-is as file name.
+
+You may use this option as many times as the number of URLs you have.
+.IP "-R, --remote-time"
+When used, this will make curl attempt to figure out the timestamp of the
+remote file, and if that is available make the local file get that same
+timestamp.
+.IP "-X, --request <command>"
+(HTTP) Specifies a custom request method to use when communicating with the
+HTTP server. The specified request method will be used instead of the method
+otherwise used (which defaults to GET). Read the HTTP 1.1 specification for
+details and explanations. Common additional HTTP requests include PUT and
+DELETE, but related technologies like WebDAV offers PROPFIND, COPY, MOVE and
+more.
+
+Normally you don't need this option. All sorts of GET, HEAD, POST and PUT
+requests are rather invoked by using dedicated command line options.
+
+This option only changes the actual word used in the HTTP request, it does not
+alter the way curl behaves. So for example if you want to make a proper HEAD
+request, using -X HEAD will not suffice. You need to use the \fI-I, --head\fP option.
+
+The method string you set with \fI-X, --request\fP will be used for all requests, which
+if you for example use \fI-L, --location\fP may cause unintended side-effects when curl
+doesn't change request method according to the HTTP 30x response codes - and
+similar.
+
+(FTP)
+Specifies a custom FTP command to use instead of LIST when doing file lists
+with FTP.
+
+(POP3)
+Specifies a custom POP3 command to use instead of LIST or RETR. (Added in
+7.26.0)
+
+(IMAP)
+Specifies a custom IMAP command to use instead of LIST. (Added in 7.30.0)
+
+(SMTP)
+Specifies a custom SMTP command to use instead of HELP or VRFY. (Added in 7.34.0)
+
+If this option is used several times, the last one will be used.
.IP "--resolve <host:port:address>"
Provide a custom address for a specific host and port pair. Using this, you
can make the curl requests(s) use a specified address and prevent the
@@ -1590,258 +1839,399 @@ the number used for the specific protocol the host will be used for. It means
you need several entries if you want to provide address for the same host but
different ports.
-The provided address set by this option will be used even if \fI-4, --ipv4\fP
-or \fI-6, --ipv6\fP is set to make curl use another IP version.
+The provided address set by this option will be used even if \fI-4, --ipv4\fP or \fI-6, --ipv6\fP
+is set to make curl use another IP version.
This option can be used many times to add many host names to resolve.
-(Added in 7.21.3)
-.IP "--retry <num>"
-If a transient error is returned when curl tries to perform a transfer, it
-will retry this number of times before giving up. Setting the number to 0
-makes curl do no retries (which is the default). Transient error means either:
-a timeout, an FTP 4xx response code or an HTTP 5xx response code.
-
-When curl is about to retry a transfer, it will first wait one second and then
-for all forthcoming retries it will double the waiting time until it reaches
-10 minutes which then will be the delay between the rest of the retries. By
-using \fI--retry-delay\fP you disable this exponential backoff algorithm. See
-also \fI--retry-max-time\fP to limit the total time allowed for
-retries. (Added in 7.12.3)
+Added in 7.21.3.
+.IP "--retry-connrefused"
+In addition to the other conditions, consider ECONNREFUSED as a transient
+error too for \fI--retry\fP. This option is used together with --retry.
-If this option is used several times, the last one will be used.
+Added in 7.52.0.
.IP "--retry-delay <seconds>"
Make curl sleep this amount of time before each retry when a transfer has
failed with a transient error (it changes the default backoff time algorithm
between retries). This option is only interesting if \fI--retry\fP is also
used. Setting this delay to zero will make curl use the default backoff time.
-(Added in 7.12.3)
If this option is used several times, the last one will be used.
+
+Added in 7.12.3.
.IP "--retry-max-time <seconds>"
The retry timer is reset before the first transfer attempt. Retries will be
-done as usual (see \fI--retry\fP) as long as the timer hasn't reached this
-given limit. Notice that if the timer hasn't reached the limit, the request
-will be made and while performing, it may take longer than this given time
-period. To limit a single request\'s maximum time, use \fI-m, --max-time\fP.
-Set this option to zero to not timeout retries. (Added in 7.12.3)
+done as usual (see \fI--retry\fP) as long as the timer hasn't reached this given
+limit. Notice that if the timer hasn't reached the limit, the request will be
+made and while performing, it may take longer than this given time period. To
+limit a single request\'s maximum time, use \fI-m, --max-time\fP. Set this option to
+zero to not timeout retries.
If this option is used several times, the last one will be used.
-.IP "-s, --silent"
-Silent or quiet mode. Don't show progress meter or error messages. Makes Curl
-mute. It will still output the data you ask for, potentially even to the
-terminal/stdout unless you redirect it.
+
+Added in 7.12.3.
+.IP "--retry <num>"
+If a transient error is returned when curl tries to perform a transfer, it
+will retry this number of times before giving up. Setting the number to 0
+makes curl do no retries (which is the default). Transient error means either:
+a timeout, an FTP 4xx response code or an HTTP 5xx response code.
+
+When curl is about to retry a transfer, it will first wait one second and then
+for all forthcoming retries it will double the waiting time until it reaches
+10 minutes which then will be the delay between the rest of the retries. By
+using \fI--retry-delay\fP you disable this exponential backoff algorithm. See also
+\fI--retry-max-time\fP to limit the total time allowed for retries.
+
+If this option is used several times, the last one will be used.
+
+Added in 7.12.3.
.IP "--sasl-ir"
Enable initial response in SASL authentication.
-(Added in 7.31.0)
-.IP "--service-name <servicename>"
+
+Added in 7.31.0.
+.IP "--service-name <name>"
This option allows you to change the service name for SPNEGO.
-Examples: --negotiate \fI--service-name\fP sockd would use
-sockd/server-name. (Added in 7.43.0).
+Examples: \fI--negotiate\fP \fI--service-name\fP sockd would use sockd/server-name.
+
+Added in 7.43.0.
.IP "-S, --show-error"
-When used with \fI-s\fP it makes curl show an error message if it fails.
-.IP "--ssl"
-(FTP, POP3, IMAP, SMTP) Try to use SSL/TLS for the connection. Reverts to a
-non-secure connection if the server doesn't support SSL/TLS. See also
-\fI--ftp-ssl-control\fP and \fI--ssl-reqd\fP for different levels of
-encryption required. (Added in 7.20.0)
+When used with \fI-s, --silent\fP, it makes curl show an error message if it fails.
+.IP "-s, --silent"
+Silent or quiet mode. Don't show progress meter or error messages. Makes Curl
+mute. It will still output the data you ask for, potentially even to the
+terminal/stdout unless you redirect it.
-This option was formerly known as \fI--ftp-ssl\fP (Added in 7.11.0). That
-option name can still be used but will be removed in a future version.
-.IP "--ssl-reqd"
-(FTP, POP3, IMAP, SMTP) Require SSL/TLS for the connection. Terminates the
-connection if the server doesn't support SSL/TLS. (Added in 7.20.0)
+Use \fI-S, --show-error\fP in addition to this option to disable progress meter but
+still show error messages.
-This option was formerly known as \fI--ftp-ssl-reqd\fP.
-.IP "--ssl-allow-beast"
-(SSL) This option tells curl to not work around a security flaw in the SSL3
-and TLS1.0 protocols known as BEAST. If this option isn't used, the SSL layer
-may use workarounds known to cause interoperability problems with some older
-SSL implementations. WARNING: this option loosens the SSL security, and by
-using this flag you ask for exactly that. (Added in 7.25.0)
-.IP "--ssl-no-revoke"
-(WinSSL) This option tells curl to disable certificate revocation checks.
-WARNING: this option loosens the SSL security, and by using this flag you ask
-for exactly that. (Added in 7.44.0)
+See also \fI-v, --verbose\fP and \fI--stderr\fP.
.IP "--socks4 <host[:port]>"
Use the specified SOCKS4 proxy. If the port number is not specified, it is
-assumed at port 1080. (Added in 7.15.2)
+assumed at port 1080.
-This option overrides any previous use of \fI-x, --proxy\fP, as they are
-mutually exclusive.
+This option overrides any previous use of \fI-x, --proxy\fP, as they are mutually
+exclusive.
Since 7.21.7, this option is superfluous since you can specify a socks4 proxy
with \fI-x, --proxy\fP using a socks4:// protocol prefix.
+Since 7.52.0, \fI--preproxy\fP can be used to specify a SOCKS proxy at the same time
+\fI-x, --proxy\fP is used with an HTTP/HTTPS proxy. In such a case curl first connects to
+the SOCKS proxy and then connects (through SOCKS) to the HTTP or HTTPS proxy.
+
If this option is used several times, the last one will be used.
+
+Added in 7.15.2.
.IP "--socks4a <host[:port]>"
Use the specified SOCKS4a proxy. If the port number is not specified, it is
-assumed at port 1080. (Added in 7.18.0)
+assumed at port 1080.
-This option overrides any previous use of \fI-x, --proxy\fP, as they are
-mutually exclusive.
+This option overrides any previous use of \fI-x, --proxy\fP, as they are mutually
+exclusive.
Since 7.21.7, this option is superfluous since you can specify a socks4a proxy
with \fI-x, --proxy\fP using a socks4a:// protocol prefix.
+Since 7.52.0, \fI--preproxy\fP can be used to specify a SOCKS proxy at the same time
+\fI-x, --proxy\fP is used with an HTTP/HTTPS proxy. In such a case curl first connects to
+the SOCKS proxy and then connects (through SOCKS) to the HTTP or HTTPS proxy.
+
If this option is used several times, the last one will be used.
+
+Added in 7.18.0.
+.IP "--socks5-gssapi-nec"
+As part of the GSS-API negotiation a protection mode is negotiated. RFC 1961
+says in section 4.3/4.4 it should be protected, but the NEC reference
+implementation does not. The option \fI--socks5-gssapi-nec\fP allows the
+unprotected exchange of the protection mode negotiation.
+
+Added in 7.19.4.
+.IP "--socks5-gssapi-service <name>"
+The default service name for a socks server is rcmd/server-fqdn. This option
+allows you to change it.
+
+Examples: \fI--socks5\fP proxy-name \fI--socks5-gssapi-service\fP sockd would use
+sockd/proxy-name \fI--socks5\fP proxy-name \fI--socks5-gssapi-service\fP sockd/real-name
+would use sockd/real-name for cases where the proxy-name does not match the
+principal name.
+
+Added in 7.19.4.
.IP "--socks5-hostname <host[:port]>"
Use the specified SOCKS5 proxy (and let the proxy resolve the host name). If
-the port number is not specified, it is assumed at port 1080. (Added in
-7.18.0)
+the port number is not specified, it is assumed at port 1080.
-This option overrides any previous use of \fI-x, --proxy\fP, as they are
-mutually exclusive.
+This option overrides any previous use of \fI-x, --proxy\fP, as they are mutually
+exclusive.
Since 7.21.7, this option is superfluous since you can specify a socks5
hostname proxy with \fI-x, --proxy\fP using a socks5h:// protocol prefix.
-If this option is used several times, the last one will be used. (This option
-was previously wrongly documented and used as --socks without the number
-appended.)
+Since 7.52.0, \fI--preproxy\fP can be used to specify a SOCKS proxy at the same time
+\fI-x, --proxy\fP is used with an HTTP/HTTPS proxy. In such a case curl first connects to
+the SOCKS proxy and then connects (through SOCKS) to the HTTP or HTTPS proxy.
+
+If this option is used several times, the last one will be used.
+
+Added in 7.18.0.
.IP "--socks5 <host[:port]>"
Use the specified SOCKS5 proxy - but resolve the host name locally. If the
port number is not specified, it is assumed at port 1080.
-This option overrides any previous use of \fI-x, --proxy\fP, as they are
-mutually exclusive.
+This option overrides any previous use of \fI-x, --proxy\fP, as they are mutually
+exclusive.
Since 7.21.7, this option is superfluous since you can specify a socks5 proxy
with \fI-x, --proxy\fP using a socks5:// protocol prefix.
-If this option is used several times, the last one will be used. (This option
-was previously wrongly documented and used as --socks without the number
-appended.)
+Since 7.52.0, \fI--preproxy\fP can be used to specify a SOCKS proxy at the same time
+\fI-x, --proxy\fP is used with an HTTP/HTTPS proxy. In such a case curl first connects to
+the SOCKS proxy and then connects (through SOCKS) to the HTTP or HTTPS proxy.
+
+If this option is used several times, the last one will be used.
This option (as well as \fI--socks4\fP) does not work with IPV6, FTPS or LDAP.
-.IP "--socks5-gssapi-service <servicename>"
-The default service name for a socks server is rcmd/server-fqdn. This option
-allows you to change it.
-Examples: --socks5 proxy-name \fI--socks5-gssapi-service\fP sockd would use
-sockd/proxy-name --socks5 proxy-name \fI--socks5-gssapi-service\fP
-sockd/real-name would use sockd/real-name for cases where the proxy-name does
-not match the principal name. (Added in 7.19.4).
-.IP "--socks5-gssapi-nec"
-As part of the GSS-API negotiation a protection mode is negotiated. RFC 1961
-says in section 4.3/4.4 it should be protected, but the NEC reference
-implementation does not. The option \fI--socks5-gssapi-nec\fP allows the
-unprotected exchange of the protection mode negotiation. (Added in 7.19.4).
-.IP "--stderr <file>"
-Redirect all writes to stderr to the specified file instead. If the file name
-is a plain '-', it is instead written to stdout.
+Added in 7.18.0.
+.IP "-Y, --speed-limit <speed>"
+If a download is slower than this given speed (in bytes per second) for
+speed-time seconds it gets aborted. speed-time is set with \fI-y, --speed-time\fP and is
+30 if not set.
If this option is used several times, the last one will be used.
-.IP "-t, --telnet-option <OPT=val>"
-Pass options to the telnet protocol. Supported options are:
+.IP "-y, --speed-time <seconds>"
+If a download is slower than speed-limit bytes per second during a speed-time
+period, the download gets aborted. If speed-time is used, the default
+speed-limit will be 1 unless set with \fI-Y, --speed-limit\fP.
-TTYPE=<term> Sets the terminal type.
+This option controls transfers and thus will not affect slow connects etc. If
+this is a concern for you, try the \fI--connect-timeout\fP option.
-XDISPLOC=<X display> Sets the X display location.
+If this option is used several times, the last one will be used.
+.IP "--ssl-allow-beast"
+This option tells curl to not work around a security flaw in the SSL3 and
+TLS1.0 protocols known as BEAST. If this option isn't used, the SSL layer may
+use workarounds known to cause interoperability problems with some older SSL
+implementations. WARNING: this option loosens the SSL security, and by using
+this flag you ask for exactly that.
-NEW_ENV=<var,val> Sets an environment variable.
-.IP "-T, --upload-file <file>"
-This transfers the specified local file to the remote URL. If there is no file
-part in the specified URL, Curl will append the local file name. NOTE that you
-must use a trailing / on the last directory to really prove to Curl that there
-is no file name or curl will think that your last directory name is the remote
-file name to use. That will most likely cause the upload operation to fail. If
-this is used on an HTTP(S) server, the PUT command will be used.
+Added in 7.25.0.
+.IP "--ssl-no-revoke"
+(WinSSL) This option tells curl to disable certificate revocation checks.
+WARNING: this option loosens the SSL security, and by using this flag you ask
+for exactly that.
-Use the file name "-" (a single dash) to use stdin instead of a given file.
-Alternately, the file name "." (a single period) may be specified instead
-of "-" to use stdin in non-blocking mode to allow reading server output
-while stdin is being uploaded.
+Added in 7.44.0.
+.IP "--ssl-reqd"
+(FTP IMAP POP3 SMTP) Require SSL/TLS for the connection. Terminates the connection if the server
+doesn't support SSL/TLS.
-You can specify one -T for each URL on the command line. Each -T + URL pair
-specifies what to upload and to where. curl also supports "globbing" of the -T
-argument, meaning that you can upload multiple files to a single URL by using
-the same URL globbing style supported in the URL, like this:
+This option was formerly known as --ftp-ssl-reqd.
-curl -T "{file1,file2}" http://www.example.com
+Added in 7.20.0.
+.IP "--ssl"
+(FTP IMAP POP3 SMTP)
+Try to use SSL/TLS for the connection. Reverts to a non-secure connection if
+the server doesn't support SSL/TLS. See also \fI--ftp-ssl-control\fP and \fI--ssl-reqd\fP
+for different levels of encryption required.
-or even
+This option was formerly known as --ftp-ssl (Added in 7.11.0). That option
+name can still be used but will be removed in a future version.
+
+Added in 7.20.0.
+.IP "-2, --sslv2"
+(SSL) Forces curl to use SSL version 2 when negotiating with a remote SSL
+server. Sometimes curl is built without SSLv2 support. SSLv2 is widely
+considered insecure (see RFC 6176).
+
+See also \fI--http1.1\fP and \fI--http2\fP. \fI-2, --sslv2\fP requires that the underlying libcurl was built to support TLS. This option overrides \fI-3, --sslv3\fP and \fI-1, --tlsv1\fP and \fI--tlsv1.1\fP and \fI--tlsv1.2\fP.
+.IP "-3, --sslv3"
+(SSL) Forces curl to use SSL version 3 when negotiating with a remote SSL
+server. Sometimes curl is built without SSLv3 support. SSLv3 is widely
+considered insecure (see RFC 7568).
+
+See also \fI--http1.1\fP and \fI--http2\fP. \fI-3, --sslv3\fP requires that the underlying libcurl was built to support TLS. This option overrides \fI-2, --sslv2\fP and \fI-1, --tlsv1\fP and \fI--tlsv1.1\fP and \fI--tlsv1.2\fP.
+.IP "--stderr"
+Redirect all writes to stderr to the specified file instead. If the file name
+is a plain '-', it is instead written to stdout.
+
+If this option is used several times, the last one will be used.
-curl -T "img[1-1000].png" ftp://ftp.example.com/upload/
+See also \fI-v, --verbose\fP and \fI-s, --silent\fP.
+.IP "--tcp-fastopen"
+Enable use of TCP Fast Open (RFC7413).
+
+Added in 7.49.0.
.IP "--tcp-nodelay"
Turn on the TCP_NODELAY option. See the \fIcurl_easy_setopt(3)\fP man page for
-details about this option. (Added in 7.11.2)
-.IP "--tcp-fastopen"
-Enable use of TCP Fast Open (RFC7413). (Added in 7.49.0)
+details about this option.
+
+Since 7.50.2, curl sets this option by default and you need to explictitly
+switch it off if you don't want it on.
+
+Added in 7.11.2.
+.IP "-t, --telnet-option <opt=val>"
+Pass options to the telnet protocol. Supported options are:
+
+TTYPE=<term> Sets the terminal type.
+
+XDISPLOC=<X display> Sets the X display location.
+
+NEW_ENV=<var,val> Sets an environment variable.
.IP "--tftp-blksize <value>"
-(TFTP) Set TFTP BLKSIZE option (must be >512). This is the block size that
-curl will try to use when transferring data to or from a TFTP server. By
-default 512 bytes will be used.
+(TFTP) Set TFTP BLKSIZE option (must be >512). This is the block size that curl will
+try to use when transferring data to or from a TFTP server. By default 512
+bytes will be used.
If this option is used several times, the last one will be used.
-(Added in 7.20.0)
+Added in 7.20.0.
.IP "--tftp-no-options"
(TFTP) Tells curl not to send TFTP options requests.
This option improves interop with some legacy servers that do not acknowledge
-or properly implement TFTP options. When this option is used
-\fI--tftp-blksize\fP is ignored.
+or properly implement TFTP options. When this option is used \fI--tftp-blksize\fP is
+ignored.
+
+Added in 7.48.0.
+.IP "-z, --time-cond <time>"
+(HTTP FTP) Request a file that has been modified later than the given time and date, or
+one that has been modified before that time. The <date expression> can be all
+sorts of date strings or if it doesn't match any internal ones, it is taken as
+a filename and tries to get the modification date (mtime) from <file>
+instead. See the \fIcurl_getdate(3)\fP man pages for date expression details.
+
+Start the date expression with a dash (-) to make it request for a document
+that is older than the given date/time, default is a document that is newer
+than the specified date/time.
-(Added in 7.48.0)
-.IP "--tlsauthtype <authtype>"
+If this option is used several times, the last one will be used.
+.IP "--tlsauthtype <type>"
Set TLS authentication type. Currently, the only supported option is "SRP",
-for TLS-SRP (RFC 5054). If \fI--tlsuser\fP and \fI--tlspassword\fP are
-specified but \fI--tlsauthtype\fP is not, then this option defaults to "SRP".
-(Added in 7.21.4)
-.IP "--tlspassword <password>"
+for TLS-SRP (RFC 5054). If \fI--tlsuser\fP and \fI--tlspassword\fP are specified but
+\fI--tlsauthtype\fP is not, then this option defaults to "SRP".
+
+Added in 7.21.4.
+.IP "--tlspassword"
Set password for use with the TLS authentication method specified with
-\fI--tlsauthtype\fP. Requires that \fI--tlsuser\fP also be set. (Added in
-7.21.4)
-.IP "--tlsuser <user>"
+\fI--tlsauthtype\fP. Requires that \fI--tlsuser\fP also be set.
+
+Added in 7.21.4.
+.IP "--tlsuser <name>"
Set username for use with the TLS authentication method specified with
-\fI--tlsauthtype\fP. Requires that \fI--tlspassword\fP also be set. (Added in
-7.21.4)
+\fI--tlsauthtype\fP. Requires that \fI--tlspassword\fP also is set.
+
+Added in 7.21.4.
.IP "--tlsv1.0"
-(SSL)
-Forces curl to use TLS version 1.0 when negotiating with a remote TLS server.
-(Added in 7.34.0)
+(TLS) Forces curl to use TLS version 1.0 when connecting to a remote TLS server.
+
+Added in 7.34.0.
.IP "--tlsv1.1"
-(SSL)
-Forces curl to use TLS version 1.1 when negotiating with a remote TLS server.
-(Added in 7.34.0)
+(TLS) Forces curl to use TLS version 1.1 when connecting to a remote TLS server.
+
+Added in 7.34.0.
.IP "--tlsv1.2"
-(SSL)
-Forces curl to use TLS version 1.2 when negotiating with a remote TLS server.
-(Added in 7.34.0)
+(TLS) Forces curl to use TLS version 1.2 when connecting to a remote TLS server.
+
+Added in 7.34.0.
+.IP "--tlsv1.3"
+(TLS) Forces curl to use TLS version 1.3 when connecting to a remote TLS server.
+
+Note that TLS 1.3 is only supported by a subset of TLS backends. At the time
+of writing this, those are BoringSSL and NSS only.
+
+Added in 7.52.0.
+.IP "-1, --tlsv1"
+(SSL) Tells curl to use TLS version 1.x when negotiating with a remote TLS
+server. That means TLS version 1.0, 1.1 or 1.2.
+
+See also \fI--http1.1\fP and \fI--http2\fP. \fI-1, --tlsv1\fP requires that the underlying libcurl was built to support TLS. This option overrides \fI--tlsv1.1\fP and \fI--tlsv1.2\fP and \fI--tlsv1.3\fP.
.IP "--tr-encoding"
-(HTTP) Request a compressed Transfer-Encoding response using one of the
-algorithms curl supports, and uncompress the data while receiving it.
+(HTTP) Request a compressed Transfer-Encoding response using one of the algorithms
+curl supports, and uncompress the data while receiving it.
-(Added in 7.21.6)
-.IP "--trace <file>"
+Added in 7.21.6.
+.IP "--trace-ascii <file>"
Enables a full trace dump of all incoming and outgoing data, including
descriptive information, to the given output file. Use "-" as filename to have
the output sent to stdout.
-This option overrides previous uses of \fI-v, --verbose\fP or
-\fI--trace-ascii\fP.
+This is very similar to \fI--trace\fP, but leaves out the hex part and only shows
+the ASCII part of the dump. It makes smaller output that might be easier to
+read for untrained humans.
If this option is used several times, the last one will be used.
-.IP "--trace-ascii <file>"
+
+This option overrides \fI--trace\fP and \fI-v, --verbose\fP.
+.IP "--trace-time"
+Prepends a time stamp to each trace or verbose line that curl displays.
+
+Added in 7.14.0.
+.IP "--trace <file>"
Enables a full trace dump of all incoming and outgoing data, including
descriptive information, to the given output file. Use "-" as filename to have
-the output sent to stdout.
+the output sent to stdout. Use "%" as filename to have the output sent to
+stderr.
+
+If this option is used several times, the last one will be used.
+
+This option overrides \fI-v, --verbose\fP and \fI--trace-ascii\fP.
+.IP "--unix-socket <path>"
+(HTTP) Connect through this Unix domain socket, instead of using the network.
+
+Added in 7.40.0.
+.IP "-T, --upload-file <file>"
+This transfers the specified local file to the remote URL. If there is no file
+part in the specified URL, curl will append the local file name. NOTE that you
+must use a trailing / on the last directory to really prove to Curl that there
+is no file name or curl will think that your last directory name is the remote
+file name to use. That will most likely cause the upload operation to fail. If
+this is used on an HTTP(S) server, the PUT command will be used.
+
+Use the file name "-" (a single dash) to use stdin instead of a given file.
+Alternately, the file name "." (a single period) may be specified instead
+of "-" to use stdin in non-blocking mode to allow reading server output
+while stdin is being uploaded.
+
+You can specify one \fI-T, --upload-file\fP for each URL on the command line. Each
+\fI-T, --upload-file\fP + URL pair specifies what to upload and to where. curl also
+supports "globbing" of the \fI-T, --upload-file\fP argument, meaning that you can upload
+multiple files to a single URL by using the same URL globbing style supported
+in the URL, like this:
-This is very similar to \fI--trace\fP, but leaves out the hex part and only
-shows the ASCII part of the dump. It makes smaller output that might be easier
-to read for untrained humans.
+ curl --upload-file "{file1,file2}" http://www.example.com
+
+or even
-This option overrides previous uses of \fI-v, --verbose\fP or \fI--trace\fP.
+ curl -T "img[1-1000].png" ftp://ftp.example.com/upload/
+
+When uploading to an SMTP server: the uploaded data is assumed to be RFC 5322
+formatted. It has to feature the necessary set of headers and mail body
+formatted correctly by the user as curl will not transcode nor encode it
+further in any way.
+.IP "--url <url>"
+Specify a URL to fetch. This option is mostly handy when you want to specify
+URL(s) in a config file.
+
+If the given URL is missing a scheme name (such as "http://" or "ftp://" etc)
+then curl 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 \fI--proto-default\fP for details.
+
+This option may be used any number of times. To control where this URL is
+written, use the \fI-o, --output\fP or the \fI-O, --remote-name\fP options.
+.IP "-B, --use-ascii"
+(FTP LDAP) Enable ASCII transfer. For FTP, this can also be enforced by using a URL that
+ends with ";type=A". This option causes data sent to stdout to be in text mode
+for win32 systems.
+.IP "-A, --user-agent <name>"
+(HTTP)
+Specify the User-Agent string to send to the HTTP server. To encode blanks in
+the string, surround the string with single quote marks. This can also be set
+with the \fI-H, --header\fP option of course.
If this option is used several times, the last one will be used.
-.IP "--trace-time"
-Prepends a time stamp to each trace or verbose line that curl displays.
-(Added in 7.14.0)
-.IP "--unix-socket <path>"
-(HTTP) Connect through this Unix domain socket, instead of using the
-network. (Added in 7.40.0)
.IP "-u, --user <user:password>"
Specify the user name and password to use for server authentication. Overrides
\fI-n, --netrc\fP and \fI--netrc-optional\fP.
@@ -1871,42 +2261,77 @@ the user name and password from your environment by specifying a single colon
with this option: "-u :".
If this option is used several times, the last one will be used.
-.IP "-U, --proxy-user <user:password>"
-Specify the user name and password to use for proxy authentication.
-
-If you use a Windows SSPI-enabled curl binary and do either Negotiate or NTLM
-authentication then you can tell curl to select the user name and password
-from your environment by specifying a single colon with this option: "-U :".
-
-If this option is used several times, the last one will be used.
-.IP "--url <URL>"
-Specify a URL to fetch. This option is mostly handy when you want to specify
-URL(s) in a config file.
-
-If the given URL is missing a scheme name (such as "http://" or "ftp://" etc)
-then curl 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 \fI--proto-default\fP for details.
-
-This option may be used any number of times. To control where this URL is
-written, use the \fI-o, --output\fP or the \fI-O, --remote-name\fP options.
.IP "-v, --verbose"
-Be more verbose/talkative during the operation. Useful for debugging and
-seeing what's going on "under the hood". A line starting with '>' means
-"header data" sent by curl, '<' means "header data" received by curl that is
-hidden in normal cases, and a line starting with '*' means additional info
-provided by curl.
+Makes curl verbose during the operation. Useful for debugging and seeing
+what's going on "under the hood". A line starting with '>' means "header data"
+sent by curl, '<' means "header data" received by curl that is hidden in
+normal cases, and a line starting with '*' means additional info provided by
+curl.
-Note that if you only want HTTP headers in the output, \fI-i, --include\fP
-might be the option you're looking for.
+If you only want HTTP headers in the output, \fI-i, --include\fP might be the option
+you're looking for.
If you think this option still doesn't give you enough details, consider using
\fI--trace\fP or \fI--trace-ascii\fP instead.
-This option overrides previous uses of \fI--trace-ascii\fP or \fI--trace\fP.
+Use \fI-s, --silent\fP to make curl really quiet.
+
+See also \fI-i, --include\fP. This option overrides \fI--trace\fP and \fI--trace-ascii\fP.
+.IP "-V, --version"
+Displays information about curl and the libcurl version it uses.
+
+The first line includes the full version of curl, libcurl and other 3rd party
+libraries linked with the executable.
+
+The second line (starts with "Protocols:") shows all protocols that libcurl
+reports to support.
-Use \fI-s, --silent\fP to make curl quiet.
+The third line (starts with "Features:") shows specific features libcurl
+reports to offer. Available features include:
+.RS
+.IP "IPv6"
+You can use IPv6 with this.
+.IP "krb4"
+Krb4 for FTP is supported.
+.IP "SSL"
+SSL versions of various protocols are supported, such as HTTPS, FTPS, POP3S
+and so on.
+.IP "libz"
+Automatic decompression of compressed files over HTTP is supported.
+.IP "NTLM"
+NTLM authentication is supported.
+.IP "Debug"
+This curl uses a libcurl built with Debug. This enables more error-tracking
+and memory debugging etc. For curl-developers only!
+.IP "AsynchDNS"
+This curl uses asynchronous name resolves. Asynchronous name resolves can be
+done using either the c-ares or the threaded resolver backends.
+.IP "SPNEGO"
+SPNEGO authentication is supported.
+.IP "Largefile"
+This curl supports transfers of large files, files larger than 2GB.
+.IP "IDN"
+This curl supports IDN - international domain names.
+.IP "GSS-API"
+GSS-API is supported.
+.IP "SSPI"
+SSPI is supported.
+.IP "TLS-SRP"
+SRP (Secure Remote Password) authentication is supported for TLS.
+.IP "HTTP2"
+HTTP/2 support has been built-in.
+.IP "UnixSockets"
+Unix sockets support is provided.
+.IP "HTTPS-proxy"
+This curl is built to support HTTPS proxy.
+.IP "Metalink"
+This curl supports Metalink (both version 3 and 4 (RFC 5854)), which
+describes mirrors and hashes. curl will use mirrors for failover if
+there are errors (such as the file or server not being available).
+.IP "PSL"
+PSL is short for Public Suffix List and means that this curl has been built
+with knowledge about "public suffixes".
+.RE
.IP "-w, --write-out <format>"
Make curl display information on stdout after a completed transfer. The format
is a string that may contain plain text mixed with any number of
@@ -1915,10 +2340,10 @@ curl read the format from a file with "@filename" and to tell curl to read the
format from stdin you write "@-".
The variables present in the output format will be substituted by the value or
-text that curl thinks fit, as described below. All variables are specified
-as %{variable_name} and to output a normal % you just write them as
-%%. You can output a newline by using \\n, a carriage return with \\r and a tab
-space with \\t.
+text that curl thinks fit, as described below. All variables are specified as
+%{variable_name} and to output a normal % you just write them as %%. You can
+output a newline by using \\n, a carriage return with \\r and a tab space with
+\\t.
.B NOTE:
The %-symbol is a special symbol in the win32-environment, where all
@@ -1932,8 +2357,8 @@ The Content-Type of the requested document, if there was any.
.TP
.B filename_effective
The ultimate filename that curl writes out to. This is only meaningful if curl
-is told to write to a file with the \fI--remote-name\fP or \fI--output\fP
-option. It's most useful in combination with the \fI--remote-header-name\fP
+is told to write to a file with the \fI-O, --remote-name\fP or \fI-o, --output\fP
+option. It's most useful in combination with the \fI-J, --remote-header-name\fP
option. (Added in 7.26.0)
.TP
.B ftp_entry_path
@@ -1965,6 +2390,10 @@ Number of new connects made in the recent transfer. (Added in 7.12.3)
.B num_redirects
Number of redirects that were followed in the request. (Added in 7.12.3)
.TP
+.B proxy_ssl_verify_result
+The result of the HTTPS proxy's SSL peer certificate verification that was
+requested. 0 means the verification was successful. (Added in 7.52.0)
+.TP
.B redirect_url
When an HTTP request was made without -L to follow redirects, this variable
will show the actual URL a redirect \fIwould\fP take you to. (Added in 7.18.2)
@@ -1976,6 +2405,9 @@ IPv4 or IPv6 (Added in 7.29.0)
.B remote_port
The remote port number of the most recently done connection (Added in 7.29.0)
.TP
+.B scheme
+The URL scheme (sometimes called protocol) that was effectively used (Added in 7.52.0)
+.TP
.B size_download
The total amount of bytes that were downloaded.
.TP
@@ -2029,8 +2461,7 @@ about to be transferred. This includes time_pretransfer and also the time the
server needed to calculate the result.
.TP
.B time_total
-The total time, in seconds, that the full operation lasted. The time will be
-displayed with millisecond resolution.
+The total time, in seconds, that the full operation lasted.
.TP
.B url_effective
The URL that was fetched last. This is most meaningful if you've told curl
@@ -2038,160 +2469,12 @@ to follow location: headers.
.RE
.IP
If this option is used several times, the last one will be used.
-.IP "-x, --proxy <[protocol://][user:password@]proxyhost[:port]>"
-Use the specified proxy.
-
-The proxy string can be specified with a protocol:// prefix to specify
-alternative proxy protocols. Use socks4://, socks4a://, socks5:// or
-socks5h:// to request the specific SOCKS version to be used. No protocol
-specified, http:// and all others will be treated as HTTP proxies. (The
-protocol support was added in curl 7.21.7)
-
-If the port number is not specified in the proxy string, it is assumed to be
-1080.
-
-This option overrides existing environment variables that set the proxy to
-use. If there's an environment variable setting a proxy, you can set proxy to
-\&"" to override it.
-
-All operations that are performed over an HTTP proxy will transparently be
-converted to HTTP. It means that certain protocol specific operations might
-not be available. This is not the case if you can tunnel through the proxy, as
-one with the \fI-p, --proxytunnel\fP option.
-
-User and password that might be provided in the proxy string are URL decoded
-by curl. This allows you to pass in special characters such as @ by using %40
-or pass in a colon with %3a.
-
-The proxy host can be specified the exact same way as the proxy environment
-variables, including the protocol prefix (http://) and the embedded user +
-password.
-
-If this option is used several times, the last one will be used.
-.IP "-X, --request <command>"
-(HTTP) Specifies a custom request method to use when communicating with the
-HTTP server. The specified request method will be used instead of the method
-otherwise used (which defaults to GET). Read the HTTP 1.1 specification for
-details and explanations. Common additional HTTP requests include PUT and
-DELETE, but related technologies like WebDAV offers PROPFIND, COPY, MOVE and
-more.
-
-Normally you don't need this option. All sorts of GET, HEAD, POST and PUT
-requests are rather invoked by using dedicated command line options.
-
-This option only changes the actual word used in the HTTP request, it does not
-alter the way curl behaves. So for example if you want to make a proper HEAD
-request, using -X HEAD will not suffice. You need to use the \fI-I, --head\fP
-option.
-
-The method string you set with -X will be used for all requests, which if you
-for example use \fB-L, --location\fP may cause unintended side-effects when
-curl doesn't change request method according to the HTTP 30x response codes -
-and similar.
-
-(FTP)
-Specifies a custom FTP command to use instead of LIST when doing file lists
-with FTP.
-
-(POP3)
-Specifies a custom POP3 command to use instead of LIST or RETR. (Added in
-7.26.0)
-
-(IMAP)
-Specifies a custom IMAP command to use instead of LIST. (Added in 7.30.0)
-
-(SMTP)
-Specifies a custom SMTP command to use instead of HELP or VRFY. (Added in 7.34.0)
-
-If this option is used several times, the last one will be used.
.IP "--xattr"
When saving output to a file, this option tells curl to store certain file
metadata in extended file attributes. Currently, the URL is stored in the
xdg.origin.url attribute and, for HTTP, the content type is stored in
the mime_type attribute. If the file system does not support extended
attributes, a warning is issued.
-
-.IP "-y, --speed-time <time>"
-If a download is slower than speed-limit bytes per second during a speed-time
-period, the download gets aborted. If speed-time is used, the default
-speed-limit will be 1 unless set with \fI-Y\fP.
-
-This option controls transfers and thus will not affect slow connects etc. If
-this is a concern for you, try the \fI--connect-timeout\fP option.
-
-If this option is used several times, the last one will be used.
-.IP "-Y, --speed-limit <speed>"
-If a download is slower than this given speed (in bytes per second) for
-speed-time seconds it gets aborted. speed-time is set with \fI-y\fP and is 30
-if not set.
-
-If this option is used several times, the last one will be used.
-.IP "-z, --time-cond <date expression>|<file>"
-(HTTP/FTP) Request a file that has been modified later than the given time and
-date, or one that has been modified before that time. The <date expression>
-can be all sorts of date strings or if it doesn't match any internal ones, it
-is taken as a filename and tries to get the modification date (mtime) from
-<file> instead. See the \fIcurl_getdate(3)\fP man pages for date expression
-details.
-
-Start the date expression with a dash (-) to make it request for a document
-that is older than the given date/time, default is a document that is newer
-than the specified date/time.
-
-If this option is used several times, the last one will be used.
-.IP "-h, --help"
-Usage help. This lists all current command line options with a short
-description.
-.IP "-M, --manual"
-Manual. Display the huge help text.
-.IP "-V, --version"
-Displays information about curl and the libcurl version it uses.
-
-The first line includes the full version of curl, libcurl and other 3rd party
-libraries linked with the executable.
-
-The second line (starts with "Protocols:") shows all protocols that libcurl
-reports to support.
-
-The third line (starts with "Features:") shows specific features libcurl
-reports to offer. Available features include:
-.RS
-.IP "IPv6"
-You can use IPv6 with this.
-.IP "krb4"
-Krb4 for FTP is supported.
-.IP "SSL"
-SSL versions of various protocols are supported, such as HTTPS, FTPS, POP3S
-and so on.
-.IP "libz"
-Automatic decompression of compressed files over HTTP is supported.
-.IP "NTLM"
-NTLM authentication is supported.
-.IP "Debug"
-This curl uses a libcurl built with Debug. This enables more error-tracking
-and memory debugging etc. For curl-developers only!
-.IP "AsynchDNS"
-This curl uses asynchronous name resolves. Asynchronous name resolves can be
-done using either the c-ares or the threaded resolver backends.
-.IP "SPNEGO"
-SPNEGO authentication is supported.
-.IP "Largefile"
-This curl supports transfers of large files, files larger than 2GB.
-.IP "IDN"
-This curl supports IDN - international domain names.
-.IP "GSS-API"
-GSS-API is supported.
-.IP "SSPI"
-SSPI is supported.
-.IP "TLS-SRP"
-SRP (Secure Remote Password) authentication is supported for TLS.
-.IP "HTTP2"
-HTTP/2 support has been built-in.
-.IP "Metalink"
-This curl supports Metalink (both version 3 and 4 (RFC 5854)), which
-describes mirrors and hashes. curl will use mirrors for failover if
-there are errors (such as the file or server not being available).
-.RE
.SH FILES
.I ~/.curlrc
.RS
@@ -2202,7 +2485,7 @@ lower case version has precedence. http_proxy is an exception as it is only
available in lower case.
Using an environment variable to set the proxy has the same effect as using
-the \fI--proxy\fP option.
+the \fI-x, --proxy\fP option.
.IP "http_proxy [protocol://]<host>[:port]"
Sets the proxy server to use for HTTP.
@@ -2217,6 +2500,16 @@ Sets the proxy server to use if no protocol-specific proxy is set.
.IP "NO_PROXY <comma-separated list of hosts>"
list of host names that shouldn't go through any proxy. If set to a asterisk
\&'*' only, it matches all hosts.
+
+Since 7.53.0, this environment variable disable the proxy even if specify
+\fI-x, --proxy\fP option. That is
+.B NO_PROXY=direct.example.com curl -x http://proxy.example.com
+.B http://direct.example.com
+accesses the target URL directly, and
+.B NO_PROXY=direct.example.com curl -x http://proxy.example.com
+.B http://somewhere.example.com
+accesses the target URL through proxy.
+
.SH "PROXY PROTOCOL PREFIXES"
Since curl version 7.21.7, the proxy string may be specified with a
protocol:// prefix to specify alternative proxy protocols.
@@ -2254,19 +2547,30 @@ Couldn't resolve host. The given remote host was not resolved.
.IP 7
Failed to connect to host.
.IP 8
-FTP weird server reply. The server sent data curl couldn't parse.
+Weird server reply. The server sent data curl couldn't parse.
.IP 9
FTP access denied. The server denied login or denied access to the particular
resource or directory you wanted to reach. Most often you tried to change to a
directory that doesn't exist on the server.
+.IP 10
+FTP accept failed. While waiting for the server to connect back when an active
+FTP session is used, an error code was sent over the control connection or
+similar.
.IP 11
FTP weird PASS reply. Curl couldn't parse the reply sent to the PASS request.
+.IP 12
+During an active FTP session while waiting for the server to connect back to
+curl, the timeout expired.
.IP 13
FTP weird PASV reply, Curl couldn't parse the reply sent to the PASV request.
.IP 14
FTP weird 227 format. Curl couldn't parse the 227-line the server sent.
.IP 15
FTP can't get host. Couldn't resolve the host IP we got in the 227-line.
+.IP 16
+HTTP/2 error. A problem was detected in the HTTP2 framing layer. This is
+somewhat generic and can be one out of several problems, see the error message
+for details.
.IP 17
FTP couldn't set binary. Couldn't change transfer method to binary.
.IP 18
@@ -2305,7 +2609,7 @@ HTTP post error. Internal post-request generation error.
.IP 35
SSL connect error. The SSL handshaking failed.
.IP 36
-FTP bad download resume. Couldn't continue an earlier aborted download.
+Bad download resume. Couldn't continue an earlier aborted download.
.IP 37
FILE couldn't read file. Failed to open the file. Permissions?
.IP 38
@@ -2412,8 +2716,6 @@ Daniel Stenberg is the main author, but the whole list of contributors is
found in the separate THANKS file.
.SH WWW
https://curl.haxx.se
-.SH FTP
-ftp://ftp.sunet.se/pub/www/utilities/curl/
.SH "SEE ALSO"
.BR ftp (1),
.BR wget (1)
diff --git a/docs/curl.html b/docs/curl.html
deleted file mode 100644
index 1359016e0..000000000
--- a/docs/curl.html
+++ /dev/null
@@ -1,1107 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl - transfer a URL <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">curl [options]</span> <a class="emphasis" href="#URL">[URL...]</a> <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0"><span Class="bold">curl</span> is a tool to transfer data from or to a server, using one of the supported protocols (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP). The command is designed to work without user interaction.
-<p class="level0">curl offers a busload of useful tricks like proxy support, user authentication, FTP upload, HTTP post, SSL connections, cookies, file transfer resume, Metalink, and more. As you will see below, the number of features will make your head spin!
-<p class="level0">curl is powered by libcurl for all transfer-related features. See <span Class="emphasis">libcurl(3)</span> for details. <a name="URL"></a><h2 class="nroffsh">URL</h2>
-<p class="level0">The URL syntax is protocol-dependent. You'll find a detailed description in <a href="http://www.ietf.org/rfc/rfc3986.txt">RFC 3986</a>.
-<p class="level0">You can specify multiple URLs or parts of URLs by writing part sets within braces as in:
-<p class="level0">&nbsp; <a href="http://site.">http://site.</a>{one,two,three}.com
-<p class="level0">or you can get sequences of alphanumeric series by using [] as in:
-<p class="level0">&nbsp; <a href="ftp://ftp.example.com/file[1-100].txt">ftp://ftp.example.com/file[1-100].txt</a>
-<p class="level0">&nbsp; <a href="ftp://ftp.example.com/file[001-100].txt">ftp://ftp.example.com/file[001-100].txt</a> (with leading zeros)
-<p class="level0">&nbsp; <a href="ftp://ftp.example.com/file[a-z].txt">ftp://ftp.example.com/file[a-z].txt</a>
-<p class="level0">Nested sequences are not supported, but you can use several ones next to each other:
-<p class="level0">&nbsp; <a href="http://example.com/archive[1996-1999]/vol[1-4]/part">http://example.com/archive[1996-1999]/vol[1-4]/part</a>{a,b,c}.html
-<p class="level0">You can specify any amount of URLs on the command line. They will be fetched in a sequential manner in the specified order.
-<p class="level0">You can specify a step counter for the ranges to get every Nth number or letter:
-<p class="level0">&nbsp; <a href="http://example.com/file[1-100:10].txt">http://example.com/file[1-100:10].txt</a>
-<p class="level0">&nbsp; <a href="http://example.com/file[a-z:2].txt">http://example.com/file[a-z:2].txt</a>
-<p class="level0">When using [] or {} sequences when invoked from a command line prompt, you probably have to put the full URL within double quotes to avoid the shell from interfering with it. This also goes for other characters treated special, like for example '&', '?' and '*'.
-<p class="level0">Provide the IPv6 zone index in the URL with an escaped percentage sign and the interface name. Like in
-<p class="level0">&nbsp; <a href="http://[fe80::3%25eth0]/">http://[fe80::3%25eth0]/</a>
-<p class="level0">If you specify URL without protocol:// prefix, curl will attempt to guess what protocol you might want. It will then default to HTTP but try other protocols based on often-used host name prefixes. For example, for host names starting with "ftp." curl will assume you want to speak FTP.
-<p class="level0">curl will do its best to use what you pass to it as a URL. It is not trying to validate it as a syntactically correct URL by any means but is instead <span Class="bold">very</span> liberal with what it accepts.
-<p class="level0">curl will attempt to re-use connections for multiple file transfers, so that getting many files from the same server will not do multiple connects / handshakes. This improves speed. Of course this is only done on files specified on a single command line and cannot be used between separate curl invokes. <a name="PROGRESS"></a><h2 class="nroffsh">PROGRESS METER</h2>
-<p class="level0">curl normally displays a progress meter during operations, indicating the amount of transferred data, transfer speeds and estimated time left, etc. The progress meter displays number of bytes and the speeds are in bytes per second. The suffixes (k, M, G, T, P) are 1024 based. For example 1k is 1024 bytes. 1M is 1048576 bytes.
-<p class="level0">curl displays this data to the terminal by default, so if you invoke curl to do an operation and it is about to write data to the terminal, it <span Class="emphasis">disables</span> the progress meter as otherwise it would mess up the output mixing progress meter and response data.
-<p class="level0">If you want a progress meter for HTTP POST or PUT requests, you need to redirect the response output to a file, using shell redirect (&gt;), -o [file] or similar.
-<p class="level0">It is not the same case for FTP upload as that operation does not spit out any response data to the terminal.
-<p class="level0">If you prefer a progress "bar" instead of the regular meter, <span Class="emphasis">-&#35;</span> is your friend. <a name="OPTIONS"></a><h2 class="nroffsh">OPTIONS</h2>
-<p class="level0">Options start with one or two dashes. Many of the options require an additional value next to them.
-<p class="level0">The short "single-dash" form of the options, -d for example, may be used with or without a space between it and its value, although a space is a recommended separator. The long "double-dash" form, --data for example, requires a space between it and its value.
-<p class="level0">Short version options that don't need any additional values can be used immediately next to each other, like for example you can specify all the options -O, -L and -v at once as -OLv.
-<p class="level0">In general, all boolean options are enabled with --<span Class="bold">option</span> and yet again disabled with --<span Class="bold">no-</span>option. That is, you use the exact same option name but prefix it with "no-". However, in this list we mostly only list and show the --option version of them. (This concept with --no options was added in 7.19.0. Previously most options were toggled on/off on repeated use of the same command line option.)
-<p class="level0"><a name="-"></a><span class="nroffip">-#, --progress-bar</span>
-<p class="level1">Make curl display progress as a simple progress bar instead of the standard, more informational, meter.
-<p class="level0"><a name="-"></a><span class="nroffip">-:, --next</span>
-<p class="level1">Tells curl to use a separate operation for the following URL and associated options. This allows you to send several URL requests, each with their own specific options, for example, such as different user names or custom requests for each. (Added in 7.36.0)
-<p class="level0"><a name="-0"></a><span class="nroffip">-0, --http1.0</span>
-<p class="level1">(HTTP) Tells curl to use HTTP version 1.0 instead of using its internally preferred: HTTP 1.1.
-<p class="level0"><a name="--http11"></a><span class="nroffip">--http1.1</span>
-<p class="level1">(HTTP) Tells curl to use HTTP version 1.1. This is the internal default version. (Added in 7.33.0)
-<p class="level0"><a name="--http2"></a><span class="nroffip">--http2</span>
-<p class="level1">(HTTP) Tells curl to issue its requests using HTTP 2. This requires that the underlying libcurl was built to support it. (Added in 7.33.0)
-<p class="level0"><a name="--http2-prior-knowledge"></a><span class="nroffip">--http2-prior-knowledge</span>
-<p class="level1">(HTTP) Tells curl to issue its 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.
-<p class="level1">HTTP/2 support in general also requires that the underlying libcurl was built to support it. (Added in 7.49.0)
-<p class="level0"><a name="--no-npn"></a><span class="nroffip">--no-npn</span>
-<p class="level1">Disable the NPN TLS extension. NPN is enabled by default if libcurl was built with an SSL library that supports NPN. NPN is used by a libcurl that supports HTTP 2 to negotiate HTTP 2 support with the server during https sessions.
-<p class="level1">(Added in 7.36.0)
-<p class="level0"><a name="--no-alpn"></a><span class="nroffip">--no-alpn</span>
-<p class="level1">Disable the ALPN TLS extension. ALPN is enabled by default if libcurl was built with an SSL library that supports ALPN. ALPN is used by a libcurl that supports HTTP 2 to negotiate HTTP 2 support with the server during https sessions.
-<p class="level1">(Added in 7.36.0)
-<p class="level0"><a name="-1"></a><span class="nroffip">-1, --tlsv1</span>
-<p class="level1">(SSL) Forces curl to use TLS version 1.x when negotiating with a remote TLS server. You can use options <a class="emphasis" href="#--tlsv10">--tlsv1.0</a>, <a class="emphasis" href="#--tlsv11">--tlsv1.1</a>, and <a class="emphasis" href="#--tlsv12">--tlsv1.2</a> to control the TLS version more precisely (if the SSL backend in use supports such a level of control).
-<p class="level0"><a name="-2"></a><span class="nroffip">-2, --sslv2</span>
-<p class="level1">(SSL) Forces curl to use SSL version 2 when negotiating with a remote SSL server. Sometimes curl is built without SSLv2 support. SSLv2 is widely considered insecure (see <a href="http://www.ietf.org/rfc/rfc6176.txt">RFC 6176</a>).
-<p class="level0"><a name="-3"></a><span class="nroffip">-3, --sslv3</span>
-<p class="level1">(SSL) Forces curl to use SSL version 3 when negotiating with a remote SSL server. Sometimes curl is built without SSLv3 support. SSLv3 is widely considered insecure (see <a href="http://www.ietf.org/rfc/rfc7568.txt">RFC 7568</a>).
-<p class="level0"><a name="-4"></a><span class="nroffip">-4, --ipv4</span>
-<p class="level1">This option tells curl to resolve names to IPv4 addresses only, and not for example try IPv6.
-<p class="level0"><a name="-6"></a><span class="nroffip">-6, --ipv6</span>
-<p class="level1">This option tells curl to resolve names to IPv6 addresses only, and not for example try IPv4.
-<p class="level0"><a name="-a"></a><span class="nroffip">-a, --append</span>
-<p class="level1">(FTP/SFTP) When used in an upload, this makes curl append to the target file instead of overwriting it. If the remote file doesn't exist, it will be created. Note that this flag is ignored by some SFTP servers (including OpenSSH).
-<p class="level0"><a name="-A"></a><span class="nroffip">-A, --user-agent &lt;agent string&gt;</span>
-<p class="level1">(HTTP) Specify the User-Agent string to send to the HTTP server. Some badly done CGIs fail if this field isn't set to "Mozilla/4.0". To encode blanks in the string, surround the string with single quote marks. This can also be set with the <a class="emphasis" href="#-H">-H, --header</a> option of course.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--anyauth"></a><span class="nroffip">--anyauth</span>
-<p class="level1">(HTTP) Tells curl to figure out authentication method by itself, and use the most secure one the remote site claims to support. This is done by first doing a request and checking the response-headers, thus possibly inducing an extra network round-trip. This is used instead of setting a specific authentication method, which you can do with <a class="emphasis" href="#--basic">--basic</a>, <a class="emphasis" href="#--digest">--digest</a>, <a class="emphasis" href="#--ntlm">--ntlm</a>, and <a class="emphasis" href="#--negotiate">--negotiate</a>.
-<p class="level1">Note that using --anyauth is not recommended if you do uploads from stdin, since it may require data to be sent twice and then the client must be able to rewind. If the need should arise when uploading from stdin, the upload operation will fail.
-<p class="level0"><a name="-b"></a><span class="nroffip">-b, --cookie &lt;name=data&gt;</span>
-<p class="level1">(HTTP) Pass the data to the HTTP server as a cookie. It is supposedly the data previously received from the server in a "Set-Cookie:" line. The data should be in the format "NAME1=VALUE1; NAME2=VALUE2".
-<p class="level1">If no '=' symbol is used in the line, it is treated as a filename to use to read previously stored cookie lines from, which should be used in this session if they match. Using this method also activates the cookie engine which will make curl record incoming cookies too, which may be handy if you're using this in combination with the <a class="emphasis" href="#-L">-L, --location</a> option. The file format of the file to read cookies from should be plain HTTP headers (Set-Cookie style) or the Netscape/Mozilla cookie file format.
-<p class="level1">The file specified with <a class="emphasis" href="#-b">-b, --cookie</a> is only used as input. No cookies will be written to the file. To store cookies, use the <a class="emphasis" href="#-c">-c, --cookie-jar</a> option.
-<p class="level1">Exercise caution if you are using this option and multiple transfers may occur. If you use the NAME1=VALUE1; format, or in a file use the Set-Cookie format and don't specify a domain, then the cookie is sent for any domain (even after redirects are followed) and cannot be modified by a server-set cookie. If the cookie engine is enabled and a server sets a cookie of the same name then both will be sent on a future transfer to that server, likely not what you intended. To address these issues set a domain in Set-Cookie (doing that will include sub-domains) or use the Netscape format.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="-B"></a><span class="nroffip">-B, --use-ascii</span>
-<p class="level1">(FTP/LDAP) Enable ASCII transfer. For FTP, this can also be enforced by using an URL that ends with ";type=A". This option causes data sent to stdout to be in text mode for win32 systems.
-<p class="level0"><a name="--basic"></a><span class="nroffip">--basic</span>
-<p class="level1">(HTTP) Tells curl to use HTTP Basic authentication with the remote host. This is the default and this option is usually pointless, unless you use it to override a previously set option that sets a different authentication method (such as <a class="emphasis" href="#--ntlm">--ntlm</a>, <a class="emphasis" href="#--digest">--digest</a>, or <a class="emphasis" href="#--negotiate">--negotiate</a>).
-<p class="level1">Used together with <a class="emphasis" href="#-u">-u, --user</a> and <a class="emphasis" href="#-x">-x, --proxy</a>.
-<p class="level1">See also <a class="emphasis" href="#--proxy-basic">--proxy-basic</a>.
-<p class="level0"><a name="-c"></a><span class="nroffip">-c, --cookie-jar &lt;file name&gt;</span>
-<p class="level1">(HTTP) Specify to which file you want curl to write all cookies after a completed operation. Curl writes all cookies previously read from a specified file as well as all cookies received from remote server(s). If no cookies are known, no data will be written. The file will be written using the Netscape cookie file format. If you set the file name to a single dash, "-", the cookies will be written to stdout.
-<p class="level1">This command line option will activate the cookie engine that makes curl record and use cookies. Another way to activate it is to use the <span class="emphasis">-b, --cookie</span> option.
-<p class="level1">If the cookie jar can't be created or written to, the whole curl operation won't fail or even report an error clearly. Using -v will get a warning displayed, but that is the only visible feedback you get about this possibly lethal situation.
-<p class="level1">Since 7.43.0 cookies that were imported in the Set-Cookie format without a domain name are not exported by this option.
-<p class="level1">If this option is used several times, the last specified file name will be used.
-<p class="level0"><a name="-C"></a><span class="nroffip">-C, --continue-at &lt;offset&gt;</span>
-<p class="level1">Continue/Resume a previous file transfer at the given offset. The given offset is the exact number of bytes that will be skipped, counting from the beginning of the source file before it is transferred to the destination. If used with uploads, the FTP server command SIZE will not be used by curl.
-<p class="level1">Use "-C -" to tell curl to automatically find out where/how to resume the transfer. It then uses the given output/input files to figure that out.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--ciphers"></a><span class="nroffip">--ciphers &lt;list of ciphers&gt;</span>
-<p class="level1">(SSL) Specifies which ciphers to use in the connection. The list of ciphers must specify valid ciphers. Read up on SSL cipher list details on this URL: <span Class="emphasis">https://www.openssl.org/docs/apps/ciphers.html</span>
-<p class="level1">NSS ciphers are done differently than OpenSSL and GnuTLS. The full list of NSS ciphers is in the NSSCipherSuite entry at this URL: <span Class="emphasis">https://git.fedorahosted.org/cgit/mod_nss.git/plain/docs/mod_nss.html&#35;Directives</span>
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--compressed"></a><span class="nroffip">--compressed</span>
-<p class="level1">(HTTP) Request a compressed response using one of the algorithms curl supports, and save the uncompressed document. If this option is used and the server sends an unsupported encoding, curl will report an error.
-<p class="level0"><a name="--connect-timeout"></a><span class="nroffip">--connect-timeout &lt;seconds&gt;</span>
-<p class="level1">Maximum time in seconds that you allow curl's connection to take. This only limits the connection phase, so if curl connects within the given period it will continue - if not it will exit. Since version 7.32.0, this option accepts decimal values.
-<p class="level1">See also the <a class="emphasis" href="#-m">-m, --max-time</a> option.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--create-dirs"></a><span class="nroffip">--create-dirs</span>
-<p class="level1">When used in conjunction with the <a class="emphasis" href="#-o">-o</a> option, curl will create the necessary local directory hierarchy as needed. This option creates the dirs mentioned with the <a class="emphasis" href="#-o">-o</a> option, nothing else. If the <a class="emphasis" href="#-o">-o</a> file name uses no dir or if the dirs it mentions already exist, no dir will be created.
-<p class="level1">To create remote directories when using FTP or SFTP, try <a class="emphasis" href="#--ftp-create-dirs">--ftp-create-dirs</a>.
-<p class="level0"><a name="--crlf"></a><span class="nroffip">--crlf</span>
-<p class="level1">Convert LF to CRLF in upload. Useful for MVS (OS/390).
-<p class="level1">(SMTP added in 7.40.0)
-<p class="level0"><a name="--crlfile"></a><span class="nroffip">--crlfile &lt;file&gt;</span>
-<p class="level1">(HTTPS/FTPS) Provide a file using PEM format with a Certificate Revocation List that may specify peer certificates that are to be considered revoked.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level1">(Added in 7.19.7)
-<p class="level0"><a name="-d"></a><span class="nroffip">-d, --data &lt;data&gt;</span>
-<p class="level1">(HTTP) Sends the specified data in a POST request to the HTTP server, in the same way that a browser does when a user has filled in an HTML form and presses the submit button. This will cause curl to pass the data to the server using the content-type application/x-www-form-urlencoded. Compare to <a class="emphasis" href="#-F">-F, --form</a>.
-<p class="level1"><a class="emphasis" href="#-d">-d, --data</a> is the same as <a class="emphasis" href="#--data-ascii">--data-ascii</a>. <a class="emphasis" href="#--data-raw">--data-raw</a> is almost the same but does not have a special interpretation of the @ character. To post data purely binary, you should instead use the <a class="emphasis" href="#--data-binary">--data-binary</a> option. To URL-encode the value of a form field you may use <a class="emphasis" href="#--data-urlencode">--data-urlencode</a>.
-<p class="level1">If any of these options is used more than once on the same command line, the data pieces specified will be merged together with a separating &-symbol. Thus, using '-d name=daniel -d skill=lousy' would generate a post chunk that looks like 'name=daniel&skill=lousy'.
-<p class="level1">If you start the data with the letter @, the rest should be a file name to read the data from, or - if you want curl to read the data from stdin. Multiple files can also be specified. Posting data from a file named 'foobar' would thus be done with <span Class="emphasis">--data</span> @foobar. When --data is told to read from a file like that, carriage returns and newlines will be stripped out. If you don't want the @ character to have a special interpretation use <a class="emphasis" href="#--data-raw">--data-raw</a> instead.
-<p class="level0"><a name="-D"></a><span class="nroffip">-D, --dump-header &lt;file&gt;</span>
-<p class="level1">Write the protocol headers to the specified file.
-<p class="level1">This option is handy to use when you want to store the headers that an HTTP site sends to you. Cookies from the headers could then be read in a second curl invocation by using the <a class="emphasis" href="#-b">-b, --cookie</a> option! The <a class="emphasis" href="#-c">-c, --cookie-jar</a> option is a better way to store cookies.
-<p class="level1">When used in FTP, the FTP server response lines are considered being "headers" and thus are saved there.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--data-ascii"></a><span class="nroffip">--data-ascii &lt;data&gt;</span>
-<p class="level1">See <a class="emphasis" href="#-d">-d, --data</a>.
-<p class="level0"><a name="--data-binary"></a><span class="nroffip">--data-binary &lt;data&gt;</span>
-<p class="level1">(HTTP) This posts data exactly as specified with no extra processing whatsoever.
-<p class="level1">If you start the data with the letter @, the rest should be a filename. Data is posted in a similar manner as <a class="emphasis" href="#--data-ascii">--data-ascii</a> does, except that newlines and carriage returns are preserved and conversions are never done.
-<p class="level1">If this option is used several times, the ones following the first will append data as described in <a class="emphasis" href="#-d">-d, --data</a>.
-<p class="level0"><a name="--data-raw"></a><span class="nroffip">--data-raw &lt;data&gt;</span>
-<p class="level1">(HTTP) This posts data similarly to <span Class="emphasis">--data</span> but without the special interpretation of the @ character. See <a class="emphasis" href="#-d">-d, --data</a>. (Added in 7.43.0)
-<p class="level0"><a name="--data-urlencode"></a><span class="nroffip">--data-urlencode &lt;data&gt;</span>
-<p class="level1">(HTTP) This posts data, similar to the other --data options with the exception that this performs URL-encoding. (Added in 7.18.0)
-<p class="level1">To be CGI-compliant, the &lt;data&gt; part should begin with a <span Class="emphasis">name</span> followed by a separator and a content specification. The &lt;data&gt; part can be passed to curl using one of the following syntaxes:
-<p class="level2">
-<p class="level1"><a name="content"></a><span class="nroffip">content</span>
-<p class="level2">This will make curl URL-encode the content and pass that on. Just be careful so that the content doesn't contain any = or @ symbols, as that will then make the syntax match one of the other cases below!
-<p class="level1"><a name="content"></a><span class="nroffip">=content</span>
-<p class="level2">This will make curl URL-encode the content and pass that on. The preceding = symbol is not included in the data.
-<p class="level1"><a name="namecontent"></a><span class="nroffip">name=content</span>
-<p class="level2">This will make curl URL-encode the content part and pass that on. Note that the name part is expected to be URL-encoded already.
-<p class="level1"><a name="filename"></a><span class="nroffip">@filename</span>
-<p class="level2">This will make curl load data from the given file (including any newlines), URL-encode that data and pass it on in the POST.
-<p class="level1"><a name="namefilename"></a><span class="nroffip">name@filename</span>
-<p class="level2">This will make curl load data from the given file (including any newlines), URL-encode that data and pass it on in the POST. The name part gets an equal sign appended, resulting in <span Class="emphasis">name=urlencoded-file-content</span>. Note that the name is expected to be URL-encoded already.
-<p class="level1">
-<p class="level0"><a name="--delegation"></a><span class="nroffip">--delegation LEVEL</span>
-<p class="level1">Set <span Class="emphasis">LEVEL</span> to tell the server what it is allowed to delegate when it comes to user credentials. Used with GSS/kerberos.
-<p class="level2">
-<p class="level1"><a name="none"></a><span class="nroffip">none</span>
-<p class="level2">Don't allow any delegation.
-<p class="level1"><a name="policy"></a><span class="nroffip">policy</span>
-<p class="level2">Delegates if and only if the OK-AS-DELEGATE flag is set in the Kerberos service ticket, which is a matter of realm policy.
-<p class="level1"><a name="always"></a><span class="nroffip">always</span>
-<p class="level2">Unconditionally allow the server to delegate.
-<p class="level1">
-<p class="level0"><a name="--digest"></a><span class="nroffip">--digest</span>
-<p class="level1">(HTTP) Enables HTTP Digest authentication. This is an authentication scheme that prevents the password from being sent over the wire in clear text. Use this in combination with the normal <a class="emphasis" href="#-u">-u, --user</a> option to set user name and password. See also <a class="emphasis" href="#--ntlm">--ntlm</a>, <a class="emphasis" href="#--negotiate">--negotiate</a> and <a class="emphasis" href="#--anyauth">--anyauth</a> for related options.
-<p class="level1">If this option is used several times, only the first one is used.
-<p class="level0"><a name="--disable-eprt"></a><span class="nroffip">--disable-eprt</span>
-<p class="level1">(FTP) Tell curl to disable the use of the EPRT and LPRT commands when doing active FTP transfers. Curl will normally always first attempt to use EPRT, then LPRT before using PORT, but with this option, it will use PORT right away. EPRT and LPRT are extensions to the original FTP protocol, and may not work on all servers, but they enable more functionality in a better way than the traditional PORT command.
-<p class="level1"><span Class="bold">--eprt</span> can be used to explicitly enable EPRT again and <span Class="bold">--no-eprt</span> is an alias for <a class="bold" href="#--disable-eprt">--disable-eprt</a>.
-<p class="level1">If the server is an IPv6 host, this option will have no effect as EPRT is necessary then.
-<p class="level1">Disabling EPRT only changes the active behavior. If you want to switch to passive mode you need to not use <a class="emphasis" href="#-P">-P, --ftp-port</a> or force it with <a class="emphasis" href="#--ftp-pasv">--ftp-pasv</a>.
-<p class="level0"><a name="--disable-epsv"></a><span class="nroffip">--disable-epsv</span>
-<p class="level1">(FTP) Tell curl to disable the use of the EPSV command when doing passive FTP transfers. Curl will normally always first attempt to use EPSV before PASV, but with this option, it will not try using EPSV.
-<p class="level1"><span Class="bold">--epsv</span> can be used to explicitly enable EPSV again and <span Class="bold">--no-epsv</span> is an alias for <a class="bold" href="#--disable-epsv">--disable-epsv</a>.
-<p class="level1">If the server is an IPv6 host, this option will have no effect as EPSV is necessary then.
-<p class="level1">Disabling EPSV only changes the passive behavior. If you want to switch to active mode you need to use <a class="emphasis" href="#-P">-P, --ftp-port</a>.
-<p class="level0"><a name="--dns-interface"></a><span class="nroffip">--dns-interface &lt;interface&gt;</span>
-<p class="level1">Tell curl to send outgoing DNS requests through &lt;interface&gt;. This option is a counterpart to <a class="emphasis" href="#--interface">--interface</a> (which does not affect DNS). The supplied string must be an interface name (not an address).
-<p class="level1">This option requires that libcurl was built with a resolver backend that supports this operation. The c-ares backend is the only such one. (Added in 7.33.0)
-<p class="level0"><a name="--dns-ipv4-addr"></a><span class="nroffip">--dns-ipv4-addr &lt;ip-address&gt;</span>
-<p class="level1">Tell curl to bind to &lt;ip-address&gt; when making IPv4 DNS requests, so that the DNS requests originate from this address. The argument should be a single IPv4 address.
-<p class="level1">This option requires that libcurl was built with a resolver backend that supports this operation. The c-ares backend is the only such one. (Added in 7.33.0)
-<p class="level0"><a name="--dns-ipv6-addr"></a><span class="nroffip">--dns-ipv6-addr &lt;ip-address&gt;</span>
-<p class="level1">Tell curl to bind to &lt;ip-address&gt; when making IPv6 DNS requests, so that the DNS requests originate from this address. The argument should be a single IPv6 address.
-<p class="level1">This option requires that libcurl was built with a resolver backend that supports this operation. The c-ares backend is the only such one. (Added in 7.33.0)
-<p class="level0"><a name="--dns-servers"></a><span class="nroffip">--dns-servers &lt;ip-address,ip-address&gt;</span>
-<p class="level1">Set the list of DNS servers to be used instead of the system default. The list of IP addresses should be separated with commas. Port numbers may also optionally be given as <span Class="emphasis">:&lt;port-number&gt;</span> after each IP address.
-<p class="level1">This option requires that libcurl was built with a resolver backend that supports this operation. The c-ares backend is the only such one. (Added in 7.33.0)
-<p class="level0"><a name="-e"></a><span class="nroffip">-e, --referer &lt;URL&gt;</span>
-<p class="level1">(HTTP) Sends the "Referrer Page" information to the HTTP server. This can also be set with the <a class="emphasis" href="#-H">-H, --header</a> flag of course. When used with <a class="emphasis" href="#-L">-L, --location</a> you can append ";auto" to the --referer URL to make curl automatically set the previous URL when it follows a Location: header. The ";auto" string can be used alone, even if you don't set an initial --referer.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="-E"></a><span class="nroffip">-E, --cert &lt;certificate[:password]&gt;</span>
-<p class="level1">(SSL) Tells curl to use the specified client certificate file when getting a file with HTTPS, FTPS or another SSL-based protocol. The certificate must be in PKCS&#35;12 format if using Secure Transport, or PEM format if using any other engine. If the optional password isn't specified, it will be queried for on the terminal. Note that this option assumes a "certificate" file that is the private key and the client certificate concatenated! See <span Class="emphasis">--cert</span> and <a class="emphasis" href="#--key">--key</a> to specify them independently.
-<p class="level1">If curl is built against the NSS SSL library then this option can tell curl the nickname of the certificate to use within the NSS database defined by the environment variable SSL_DIR (or by default /etc/pki/nssdb). If the NSS PEM PKCS&#35;11 module (libnsspem.so) is available then PEM files may be loaded. If you want to use a file from the current directory, please precede it with "./" prefix, in order to avoid confusion with a nickname. If the nickname contains ":", it needs to be preceded by "\" so that it is not recognized as password delimiter. If the nickname contains "\", it needs to be escaped as "\\" so that it is not recognized as an escape character.
-<p class="level1">(iOS and macOS only) If curl is built against Secure Transport, then the certificate string can either be the name of a certificate/private key in the system or user keychain, or the path to a PKCS&#35;12-encoded certificate and private key. If you want to use a file from the current directory, please precede it with "./" prefix, in order to avoid confusion with a nickname.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--engine"></a><span class="nroffip">--engine &lt;name&gt;</span>
-<p class="level1">Select the OpenSSL crypto engine to use for cipher operations. Use <a class="emphasis" href="#--engine">--engine list</a> to print a list of build-time supported engines. Note that not all (or none) of the engines may be available at run-time.
-<p class="level0"><a name="--environment"></a><span class="nroffip">--environment</span>
-<p class="level1">(RISC OS ONLY) Sets a range of environment variables, using the names the <a class="emphasis" href="#-w">-w</a> option supports, to allow easier extraction of useful information after having run curl.
-<p class="level0"><a name="--egd-file"></a><span class="nroffip">--egd-file &lt;file&gt;</span>
-<p class="level1">(SSL) Specify the path name to the Entropy Gathering Daemon socket. The socket is used to seed the random engine for SSL connections. See also the <a class="emphasis" href="#--random-file">--random-file</a> option.
-<p class="level0"><a name="--expect100-timeout"></a><span class="nroffip">--expect100-timeout &lt;seconds&gt;</span>
-<p class="level1">(HTTP) Maximum time in seconds that you allow curl to wait for a 100-continue response when curl emits an Expects: 100-continue header in its request. By default curl will wait one second. This option accepts decimal values! When curl stops waiting, it will continue as if the response has been received.
-<p class="level1">(Added in 7.47.0)
-<p class="level0"><a name="--cert-type"></a><span class="nroffip">--cert-type &lt;type&gt;</span>
-<p class="level1">(SSL) Tells curl what certificate type the provided certificate is in. PEM, DER and ENG are recognized types. If not specified, PEM is assumed.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--cacert"></a><span class="nroffip">--cacert &lt;CA certificate&gt;</span>
-<p class="level1">(SSL) Tells curl to use the specified certificate file to verify the peer. The file may contain multiple CA certificates. The certificate(s) must be in PEM format. Normally curl is built to use a default file for this, so this option is typically used to alter that default file.
-<p class="level1">curl recognizes the environment variable named 'CURL_CA_BUNDLE' if it is set, and uses the given path as a path to a CA cert bundle. This option overrides that variable.
-<p class="level1">The windows version of curl will automatically look for a CA certs file named &acute;curl-ca-bundle.crt&acute;, either in the same directory as curl.exe, or in the Current Working Directory, or in any folder along your PATH.
-<p class="level1">If curl is built against the NSS SSL library, the NSS PEM PKCS&#35;11 module (libnsspem.so) needs to be available for this option to work properly.
-<p class="level1">(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.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--capath"></a><span class="nroffip">--capath &lt;CA certificate directory&gt;</span>
-<p class="level1">(SSL) Tells curl to use the specified certificate directory to verify the peer. Multiple paths can be provided by separating them with ":" (e.g. "path1:path2:path3"). The certificates must be in PEM format, and if curl is built against OpenSSL, the directory must have been processed using the c_rehash utility supplied with OpenSSL. Using <a class="emphasis" href="#--capath">--capath</a> can allow OpenSSL-powered curl to make SSL-connections much more efficiently than using <a class="emphasis" href="#--cacert">--cacert</a> if the <a class="emphasis" href="#--cacert">--cacert</a> file contains many CA certificates.
-<p class="level1">If this option is set, the default capath value will be ignored, and if it is used several times, the last one will be used.
-<p class="level0"><a name="--pinnedpubkey"></a><span class="nroffip">--pinnedpubkey &lt;pinned public key (hashes)&gt;</span>
-<p class="level1">(SSL) Tells curl to use the specified public key file (or hashes) to verify the peer. This can be a path to a file which contains a single public key in PEM or DER format, or any number of base64 encoded sha256 hashes preceded by &acute;sha256//&acute; and separated by &acute;;&acute;
-<p class="level1">When negotiating a TLS or SSL connection, the server 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.
-<p class="level1">PEM/DER support: &nbsp; 7.39.0: OpenSSL, GnuTLS and GSKit &nbsp; 7.43.0: NSS and wolfSSL/CyaSSL &nbsp; 7.47.0: mbedtls &nbsp; 7.49.0: PolarSSL sha256 support: &nbsp; 7.44.0: OpenSSL, GnuTLS, NSS and wolfSSL/CyaSSL. &nbsp; 7.47.0: mbedtls &nbsp; 7.49.0: PolarSSL Other SSL backends not supported.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--cert-status"></a><span class="nroffip">--cert-status</span>
-<p class="level1">(SSL) Tells curl to verify the status of the server certificate by using the Certificate Status Request (aka. OCSP stapling) TLS extension.
-<p class="level1">If this option is enabled and the server sends an invalid (e.g. expired) response, if the response suggests that the server certificate has been revoked, or no response at all is received, the verification fails.
-<p class="level1">This is currently only implemented in the OpenSSL, GnuTLS and NSS backends. (Added in 7.41.0)
-<p class="level0"><a name="--false-start"></a><span class="nroffip">--false-start</span>
-<p class="level1">
-<p class="level1">(SSL) Tells curl to use false start during the TLS handshake. False start is a mode where a TLS client will start sending application data before verifying the server's Finished message, thus saving a round trip when performing a full handshake.
-<p class="level1">This is currently only implemented in the NSS and Secure Transport (on iOS 7.0 or later, or OS X 10.9 or later) backends. (Added in 7.42.0)
-<p class="level0"><a name="-f"></a><span class="nroffip">-f, --fail</span>
-<p class="level1">(HTTP) Fail silently (no output at all) on server errors. This is mostly done to better enable scripts etc to better deal with failed attempts. In normal cases when an HTTP server fails to deliver a document, it returns an HTML document stating so (which often also describes why and more). This flag will prevent curl from outputting that and return error 22.
-<p class="level1">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).
-<p class="level0"><a name="-F"></a><span class="nroffip">-F, --form &lt;name=content&gt;</span>
-<p class="level1">(HTTP) This lets curl emulate a filled-in form in which a user has pressed the submit button. This causes curl to POST data using the Content-Type multipart/form-data according to <a href="http://www.ietf.org/rfc/rfc2388.txt">RFC 2388</a>. This enables uploading of binary files etc. To force the 'content' part to be a file, prefix the file name with an @ sign. To just get the content part from a file, prefix the file name with the symbol &lt;. The difference between @ and &lt; is then that @ makes a file get attached in the post as a file upload, while the &lt; makes a text field and just get the contents for that text field from a file.
-<p class="level1">Example: to send an image to a server, where 'profile' is the name of the form-field to which portrait.jpg will be the input:
-<p class="level1"><span Class="bold">curl</span> -F profile=@portrait.jpg <a href="https://example.com/upload.cgi">https://example.com/upload.cgi</a>
-<p class="level1">To read content from stdin instead of a file, use - as the filename. This goes for both @ and &lt; constructs. Unfortunately it does not support reading the file from a named pipe or similar, as it needs the full size before the transfer starts.
-<p class="level1">You can also tell curl what Content-Type to use by using 'type=', in a manner similar to:
-<p class="level1"><span Class="bold">curl</span> -F "web=@index.html;type=text/html" example.com
-<p class="level1">or
-<p class="level1"><span Class="bold">curl</span> -F "name=daniel;type=text/foo" example.com
-<p class="level1">You can also explicitly change the name field of a file upload part by setting filename=, like this:
-<p class="level1"><span Class="bold">curl</span> -F "file=@localfile;filename=nameinpost" example.com
-<p class="level1">If filename/path contains ',' or ';', it must be quoted by double-quotes like:
-<p class="level1"><span Class="bold">curl</span> -F "file=@\"localfile\";filename=\"nameinpost\"" example.com
-<p class="level1">or
-<p class="level1"><span Class="bold">curl</span> -F 'file=@"localfile";filename="nameinpost"' example.com
-<p class="level1">Note that if a filename/path is quoted by double-quotes, any double-quote or backslash within the filename must be escaped by backslash.
-<p class="level1">See further examples and details in the MANUAL.
-<p class="level1">This option can be used multiple times.
-<p class="level0"><a name="--ftp-account"></a><span class="nroffip">--ftp-account [data]</span>
-<p class="level1">(FTP) When an FTP server asks for "account data" after user name and password has been provided, this data is sent off using the ACCT command. (Added in 7.13.0)
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--ftp-alternative-to-user"></a><span class="nroffip">--ftp-alternative-to-user &lt;command&gt;</span>
-<p class="level1">(FTP) If authenticating with the USER and PASS commands fails, send this command. When connecting to Tumbleweed's Secure Transport server over FTPS using a client certificate, using "SITE AUTH" will tell the server to retrieve the username from the certificate. (Added in 7.15.5)
-<p class="level0"><a name="--ftp-create-dirs"></a><span class="nroffip">--ftp-create-dirs</span>
-<p class="level1">(FTP/SFTP) When an FTP or SFTP URL/operation uses a path that doesn't currently exist on the server, the standard behavior of curl is to fail. Using this option, curl will instead attempt to create missing directories.
-<p class="level0"><a name="--ftp-method"></a><span class="nroffip">--ftp-method [method]</span>
-<p class="level1">(FTP) Control what method curl should use to reach a file on an FTP(S) server. The method argument should be one of the following alternatives:
-<p class="level2">
-<p class="level1"><a name="multicwd"></a><span class="nroffip">multicwd</span>
-<p class="level2">curl does a single CWD operation for each path part in the given URL. For deep hierarchies this means very many commands. This is how <a href="http://www.ietf.org/rfc/rfc1738.txt">RFC 1738</a> says it should be done. This is the default but the slowest behavior.
-<p class="level1"><a name="nocwd"></a><span class="nroffip">nocwd</span>
-<p class="level2">curl does no CWD at all. curl will do SIZE, RETR, STOR etc and give a full path to the server for all these commands. This is the fastest behavior.
-<p class="level1"><a name="singlecwd"></a><span class="nroffip">singlecwd</span>
-<p class="level2">curl does one CWD with the full target directory and then operates on the file "normally" (like in the multicwd case). This is somewhat more standards compliant than 'nocwd' but without the full penalty of 'multicwd'.
-<p class="level1">
-<p class="level0"><a name=""></a><span class="nroffip"></span>
-<p class="level1">(Added in 7.15.1)
-<p class="level0"><a name="--ftp-pasv"></a><span class="nroffip">--ftp-pasv</span>
-<p class="level1">(FTP) Use passive mode for the data connection. Passive is the internal default behavior, but using this option can be used to override a previous <span Class="emphasis">-P/-ftp-port</span> option. (Added in 7.11.0)
-<p class="level1">If this option is used several times, only the first one is used. Undoing an enforced passive really isn't doable but you must then instead enforce the correct <a class="emphasis" href="#-P">-P, --ftp-port</a> again.
-<p class="level1">Passive mode means that curl will try the EPSV command first and then PASV, unless <a class="emphasis" href="#--disable-epsv">--disable-epsv</a> is used.
-<p class="level0"><a name="--ftp-skip-pasv-ip"></a><span class="nroffip">--ftp-skip-pasv-ip</span>
-<p class="level1">(FTP) Tell curl to not use the IP address the server suggests in its response to curl's PASV command when curl connects the data connection. Instead curl will re-use the same IP address it already uses for the control connection. (Added in 7.14.2)
-<p class="level1">This option has no effect if PORT, EPRT or EPSV is used instead of PASV.
-<p class="level0"><a name="--ftp-pret"></a><span class="nroffip">--ftp-pret</span>
-<p class="level1">(FTP) Tell curl to send a PRET command before PASV (and EPSV). Certain FTP servers, mainly drftpd, require this non-standard command for directory listings as well as up and downloads in PASV mode. (Added in 7.20.x)
-<p class="level0"><a name="--ftp-ssl-ccc"></a><span class="nroffip">--ftp-ssl-ccc</span>
-<p class="level1">(FTP) Use CCC (Clear Command Channel) Shuts down the SSL/TLS layer after authenticating. The rest of the control channel communication will be unencrypted. This allows NAT routers to follow the FTP transaction. The default mode is passive. See <a class="emphasis" href="#--ftp-ssl-ccc-mode">--ftp-ssl-ccc-mode</a> for other modes. (Added in 7.16.1)
-<p class="level0"><a name="--ftp-ssl-ccc-mode"></a><span class="nroffip">--ftp-ssl-ccc-mode [active/passive]</span>
-<p class="level1">(FTP) Use CCC (Clear Command Channel) Sets the CCC mode. The passive mode will not initiate the shutdown, but instead wait for the server to do it, and will not reply to the shutdown from the server. The active mode initiates the shutdown and waits for a reply from the server. (Added in 7.16.2)
-<p class="level0"><a name="--ftp-ssl-control"></a><span class="nroffip">--ftp-ssl-control</span>
-<p class="level1">(FTP) Require SSL/TLS for the FTP login, clear for transfer. Allows secure authentication, but non-encrypted data transfers for efficiency. Fails the transfer if the server doesn't support SSL/TLS. (Added in 7.16.0) that can still be used but will be removed in a future version.
-<p class="level0"><a name="--ftp-ssl"></a><span class="nroffip">--ftp-ssl</span>
-<p class="level1">(FTP) This deprecated option is now known as <a class="emphasis" href="#--ssl">--ssl</a>.
-<p class="level0"><a name="--ftp-ssl-reqd"></a><span class="nroffip">--ftp-ssl-reqd</span>
-<p class="level1">(FTP) This deprecated option is now known as <a class="emphasis" href="#--ssl-reqd">--ssl-reqd</a>.
-<p class="level0"><a name="--form-string"></a><span class="nroffip">--form-string &lt;name=string&gt;</span>
-<p class="level1">(HTTP) Similar to <span Class="emphasis">--form</span> except that the value string for the named parameter is used literally. Leading '@' and '&lt;' characters, and the ';type=' string in the value have no special meaning. Use this in preference to <span Class="emphasis">--form</span> if there's any possibility that the string value may accidentally trigger the '@' or '&lt;' features of <span Class="emphasis">--form</span>.
-<p class="level0"><a name="-g"></a><span class="nroffip">-g, --globoff</span>
-<p class="level1">This option switches off the "URL globbing parser". When you set this option, you can specify URLs that contain the letters {}[] without having them being interpreted by curl itself. Note that these letters are not normal legal URL contents but they should be encoded according to the URI standard.
-<p class="level0"><a name="-G"></a><span class="nroffip">-G, --get</span>
-<p class="level1">When used, this option will make all data specified with <a class="emphasis" href="#-d">-d, --data</a>, <a class="emphasis" href="#--data-binary">--data-binary</a> or <a class="emphasis" href="#--data-urlencode">--data-urlencode</a> to be used in an HTTP GET request instead of the POST request that otherwise would be used. The data will be appended to the URL with a '?' separator.
-<p class="level1">If used in combination with -I, the POST data will instead be appended to the URL with a HEAD request.
-<p class="level1">If this option is used several times, only the first one is used. This is because undoing a GET doesn't make sense, but you should then instead enforce the alternative method you prefer.
-<p class="level0"><a name="-H"></a><span class="nroffip">-H, --header &lt;header&gt;</span>
-<p class="level1">(HTTP) Extra header to include in the request when sending HTTP to a server. You may specify any number of extra headers. Note that if you should add a custom header that has the same name as one of the internal ones curl would use, your externally set header will be used instead of the internal one. This allows you to make even trickier stuff than curl would normally do. You should not replace internally set headers without knowing perfectly well what you're doing. Remove an internal header by giving a replacement without content on the right side of the colon, as in: -H "Host:". If you send the custom header with no-value then its header must be terminated with a semicolon, such as -H "X-Custom-Header;" to send "X-Custom-Header:".
-<p class="level1">curl will make sure that each header you add/replace is sent with the proper end-of-line marker, you should thus <span Class="bold">not</span> add that as a part of the header content: do not add newlines or carriage returns, they will only mess things up for you.
-<p class="level1">See also the <a class="emphasis" href="#-A">-A, --user-agent</a> and <a class="emphasis" href="#-e">-e, --referer</a> options.
-<p class="level1">Starting in 7.37.0, you need <a class="emphasis" href="#--proxy-header">--proxy-header</a> to send custom headers intended for a proxy.
-<p class="level1">Example:
-<p class="level1">&#35; curl -H "X-First-Name: Joe" <a href="http://example.com/">http://example.com/</a>
-<p class="level1"><span Class="bold">WARNING</span>: headers set with this option will be set in all requests - even after redirects are followed, like when told with <a class="bold" href="#-L">-L, --location</a>. This can lead to the header being sent to other hosts than the original host, so sensitive headers should be used with caution combined with following redirects.
-<p class="level1">This option can be used multiple times to add/replace/remove multiple headers.
-<p class="level0"><a name="--hostpubmd5"></a><span class="nroffip">--hostpubmd5 &lt;md5&gt;</span>
-<p class="level1">(SCP/SFTP) Pass a string containing 32 hexadecimal digits. The string should be the 128 bit MD5 checksum of the remote host's public key, curl will refuse the connection with the host unless the md5sums match. (Added in 7.17.1)
-<p class="level0"><a name="--ignore-content-length"></a><span class="nroffip">--ignore-content-length</span>
-<p class="level1">For HTTP, Ignore the Content-Length header. This is particularly useful for servers running Apache 1.x, which will report incorrect Content-Length for files larger than 2 gigabytes.
-<p class="level1">For FTP (since 7.46.0), skip the RETR command to figure out the size before downloading a file.
-<p class="level0"><a name="-i"></a><span class="nroffip">-i, --include</span>
-<p class="level1">(HTTP) Include the HTTP-header in the output. The HTTP-header includes things like server-name, date of the document, HTTP-version and more...
-<p class="level0"><a name="-I"></a><span class="nroffip">-I, --head</span>
-<p class="level1">(HTTP/FTP/FILE) Fetch the HTTP-header only! HTTP-servers feature the command HEAD which this uses to get nothing but the header of a document. When used on an FTP or FILE file, curl displays the file size and last modification time only.
-<p class="level0"><a name="--interface"></a><span class="nroffip">--interface &lt;name&gt;</span>
-<p class="level1">Perform an operation using a specified interface. You can enter interface name, IP address or host name. An example could look like:
-<p class="level1">&nbsp;curl --interface eth0:1 <a href="https://www.example.com/">https://www.example.com/</a>
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="-j"></a><span class="nroffip">-j, --junk-session-cookies</span>
-<p class="level1">(HTTP) When curl is told to read cookies from a given file, this option will make it discard all "session cookies". This will basically have the same effect as if a new session is started. Typical browsers always discard session cookies when they're closed down.
-<p class="level0"><a name="-J"></a><span class="nroffip">-J, --remote-header-name</span>
-<p class="level1">(HTTP) This option tells the <a class="emphasis" href="#-O">-O, --remote-name</a> option to use the server-specified Content-Disposition filename instead of extracting a filename from the URL.
-<p class="level1">If the server specifies a file name and a file with that name already exists in the current working directory it will not be overwritten and an error will occur. If the server doesn't specify a file name then this option has no effect.
-<p class="level1">There's no attempt to decode %-sequences (yet) in the provided file name, so this option may provide you with rather unexpected file names.
-<p class="level1"><span Class="bold">WARNING</span>: Exercise judicious use of this option, especially on Windows. A rogue server could send you the name of a DLL or other file that could possibly be loaded automatically by Windows or some third party software.
-<p class="level0"><a name="-k"></a><span class="nroffip">-k, --insecure</span>
-<p class="level1">(SSL) This option explicitly allows curl to perform "insecure" SSL connections and transfers. All SSL connections are attempted to be made secure by using the CA certificate bundle installed by default. This makes all connections considered "insecure" fail unless <a class="emphasis" href="#-k">-k, --insecure</a> is used.
-<p class="level1">See this online resource for further details: <span Class="bold">https://curl.haxx.se/docs/sslcerts.html</span>
-<p class="level0"><a name="-K"></a><span class="nroffip">-K, --config &lt;config file&gt;</span>
-<p class="level1">Specify which config file to read curl arguments from. The config file is a text file in which command line arguments can be written which then will be used as if they were written on the actual command line.
-<p class="level1">Options and their parameters must be specified on the same config file line, separated by whitespace, colon, or the equals sign. Long option names can optionally be given in the config file without the initial double dashes and if so, the colon or equals characters can be used as separators. If the option is specified with one or two dashes, there can be no colon or equals character between the option and its parameter.
-<p class="level1">If the parameter is to contain whitespace, the parameter must be enclosed within quotes. Within double quotes, the following escape sequences are available: \\, \", \t, \n, \r and \v. A backslash preceding any other letter is ignored. If the first column of a config line is a '&#35;' character, the rest of the line will be treated as a comment. Only write one option per physical line in the config file.
-<p class="level1">Specify the filename to -K, --config as '-' to make curl read the file from stdin.
-<p class="level1">Note that to be able to specify a URL in the config file, you need to specify it using the <a class="emphasis" href="#--url">--url</a> option, and not by simply writing the URL on its own line. So, it could look similar to this:
-<p class="level1">url = "<a href="https://curl.haxx.se/docs/">https://curl.haxx.se/docs/</a>"
-<p class="level1">When curl is invoked, it always (unless <a class="emphasis" href="#-q">-q</a> is used) checks for a default config file and uses it if found. The default config file is checked for in the following places in this order:
-<p class="level1">1) curl tries to find the "home dir": It first checks for the CURL_HOME and then the HOME environment variables. Failing that, it uses getpwuid() on Unix-like systems (which returns the home dir given the current user in your system). On Windows, it then checks for the APPDATA variable, or as a last resort the '%USERPROFILE%\Application Data'.
-<p class="level1">2) On windows, if there is no _curlrc file in the home dir, it checks for one in the same dir the curl executable is placed. On Unix-like systems, it will simply try to load .curlrc from the determined home dir.
-<p class="level1"><pre class="level1">
-&#35; --- Example file ---
-&#35; this is a comment
-url = "example.com"
-output = "curlhere.html"
-user-agent = "superagent/1.0"
-&nbsp;
-&#35; and fetch another URL too
-url = "example.com/docs/manpage.html"
--O
-referer = "http://nowhereatall.example.com/"
-&#35; --- End of example file ---
-</pre>
-
-<p class="level1">
-<p class="level1">This option can be used multiple times to load multiple config files.
-<p class="level0"><a name="--keepalive-time"></a><span class="nroffip">--keepalive-time &lt;seconds&gt;</span>
-<p class="level1">This option sets the time a connection needs to remain idle before sending keepalive probes and the time between individual keepalive probes. It is currently effective on operating systems offering the TCP_KEEPIDLE and TCP_KEEPINTVL socket options (meaning Linux, recent AIX, HP-UX and more). This option has no effect if <a class="emphasis" href="#--no-keepalive">--no-keepalive</a> is used. (Added in 7.18.0)
-<p class="level1">If this option is used several times, the last one will be used. If unspecified, the option defaults to 60 seconds.
-<p class="level0"><a name="--key"></a><span class="nroffip">--key &lt;key&gt;</span>
-<p class="level1">(SSL/SSH) Private key file name. Allows you to provide your private key in this separate file. For SSH, if not specified, curl tries the following candidates in order: '~/.ssh/id_rsa', '~/.ssh/id_dsa', './id_rsa', './id_dsa'.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--key-type"></a><span class="nroffip">--key-type &lt;type&gt;</span>
-<p class="level1">(SSL) Private key file type. Specify which type your <a class="emphasis" href="#--key">--key</a> provided private key is. DER, PEM, and ENG are supported. If not specified, PEM is assumed.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--krb"></a><span class="nroffip">--krb &lt;level&gt;</span>
-<p class="level1">(FTP) Enable Kerberos authentication and use. The level must be entered and should be one of 'clear', 'safe', 'confidential', or 'private'. Should you use a level that is not one of these, 'private' will instead be used.
-<p class="level1">This option requires a library built with kerberos4 support. This is not very common. Use <a class="emphasis" href="#-V">-V, --version</a> to see if your curl supports it.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--krb4"></a><span class="nroffip">--krb4 &lt;level&gt;</span>
-<p class="level1">(FTP) This is the former name for <a class="emphasis" href="#--krb">--krb</a>. Do not use.
-<p class="level0"><a name="-l"></a><span class="nroffip">-l, --list-only</span>
-<p class="level1">(FTP) When listing an FTP directory, this switch forces a name-only view. This is especially useful if the user wants to machine-parse the contents of an FTP directory since the normal directory view doesn't use a standard look or format. When used like this, the option causes a NLST command to be sent to the server instead of LIST.
-<p class="level1">Note: Some FTP servers list only files in their response to NLST; they do not include sub-directories and symbolic links.
-<p class="level1">(POP3) When retrieving a specific email from POP3, this switch forces a LIST command to be performed instead of RETR. This is particularly useful if the user wants to see if a specific message id exists on the server and what size it is.
-<p class="level1">Note: When combined with <a class="emphasis" href="#-X">-X, --request &lt;command&gt;</a>, this option can be used to send an UIDL command instead, so the user may use the email's unique identifier rather than it's message id to make the request. (Added in 7.21.5)
-<p class="level0"><a name="-L"></a><span class="nroffip">-L, --location</span>
-<p class="level1">(HTTP/HTTPS) If the server reports that the requested page has moved to a different location (indicated with a Location: header and a 3XX response code), this option will make curl redo the request on the new place. If used together with <a class="emphasis" href="#-i">-i, --include</a> or <a class="emphasis" href="#-I">-I, --head</a>, headers from all requested pages will be shown. When authentication is used, curl only sends its credentials to the initial host. If a redirect takes curl to a different host, it won't be able to intercept the user+password. See also <a class="emphasis" href="#--location-trusted">--location-trusted</a> on how to change this. You can limit the amount of redirects to follow by using the <a class="emphasis" href="#--max-redirs">--max-redirs</a> option.
-<p class="level1">When curl follows a redirect and the request is not a plain GET (for example POST or PUT), it will do the following request with a GET if the HTTP response was 301, 302, or 303. If the response code was any other 3xx code, curl will re-send the following request using the same unmodified method.
-<p class="level1">You can tell curl to not change the non-GET request method to GET after a 30x response by using the dedicated options for that: <a class="emphasis" href="#--post301">--post301</a>, <a class="emphasis" href="#--post302">--post302</a> and <a class="emphasis" href="#--post303">--post303</a>.
-<p class="level0"><a name="--libcurl"></a><span class="nroffip">--libcurl &lt;file&gt;</span>
-<p class="level1">Append this option to any ordinary curl command line, and you will get a libcurl-using C source code written to the file that does the equivalent of what your command-line operation does!
-<p class="level1">If this option is used several times, the last given file name will be used. (Added in 7.16.1)
-<p class="level0"><a name="--limit-rate"></a><span class="nroffip">--limit-rate &lt;speed&gt;</span>
-<p class="level1">Specify the maximum transfer rate you want curl to use - for both downloads and uploads. This feature is useful if you have a limited pipe and you'd like your transfer not to use your entire bandwidth. To make it slower than it otherwise would be.
-<p class="level1">The given speed is measured in bytes/second, unless a suffix is appended. Appending 'k' or 'K' will count the number as kilobytes, 'm' or M' makes it megabytes, while 'g' or 'G' makes it gigabytes. Examples: 200K, 3m and 1G.
-<p class="level1">If you also use the <a class="emphasis" href="#-Y">-Y, --speed-limit</a> option, that option will take precedence and might cripple the rate-limiting slightly, to help keeping the speed-limit logic working.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--local-port"></a><span class="nroffip">--local-port &lt;num&gt;[-num]</span>
-<p class="level1">Set a preferred number or range of local port numbers to use for the connection(s). Note that port numbers by nature are a scarce resource that will be busy at times so setting this range to something too narrow might cause unnecessary connection setup failures. (Added in 7.15.2)
-<p class="level0"><a name="--location-trusted"></a><span class="nroffip">--location-trusted</span>
-<p class="level1">(HTTP/HTTPS) Like <a class="emphasis" href="#-L">-L, --location</a>, but will allow sending the name + password to all hosts that the site may redirect to. This may or may not introduce a security breach if the site redirects you to a site to which you'll send your authentication info (which is plaintext in the case of HTTP Basic authentication).
-<p class="level0"><a name="-m"></a><span class="nroffip">-m, --max-time &lt;seconds&gt;</span>
-<p class="level1">Maximum time in seconds that you allow the whole operation to take. This is useful for preventing your batch jobs from hanging for hours due to slow networks or links going down. Since 7.32.0, this option accepts decimal values, but the actual timeout will decrease in accuracy as the specified timeout increases in decimal precision. See also the <a class="emphasis" href="#--connect-timeout">--connect-timeout</a> option.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--login-options"></a><span class="nroffip">--login-options &lt;options&gt;</span>
-<p class="level1">Specify the login options to use during server authentication.
-<p class="level1">You can use the login options to specify protocol specific options that may be used during authentication. At present only IMAP, POP3 and SMTP support login options. For more information about the login options please see <a href="http://www.ietf.org/rfc/rfc2384.txt">RFC 2384</a>, <a href="http://www.ietf.org/rfc/rfc5092.txt">RFC 5092</a> and IETF draft draft-earhart-url-smtp-00.txt (Added in 7.34.0).
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--mail-auth"></a><span class="nroffip">--mail-auth &lt;address&gt;</span>
-<p class="level1">(SMTP) Specify a single address. This will be used to specify the authentication address (identity) of a submitted message that is being relayed to another server.
-<p class="level1">(Added in 7.25.0)
-<p class="level0"><a name="--mail-from"></a><span class="nroffip">--mail-from &lt;address&gt;</span>
-<p class="level1">(SMTP) Specify a single address that the given mail should get sent from.
-<p class="level1">(Added in 7.20.0)
-<p class="level0"><a name="--max-filesize"></a><span class="nroffip">--max-filesize &lt;bytes&gt;</span>
-<p class="level1">Specify the maximum size (in bytes) of a file to download. If the file requested is larger than this value, the transfer will not start and curl will return with exit code 63.
-<p class="level1"><span Class="bold">NOTE:</span> The file size is not always known prior to download, and for such files this option has no effect even if the file transfer ends up being larger than this given limit. This concerns both FTP and HTTP transfers.
-<p class="level0"><a name="--mail-rcpt"></a><span class="nroffip">--mail-rcpt &lt;address&gt;</span>
-<p class="level1">(SMTP) Specify a single address, user name or mailing list name. Repeat this option several times to send to multiple recipients.
-<p class="level1">When performing a mail transfer, the recipient should specify a valid email address to send the mail to. (Added in 7.20.0)
-<p class="level1">When performing an address verification (VRFY command), the recipient should be specified as the user name or user name and domain (as per Section 3.5 of <a href="http://www.ietf.org/rfc/rfc5321.txt">RFC 5321</a>). (Added in 7.34.0)
-<p class="level1">When performing a mailing list expand (EXPN command), the recipient should be specified using the mailing list name, such as "Friends" or "London-Office". (Added in 7.34.0)
-<p class="level0"><a name="--max-redirs"></a><span class="nroffip">--max-redirs &lt;num&gt;</span>
-<p class="level1">Set maximum number of redirection-followings allowed. If <a class="emphasis" href="#-L">-L, --location</a> is used, this option can be used to prevent curl from following redirections "in absurdum". By default, the limit is set to 50 redirections. Set this option to -1 to make it limitless.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--metalink"></a><span class="nroffip">--metalink</span>
-<p class="level1">This option can tell curl to parse and process a given URI as Metalink file (both version 3 and 4 (RFC 5854) are supported) and make use of the mirrors listed within for failover if there are errors (such as the file or server not being available). It will also verify the hash of the file after the download completes. The Metalink file itself is downloaded and processed in memory and not stored in the local file system.
-<p class="level1">Example to use a remote Metalink file:
-<p class="level1"><span Class="bold">curl</span> --metalink <a href="http://www.example.com/example.metalink">http://www.example.com/example.metalink</a>
-<p class="level1">To use a Metalink file in the local file system, use FILE protocol (file://):
-<p class="level1"><span Class="bold">curl</span> --metalink file://example.metalink
-<p class="level1">Please note that if FILE protocol is disabled, there is no way to use a local Metalink file at the time of this writing. Also note that if <a class="emphasis" href="#--metalink">--metalink</a> and <span Class="emphasis">--include</span> are used together, <span Class="emphasis">--include</span> will be ignored. This is because including headers in the response will break Metalink parser and if the headers are included in the file described in Metalink file, hash check will fail.
-<p class="level1">(Added in 7.27.0, if built against the libmetalink library.)
-<p class="level0"><a name="-n"></a><span class="nroffip">-n, --netrc</span>
-<p class="level1">Makes curl scan the <span Class="emphasis">.netrc</span> (<span Class="emphasis">_netrc</span> on Windows) file in the user's home directory for login name and password. This is typically used for FTP on Unix. If used with HTTP, curl will enable user authentication. See <span Class="emphasis">netrc(5)</span> <span Class="emphasis">ftp(1)</span> for details on the file format. Curl will not complain if that file doesn't have the right permissions (it should not be either world- or group-readable). The environment variable "HOME" is used to find the home directory.
-<p class="level1">A quick and very simple example of how to setup a <span Class="emphasis">.netrc</span> to allow curl to FTP to the machine host.domain.com with user name 'myself' and password 'secret' should look similar to:
-<p class="level1"><span Class="bold">machine host.domain.com login myself password secret</span>
-<p class="level0"><a name="-N"></a><span class="nroffip">-N, --no-buffer</span>
-<p class="level1">Disables the buffering of the output stream. In normal work situations, curl will use a standard buffered output stream that will have the effect that it will output the data in chunks, not necessarily exactly when the data arrives. Using this option will disable that buffering.
-<p class="level1">Note that this is the negated option name documented. You can thus use <span Class="emphasis">--buffer</span> to enforce the buffering.
-<p class="level0"><a name="--netrc-file"></a><span class="nroffip">--netrc-file</span>
-<p class="level1">This option is similar to <span Class="emphasis">--netrc</span>, except that you provide the path (absolute or relative) to the netrc file that Curl should use. You can only specify one netrc file per invocation. If several <a class="emphasis" href="#--netrc-file">--netrc-file</a> options are provided, only the <span Class="bold">last one</span> will be used. (Added in 7.21.5)
-<p class="level1">This option overrides any use of <span Class="emphasis">--netrc</span> as they are mutually exclusive. It will also abide by <a class="emphasis" href="#--netrc-optional">--netrc-optional</a> if specified.
-<p class="level1">
-<p class="level0"><a name="--netrc-optional"></a><span class="nroffip">--netrc-optional</span>
-<p class="level1">Very similar to <span Class="emphasis">--netrc</span>, but this option makes the .netrc usage <span Class="bold">optional</span> and not mandatory as the <span Class="emphasis">--netrc</span> option does.
-<p class="level1">
-<p class="level0"><a name="--negotiate"></a><span class="nroffip">--negotiate</span>
-<p class="level1">(HTTP) Enables Negotiate (SPNEGO) authentication.
-<p class="level1">If you want to enable Negotiate (SPNEGO) for proxy authentication, then use <a class="emphasis" href="#--proxy-negotiate">--proxy-negotiate</a>.
-<p class="level1">This option requires a library built with GSS-API or SSPI support. Use <span class="emphasis">-V, --version</span> to see if your curl supports GSS-API/SSPI and SPNEGO.
-<p class="level1">When using this option, you must also provide a fake <a class="emphasis" href="#-u">-u, --user</a> option to activate the authentication code properly. Sending a '-u :' is enough as the user name and password from the <a class="emphasis" href="#-u">-u</a> option aren't actually used.
-<p class="level1">If this option is used several times, only the first one is used.
-<p class="level0"><a name="--no-keepalive"></a><span class="nroffip">--no-keepalive</span>
-<p class="level1">Disables the use of keepalive messages on the TCP connection, as by default curl enables them.
-<p class="level1">Note that this is the negated option name documented. You can thus use <span Class="emphasis">--keepalive</span> to enforce keepalive.
-<p class="level0"><a name="--no-sessionid"></a><span class="nroffip">--no-sessionid</span>
-<p class="level1">(SSL) Disable curl's use of SSL session-ID caching. By default all transfers are done using the cache. Note that while nothing should ever get hurt by attempting to reuse SSL session-IDs, there seem to be broken SSL implementations in the wild that may require you to disable this in order for you to succeed. (Added in 7.16.0)
-<p class="level1">Note that this is the negated option name documented. You can thus use <span Class="emphasis">--sessionid</span> to enforce session-ID caching.
-<p class="level0"><a name="--noproxy"></a><span class="nroffip">--noproxy &lt;no-proxy-list&gt;</span>
-<p class="level1">Comma-separated list of hosts which do not use a proxy, if one is specified. The only wildcard is a single * character, which matches all hosts, and effectively disables the proxy. Each name in this list is matched as either a domain which contains the hostname, or the hostname itself. For example, local.com would match local.com, local.com:80, and www.local.com, but not www.notlocal.com. (Added in 7.19.4).
-<p class="level0"><a name="--connect-to"></a><span class="nroffip">--connect-to &lt;host:port:connect-to-host:connect-to-port&gt;</span>
-<p class="level1">For a request to the given "host:port" pair, connect to "connect-to-host:connect-to-port" instead. This is suitable to direct the request at a specific server, e.g. at a specific cluster node in a cluster of servers. This option is only used to establish the network connection. It does NOT affect the hostname/port that is used for TLS/SSL (e.g. SNI, certificate verification) or for the application protocols. "host" and "port" may be the empty string, meaning "any host/port". "connect-to-host" and "connect-to-port" may also be the empty string, meaning "use the request's original host/port". This option can be used many times to add many connect rules. (Added in 7.49.0).
-<p class="level0"><a name="--ntlm"></a><span class="nroffip">--ntlm</span>
-<p class="level1">(HTTP) Enables NTLM authentication. The NTLM authentication method was designed by Microsoft and is used by IIS web servers. It is a proprietary protocol, reverse-engineered by clever people and implemented in curl based on their efforts. This kind of behavior should not be endorsed, you should encourage everyone who uses NTLM to switch to a public and documented authentication method instead, such as Digest.
-<p class="level1">If you want to enable NTLM for your proxy authentication, then use <a class="emphasis" href="#--proxy-ntlm">--proxy-ntlm</a>.
-<p class="level1">This option requires a library built with SSL support. Use <a class="emphasis" href="#-V">-V, --version</a> to see if your curl supports NTLM.
-<p class="level1">If this option is used several times, only the first one is used.
-<p class="level0"><a name="--ntlm-wb"></a><span class="nroffip">--ntlm-wb</span>
-<p class="level1">(HTTP) Enables NTLM much in the style <a class="emphasis" href="#--ntlm">--ntlm</a> does, but hand over the authentication to the separate binary ntlmauth application that is executed when needed.
-<p class="level0"><a name="-o"></a><span class="nroffip">-o, --output &lt;file&gt;</span>
-<p class="level1">Write output to &lt;file&gt; instead of stdout. If you are using {} or [] to fetch multiple documents, you can use '&#35;' followed by a number in the &lt;file&gt; specifier. That variable will be replaced with the current string for the URL being fetched. Like in:
-<p class="level1">&nbsp; curl http://{one,two}.example.com -o "file_&#35;1.txt"
-<p class="level1">or use several variables like:
-<p class="level1">&nbsp; curl http://{site,host}.host[1-5].com -o "&#35;1_&#35;2"
-<p class="level1">You may use this option as many times as the number of URLs you have.
-<p class="level1">See also the <a class="emphasis" href="#--create-dirs">--create-dirs</a> option to create the local directories dynamically. Specifying the output as '-' (a single dash) will force the output to be done to stdout.
-<p class="level0"><a name="-O"></a><span class="nroffip">-O, --remote-name</span>
-<p class="level1">Write output to a local file named like the remote file we get. (Only the file part of the remote file is used, the path is cut off.)
-<p class="level1">The file will be saved in the current working directory. If you want the file saved in a different directory, make sure you change the current working directory before invoking curl with this option.
-<p class="level1">The remote file name to use for saving is extracted from the given URL, nothing else, and if it already exists it will be overwritten. If you want the server to be able to choose the file name refer to <a class="emphasis" href="#-J">-J, --remote-header-name</a> which can be used in addition to this option. If the server chooses a file name and that name already exists it will not be overwritten.
-<p class="level1">There is no URL decoding done on the file name. If it has %20 or other URL encoded parts of the name, they will end up as-is as file name.
-<p class="level1">You may use this option as many times as the number of URLs you have.
-<p class="level0"><a name="--oauth2-bearer"></a><span class="nroffip">--oauth2-bearer</span>
-<p class="level1">(IMAP, POP3, SMTP) Specify the Bearer Token for OAUTH 2.0 server authentication. The Bearer Token is used in conjunction with the user name which can be specified as part of the <a class="emphasis" href="#--url">--url</a> or <a class="emphasis" href="#-u">-u, --user</a> options.
-<p class="level1">The Bearer Token and user name are formatted according to <a href="http://www.ietf.org/rfc/rfc6750.txt">RFC 6750</a>.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--proxy-header"></a><span class="nroffip">--proxy-header &lt;header&gt;</span>
-<p class="level1">(HTTP) Extra header to include in the request when sending HTTP to a proxy. You may specify any number of extra headers. This is the equivalent option to <a class="emphasis" href="#-H">-H, --header</a> but is for proxy communication only like in CONNECT requests when you want a separate header sent to the proxy to what is sent to the actual remote host.
-<p class="level1">curl will make sure that each header you add/replace is sent with the proper end-of-line marker, you should thus <span Class="bold">not</span> add that as a part of the header content: do not add newlines or carriage returns, they will only mess things up for you.
-<p class="level1">Headers specified with this option will not be included in requests that curl knows will not be sent to a proxy.
-<p class="level1">This option can be used multiple times to add/replace/remove multiple headers.
-<p class="level1">(Added in 7.37.0)
-<p class="level0"><a name="-p"></a><span class="nroffip">-p, --proxytunnel</span>
-<p class="level1">When an HTTP proxy is used (<a class="emphasis" href="#-x">-x, --proxy</a>), this option will cause non-HTTP protocols to attempt to tunnel through the proxy instead of merely using it to do HTTP-like operations. The tunnel approach is made with the HTTP proxy CONNECT request and requires that the proxy allows direct connect to the remote port number curl wants to tunnel through to.
-<p class="level0"><a name="-P"></a><span class="nroffip">-P, --ftp-port &lt;address&gt;</span>
-<p class="level1">(FTP) Reverses the default initiator/listener roles when connecting with FTP. This switch makes curl use active mode. In practice, curl then tells the server to connect back to the client's specified address and port, while passive mode asks the server to setup an IP address and port for it to connect to. &lt;address&gt; should be one of:
-<p class="level2">
-<p class="level1"><a name="interface"></a><span class="nroffip">interface</span>
-<p class="level2">i.e "eth0" to specify which interface's IP address you want to use (Unix only)
-<p class="level1"><a name="IP"></a><span class="nroffip">IP address</span>
-<p class="level2">i.e "192.168.10.1" to specify the exact IP address
-<p class="level1"><a name="host"></a><span class="nroffip">host name</span>
-<p class="level2">i.e "my.host.domain" to specify the machine
-<p class="level1"><a name="-"></a><span class="nroffip">-</span>
-<p class="level2">make curl pick the same IP address that is already used for the control connection
-<p class="level1">
-<p class="level0"><a name=""></a><span class="nroffip"></span>
-<p class="level1">If this option is used several times, the last one will be used. Disable the use of PORT with <a class="emphasis" href="#--ftp-pasv">--ftp-pasv</a>. Disable the attempt to use the EPRT command instead of PORT by using <a class="emphasis" href="#--disable-eprt">--disable-eprt</a>. EPRT is really PORT++.
-<p class="level1">Starting in 7.19.5, you can append ":[start]-[end]" to the right of the address, to tell curl what TCP port range to use. That means you specify a port range, from a lower to a higher number. A single number works as well, but do note that it increases the risk of failure since the port may not be available.
-<p class="level0"><a name="--pass"></a><span class="nroffip">--pass &lt;phrase&gt;</span>
-<p class="level1">(SSL/SSH) Passphrase for the private key
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--path-as-is"></a><span class="nroffip">--path-as-is</span>
-<p class="level1">Tell curl to not handle sequences of /../ or /./ in the given URL path. Normally curl will squash or merge them according to standards but with this option set you tell it not to do that.
-<p class="level1">(Added in 7.42.0)
-<p class="level0"><a name="--post301"></a><span class="nroffip">--post301</span>
-<p class="level1">(HTTP) Tells curl to respect <a href="http://www.ietf.org/rfc/rfc7230.txt">RFC 7230</a>/6.4.2 and not convert POST requests into GET requests when following a 301 redirection. The non-RFC behaviour is ubiquitous in web browsers, so curl 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 using <a class="emphasis" href="#-L">-L, --location</a> (Added in 7.17.1)
-<p class="level0"><a name="--post302"></a><span class="nroffip">--post302</span>
-<p class="level1">(HTTP) Tells curl to respect <a href="http://www.ietf.org/rfc/rfc7230.txt">RFC 7230</a>/6.4.3 and not convert POST requests into GET requests when following a 302 redirection. The non-RFC behaviour is ubiquitous in web browsers, so curl 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 using <a class="emphasis" href="#-L">-L, --location</a> (Added in 7.19.1)
-<p class="level0"><a name="--post303"></a><span class="nroffip">--post303</span>
-<p class="level1">(HTTP) Tells curl to respect <a href="http://www.ietf.org/rfc/rfc7230.txt">RFC 7230</a>/6.4.4 and not convert POST requests into GET requests when following a 303 redirection. The non-RFC behaviour is ubiquitous in web browsers, so curl 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 using <a class="emphasis" href="#-L">-L, --location</a> (Added in 7.26.0)
-<p class="level0"><a name="--proto"></a><span class="nroffip">--proto &lt;protocols&gt;</span>
-<p class="level1">Tells curl to use the listed protocols for its initial retrieval. Protocols are evaluated left to right, are comma separated, and are each a protocol name or 'all', optionally prefixed by zero or more modifiers. Available modifiers are:
-<p class="level2">
-<p class="level2"><a class="bold" href="#">+</a> Permit this protocol in addition to protocols already permitted (this is the default if no modifier is used).
-<p class="level2"><a class="bold" href="#-">-</a> Deny this protocol, removing it from the list of protocols already permitted.
-<p class="level2"><a class="bold" href="#">=</a> Permit only this protocol (ignoring the list already permitted), though subject to later modification by subsequent entries in the comma separated list.
-<p class="level1">
-<p class="level0"><a name=""></a><span class="nroffip"></span>
-<p class="level1">For example:
-<p class="level2">
-<p class="level2"><a class="bold" href="#--proto">--proto -ftps</a> uses the default protocols, but disables ftps
-<p class="level2"><a class="bold" href="#--proto">--proto -all,https,+http</a> only enables http and https
-<p class="level2"><a class="bold" href="#--proto">--proto =http,https</a> also only enables http and https
-<p class="level1">
-<p class="level0"><a name=""></a><span class="nroffip"></span>
-<p class="level1">Unknown protocols produce a warning. This allows scripts to safely rely on being able to disable potentially dangerous protocols, without relying upon support for that protocol being built into curl to avoid an error.
-<p class="level1">This option can be used multiple times, in which case the effect is the same as concatenating the protocols into one instance of the option.
-<p class="level1">(Added in 7.20.2)
-<p class="level0"><a name="--proto-default"></a><span class="nroffip">--proto-default &lt;protocol&gt;</span>
-<p class="level1">Tells curl to use <span Class="emphasis">protocol</span> for any URL missing a scheme name.
-<p class="level1">Example:
-<p class="level1">
-<p class="level2">
-<p class="level1"><a name="--proto-default"></a><span class="nroffip">--proto-default https ftp.mozilla.org</span>
-<p class="level2"><a href="https://ftp.mozilla.org">https://ftp.mozilla.org</a>
-<p class="level1">
-<p class="level1">An unknown or unsupported protocol causes error <span Class="emphasis">CURLE_UNSUPPORTED_PROTOCOL</span>.
-<p class="level1">This option does not change the default proxy protocol (http).
-<p class="level1">Without this option curl would make a guess based on the host, see <a class="emphasis" href="#--url">--url</a> for details.
-<p class="level1">(Added in 7.45.0)
-<p class="level0"><a name="--proto-redir"></a><span class="nroffip">--proto-redir &lt;protocols&gt;</span>
-<p class="level1">Tells curl to use the listed protocols on redirect. See --proto for how protocols are represented.
-<p class="level1">Example:
-<p class="level1">
-<p class="level2">
-<p class="level1"><a name="--proto-redir"></a><span class="nroffip">--proto-redir -all,http,https</span>
-<p class="level2">Allow only HTTP and HTTPS on redirect.
-<p class="level1">
-<p class="level1">By default curl will allow all protocols on redirect except several disabled for security reasons: Since 7.19.4 FILE and SCP are disabled, and since 7.40.0 SMB and SMBS are also disabled. Specifying <span Class="emphasis">all</span> or <span Class="emphasis">+all</span> enables all protocols on redirect, including those disabled for security.
-<p class="level1">(Added in 7.20.2)
-<p class="level0"><a name="--proxy-anyauth"></a><span class="nroffip">--proxy-anyauth</span>
-<p class="level1">Tells curl to pick a suitable authentication method when communicating with the given proxy. This might cause an extra request/response round-trip. (Added in 7.13.2)
-<p class="level0"><a name="--proxy-basic"></a><span class="nroffip">--proxy-basic</span>
-<p class="level1">Tells curl to use HTTP Basic authentication when communicating with the given proxy. Use <a class="emphasis" href="#--basic">--basic</a> for enabling HTTP Basic with a remote host. Basic is the default authentication method curl uses with proxies.
-<p class="level0"><a name="--proxy-digest"></a><span class="nroffip">--proxy-digest</span>
-<p class="level1">Tells curl to use HTTP Digest authentication when communicating with the given proxy. Use <a class="emphasis" href="#--digest">--digest</a> for enabling HTTP Digest with a remote host.
-<p class="level0"><a name="--proxy-negotiate"></a><span class="nroffip">--proxy-negotiate</span>
-<p class="level1">Tells curl to use HTTP Negotiate (SPNEGO) authentication when communicating with the given proxy. Use <a class="emphasis" href="#--negotiate">--negotiate</a> for enabling HTTP Negotiate (SPNEGO) with a remote host. (Added in 7.17.1)
-<p class="level0"><a name="--proxy-ntlm"></a><span class="nroffip">--proxy-ntlm</span>
-<p class="level1">Tells curl to use HTTP NTLM authentication when communicating with the given proxy. Use <a class="emphasis" href="#--ntlm">--ntlm</a> for enabling NTLM with a remote host.
-<p class="level0"><a name="--proxy-service-name"></a><span class="nroffip">--proxy-service-name &lt;servicename&gt;</span>
-<p class="level1">This option allows you to change the service name for proxy negotiation.
-<p class="level1">Examples: --proxy-negotiate proxy-name <a class="emphasis" href="#--proxy-service-name">--proxy-service-name</a> sockd would use sockd/proxy-name. (Added in 7.43.0).
-<p class="level0"><a name="--proxy10"></a><span class="nroffip">--proxy1.0 &lt;proxyhost[:port]&gt;</span>
-<p class="level1">Use the specified HTTP 1.0 proxy. If the port number is not specified, it is assumed at port 1080.
-<p class="level1">The only difference between this and the HTTP proxy option (<a class="emphasis" href="#-x">-x, --proxy</a>), is that attempts to use CONNECT through the proxy will specify an HTTP 1.0 protocol instead of the default HTTP 1.1.
-<p class="level0"><a name="--pubkey"></a><span class="nroffip">--pubkey &lt;key&gt;</span>
-<p class="level1">(SSH) Public key file name. Allows you to provide your public key in this separate file.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level1">(As of 7.39.0, curl attempts to automatically extract the public key from the private key file, so passing this option is generally not required. Note that this public key extraction requires libcurl to be linked against a copy of libssh2 1.2.8 or higher that is itself linked against OpenSSL.)
-<p class="level0"><a name="-q"></a><span class="nroffip">-q, --disable</span>
-<p class="level1">If used as the first parameter on the command line, the <span Class="emphasis">curlrc</span> config file will not be read and used. See the <a class="emphasis" href="#-K">-K, --config</a> for details on the default config file search path.
-<p class="level0"><a name="-Q"></a><span class="nroffip">-Q, --quote &lt;command&gt;</span>
-<p class="level1">(FTP/SFTP) Send an arbitrary command to the remote FTP or SFTP server. Quote commands are sent BEFORE the transfer takes place (just after the initial PWD command in an FTP transfer, to be exact). To make commands take place after a successful transfer, prefix them with a dash '-'. To make commands be sent after curl has changed the working directory, just before the transfer command(s), prefix the command with a '+' (this is only supported for FTP). You may specify any number of commands. If the server returns failure for one of the commands, the entire operation will be aborted. You must send syntactically correct FTP commands as <a href="http://www.ietf.org/rfc/rfc959.txt">RFC 959</a> defines to FTP servers, or one of the commands listed below to SFTP servers. This option can be used multiple times. When speaking to an FTP server, prefix the command with an asterisk (*) to make curl continue even if the command fails as by default curl will stop at first failure.
-<p class="level1">SFTP is a binary protocol. Unlike for FTP, curl interprets SFTP quote commands itself before sending them to the server. File names may be quoted shell-style to embed spaces or special characters. Following is the list of all supported SFTP quote commands:
-<p class="level2">
-<p class="level1"><a name="chgrp"></a><span class="nroffip">chgrp group file</span>
-<p class="level2">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.
-<p class="level1"><a name="chmod"></a><span class="nroffip">chmod mode file</span>
-<p class="level2">The chmod command modifies the file mode bits of the specified file. The mode operand is an octal integer mode number.
-<p class="level1"><a name="chown"></a><span class="nroffip">chown user file</span>
-<p class="level2">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.
-<p class="level1"><a name="ln"></a><span class="nroffip">ln source_file target_file</span>
-<p class="level2">The ln and symlink commands create a symbolic link at the target_file location pointing to the source_file location.
-<p class="level1"><a name="mkdir"></a><span class="nroffip">mkdir directory_name</span>
-<p class="level2">The mkdir command creates the directory named by the directory_name operand.
-<p class="level1"><a name="pwd"></a><span class="nroffip">pwd</span>
-<p class="level2">The pwd command returns the absolute pathname of the current working directory.
-<p class="level1"><a name="rename"></a><span class="nroffip">rename source target</span>
-<p class="level2">The rename command renames the file or directory named by the source operand to the destination path named by the target operand.
-<p class="level1"><a name="rm"></a><span class="nroffip">rm file</span>
-<p class="level2">The rm command removes the file specified by the file operand.
-<p class="level1"><a name="rmdir"></a><span class="nroffip">rmdir directory</span>
-<p class="level2">The rmdir command removes the directory entry specified by the directory operand, provided it is empty.
-<p class="level1"><a name="symlink"></a><span class="nroffip">symlink source_file target_file</span>
-<p class="level2">See ln.
-<p class="level1">
-<p class="level0"><a name="-r"></a><span class="nroffip">-r, --range &lt;range&gt;</span>
-<p class="level1">(HTTP/FTP/SFTP/FILE) Retrieve a byte range (i.e a partial document) from a HTTP/1.1, FTP or SFTP server or a local FILE. Ranges can be specified in a number of ways.
-<p class="level2">
-<p class="level2"><span Class="bold">0-499</span> specifies the first 500 bytes
-<p class="level2"><span Class="bold">500-999</span> specifies the second 500 bytes
-<p class="level2"><span Class="bold">-500</span> specifies the last 500 bytes
-<p class="level2"><span Class="bold">9500-</span> specifies the bytes from offset 9500 and forward
-<p class="level2"><span Class="bold">0-0,-1</span> specifies the first and last byte only(*)(HTTP)
-<p class="level2"><span Class="bold">100-199,500-599</span> specifies two separate 100-byte ranges(*) (HTTP)
-<p class="level1">
-<p class="level0"><a name=""></a><span class="nroffip"></span>
-<p class="level1">(*) = NOTE that this will cause the server to reply with a multipart response!
-<p class="level1">Only digit characters (0-9) are valid in the 'start' and 'stop' fields of the 'start-stop' range syntax. If a non-digit character is given in the range, the server's response will be unspecified, depending on the server's configuration.
-<p class="level1">You should also be aware that many HTTP/1.1 servers do not have this feature enabled, so that when you attempt to get a range, you'll instead get the whole document.
-<p class="level1">FTP and SFTP range downloads only support the simple 'start-stop' syntax (optionally with one of the numbers omitted). FTP use depends on the extended FTP command SIZE.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="-R"></a><span class="nroffip">-R, --remote-time</span>
-<p class="level1">When used, this will make curl attempt to figure out the timestamp of the remote file, and if that is available make the local file get that same timestamp.
-<p class="level0"><a name="--random-file"></a><span class="nroffip">--random-file &lt;file&gt;</span>
-<p class="level1">(SSL) Specify the path name to file containing what will be considered as random data. The data is used to seed the random engine for SSL connections. See also the <a class="emphasis" href="#--egd-file">--egd-file</a> option.
-<p class="level0"><a name="--raw"></a><span class="nroffip">--raw</span>
-<p class="level1">(HTTP) When used, it disables all internal HTTP decoding of content or transfer encodings and instead makes them passed on unaltered, raw. (Added in 7.16.2)
-<p class="level0"><a name="--remote-name-all"></a><span class="nroffip">--remote-name-all</span>
-<p class="level1">This option changes the default action for all given URLs to be dealt with as if <a class="emphasis" href="#-O">-O, --remote-name</a> were used for each one. So if you want to disable that for a specific URL after <a class="emphasis" href="#--remote-name-all">--remote-name-all</a> has been used, you must use "-o -" or <span Class="emphasis">--no-remote-name</span>. (Added in 7.19.0)
-<p class="level0"><a name="--resolve"></a><span class="nroffip">--resolve &lt;host:port:address&gt;</span>
-<p class="level1">Provide a custom address for a specific host and port pair. Using this, you can make the curl requests(s) use a specified address and prevent the otherwise normally resolved address to be used. Consider it a sort of /etc/hosts alternative provided on the command line. The port number should be the number used for the specific protocol the host will be used for. It means you need several entries if you want to provide address for the same host but different ports.
-<p class="level1">The provided address set by this option will be used even if <a class="emphasis" href="#-4">-4, --ipv4</a> or <a class="emphasis" href="#-6">-6, --ipv6</a> is set to make curl use another IP version.
-<p class="level1">This option can be used many times to add many host names to resolve.
-<p class="level1">(Added in 7.21.3)
-<p class="level0"><a name="--retry"></a><span class="nroffip">--retry &lt;num&gt;</span>
-<p class="level1">If a transient error is returned when curl tries to perform a transfer, it will retry this number of times before giving up. Setting the number to 0 makes curl do no retries (which is the default). Transient error means either: a timeout, an FTP 4xx response code or an HTTP 5xx response code.
-<p class="level1">When curl is about to retry a transfer, it will first wait one second and then for all forthcoming retries it will double the waiting time until it reaches 10 minutes which then will be the delay between the rest of the retries. By using <a class="emphasis" href="#--retry-delay">--retry-delay</a> you disable this exponential backoff algorithm. See also <a class="emphasis" href="#--retry-max-time">--retry-max-time</a> to limit the total time allowed for retries. (Added in 7.12.3)
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--retry-delay"></a><span class="nroffip">--retry-delay &lt;seconds&gt;</span>
-<p class="level1">Make curl sleep this amount of time before each retry when a transfer has failed with a transient error (it changes the default backoff time algorithm between retries). This option is only interesting if <a class="emphasis" href="#--retry">--retry</a> is also used. Setting this delay to zero will make curl use the default backoff time. (Added in 7.12.3)
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--retry-max-time"></a><span class="nroffip">--retry-max-time &lt;seconds&gt;</span>
-<p class="level1">The retry timer is reset before the first transfer attempt. Retries will be done as usual (see <a class="emphasis" href="#--retry">--retry</a>) as long as the timer hasn't reached this given limit. Notice that if the timer hasn't reached the limit, the request will be made and while performing, it may take longer than this given time period. To limit a single request&acute;s maximum time, use <a class="emphasis" href="#-m">-m, --max-time</a>. Set this option to zero to not timeout retries. (Added in 7.12.3)
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="-s"></a><span class="nroffip">-s, --silent</span>
-<p class="level1">Silent or quiet mode. Don't show progress meter or error messages. Makes Curl mute. It will still output the data you ask for, potentially even to the terminal/stdout unless you redirect it.
-<p class="level0"><a name="--sasl-ir"></a><span class="nroffip">--sasl-ir</span>
-<p class="level1">Enable initial response in SASL authentication. (Added in 7.31.0)
-<p class="level0"><a name="--service-name"></a><span class="nroffip">--service-name &lt;servicename&gt;</span>
-<p class="level1">This option allows you to change the service name for SPNEGO.
-<p class="level1">Examples: --negotiate <a class="emphasis" href="#--service-name">--service-name</a> sockd would use sockd/server-name. (Added in 7.43.0).
-<p class="level0"><a name="-S"></a><span class="nroffip">-S, --show-error</span>
-<p class="level1">When used with <a class="emphasis" href="#-s">-s</a> it makes curl show an error message if it fails.
-<p class="level0"><a name="--ssl"></a><span class="nroffip">--ssl</span>
-<p class="level1">(FTP, POP3, IMAP, SMTP) Try to use SSL/TLS for the connection. Reverts to a non-secure connection if the server doesn't support SSL/TLS. See also <a class="emphasis" href="#--ftp-ssl-control">--ftp-ssl-control</a> and <a class="emphasis" href="#--ssl-reqd">--ssl-reqd</a> for different levels of encryption required. (Added in 7.20.0)
-<p class="level1">This option was formerly known as <a class="emphasis" href="#--ftp-ssl">--ftp-ssl</a> (Added in 7.11.0). That option name can still be used but will be removed in a future version.
-<p class="level0"><a name="--ssl-reqd"></a><span class="nroffip">--ssl-reqd</span>
-<p class="level1">(FTP, POP3, IMAP, SMTP) Require SSL/TLS for the connection. Terminates the connection if the server doesn't support SSL/TLS. (Added in 7.20.0)
-<p class="level1">This option was formerly known as <a class="emphasis" href="#--ftp-ssl-reqd">--ftp-ssl-reqd</a>.
-<p class="level0"><a name="--ssl-allow-beast"></a><span class="nroffip">--ssl-allow-beast</span>
-<p class="level1">(SSL) This option tells curl to not work around a security flaw in the SSL3 and TLS1.0 protocols known as BEAST. If this option isn't used, the SSL layer may use workarounds known to cause interoperability problems with some older SSL implementations. WARNING: this option loosens the SSL security, and by using this flag you ask for exactly that. (Added in 7.25.0)
-<p class="level0"><a name="--ssl-no-revoke"></a><span class="nroffip">--ssl-no-revoke</span>
-<p class="level1">(WinSSL) This option tells curl to disable certificate revocation checks. WARNING: this option loosens the SSL security, and by using this flag you ask for exactly that. (Added in 7.44.0)
-<p class="level0"><a name="--socks4"></a><span class="nroffip">--socks4 &lt;host[:port]&gt;</span>
-<p class="level1">Use the specified SOCKS4 proxy. If the port number is not specified, it is assumed at port 1080. (Added in 7.15.2)
-<p class="level1">This option overrides any previous use of <a class="emphasis" href="#-x">-x, --proxy</a>, as they are mutually exclusive.
-<p class="level1">Since 7.21.7, this option is superfluous since you can specify a socks4 proxy with <a class="emphasis" href="#-x">-x, --proxy</a> using a socks4:// protocol prefix.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--socks4a"></a><span class="nroffip">--socks4a &lt;host[:port]&gt;</span>
-<p class="level1">Use the specified SOCKS4a proxy. If the port number is not specified, it is assumed at port 1080. (Added in 7.18.0)
-<p class="level1">This option overrides any previous use of <a class="emphasis" href="#-x">-x, --proxy</a>, as they are mutually exclusive.
-<p class="level1">Since 7.21.7, this option is superfluous since you can specify a socks4a proxy with <a class="emphasis" href="#-x">-x, --proxy</a> using a socks4a:// protocol prefix.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--socks5-hostname"></a><span class="nroffip">--socks5-hostname &lt;host[:port]&gt;</span>
-<p class="level1">Use the specified SOCKS5 proxy (and let the proxy resolve the host name). If the port number is not specified, it is assumed at port 1080. (Added in 7.18.0)
-<p class="level1">This option overrides any previous use of <a class="emphasis" href="#-x">-x, --proxy</a>, as they are mutually exclusive.
-<p class="level1">Since 7.21.7, this option is superfluous since you can specify a socks5 hostname proxy with <a class="emphasis" href="#-x">-x, --proxy</a> using a socks5h:// protocol prefix.
-<p class="level1">If this option is used several times, the last one will be used. (This option was previously wrongly documented and used as --socks without the number appended.)
-<p class="level0"><a name="--socks5"></a><span class="nroffip">--socks5 &lt;host[:port]&gt;</span>
-<p class="level1">Use the specified SOCKS5 proxy - but resolve the host name locally. If the port number is not specified, it is assumed at port 1080.
-<p class="level1">This option overrides any previous use of <a class="emphasis" href="#-x">-x, --proxy</a>, as they are mutually exclusive.
-<p class="level1">Since 7.21.7, this option is superfluous since you can specify a socks5 proxy with <a class="emphasis" href="#-x">-x, --proxy</a> using a socks5:// protocol prefix.
-<p class="level1">If this option is used several times, the last one will be used. (This option was previously wrongly documented and used as --socks without the number appended.)
-<p class="level1">This option (as well as <a class="emphasis" href="#--socks4">--socks4</a>) does not work with IPV6, FTPS or LDAP.
-<p class="level0"><a name="--socks5-gssapi-service"></a><span class="nroffip">--socks5-gssapi-service &lt;servicename&gt;</span>
-<p class="level1">The default service name for a socks server is rcmd/server-fqdn. This option allows you to change it.
-<p class="level1">Examples: --socks5 proxy-name <a class="emphasis" href="#--socks5-gssapi-service">--socks5-gssapi-service</a> sockd would use sockd/proxy-name --socks5 proxy-name <a class="emphasis" href="#--socks5-gssapi-service">--socks5-gssapi-service</a> sockd/real-name would use sockd/real-name for cases where the proxy-name does not match the principal name. (Added in 7.19.4).
-<p class="level0"><a name="--socks5-gssapi-nec"></a><span class="nroffip">--socks5-gssapi-nec</span>
-<p class="level1">As part of the GSS-API negotiation a protection mode is negotiated. <a href="http://www.ietf.org/rfc/rfc1961.txt">RFC 1961</a> says in section 4.3/4.4 it should be protected, but the NEC reference implementation does not. The option <a class="emphasis" href="#--socks5-gssapi-nec">--socks5-gssapi-nec</a> allows the unprotected exchange of the protection mode negotiation. (Added in 7.19.4).
-<p class="level0"><a name="--stderr"></a><span class="nroffip">--stderr &lt;file&gt;</span>
-<p class="level1">Redirect all writes to stderr to the specified file instead. If the file name is a plain '-', it is instead written to stdout.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="-t"></a><span class="nroffip">-t, --telnet-option &lt;OPT=val&gt;</span>
-<p class="level1">Pass options to the telnet protocol. Supported options are:
-<p class="level1">TTYPE=&lt;term&gt; Sets the terminal type.
-<p class="level1">XDISPLOC=&lt;X display&gt; Sets the X display location.
-<p class="level1">NEW_ENV=&lt;var,val&gt; Sets an environment variable.
-<p class="level0"><a name="-T"></a><span class="nroffip">-T, --upload-file &lt;file&gt;</span>
-<p class="level1">This transfers the specified local file to the remote URL. If there is no file part in the specified URL, Curl will append the local file name. NOTE that you must use a trailing / on the last directory to really prove to Curl that there is no file name or curl will think that your last directory name is the remote file name to use. That will most likely cause the upload operation to fail. If this is used on an HTTP(S) server, the PUT command will be used.
-<p class="level1">Use the file name "-" (a single dash) to use stdin instead of a given file. Alternately, the file name "." (a single period) may be specified instead of "-" to use stdin in non-blocking mode to allow reading server output while stdin is being uploaded.
-<p class="level1">You can specify one -T for each URL on the command line. Each -T + URL pair specifies what to upload and to where. curl also supports "globbing" of the -T argument, meaning that you can upload multiple files to a single URL by using the same URL globbing style supported in the URL, like this:
-<p class="level1">curl -T "{file1,file2}" <a href="http://www.example.com">http://www.example.com</a>
-<p class="level1">or even
-<p class="level1">curl -T "img[1-1000].png" <a href="ftp://ftp.example.com/upload/">ftp://ftp.example.com/upload/</a>
-<p class="level0"><a name="--tcp-nodelay"></a><span class="nroffip">--tcp-nodelay</span>
-<p class="level1">Turn on the TCP_NODELAY option. See the <span Class="emphasis">curl_easy_setopt(3)</span> man page for details about this option. (Added in 7.11.2)
-<p class="level0"><a name="--tcp-fastopen"></a><span class="nroffip">--tcp-fastopen</span>
-<p class="level1">Enable use of TCP Fast Open (RFC7413). (Added in 7.49.0)
-<p class="level0"><a name="--tftp-blksize"></a><span class="nroffip">--tftp-blksize &lt;value&gt;</span>
-<p class="level1">(TFTP) Set TFTP BLKSIZE option (must be &gt;512). This is the block size that curl will try to use when transferring data to or from a TFTP server. By default 512 bytes will be used.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level1">(Added in 7.20.0)
-<p class="level0"><a name="--tftp-no-options"></a><span class="nroffip">--tftp-no-options</span>
-<p class="level1">(TFTP) Tells curl not to send TFTP options requests.
-<p class="level1">This option improves interop with some legacy servers that do not acknowledge or properly implement TFTP options. When this option is used <a class="emphasis" href="#--tftp-blksize">--tftp-blksize</a> is ignored.
-<p class="level1">(Added in 7.48.0)
-<p class="level0"><a name="--tlsauthtype"></a><span class="nroffip">--tlsauthtype &lt;authtype&gt;</span>
-<p class="level1">Set TLS authentication type. Currently, the only supported option is "SRP", for TLS-SRP (RFC 5054). If <a class="emphasis" href="#--tlsuser">--tlsuser</a> and <a class="emphasis" href="#--tlspassword">--tlspassword</a> are specified but <a class="emphasis" href="#--tlsauthtype">--tlsauthtype</a> is not, then this option defaults to "SRP". (Added in 7.21.4)
-<p class="level0"><a name="--tlspassword"></a><span class="nroffip">--tlspassword &lt;password&gt;</span>
-<p class="level1">Set password for use with the TLS authentication method specified with <a class="emphasis" href="#--tlsauthtype">--tlsauthtype</a>. Requires that <a class="emphasis" href="#--tlsuser">--tlsuser</a> also be set. (Added in 7.21.4)
-<p class="level0"><a name="--tlsuser"></a><span class="nroffip">--tlsuser &lt;user&gt;</span>
-<p class="level1">Set username for use with the TLS authentication method specified with <a class="emphasis" href="#--tlsauthtype">--tlsauthtype</a>. Requires that <a class="emphasis" href="#--tlspassword">--tlspassword</a> also be set. (Added in 7.21.4)
-<p class="level0"><a name="--tlsv10"></a><span class="nroffip">--tlsv1.0</span>
-<p class="level1">(SSL) Forces curl to use TLS version 1.0 when negotiating with a remote TLS server. (Added in 7.34.0)
-<p class="level0"><a name="--tlsv11"></a><span class="nroffip">--tlsv1.1</span>
-<p class="level1">(SSL) Forces curl to use TLS version 1.1 when negotiating with a remote TLS server. (Added in 7.34.0)
-<p class="level0"><a name="--tlsv12"></a><span class="nroffip">--tlsv1.2</span>
-<p class="level1">(SSL) Forces curl to use TLS version 1.2 when negotiating with a remote TLS server. (Added in 7.34.0)
-<p class="level0"><a name="--tr-encoding"></a><span class="nroffip">--tr-encoding</span>
-<p class="level1">(HTTP) Request a compressed Transfer-Encoding response using one of the algorithms curl supports, and uncompress the data while receiving it.
-<p class="level1">(Added in 7.21.6)
-<p class="level0"><a name="--trace"></a><span class="nroffip">--trace &lt;file&gt;</span>
-<p class="level1">Enables a full trace dump of all incoming and outgoing data, including descriptive information, to the given output file. Use "-" as filename to have the output sent to stdout.
-<p class="level1">This option overrides previous uses of <a class="emphasis" href="#-v">-v, --verbose</a> or <a class="emphasis" href="#--trace-ascii">--trace-ascii</a>.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--trace-ascii"></a><span class="nroffip">--trace-ascii &lt;file&gt;</span>
-<p class="level1">Enables a full trace dump of all incoming and outgoing data, including descriptive information, to the given output file. Use "-" as filename to have the output sent to stdout.
-<p class="level1">This is very similar to <a class="emphasis" href="#--trace">--trace</a>, but leaves out the hex part and only shows the ASCII part of the dump. It makes smaller output that might be easier to read for untrained humans.
-<p class="level1">This option overrides previous uses of <a class="emphasis" href="#-v">-v, --verbose</a> or <a class="emphasis" href="#--trace">--trace</a>.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--trace-time"></a><span class="nroffip">--trace-time</span>
-<p class="level1">Prepends a time stamp to each trace or verbose line that curl displays. (Added in 7.14.0)
-<p class="level0"><a name="--unix-socket"></a><span class="nroffip">--unix-socket &lt;path&gt;</span>
-<p class="level1">(HTTP) Connect through this Unix domain socket, instead of using the network. (Added in 7.40.0)
-<p class="level0"><a name="-u"></a><span class="nroffip">-u, --user &lt;user:password&gt;</span>
-<p class="level1">Specify the user name and password to use for server authentication. Overrides <a class="emphasis" href="#-n">-n, --netrc</a> and <a class="emphasis" href="#--netrc-optional">--netrc-optional</a>.
-<p class="level1">If you simply specify the user name, curl will prompt for a password.
-<p class="level1">The user name and passwords are split up on the first colon, which makes it impossible to use a colon in the user name with this option. The password can, still.
-<p class="level1">When using Kerberos V5 with a Windows based server you should include the Windows domain name in the user name, in order for the server to successfully obtain a Kerberos Ticket. If you don't then the initial authentication handshake may fail.
-<p class="level1">When using NTLM, the user name can be specified simply as the user name, without the domain, if there is a single domain and forest in your setup for example.
-<p class="level1">To specify the domain name use either Down-Level Logon Name or UPN (User Principal Name) formats. For example, EXAMPLE\user and user@example.com respectively.
-<p class="level1">If you use a Windows SSPI-enabled curl binary and perform Kerberos V5, Negotiate, NTLM or Digest authentication then you can tell curl to select the user name and password from your environment by specifying a single colon with this option: "-u :".
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="-U"></a><span class="nroffip">-U, --proxy-user &lt;user:password&gt;</span>
-<p class="level1">Specify the user name and password to use for proxy authentication.
-<p class="level1">If you use a Windows SSPI-enabled curl binary and do either Negotiate or NTLM authentication then you can tell curl to select the user name and password from your environment by specifying a single colon with this option: "-U :".
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--url"></a><span class="nroffip">--url &lt;URL&gt;</span>
-<p class="level1">Specify a URL to fetch. This option is mostly handy when you want to specify URL(s) in a config file.
-<p class="level1">If the given URL is missing a scheme name (such as "http://" or "ftp://" etc) then curl 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 <a class="emphasis" href="#--proto-default">--proto-default</a> for details.
-<p class="level1">This option may be used any number of times. To control where this URL is written, use the <a class="emphasis" href="#-o">-o, --output</a> or the <a class="emphasis" href="#-O">-O, --remote-name</a> options.
-<p class="level0"><a name="-v"></a><span class="nroffip">-v, --verbose</span>
-<p class="level1">Be more verbose/talkative during the operation. Useful for debugging and seeing what's going on "under the hood". A line starting with '&gt;' means "header data" sent by curl, '&lt;' means "header data" received by curl that is hidden in normal cases, and a line starting with '*' means additional info provided by curl.
-<p class="level1">Note that if you only want HTTP headers in the output, <a class="emphasis" href="#-i">-i, --include</a> might be the option you're looking for.
-<p class="level1">If you think this option still doesn't give you enough details, consider using <a class="emphasis" href="#--trace">--trace</a> or <a class="emphasis" href="#--trace-ascii">--trace-ascii</a> instead.
-<p class="level1">This option overrides previous uses of <a class="emphasis" href="#--trace-ascii">--trace-ascii</a> or <a class="emphasis" href="#--trace">--trace</a>.
-<p class="level1">Use <a class="emphasis" href="#-s">-s, --silent</a> to make curl quiet.
-<p class="level0"><a name="-w"></a><span class="nroffip">-w, --write-out &lt;format&gt;</span>
-<p class="level1">Make curl display information on stdout after a completed transfer. The format is a string that may contain plain text mixed with any number of variables. The format can be specified as a literal "string", or you can have curl read the format from a file with "@filename" and to tell curl to read the format from stdin you write "@-".
-<p class="level1">The variables present in the output format will be substituted by the value or text that curl thinks fit, as described below. All variables are specified as %{variable_name} and to output a normal % you just write them as %%. You can output a newline by using \n, a carriage return with \r and a tab space with \t.
-<p class="level1"><span Class="bold">NOTE:</span> The %-symbol is a special symbol in the win32-environment, where all occurrences of % must be doubled when using this option.
-<p class="level1">The variables available are:
-<p class="level2">
-<p class="level2"><span Class="bold">content_type</span> The Content-Type of the requested document, if there was any.
-<p class="level2"><span Class="bold">filename_effective</span> The ultimate filename that curl writes out to. This is only meaningful if curl is told to write to a file with the <span Class="emphasis">--remote-name</span> or <span Class="emphasis">--output</span> option. It's most useful in combination with the <span Class="emphasis">--remote-header-name</span> option. (Added in 7.26.0)
-<p class="level2"><span Class="bold">ftp_entry_path</span> The initial path curl ended up in when logging on to the remote FTP server. (Added in 7.15.4)
-<p class="level2"><span Class="bold">http_code</span> The numerical response code that was found in the last retrieved HTTP(S) or FTP(s) transfer. In 7.18.2 the alias <span Class="bold">response_code</span> was added to show the same info.
-<p class="level2"><span Class="bold">http_connect</span> The numerical code that was found in the last response (from a proxy) to a curl CONNECT request. (Added in 7.12.4)
-<p class="level2"><span Class="bold">http_version</span> The http version that was effectively used. (Added in 7.50.0)
-<p class="level2"><span Class="bold">local_ip</span> The IP address of the local end of the most recently done connection - can be either IPv4 or IPv6 (Added in 7.29.0)
-<p class="level2"><span Class="bold">local_port</span> The local port number of the most recently done connection (Added in 7.29.0)
-<p class="level2"><span Class="bold">num_connects</span> Number of new connects made in the recent transfer. (Added in 7.12.3)
-<p class="level2"><span Class="bold">num_redirects</span> Number of redirects that were followed in the request. (Added in 7.12.3)
-<p class="level2"><span Class="bold">redirect_url</span> When an HTTP request was made without -L to follow redirects, this variable will show the actual URL a redirect <span Class="emphasis">would</span> take you to. (Added in 7.18.2)
-<p class="level2"><span Class="bold">remote_ip</span> The remote IP address of the most recently done connection - can be either IPv4 or IPv6 (Added in 7.29.0)
-<p class="level2"><span Class="bold">remote_port</span> The remote port number of the most recently done connection (Added in 7.29.0)
-<p class="level2"><span Class="bold">size_download</span> The total amount of bytes that were downloaded.
-<p class="level2"><span Class="bold">size_header</span> The total amount of bytes of the downloaded headers.
-<p class="level2"><span Class="bold">size_request</span> The total amount of bytes that were sent in the HTTP request.
-<p class="level2"><span Class="bold">size_upload</span> The total amount of bytes that were uploaded.
-<p class="level2"><span Class="bold">speed_download</span> The average download speed that curl measured for the complete download. Bytes per second.
-<p class="level2"><span Class="bold">speed_upload</span> The average upload speed that curl measured for the complete upload. Bytes per second.
-<p class="level2"><span Class="bold">ssl_verify_result</span> The result of the SSL peer certificate verification that was requested. 0 means the verification was successful. (Added in 7.19.0)
-<p class="level2"><span Class="bold">time_appconnect</span> The time, in seconds, it took from the start until the SSL/SSH/etc connect/handshake to the remote host was completed. (Added in 7.19.0)
-<p class="level2"><span Class="bold">time_connect</span> The time, in seconds, it took from the start until the TCP connect to the remote host (or proxy) was completed.
-<p class="level2"><span Class="bold">time_namelookup</span> The time, in seconds, it took from the start until the name resolving was completed.
-<p class="level2"><span Class="bold">time_pretransfer</span> The time, in seconds, it took from the start until the file transfer was just about to begin. This includes all pre-transfer commands and negotiations that are specific to the particular protocol(s) involved.
-<p class="level2"><span Class="bold">time_redirect</span> The time, in seconds, it took for all redirection steps include name lookup, connect, pretransfer and transfer before the final transaction was started. time_redirect shows the complete execution time for multiple redirections. (Added in 7.12.3)
-<p class="level2"><span Class="bold">time_starttransfer</span> The time, in seconds, it took from the start until the first byte was just about to be transferred. This includes time_pretransfer and also the time the server needed to calculate the result.
-<p class="level2"><span Class="bold">time_total</span> The total time, in seconds, that the full operation lasted. The time will be displayed with millisecond resolution.
-<p class="level2"><span Class="bold">url_effective</span> The URL that was fetched last. This is most meaningful if you've told curl to follow location: headers.
-<p class="level1">
-<p class="level0"><a name=""></a><span class="nroffip"></span>
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="-x"></a><span class="nroffip">-x, --proxy &lt;[protocol://][user:password@]proxyhost[:port]&gt;</span>
-<p class="level1">Use the specified proxy.
-<p class="level1">The proxy string can be specified with a protocol:// prefix to specify alternative proxy protocols. Use socks4://, socks4a://, socks5:// or socks5h:// to request the specific SOCKS version to be used. No protocol specified, http:// and all others will be treated as HTTP proxies. (The protocol support was added in curl 7.21.7)
-<p class="level1">If the port number is not specified in the proxy string, it is assumed to be 1080.
-<p class="level1">This option overrides existing environment variables that set the proxy to use. If there's an environment variable setting a proxy, you can set proxy to "" to override it.
-<p class="level1">All operations that are performed over an HTTP proxy will transparently be converted to HTTP. It means that certain protocol specific operations might not be available. This is not the case if you can tunnel through the proxy, as one with the <a class="emphasis" href="#-p">-p, --proxytunnel</a> option.
-<p class="level1">User and password that might be provided in the proxy string are URL decoded by curl. This allows you to pass in special characters such as @ by using %40 or pass in a colon with %3a.
-<p class="level1">The proxy host can be specified the exact same way as the proxy environment variables, including the protocol prefix (http://) and the embedded user + password.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="-X"></a><span class="nroffip">-X, --request &lt;command&gt;</span>
-<p class="level1">(HTTP) Specifies a custom request method to use when communicating with the HTTP server. The specified request method will be used instead of the method otherwise used (which defaults to GET). Read the HTTP 1.1 specification for details and explanations. Common additional HTTP requests include PUT and DELETE, but related technologies like WebDAV offers PROPFIND, COPY, MOVE and more.
-<p class="level1">Normally you don't need this option. All sorts of GET, HEAD, POST and PUT requests are rather invoked by using dedicated command line options.
-<p class="level1">This option only changes the actual word used in the HTTP request, it does not alter the way curl behaves. So for example if you want to make a proper HEAD request, using -X HEAD will not suffice. You need to use the <a class="emphasis" href="#-I">-I, --head</a> option.
-<p class="level1">The method string you set with -X will be used for all requests, which if you for example use <a class="bold" href="#-L">-L, --location</a> may cause unintended side-effects when curl doesn't change request method according to the HTTP 30x response codes - and similar.
-<p class="level1">(FTP) Specifies a custom FTP command to use instead of LIST when doing file lists with FTP.
-<p class="level1">(POP3) Specifies a custom POP3 command to use instead of LIST or RETR. (Added in 7.26.0)
-<p class="level1">(IMAP) Specifies a custom IMAP command to use instead of LIST. (Added in 7.30.0)
-<p class="level1">(SMTP) Specifies a custom SMTP command to use instead of HELP or VRFY. (Added in 7.34.0)
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="--xattr"></a><span class="nroffip">--xattr</span>
-<p class="level1">When saving output to a file, this option tells curl to store certain file metadata in extended file attributes. Currently, the URL is stored in the xdg.origin.url attribute and, for HTTP, the content type is stored in the mime_type attribute. If the file system does not support extended attributes, a warning is issued.
-<p class="level1">
-<p class="level0"><a name="-y"></a><span class="nroffip">-y, --speed-time &lt;time&gt;</span>
-<p class="level1">If a download is slower than speed-limit bytes per second during a speed-time period, the download gets aborted. If speed-time is used, the default speed-limit will be 1 unless set with <a class="emphasis" href="#-Y">-Y</a>.
-<p class="level1">This option controls transfers and thus will not affect slow connects etc. If this is a concern for you, try the <a class="emphasis" href="#--connect-timeout">--connect-timeout</a> option.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="-Y"></a><span class="nroffip">-Y, --speed-limit &lt;speed&gt;</span>
-<p class="level1">If a download is slower than this given speed (in bytes per second) for speed-time seconds it gets aborted. speed-time is set with <a class="emphasis" href="#-y">-y</a> and is 30 if not set.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="-z"></a><span class="nroffip">-z, --time-cond &lt;date expression&gt;|&lt;file&gt;</span>
-<p class="level1">(HTTP/FTP) Request a file that has been modified later than the given time and date, or one that has been modified before that time. The &lt;date expression&gt; can be all sorts of date strings or if it doesn't match any internal ones, it is taken as a filename and tries to get the modification date (mtime) from &lt;file&gt; instead. See the <span Class="emphasis">curl_getdate(3)</span> man pages for date expression details.
-<p class="level1">Start the date expression with a dash (-) to make it request for a document that is older than the given date/time, default is a document that is newer than the specified date/time.
-<p class="level1">If this option is used several times, the last one will be used.
-<p class="level0"><a name="-h"></a><span class="nroffip">-h, --help</span>
-<p class="level1">Usage help. This lists all current command line options with a short description.
-<p class="level0"><a name="-M"></a><span class="nroffip">-M, --manual</span>
-<p class="level1">Manual. Display the huge help text.
-<p class="level0"><a name="-V"></a><span class="nroffip">-V, --version</span>
-<p class="level1">Displays information about curl and the libcurl version it uses.
-<p class="level1">The first line includes the full version of curl, libcurl and other 3rd party libraries linked with the executable.
-<p class="level1">The second line (starts with "Protocols:") shows all protocols that libcurl reports to support.
-<p class="level1">The third line (starts with "Features:") shows specific features libcurl reports to offer. Available features include:
-<p class="level2">
-<p class="level1"><a name="IPv6"></a><span class="nroffip">IPv6</span>
-<p class="level2">You can use IPv6 with this.
-<p class="level1"><a name="krb4"></a><span class="nroffip">krb4</span>
-<p class="level2">Krb4 for FTP is supported.
-<p class="level1"><a name="SSL"></a><span class="nroffip">SSL</span>
-<p class="level2">SSL versions of various protocols are supported, such as HTTPS, FTPS, POP3S and so on.
-<p class="level1"><a name="libz"></a><span class="nroffip">libz</span>
-<p class="level2">Automatic decompression of compressed files over HTTP is supported.
-<p class="level1"><a name="NTLM"></a><span class="nroffip">NTLM</span>
-<p class="level2">NTLM authentication is supported.
-<p class="level1"><a name="Debug"></a><span class="nroffip">Debug</span>
-<p class="level2">This curl uses a libcurl built with Debug. This enables more error-tracking and memory debugging etc. For curl-developers only!
-<p class="level1"><a name="AsynchDNS"></a><span class="nroffip">AsynchDNS</span>
-<p class="level2">This curl uses asynchronous name resolves. Asynchronous name resolves can be done using either the c-ares or the threaded resolver backends.
-<p class="level1"><a name="SPNEGO"></a><span class="nroffip">SPNEGO</span>
-<p class="level2">SPNEGO authentication is supported.
-<p class="level1"><a name="Largefile"></a><span class="nroffip">Largefile</span>
-<p class="level2">This curl supports transfers of large files, files larger than 2GB.
-<p class="level1"><a name="IDN"></a><span class="nroffip">IDN</span>
-<p class="level2">This curl supports IDN - international domain names.
-<p class="level1"><a name="GSS-API"></a><span class="nroffip">GSS-API</span>
-<p class="level2">GSS-API is supported.
-<p class="level1"><a name="SSPI"></a><span class="nroffip">SSPI</span>
-<p class="level2">SSPI is supported.
-<p class="level1"><a name="TLS-SRP"></a><span class="nroffip">TLS-SRP</span>
-<p class="level2">SRP (Secure Remote Password) authentication is supported for TLS.
-<p class="level1"><a name="HTTP2"></a><span class="nroffip">HTTP2</span>
-<p class="level2">HTTP/2 support has been built-in.
-<p class="level1"><a name="Metalink"></a><span class="nroffip">Metalink</span>
-<p class="level2">This curl supports Metalink (both version 3 and 4 (RFC 5854)), which describes mirrors and hashes. curl will use mirrors for failover if there are errors (such as the file or server not being available).
-<p class="level1"><a name="FILES"></a><h2 class="nroffsh">FILES</h2>
-<p class="level0"><span Class="emphasis">~/.curlrc</span>
-<p class="level1">Default config file, see <a class="emphasis" href="#-K">-K, --config</a> for details. <a name="ENVIRONMENT"></a><h2 class="nroffsh">ENVIRONMENT</h2>
-<p class="level0">The environment variables can be specified in lower case or upper case. The lower case version has precedence. http_proxy is an exception as it is only available in lower case.
-<p class="level0">Using an environment variable to set the proxy has the same effect as using the <span Class="emphasis">--proxy</span> option.
-<p class="level0">
-<p class="level0"><a name="httpproxy"></a><span class="nroffip">http_proxy [protocol://]&lt;host&gt;[:port]</span>
-<p class="level1">Sets the proxy server to use for HTTP.
-<p class="level0"><a name="HTTPSPROXY"></a><span class="nroffip">HTTPS_PROXY [protocol://]&lt;host&gt;[:port]</span>
-<p class="level1">Sets the proxy server to use for HTTPS.
-<p class="level0"><a name="url-protocolPROXY"></a><span class="nroffip">[url-protocol]_PROXY [protocol://]&lt;host&gt;[:port]</span>
-<p class="level1">Sets the proxy server to use for [url-protocol], where the protocol is a protocol that curl supports and as specified in a URL. FTP, FTPS, POP3, IMAP, SMTP, LDAP etc.
-<p class="level0"><a name="ALLPROXY"></a><span class="nroffip">ALL_PROXY [protocol://]&lt;host&gt;[:port]</span>
-<p class="level1">Sets the proxy server to use if no protocol-specific proxy is set.
-<p class="level0"><a name="NOPROXY"></a><span class="nroffip">NO_PROXY &lt;comma-separated list of hosts&gt;</span>
-<p class="level1">list of host names that shouldn't go through any proxy. If set to a asterisk '*' only, it matches all hosts. <a name="PROXY"></a><h2 class="nroffsh">PROXY PROTOCOL PREFIXES</h2>
-<p class="level0">Since curl version 7.21.7, the proxy string may be specified with a protocol:// prefix to specify alternative proxy protocols.
-<p class="level0">If no protocol is specified in the proxy string or if the string doesn't match a supported one, the proxy will be treated as an HTTP proxy.
-<p class="level0">The supported proxy protocol prefixes are as follows:
-<p class="level0"><a name="socks4"></a><span class="nroffip">socks4://</span>
-<p class="level1">Makes it the equivalent of <a class="emphasis" href="#--socks4">--socks4</a>
-<p class="level0"><a name="socks4a"></a><span class="nroffip">socks4a://</span>
-<p class="level1">Makes it the equivalent of <a class="emphasis" href="#--socks4a">--socks4a</a>
-<p class="level0"><a name="socks5"></a><span class="nroffip">socks5://</span>
-<p class="level1">Makes it the equivalent of <a class="emphasis" href="#--socks5">--socks5</a>
-<p class="level0"><a name="socks5h"></a><span class="nroffip">socks5h://</span>
-<p class="level1">Makes it the equivalent of <a class="emphasis" href="#--socks5-hostname">--socks5-hostname</a> <a name="EXIT"></a><h2 class="nroffsh">EXIT CODES</h2>
-<p class="level0">There are a bunch of different error codes and their corresponding error messages that may appear during bad conditions. At the time of this writing, the exit codes are:
-<p class="level0"><a name="1"></a><span class="nroffip">1</span>
-<p class="level1">Unsupported protocol. This build of curl has no support for this protocol.
-<p class="level0"><a name="2"></a><span class="nroffip">2</span>
-<p class="level1">Failed to initialize.
-<p class="level0"><a name="3"></a><span class="nroffip">3</span>
-<p class="level1">URL malformed. The syntax was not correct.
-<p class="level0"><a name="4"></a><span class="nroffip">4</span>
-<p class="level1">A feature or option that was needed to perform the desired request was not enabled or was explicitly disabled at build-time. To make curl able to do this, you probably need another build of libcurl!
-<p class="level0"><a name="5"></a><span class="nroffip">5</span>
-<p class="level1">Couldn't resolve proxy. The given proxy host could not be resolved.
-<p class="level0"><a name="6"></a><span class="nroffip">6</span>
-<p class="level1">Couldn't resolve host. The given remote host was not resolved.
-<p class="level0"><a name="7"></a><span class="nroffip">7</span>
-<p class="level1">Failed to connect to host.
-<p class="level0"><a name="8"></a><span class="nroffip">8</span>
-<p class="level1">FTP weird server reply. The server sent data curl couldn't parse.
-<p class="level0"><a name="9"></a><span class="nroffip">9</span>
-<p class="level1">FTP access denied. The server denied login or denied access to the particular resource or directory you wanted to reach. Most often you tried to change to a directory that doesn't exist on the server.
-<p class="level0"><a name="11"></a><span class="nroffip">11</span>
-<p class="level1">FTP weird PASS reply. Curl couldn't parse the reply sent to the PASS request.
-<p class="level0"><a name="13"></a><span class="nroffip">13</span>
-<p class="level1">FTP weird PASV reply, Curl couldn't parse the reply sent to the PASV request.
-<p class="level0"><a name="14"></a><span class="nroffip">14</span>
-<p class="level1">FTP weird 227 format. Curl couldn't parse the 227-line the server sent.
-<p class="level0"><a name="15"></a><span class="nroffip">15</span>
-<p class="level1">FTP can't get host. Couldn't resolve the host IP we got in the 227-line.
-<p class="level0"><a name="17"></a><span class="nroffip">17</span>
-<p class="level1">FTP couldn't set binary. Couldn't change transfer method to binary.
-<p class="level0"><a name="18"></a><span class="nroffip">18</span>
-<p class="level1">Partial file. Only a part of the file was transferred.
-<p class="level0"><a name="19"></a><span class="nroffip">19</span>
-<p class="level1">FTP couldn't download/access the given file, the RETR (or similar) command failed.
-<p class="level0"><a name="21"></a><span class="nroffip">21</span>
-<p class="level1">FTP quote error. A quote command returned error from the server.
-<p class="level0"><a name="22"></a><span class="nroffip">22</span>
-<p class="level1">HTTP page not retrieved. The requested url was not found or returned another error with the HTTP error code being 400 or above. This return code only appears if <a class="emphasis" href="#-f">-f, --fail</a> is used.
-<p class="level0"><a name="23"></a><span class="nroffip">23</span>
-<p class="level1">Write error. Curl couldn't write data to a local filesystem or similar.
-<p class="level0"><a name="25"></a><span class="nroffip">25</span>
-<p class="level1">FTP couldn't STOR file. The server denied the STOR operation, used for FTP uploading.
-<p class="level0"><a name="26"></a><span class="nroffip">26</span>
-<p class="level1">Read error. Various reading problems.
-<p class="level0"><a name="27"></a><span class="nroffip">27</span>
-<p class="level1">Out of memory. A memory allocation request failed.
-<p class="level0"><a name="28"></a><span class="nroffip">28</span>
-<p class="level1">Operation timeout. The specified time-out period was reached according to the conditions.
-<p class="level0"><a name="30"></a><span class="nroffip">30</span>
-<p class="level1">FTP PORT failed. The PORT command failed. Not all FTP servers support the PORT command, try doing a transfer using PASV instead!
-<p class="level0"><a name="31"></a><span class="nroffip">31</span>
-<p class="level1">FTP couldn't use REST. The REST command failed. This command is used for resumed FTP transfers.
-<p class="level0"><a name="33"></a><span class="nroffip">33</span>
-<p class="level1">HTTP range error. The range "command" didn't work.
-<p class="level0"><a name="34"></a><span class="nroffip">34</span>
-<p class="level1">HTTP post error. Internal post-request generation error.
-<p class="level0"><a name="35"></a><span class="nroffip">35</span>
-<p class="level1">SSL connect error. The SSL handshaking failed.
-<p class="level0"><a name="36"></a><span class="nroffip">36</span>
-<p class="level1">FTP bad download resume. Couldn't continue an earlier aborted download.
-<p class="level0"><a name="37"></a><span class="nroffip">37</span>
-<p class="level1">FILE couldn't read file. Failed to open the file. Permissions?
-<p class="level0"><a name="38"></a><span class="nroffip">38</span>
-<p class="level1">LDAP cannot bind. LDAP bind operation failed.
-<p class="level0"><a name="39"></a><span class="nroffip">39</span>
-<p class="level1">LDAP search failed.
-<p class="level0"><a name="41"></a><span class="nroffip">41</span>
-<p class="level1">Function not found. A required LDAP function was not found.
-<p class="level0"><a name="42"></a><span class="nroffip">42</span>
-<p class="level1">Aborted by callback. An application told curl to abort the operation.
-<p class="level0"><a name="43"></a><span class="nroffip">43</span>
-<p class="level1">Internal error. A function was called with a bad parameter.
-<p class="level0"><a name="45"></a><span class="nroffip">45</span>
-<p class="level1">Interface error. A specified outgoing interface could not be used.
-<p class="level0"><a name="47"></a><span class="nroffip">47</span>
-<p class="level1">Too many redirects. When following redirects, curl hit the maximum amount.
-<p class="level0"><a name="48"></a><span class="nroffip">48</span>
-<p class="level1">Unknown option specified to libcurl. This indicates that you passed a weird option to curl that was passed on to libcurl and rejected. Read up in the manual!
-<p class="level0"><a name="49"></a><span class="nroffip">49</span>
-<p class="level1">Malformed telnet option.
-<p class="level0"><a name="51"></a><span class="nroffip">51</span>
-<p class="level1">The peer's SSL certificate or SSH MD5 fingerprint was not OK.
-<p class="level0"><a name="52"></a><span class="nroffip">52</span>
-<p class="level1">The server didn't reply anything, which here is considered an error.
-<p class="level0"><a name="53"></a><span class="nroffip">53</span>
-<p class="level1">SSL crypto engine not found.
-<p class="level0"><a name="54"></a><span class="nroffip">54</span>
-<p class="level1">Cannot set SSL crypto engine as default.
-<p class="level0"><a name="55"></a><span class="nroffip">55</span>
-<p class="level1">Failed sending network data.
-<p class="level0"><a name="56"></a><span class="nroffip">56</span>
-<p class="level1">Failure in receiving network data.
-<p class="level0"><a name="58"></a><span class="nroffip">58</span>
-<p class="level1">Problem with the local certificate.
-<p class="level0"><a name="59"></a><span class="nroffip">59</span>
-<p class="level1">Couldn't use specified SSL cipher.
-<p class="level0"><a name="60"></a><span class="nroffip">60</span>
-<p class="level1">Peer certificate cannot be authenticated with known CA certificates.
-<p class="level0"><a name="61"></a><span class="nroffip">61</span>
-<p class="level1">Unrecognized transfer encoding.
-<p class="level0"><a name="62"></a><span class="nroffip">62</span>
-<p class="level1">Invalid LDAP URL.
-<p class="level0"><a name="63"></a><span class="nroffip">63</span>
-<p class="level1">Maximum file size exceeded.
-<p class="level0"><a name="64"></a><span class="nroffip">64</span>
-<p class="level1">Requested FTP SSL level failed.
-<p class="level0"><a name="65"></a><span class="nroffip">65</span>
-<p class="level1">Sending the data requires a rewind that failed.
-<p class="level0"><a name="66"></a><span class="nroffip">66</span>
-<p class="level1">Failed to initialise SSL Engine.
-<p class="level0"><a name="67"></a><span class="nroffip">67</span>
-<p class="level1">The user name, password, or similar was not accepted and curl failed to log in.
-<p class="level0"><a name="68"></a><span class="nroffip">68</span>
-<p class="level1">File not found on TFTP server.
-<p class="level0"><a name="69"></a><span class="nroffip">69</span>
-<p class="level1">Permission problem on TFTP server.
-<p class="level0"><a name="70"></a><span class="nroffip">70</span>
-<p class="level1">Out of disk space on TFTP server.
-<p class="level0"><a name="71"></a><span class="nroffip">71</span>
-<p class="level1">Illegal TFTP operation.
-<p class="level0"><a name="72"></a><span class="nroffip">72</span>
-<p class="level1">Unknown TFTP transfer ID.
-<p class="level0"><a name="73"></a><span class="nroffip">73</span>
-<p class="level1">File already exists (TFTP).
-<p class="level0"><a name="74"></a><span class="nroffip">74</span>
-<p class="level1">No such user (TFTP).
-<p class="level0"><a name="75"></a><span class="nroffip">75</span>
-<p class="level1">Character conversion failed.
-<p class="level0"><a name="76"></a><span class="nroffip">76</span>
-<p class="level1">Character conversion functions required.
-<p class="level0"><a name="77"></a><span class="nroffip">77</span>
-<p class="level1">Problem with reading the SSL CA cert (path? access rights?).
-<p class="level0"><a name="78"></a><span class="nroffip">78</span>
-<p class="level1">The resource referenced in the URL does not exist.
-<p class="level0"><a name="79"></a><span class="nroffip">79</span>
-<p class="level1">An unspecified error occurred during the SSH session.
-<p class="level0"><a name="80"></a><span class="nroffip">80</span>
-<p class="level1">Failed to shut down the SSL connection.
-<p class="level0"><a name="82"></a><span class="nroffip">82</span>
-<p class="level1">Could not load CRL file, missing or wrong format (added in 7.19.0).
-<p class="level0"><a name="83"></a><span class="nroffip">83</span>
-<p class="level1">Issuer check failed (added in 7.19.0).
-<p class="level0"><a name="84"></a><span class="nroffip">84</span>
-<p class="level1">The FTP PRET command failed
-<p class="level0"><a name="85"></a><span class="nroffip">85</span>
-<p class="level1">RTSP: mismatch of CSeq numbers
-<p class="level0"><a name="86"></a><span class="nroffip">86</span>
-<p class="level1">RTSP: mismatch of Session Identifiers
-<p class="level0"><a name="87"></a><span class="nroffip">87</span>
-<p class="level1">unable to parse FTP file list
-<p class="level0"><a name="88"></a><span class="nroffip">88</span>
-<p class="level1">FTP chunk callback reported error
-<p class="level0"><a name="89"></a><span class="nroffip">89</span>
-<p class="level1">No connection available, the session will be queued
-<p class="level0"><a name="90"></a><span class="nroffip">90</span>
-<p class="level1">SSL public key does not matched pinned public key
-<p class="level0"><a name="XX"></a><span class="nroffip">XX</span>
-<p class="level1">More error codes will appear here in future releases. The existing ones are meant to never change. <a name="AUTHORS"></a><h2 class="nroffsh">AUTHORS / CONTRIBUTORS</h2>
-<p class="level0">Daniel Stenberg is the main author, but the whole list of contributors is found in the separate THANKS file. <a name="WWW"></a><h2 class="nroffsh">WWW</h2>
-<p class="level0"><a href="https://curl.haxx.se">https://curl.haxx.se</a> <a name="FTP"></a><h2 class="nroffsh">FTP</h2>
-<p class="level0"><a href="ftp://ftp.sunet.se/pub/www/utilities/curl/">ftp://ftp.sunet.se/pub/www/utilities/curl/</a> <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">ftp (1)</span>, <span Class="manpage">wget (1)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/curl.pdf b/docs/curl.pdf
deleted file mode 100644
index 72401010d..000000000
--- a/docs/curl.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/examples/10-at-a-time.c b/docs/examples/10-at-a-time.c
index aa1862ec5..455529182 100644
--- a/docs/examples/10-at-a-time.c
+++ b/docs/examples/10-at-a-time.c
@@ -86,7 +86,7 @@ static const char *urls[] = {
};
#define MAX 10 /* number of simultaneous transfers */
-#define CNT sizeof(urls)/sizeof(char*) /* total number of transfers to do */
+#define CNT sizeof(urls)/sizeof(char *) /* total number of transfers to do */
static size_t cb(char *d, size_t n, size_t l, void *p)
{
diff --git a/docs/examples/Makefile.netware b/docs/examples/Makefile.netware
index 2d85e736a..9fe9db453 100644
--- a/docs/examples/Makefile.netware
+++ b/docs/examples/Makefile.netware
@@ -60,7 +60,7 @@ endif
TARGET = examples
VERSION = $(LIBCURL_VERSION)
COPYR = Copyright (C) $(LIBCURL_COPYRIGHT_STR)
-DESCR = cURL ($(LIBARCH))
+DESCR = curl ($(LIBARCH))
MTSAFE = YES
STACK = 8192
SCREEN = Example Program
diff --git a/docs/examples/anyauthput.c b/docs/examples/anyauthput.c
index b1367deb8..1c9f965d5 100644
--- a/docs/examples/anyauthput.c
+++ b/docs/examples/anyauthput.c
@@ -147,13 +147,13 @@ int main(int argc, char **argv)
curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback);
/* which file to upload */
- curl_easy_setopt(curl, CURLOPT_READDATA, (void*)&hd);
+ curl_easy_setopt(curl, CURLOPT_READDATA, (void *)&hd);
/* set the ioctl function */
curl_easy_setopt(curl, CURLOPT_IOCTLFUNCTION, my_ioctl);
/* pass the file descriptor to the ioctl callback as well */
- curl_easy_setopt(curl, CURLOPT_IOCTLDATA, (void*)&hd);
+ curl_easy_setopt(curl, CURLOPT_IOCTLDATA, (void *)&hd);
/* enable "uploading" (which means PUT when doing HTTP) */
curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
diff --git a/docs/examples/asiohiper.cpp b/docs/examples/asiohiper.cpp
index d6065e554..ced4ef419 100644
--- a/docs/examples/asiohiper.cpp
+++ b/docs/examples/asiohiper.cpp
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 2012 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 2012 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -40,8 +40,8 @@
* Note:
* For the sake of simplicity, URL is hard coded to "www.google.com"
*
- * This is purely a demo app, all retrieved data is simply discarded by the write
- * callback.
+ * This is purely a demo app, all retrieved data is simply discarded by the
+ * write callback.
*/
@@ -85,14 +85,12 @@ static int multi_timer_cb(CURLM *multi, long timeout_ms, GlobalInfo *g)
/* cancel running timer */
timer.cancel();
- if(timeout_ms > 0)
- {
+ if(timeout_ms > 0) {
/* update timer */
timer.expires_from_now(boost::posix_time::millisec(timeout_ms));
timer.async_wait(boost::bind(&timer_cb, _1, g));
}
- else
- {
+ else {
/* call timeout function immediately */
boost::system::error_code error; /*success*/
timer_cb(error, g);
@@ -104,11 +102,9 @@ static int multi_timer_cb(CURLM *multi, long timeout_ms, GlobalInfo *g)
/* Die if we get a bad CURLMcode somewhere */
static void mcode_or_die(const char *where, CURLMcode code)
{
- if(CURLM_OK != code)
- {
+ if(CURLM_OK != code) {
const char *s;
- switch(code)
- {
+ switch(code) {
case CURLM_CALL_MULTI_PERFORM:
s = "CURLM_CALL_MULTI_PERFORM";
break;
@@ -158,10 +154,8 @@ static void check_multi_info(GlobalInfo *g)
fprintf(MSG_OUT, "\nREMAINING: %d", g->still_running);
- while((msg = curl_multi_info_read(g->multi, &msgs_left)))
- {
- if(msg->msg == CURLMSG_DONE)
- {
+ while((msg = curl_multi_info_read(g->multi, &msgs_left))) {
+ if(msg->msg == CURLMSG_DONE) {
easy = msg->easy_handle;
res = msg->data.result;
curl_easy_getinfo(easy, CURLINFO_PRIVATE, &conn);
@@ -177,33 +171,55 @@ static void check_multi_info(GlobalInfo *g)
/* Called by asio when there is an action on a socket */
static void event_cb(GlobalInfo *g, boost::asio::ip::tcp::socket *tcp_socket,
- int action)
+ int action, const boost::system::error_code & error,
+ int *fdp)
{
fprintf(MSG_OUT, "\nevent_cb: action=%d", action);
- CURLMcode rc;
- rc = curl_multi_socket_action(g->multi, tcp_socket->native_handle(), action,
- &g->still_running);
+ /* make sure the event matches what are wanted */
+ if(*fdp == action || *fdp == CURL_POLL_INOUT) {
+ curl_socket_t s = tcp_socket->native_handle();
+ CURLMcode rc;
+ if(error)
+ action = CURL_CSELECT_ERR;
+ rc = curl_multi_socket_action(g->multi, s, action, &g->still_running);
- mcode_or_die("event_cb: curl_multi_socket_action", rc);
- check_multi_info(g);
+ mcode_or_die("event_cb: curl_multi_socket_action", rc);
+ check_multi_info(g);
+
+ if(g->still_running <= 0) {
+ fprintf(MSG_OUT, "\nlast transfer done, kill timeout");
+ timer.cancel();
+ }
- if(g->still_running <= 0)
- {
- fprintf(MSG_OUT, "\nlast transfer done, kill timeout");
- timer.cancel();
+ /* keep on watching.
+ * the socket may have been closed and/or fdp may have been changed
+ * in curl_multi_socket_action(), so check them both */
+ if(!error && socket_map.find(s) != socket_map.end() &&
+ (*fdp == action || *fdp == CURL_POLL_INOUT)) {
+ if(action == CURL_POLL_IN) {
+ tcp_socket->async_read_some(boost::asio::null_buffers(),
+ boost::bind(&event_cb, g, tcp_socket,
+ action, _1, fdp));
+ }
+ if(action == CURL_POLL_OUT) {
+ tcp_socket->async_write_some(boost::asio::null_buffers(),
+ boost::bind(&event_cb, g, tcp_socket,
+ action, _1, fdp));
+ }
+ }
}
}
/* Called by asio when our timeout expires */
static void timer_cb(const boost::system::error_code & error, GlobalInfo *g)
{
- if(!error)
- {
+ if(!error) {
fprintf(MSG_OUT, "\ntimer_cb: ");
CURLMcode rc;
- rc = curl_multi_socket_action(g->multi, CURL_SOCKET_TIMEOUT, 0, &g->still_running);
+ rc = curl_multi_socket_action(g->multi, CURL_SOCKET_TIMEOUT, 0,
+ &g->still_running);
mcode_or_die("timer_cb: curl_multi_socket_action", rc);
check_multi_info(g);
@@ -215,22 +231,21 @@ static void remsock(int *f, GlobalInfo *g)
{
fprintf(MSG_OUT, "\nremsock: ");
- if(f)
- {
+ if(f) {
free(f);
}
}
-static void setsock(int *fdp, curl_socket_t s, CURL*e, int act, GlobalInfo*g)
+static void setsock(int *fdp, curl_socket_t s, CURL *e, int act, int oldact,
+ GlobalInfo *g)
{
fprintf(MSG_OUT, "\nsetsock: socket=%d, act=%d, fdp=%p", s, act, fdp);
- std::map<curl_socket_t, boost::asio::ip::tcp::socket *>::iterator it = socket_map.find(s);
+ std::map<curl_socket_t, boost::asio::ip::tcp::socket *>::iterator it =
+ socket_map.find(s);
- if(it == socket_map.end())
- {
+ if(it == socket_map.end()) {
fprintf(MSG_OUT, "\nsocket %d is a c-ares socket, ignoring", s);
-
return;
}
@@ -238,29 +253,34 @@ static void setsock(int *fdp, curl_socket_t s, CURL*e, int act, GlobalInfo*g)
*fdp = act;
- if(act == CURL_POLL_IN)
- {
+ if(act == CURL_POLL_IN) {
fprintf(MSG_OUT, "\nwatching for socket to become readable");
-
- tcp_socket->async_read_some(boost::asio::null_buffers(),
- boost::bind(&event_cb, g, tcp_socket, act));
+ if(oldact != CURL_POLL_IN && oldact != CURL_POLL_INOUT) {
+ tcp_socket->async_read_some(boost::asio::null_buffers(),
+ boost::bind(&event_cb, g, tcp_socket,
+ CURL_POLL_IN, _1, fdp));
+ }
}
- else if (act == CURL_POLL_OUT)
- {
+ else if(act == CURL_POLL_OUT) {
fprintf(MSG_OUT, "\nwatching for socket to become writable");
-
- tcp_socket->async_write_some(boost::asio::null_buffers(),
- boost::bind(&event_cb, g, tcp_socket, act));
+ if(oldact != CURL_POLL_OUT && oldact != CURL_POLL_INOUT) {
+ tcp_socket->async_write_some(boost::asio::null_buffers(),
+ boost::bind(&event_cb, g, tcp_socket,
+ CURL_POLL_OUT, _1, fdp));
+ }
}
- else if(act == CURL_POLL_INOUT)
- {
+ else if(act == CURL_POLL_INOUT) {
fprintf(MSG_OUT, "\nwatching for socket to become readable & writable");
-
- tcp_socket->async_read_some(boost::asio::null_buffers(),
- boost::bind(&event_cb, g, tcp_socket, act));
-
- tcp_socket->async_write_some(boost::asio::null_buffers(),
- boost::bind(&event_cb, g, tcp_socket, act));
+ if(oldact != CURL_POLL_IN && oldact != CURL_POLL_INOUT) {
+ tcp_socket->async_read_some(boost::asio::null_buffers(),
+ boost::bind(&event_cb, g, tcp_socket,
+ CURL_POLL_IN, _1, fdp));
+ }
+ if(oldact != CURL_POLL_OUT && oldact != CURL_POLL_INOUT) {
+ tcp_socket->async_write_some(boost::asio::null_buffers(),
+ boost::bind(&event_cb, g, tcp_socket,
+ CURL_POLL_OUT, _1, fdp));
+ }
}
}
@@ -269,7 +289,7 @@ static void addsock(curl_socket_t s, CURL *easy, int action, GlobalInfo *g)
/* fdp is used to store current action */
int *fdp = (int *) calloc(sizeof(int), 1);
- setsock(fdp, s, easy, action, g);
+ setsock(fdp, s, easy, action, 0, g);
curl_multi_assign(g->multi, s, fdp);
}
@@ -285,24 +305,20 @@ static int sock_cb(CURL *e, curl_socket_t s, int what, void *cbp, void *sockp)
fprintf(MSG_OUT,
"\nsocket callback: s=%d e=%p what=%s ", s, e, whatstr[what]);
- if(what == CURL_POLL_REMOVE)
- {
+ if(what == CURL_POLL_REMOVE) {
fprintf(MSG_OUT, "\n");
remsock(actionp, g);
}
- else
- {
- if(!actionp)
- {
+ else {
+ if(!actionp) {
fprintf(MSG_OUT, "\nAdding data: %s", whatstr[what]);
addsock(s, e, what, g);
}
- else
- {
+ else {
fprintf(MSG_OUT,
"\nChanging action from %s to %s",
whatstr[*actionp], whatstr[what]);
- setsock(actionp, s, e, what, g);
+ setsock(actionp, s, e, what, *actionp, g);
}
}
@@ -312,9 +328,8 @@ static int sock_cb(CURL *e, curl_socket_t s, int what, void *cbp, void *sockp)
/* CURLOPT_WRITEFUNCTION */
static size_t write_cb(void *ptr, size_t size, size_t nmemb, void *data)
{
-
size_t written = size * nmemb;
- char* pBuffer = (char *) malloc(written + 1);
+ char *pBuffer = (char *)malloc(written + 1);
strncpy(pBuffer, (const char *)ptr, written);
pBuffer[written] = '\0';
@@ -350,28 +365,28 @@ static curl_socket_t opensocket(void *clientp, curlsocktype purpose,
curl_socket_t sockfd = CURL_SOCKET_BAD;
/* restrict to IPv4 */
- if(purpose == CURLSOCKTYPE_IPCXN && address->family == AF_INET)
- {
+ if(purpose == CURLSOCKTYPE_IPCXN && address->family == AF_INET) {
/* create a tcp socket object */
- boost::asio::ip::tcp::socket *tcp_socket = new boost::asio::ip::tcp::socket(io_service);
+ boost::asio::ip::tcp::socket *tcp_socket =
+ new boost::asio::ip::tcp::socket(io_service);
/* open it and get the native handle*/
boost::system::error_code ec;
tcp_socket->open(boost::asio::ip::tcp::v4(), ec);
- if(ec)
- {
+ if(ec) {
/* An error occurred */
- std::cout << std::endl << "Couldn't open socket [" << ec << "][" << ec.message() << "]";
+ std::cout << std::endl << "Couldn't open socket [" << ec << "][" <<
+ ec.message() << "]";
fprintf(MSG_OUT, "\nERROR: Returning CURL_SOCKET_BAD to signal error");
}
- else
- {
+ else {
sockfd = tcp_socket->native_handle();
fprintf(MSG_OUT, "\nOpened socket %d", sockfd);
/* save it for monitoring */
- socket_map.insert(std::pair<curl_socket_t, boost::asio::ip::tcp::socket *>(sockfd, tcp_socket));
+ socket_map.insert(std::pair<curl_socket_t,
+ boost::asio::ip::tcp::socket *>(sockfd, tcp_socket));
}
}
@@ -383,10 +398,10 @@ static int close_socket(void *clientp, curl_socket_t item)
{
fprintf(MSG_OUT, "\nclose_socket : %d", item);
- std::map<curl_socket_t, boost::asio::ip::tcp::socket *>::iterator it = socket_map.find(item);
+ std::map<curl_socket_t, boost::asio::ip::tcp::socket *>::iterator it =
+ socket_map.find(item);
- if(it != socket_map.end())
- {
+ if(it != socket_map.end()) {
delete it->second;
socket_map.erase(it);
}
@@ -403,10 +418,8 @@ static void new_conn(char *url, GlobalInfo *g)
conn = (ConnInfo *) calloc(1, sizeof(ConnInfo));
conn->easy = curl_easy_init();
- if(!conn->easy)
- {
+ if(!conn->easy) {
fprintf(MSG_OUT, "\ncurl_easy_init() failed, exiting!");
-
exit(2);
}
diff --git a/docs/examples/cacertinmem.c b/docs/examples/cacertinmem.c
index bba8c722e..ace58e48e 100644
--- a/docs/examples/cacertinmem.c
+++ b/docs/examples/cacertinmem.c
@@ -34,12 +34,12 @@ size_t writefunction(void *ptr, size_t size, size_t nmemb, void *stream)
return (nmemb*size);
}
-static CURLcode sslctx_function(CURL * curl, void * sslctx, void * parm)
+static CURLcode sslctx_function(CURL *curl, void *sslctx, void *parm)
{
- X509_STORE * store;
- X509 * cert=NULL;
- BIO * bio;
- char * mypem = /* www.cacert.org */
+ X509_STORE *store;
+ X509 *cert=NULL;
+ BIO *bio;
+ char *mypem = /* www.cacert.org */
"-----BEGIN CERTIFICATE-----\n"\
"MIIHPTCCBSWgAwIBAgIBADANBgkqhkiG9w0BAQQFADB5MRAwDgYDVQQKEwdSb290\n"\
"IENBMR4wHAYDVQQLExVodHRwOi8vd3d3LmNhY2VydC5vcmcxIjAgBgNVBAMTGUNB\n"\
@@ -107,7 +107,7 @@ static CURLcode sslctx_function(CURL * curl, void * sslctx, void * parm)
int main(void)
{
- CURL * ch;
+ CURL *ch;
CURLcode rv;
rv=curl_global_init(CURL_GLOBAL_ALL);
diff --git a/docs/examples/curlx.c b/docs/examples/curlx.c
index 155da2371..cd1677af3 100644
--- a/docs/examples/curlx.c
+++ b/docs/examples/curlx.c
@@ -133,14 +133,14 @@ static const char *curlx_usage[]={
/* This is a context that we pass to all callbacks */
typedef struct sslctxparm_st {
- unsigned char * p12file;
- const char * pst;
- PKCS12 * p12;
- EVP_PKEY * pkey;
- X509 * usercert;
+ unsigned char *p12file;
+ const char *pst;
+ PKCS12 *p12;
+ EVP_PKEY *pkey;
+ X509 *usercert;
STACK_OF(X509) * ca;
- CURL * curl;
- BIO * errorbio;
+ CURL *curl;
+ BIO *errorbio;
int accesstype;
int verbose;
@@ -196,11 +196,12 @@ static int ssl_app_verify_callback(X509_STORE_CTX *ctx, void *arg)
BIO_printf(p->errorbio, "entering ssl_app_verify_callback\n");
if((ok= X509_verify_cert(ctx)) && ctx->cert) {
- unsigned char * accessinfo;
+ unsigned char *accessinfo;
if(p->verbose > 1)
X509_print_ex(p->errorbio, ctx->cert, 0, 0);
- if(accessinfo = my_get_ext(ctx->cert, p->accesstype, NID_sinfo_access)) {
+ accessinfo = my_get_ext(ctx->cert, p->accesstype, NID_sinfo_access);
+ if(accessinfo) {
if(p->verbose)
BIO_printf(p->errorbio, "Setting URL from SIA to: %s\n", accessinfo);
@@ -228,10 +229,10 @@ static int ssl_app_verify_callback(X509_STORE_CTX *ctx, void *arg)
- an application verification callback (the function above)
*/
-static CURLcode sslctxfun(CURL * curl, void * sslctx, void * parm)
+static CURLcode sslctxfun(CURL *curl, void *sslctx, void *parm)
{
- sslctxparm * p = (sslctxparm *) parm;
- SSL_CTX * ctx = (SSL_CTX *) sslctx;
+ sslctxparm *p = (sslctxparm *) parm;
+ SSL_CTX *ctx = (SSL_CTX *) sslctx;
if(!SSL_CTX_use_certificate(ctx, p->usercert)) {
BIO_printf(p->errorbio, "SSL_CTX_use_certificate problem\n");
@@ -270,30 +271,30 @@ int main(int argc, char **argv)
BIO* in=NULL;
BIO* out=NULL;
- char * outfile = NULL;
- char * infile = NULL;
+ char *outfile = NULL;
+ char *infile = NULL;
int tabLength=100;
char *binaryptr;
- char* mimetype;
- char* mimetypeaccept=NULL;
- char* contenttype;
- const char** pp;
- unsigned char* hostporturl = NULL;
- BIO * p12bio;
+ char *mimetype;
+ char *mimetypeaccept=NULL;
+ char *contenttype;
+ const char **pp;
+ unsigned char *hostporturl = NULL;
+ BIO *p12bio;
char **args = argv + 1;
- unsigned char * serverurl;
+ unsigned char *serverurl;
sslctxparm p;
char *response;
CURLcode res;
- struct curl_slist * headers=NULL;
+ struct curl_slist *headers=NULL;
int badarg=0;
binaryptr = malloc(tabLength);
p.verbose = 0;
- p.errorbio = BIO_new_fp (stderr, BIO_NOCLOSE);
+ p.errorbio = BIO_new_fp(stderr, BIO_NOCLOSE);
curl_global_init(CURL_GLOBAL_DEFAULT);
@@ -355,7 +356,8 @@ int main(int argc, char **argv)
}
else if(strcmp(*args, "-accesstype") == 0) {
if(args[1]) {
- if((p.accesstype = OBJ_obj2nid(OBJ_txt2obj(*++args, 0))) == 0)
+ p.accesstype = OBJ_obj2nid(OBJ_txt2obj(*++args, 0));
+ if(p.accesstype == 0)
badarg=1;
}
else
@@ -408,18 +410,21 @@ int main(int argc, char **argv)
}
- p.errorbio = BIO_new_fp (stderr, BIO_NOCLOSE);
+ p.errorbio = BIO_new_fp(stderr, BIO_NOCLOSE);
- if(!(p.curl = curl_easy_init())) {
+ p.curl = curl_easy_init();
+ if(!p.curl) {
BIO_printf(p.errorbio, "Cannot init curl lib\n");
goto err;
}
- if(!(p12bio = BIO_new_file(p.p12file, "rb"))) {
+ p12bio = BIO_new_file(p.p12file, "rb");
+ if(!p12bio) {
BIO_printf(p.errorbio, "Error opening P12 file %s\n", p.p12file);
goto err;
}
- if(!(p.p12 = d2i_PKCS12_bio (p12bio, NULL))) {
+ p.p12 = d2i_PKCS12_bio(p12bio, NULL);
+ if(!p.p12) {
BIO_printf(p.errorbio, "Cannot decode P12 structure %s\n", p.p12file);
goto err;
}
@@ -447,16 +452,19 @@ int main(int argc, char **argv)
}
else if(p.accesstype != 0) { /* see whether we can find an AIA or SIA for a
given access type */
- if(!(serverurl = my_get_ext(p.usercert, p.accesstype, NID_info_access))) {
+ serverurl = my_get_ext(p.usercert, p.accesstype, NID_info_access);
+ if(!serverurl) {
int j=0;
BIO_printf(p.errorbio, "no service URL in user cert "
"cherching in others certificats\n");
for(j=0; j<sk_X509_num(p.ca); j++) {
- if((serverurl = my_get_ext(sk_X509_value(p.ca, j), p.accesstype,
- NID_info_access)))
+ serverurl = my_get_ext(sk_X509_value(p.ca, j), p.accesstype,
+ NID_info_access);
+ if(serverurl)
break;
- if((serverurl = my_get_ext(sk_X509_value(p.ca, j), p.accesstype,
- NID_sinfo_access)))
+ serverurl = my_get_ext(sk_X509_value(p.ca, j), p.accesstype,
+ NID_sinfo_access);
+ if(serverurl)
break;
}
}
@@ -505,7 +513,7 @@ int main(int argc, char **argv)
{
int lu; int i=0;
- while((lu = BIO_read (in, &binaryptr[i], tabLength-i)) >0) {
+ while((lu = BIO_read(in, &binaryptr[i], tabLength-i)) >0) {
i+=lu;
if(i== tabLength) {
tabLength+=100;
diff --git a/docs/examples/debug.c b/docs/examples/debug.c
index f5d58bf19..cbf1c1106 100644
--- a/docs/examples/debug.c
+++ b/docs/examples/debug.c
@@ -88,7 +88,7 @@ int my_trace(CURL *handle, curl_infotype type,
const char *text;
(void)handle; /* prevent compiler warning */
- switch (type) {
+ switch(type) {
case CURLINFO_TEXT:
fprintf(stderr, "== Info: %s", data);
default: /* in case a new one is introduced to shock us */
diff --git a/docs/examples/evhiperfifo.c b/docs/examples/evhiperfifo.c
index 118f152ee..efe42475a 100644
--- a/docs/examples/evhiperfifo.c
+++ b/docs/examples/evhiperfifo.c
@@ -86,7 +86,7 @@ typedef struct _GlobalInfo
struct ev_timer timer_event;
CURLM *multi;
int still_running;
- FILE* input;
+ FILE *input;
} GlobalInfo;
@@ -134,7 +134,7 @@ static void mcode_or_die(const char *where, CURLMcode code)
{
if(CURLM_OK != code) {
const char *s;
- switch (code) {
+ switch(code) {
case CURLM_BAD_HANDLE:
s="CURLM_BAD_HANDLE";
break;
@@ -243,7 +243,8 @@ static void remsock(SockInfo *f, GlobalInfo *g)
/* Assign information to a SockInfo structure */
-static void setsock(SockInfo*f, curl_socket_t s, CURL*e, int act, GlobalInfo*g)
+static void setsock(SockInfo *f, curl_socket_t s, CURL *e, int act,
+ GlobalInfo *g)
{
printf("%s \n", __PRETTY_FUNCTION__);
@@ -316,8 +317,8 @@ static size_t write_cb(void *ptr, size_t size, size_t nmemb, void *data)
/* CURLOPT_PROGRESSFUNCTION */
-static int prog_cb (void *p, double dltotal, double dlnow, double ult,
- double uln)
+static int prog_cb(void *p, double dltotal, double dlnow, double ult,
+ double uln)
{
ConnInfo *conn = (ConnInfo *)p;
(void)ult;
@@ -387,7 +388,7 @@ static void fifo_cb(EV_P_ struct ev_io *w, int revents)
}
/* Create a named pipe and tell libevent to monitor it */
-static int init_fifo (GlobalInfo *g)
+static int init_fifo(GlobalInfo *g)
{
struct stat st;
static const char *fifo = "hiper.fifo";
@@ -398,18 +399,18 @@ static int init_fifo (GlobalInfo *g)
if((st.st_mode & S_IFMT) == S_IFREG) {
errno = EEXIST;
perror("lstat");
- exit (1);
+ exit(1);
}
}
unlink(fifo);
if(mkfifo (fifo, 0600) == -1) {
perror("mkfifo");
- exit (1);
+ exit(1);
}
sockfd = open(fifo, O_RDWR | O_NONBLOCK, 0);
if(sockfd == -1) {
perror("open");
- exit (1);
+ exit(1);
}
g->input = fdopen(sockfd, "r");
diff --git a/docs/examples/externalsocket.c b/docs/examples/externalsocket.c
index 9b144b42d..918f08218 100644
--- a/docs/examples/externalsocket.c
+++ b/docs/examples/externalsocket.c
@@ -90,9 +90,8 @@ int main(void)
#ifdef WIN32
WSADATA wsaData;
- int initwsa;
-
- if((initwsa = WSAStartup(MAKEWORD(2, 0), &wsaData)) != 0) {
+ int initwsa = WSAStartup(MAKEWORD(2, 0), &wsaData);
+ if(initwsa != 0) {
printf("WSAStartup failed: %d\n", initwsa);
return 1;
}
@@ -107,7 +106,8 @@ int main(void)
curl_easy_setopt(curl, CURLOPT_URL, "http://99.99.99.99:9999");
/* Create the socket "manually" */
- if((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == CURL_SOCKET_BAD) {
+ sockfd = socket(AF_INET, SOCK_STREAM, 0);
+ if(sockfd == CURL_SOCKET_BAD) {
printf("Error creating listening socket.\n");
return 3;
}
@@ -116,7 +116,8 @@ int main(void)
servaddr.sin_family = AF_INET;
servaddr.sin_port = htons(PORTNUM);
- if(INADDR_NONE == (servaddr.sin_addr.s_addr = inet_addr(IPADDR)))
+ servaddr.sin_addr.s_addr = inet_addr(IPADDR);
+ if(INADDR_NONE == servaddr.sin_addr.s_addr)
return 2;
if(connect(sockfd, (struct sockaddr *) &servaddr, sizeof(servaddr)) ==
diff --git a/docs/examples/fileupload.c b/docs/examples/fileupload.c
index 363fae694..6b05c4cec 100644
--- a/docs/examples/fileupload.c
+++ b/docs/examples/fileupload.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -37,16 +37,12 @@ int main(void)
FILE *fd;
fd = fopen("debugit", "rb"); /* open file to upload */
- if(!fd) {
-
+ if(!fd)
return 1; /* can't continue */
- }
/* to get the file size */
- if(fstat(fileno(fd), &file_info) != 0) {
-
+ if(fstat(fileno(fd), &file_info) != 0)
return 1; /* can't continue */
- }
curl = curl_easy_init();
if(curl) {
@@ -86,5 +82,6 @@ int main(void)
/* always cleanup */
curl_easy_cleanup(curl);
}
+ fclose(fd);
return 0;
}
diff --git a/docs/examples/fopen.c b/docs/examples/fopen.c
index 71be178ef..7435264a7 100644
--- a/docs/examples/fopen.c
+++ b/docs/examples/fopen.c
@@ -84,7 +84,7 @@ URL_FILE *url_fopen(const char *url, const char *operation);
int url_fclose(URL_FILE *file);
int url_feof(URL_FILE *file);
size_t url_fread(void *ptr, size_t size, size_t nmemb, URL_FILE *file);
-char * url_fgets(char *ptr, size_t size, URL_FILE *file);
+char *url_fgets(char *ptr, size_t size, URL_FILE *file);
void url_rewind(URL_FILE *file);
/* we use a global one for convenience */
diff --git a/docs/examples/ftpupload.c b/docs/examples/ftpupload.c
index bba0c4d53..41e2d807c 100644
--- a/docs/examples/ftpupload.c
+++ b/docs/examples/ftpupload.c
@@ -127,7 +127,7 @@ int main(void)
curl_easy_strerror(res));
/* clean up the FTP commands list */
- curl_slist_free_all (headerlist);
+ curl_slist_free_all(headerlist);
/* always cleanup */
curl_easy_cleanup(curl);
diff --git a/docs/examples/ftpuploadresume.c b/docs/examples/ftpuploadresume.c
index 641563404..8f7f45dae 100644
--- a/docs/examples/ftpuploadresume.c
+++ b/docs/examples/ftpuploadresume.c
@@ -36,8 +36,8 @@
/* The MinGW headers are missing a few Win32 function definitions,
you shouldn't need this if you use VC++ */
#if defined(__MINGW32__) && !defined(__MINGW64__)
-int __cdecl _snscanf(const char * input, size_t length,
- const char * format, ...);
+int __cdecl _snscanf(const char *input, size_t length,
+ const char *format, ...);
#endif
@@ -77,7 +77,7 @@ size_t readfunc(void *ptr, size_t size, size_t nmemb, void *stream)
}
-int upload(CURL *curlhandle, const char * remotepath, const char * localpath,
+int upload(CURL *curlhandle, const char *remotepath, const char *localpath,
long timeout, long tries)
{
FILE *f;
diff --git a/docs/examples/ghiper.c b/docs/examples/ghiper.c
index 7317a63d8..a1af4c5a3 100644
--- a/docs/examples/ghiper.c
+++ b/docs/examples/ghiper.c
@@ -94,10 +94,11 @@ typedef struct _SockInfo {
} SockInfo;
/* Die if we get a bad CURLMcode somewhere */
-static void mcode_or_die(const char *where, CURLMcode code) {
+static void mcode_or_die(const char *where, CURLMcode code)
+{
if(CURLM_OK != code) {
const char *s;
- switch (code) {
+ switch(code) {
case CURLM_BAD_HANDLE: s="CURLM_BAD_HANDLE"; break;
case CURLM_BAD_EASY_HANDLE: s="CURLM_BAD_EASY_HANDLE"; break;
case CURLM_OUT_OF_MEMORY: s="CURLM_OUT_OF_MEMORY"; break;
@@ -206,7 +207,8 @@ static void remsock(SockInfo *f)
}
/* Assign information to a SockInfo structure */
-static void setsock(SockInfo*f, curl_socket_t s, CURL*e, int act, GlobalInfo*g)
+static void setsock(SockInfo *f, curl_socket_t s, CURL *e, int act,
+ GlobalInfo *g)
{
GIOCondition kind =
(act&CURL_POLL_IN?G_IO_IN:0)|(act&CURL_POLL_OUT?G_IO_OUT:0);
@@ -270,8 +272,8 @@ static size_t write_cb(void *ptr, size_t size, size_t nmemb, void *data)
}
/* CURLOPT_PROGRESSFUNCTION */
-static int prog_cb (void *p, double dltotal, double dlnow, double ult,
- double uln)
+static int prog_cb(void *p, double dltotal, double dlnow, double ult,
+ double uln)
{
ConnInfo *conn = (ConnInfo *)p;
MSG_OUT("Progress: %s (%g/%g)\n", conn->url, dlnow, dltotal);
@@ -316,7 +318,7 @@ static void new_conn(char *url, GlobalInfo *g)
}
/* This gets called by glib whenever data is received from the fifo */
-static gboolean fifo_cb (GIOChannel *ch, GIOCondition condition, gpointer data)
+static gboolean fifo_cb(GIOChannel *ch, GIOCondition condition, gpointer data)
{
#define BUF_SIZE 1024
gsize len, tp;
@@ -378,21 +380,21 @@ int init_fifo(void)
if((st.st_mode & S_IFMT) == S_IFREG) {
errno = EEXIST;
perror("lstat");
- exit (1);
+ exit(1);
}
}
- unlink (fifo);
+ unlink(fifo);
if(mkfifo (fifo, 0600) == -1) {
perror("mkfifo");
- exit (1);
+ exit(1);
}
- socket = open (fifo, O_RDWR | O_NONBLOCK, 0);
+ socket = open(fifo, O_RDWR | O_NONBLOCK, 0);
if(socket == -1) {
perror("open");
- exit (1);
+ exit(1);
}
MSG_OUT("Now, pipe some URL's into > %s\n", fifo);
diff --git a/docs/examples/hiperfifo.c b/docs/examples/hiperfifo.c
index 98bcafe6d..f08fcda99 100644
--- a/docs/examples/hiperfifo.c
+++ b/docs/examples/hiperfifo.c
@@ -82,7 +82,7 @@ typedef struct _GlobalInfo
struct event *timer_event;
CURLM *multi;
int still_running;
- FILE* input;
+ FILE *input;
} GlobalInfo;
@@ -128,7 +128,7 @@ static void mcode_or_die(const char *where, CURLMcode code)
{
if(CURLM_OK != code) {
const char *s;
- switch (code) {
+ switch(code) {
case CURLM_BAD_HANDLE: s="CURLM_BAD_HANDLE"; break;
case CURLM_BAD_EASY_HANDLE: s="CURLM_BAD_EASY_HANDLE"; break;
case CURLM_OUT_OF_MEMORY: s="CURLM_OUT_OF_MEMORY"; break;
@@ -230,7 +230,8 @@ static void remsock(SockInfo *f)
/* Assign information to a SockInfo structure */
-static void setsock(SockInfo*f, curl_socket_t s, CURL*e, int act, GlobalInfo*g)
+static void setsock(SockInfo *f, curl_socket_t s, CURL *e, int act,
+ GlobalInfo *g)
{
int kind =
(act&CURL_POLL_IN?EV_READ:0)|(act&CURL_POLL_OUT?EV_WRITE:0)|EV_PERSIST;
@@ -299,8 +300,8 @@ static size_t write_cb(void *ptr, size_t size, size_t nmemb, void *data)
/* CURLOPT_PROGRESSFUNCTION */
-static int prog_cb (void *p, double dltotal, double dlnow, double ult,
- double uln)
+static int prog_cb(void *p, double dltotal, double dlnow, double ult,
+ double uln)
{
ConnInfo *conn = (ConnInfo *)p;
(void)ult;
@@ -370,7 +371,7 @@ static void fifo_cb(int fd, short event, void *arg)
/* Create a named pipe and tell libevent to monitor it */
static const char *fifo = "hiper.fifo";
-static int init_fifo (GlobalInfo *g)
+static int init_fifo(GlobalInfo *g)
{
struct stat st;
curl_socket_t sockfd;
@@ -380,18 +381,18 @@ static int init_fifo (GlobalInfo *g)
if((st.st_mode & S_IFMT) == S_IFREG) {
errno = EEXIST;
perror("lstat");
- exit (1);
+ exit(1);
}
}
unlink(fifo);
if(mkfifo (fifo, 0600) == -1) {
perror("mkfifo");
- exit (1);
+ exit(1);
}
sockfd = open(fifo, O_RDWR | O_NONBLOCK, 0);
if(sockfd == -1) {
perror("open");
- exit (1);
+ exit(1);
}
g->input = fdopen(sockfd, "r");
diff --git a/docs/examples/htmltitle.cpp b/docs/examples/htmltitle.cpp
index 5e6b4a003..8148888a4 100644
--- a/docs/examples/htmltitle.cpp
+++ b/docs/examples/htmltitle.cpp
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -22,14 +22,14 @@
/* <DESC>
* Get a web page, extract the title with libxml.
* </DESC>
- */
-// Written by Lars Nilsson
-//
-// GNU C++ compile command line suggestion (edit paths accordingly):
-//
-// g++ -Wall -I/opt/curl/include -I/opt/libxml/include/libxml2 htmltitle.cpp \
-// -o htmltitle -L/opt/curl/lib -L/opt/libxml/lib -lcurl -lxml2
+ Written by Lars Nilsson
+
+ GNU C++ compile command line suggestion (edit paths accordingly):
+
+ g++ -Wall -I/opt/curl/include -I/opt/libxml/include/libxml2 htmltitle.cpp \
+ -o htmltitle -L/opt/curl/lib -L/opt/libxml/lib -lcurl -lxml2
+*/
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
@@ -72,7 +72,7 @@ static std::string buffer;
static int writer(char *data, size_t size, size_t nmemb,
std::string *writerData)
{
- if (writerData == NULL)
+ if(writerData == NULL)
return 0;
writerData->append(data, size*nmemb);
@@ -90,50 +90,38 @@ static bool init(CURL *&conn, char *url)
conn = curl_easy_init();
- if (conn == NULL)
- {
+ if(conn == NULL) {
fprintf(stderr, "Failed to create CURL connection\n");
-
exit(EXIT_FAILURE);
}
code = curl_easy_setopt(conn, CURLOPT_ERRORBUFFER, errorBuffer);
- if (code != CURLE_OK)
- {
+ if(code != CURLE_OK) {
fprintf(stderr, "Failed to set error buffer [%d]\n", code);
-
return false;
}
code = curl_easy_setopt(conn, CURLOPT_URL, url);
- if (code != CURLE_OK)
- {
+ if(code != CURLE_OK) {
fprintf(stderr, "Failed to set URL [%s]\n", errorBuffer);
-
return false;
}
code = curl_easy_setopt(conn, CURLOPT_FOLLOWLOCATION, 1L);
- if (code != CURLE_OK)
- {
+ if(code != CURLE_OK) {
fprintf(stderr, "Failed to set redirect option [%s]\n", errorBuffer);
-
return false;
}
code = curl_easy_setopt(conn, CURLOPT_WRITEFUNCTION, writer);
- if (code != CURLE_OK)
- {
+ if(code != CURLE_OK) {
fprintf(stderr, "Failed to set writer [%s]\n", errorBuffer);
-
return false;
}
code = curl_easy_setopt(conn, CURLOPT_WRITEDATA, &buffer);
- if (code != CURLE_OK)
- {
+ if(code != CURLE_OK) {
fprintf(stderr, "Failed to set write data [%s]\n", errorBuffer);
-
return false;
}
@@ -150,8 +138,7 @@ static void StartElement(void *voidContext,
{
Context *context = (Context *)voidContext;
- if (COMPARE((char *)name, "TITLE"))
- {
+ if(COMPARE((char *)name, "TITLE")) {
context->title = "";
context->addTitle = true;
}
@@ -167,7 +154,7 @@ static void EndElement(void *voidContext,
{
Context *context = (Context *)voidContext;
- if (COMPARE((char *)name, "TITLE"))
+ if(COMPARE((char *)name, "TITLE"))
context->addTitle = false;
}
@@ -179,7 +166,7 @@ static void handleCharacters(Context *context,
const xmlChar *chars,
int length)
{
- if (context->addTitle)
+ if(context->addTitle)
context->title.append((char *)chars, length);
}
@@ -273,10 +260,8 @@ int main(int argc, char *argv[])
// Ensure one argument is given
- if (argc != 2)
- {
+ if(argc != 2) {
fprintf(stderr, "Usage: %s <url>\n", argv[0]);
-
exit(EXIT_FAILURE);
}
@@ -284,10 +269,8 @@ int main(int argc, char *argv[])
// Initialize CURL connection
- if (!init(conn, argv[1]))
- {
+ if(!init(conn, argv[1])) {
fprintf(stderr, "Connection initializion failed\n");
-
exit(EXIT_FAILURE);
}
@@ -296,19 +279,15 @@ int main(int argc, char *argv[])
code = curl_easy_perform(conn);
curl_easy_cleanup(conn);
- if (code != CURLE_OK)
- {
+ if(code != CURLE_OK) {
fprintf(stderr, "Failed to get '%s' [%s]\n", argv[1], errorBuffer);
-
exit(EXIT_FAILURE);
}
// Parse the (assumed) HTML code
-
parseHtml(buffer, title);
// Display the extracted title
-
printf("Title: %s\n", title.c_str());
return EXIT_SUCCESS;
diff --git a/docs/examples/http2-download.c b/docs/examples/http2-download.c
index 9e87a064e..c82fed285 100644
--- a/docs/examples/http2-download.c
+++ b/docs/examples/http2-download.c
@@ -114,7 +114,7 @@ int my_trace(CURL *handle, curl_infotype type,
int num = hnd2num(handle);
(void)handle; /* prevent compiler warning */
(void)userp;
- switch (type) {
+ switch(type) {
case CURLINFO_TEXT:
fprintf(stderr, "== %d Info: %s", num, data);
default: /* in case a new one is introduced to shock us */
diff --git a/docs/examples/http2-serverpush.c b/docs/examples/http2-serverpush.c
index 1a8c69b7d..ecd9cc5d4 100644
--- a/docs/examples/http2-serverpush.c
+++ b/docs/examples/http2-serverpush.c
@@ -93,7 +93,7 @@ int my_trace(CURL *handle, curl_infotype type,
const char *text;
(void)handle; /* prevent compiler warning */
(void)userp;
- switch (type) {
+ switch(type) {
case CURLINFO_TEXT:
fprintf(stderr, "== Info: %s", data);
default: /* in case a new one is introduced to shock us */
diff --git a/docs/examples/http2-upload.c b/docs/examples/http2-upload.c
index b6353713e..67e17f34b 100644
--- a/docs/examples/http2-upload.c
+++ b/docs/examples/http2-upload.c
@@ -133,7 +133,7 @@ int my_trace(CURL *handle, curl_infotype type,
snprintf(timebuf, sizeof(timebuf), "%02d:%02d:%02d.%06ld",
now->tm_hour, now->tm_min, now->tm_sec, (long)tv.tv_usec);
- switch (type) {
+ switch(type) {
case CURLINFO_TEXT:
fprintf(stderr, "%s [%d] Info: %s", timebuf, num, data);
default: /* in case a new one is introduced to shock us */
diff --git a/docs/examples/imap-append.c b/docs/examples/imap-append.c
index 3f832897d..bbf9fe436 100644
--- a/docs/examples/imap-append.c
+++ b/docs/examples/imap-append.c
@@ -85,6 +85,8 @@ int main(void)
{
CURL *curl;
CURLcode res = CURLE_OK;
+ const char **p;
+ long infilesize;
struct upload_status upload_ctx;
upload_ctx.lines_read = 0;
@@ -107,6 +109,12 @@ int main(void)
curl_easy_setopt(curl, CURLOPT_READDATA, &upload_ctx);
curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
+ infilesize = 0;
+ for(p = payload_text; *p; ++p) {
+ infilesize += (long)strlen(*p);
+ }
+ curl_easy_setopt(curl, CURLOPT_INFILESIZE, infilesize);
+
/* Perform the append */
res = curl_easy_perform(curl);
diff --git a/docs/examples/multi-app.c b/docs/examples/multi-app.c
index f8447930a..9a8ecfeb8 100644
--- a/docs/examples/multi-app.c
+++ b/docs/examples/multi-app.c
@@ -156,7 +156,7 @@ int main(void)
break;
}
- switch (idx) {
+ switch(idx) {
case HTTP_HANDLE:
printf("HTTP transfer completed with status %d\n", msg->data.result);
break;
diff --git a/docs/examples/multi-debugcallback.c b/docs/examples/multi-debugcallback.c
index d07cc3bb9..be241fc72 100644
--- a/docs/examples/multi-debugcallback.c
+++ b/docs/examples/multi-debugcallback.c
@@ -96,7 +96,7 @@ int my_trace(CURL *handle, curl_infotype type,
(void)userp;
(void)handle; /* prevent compiler warning */
- switch (type) {
+ switch(type) {
case CURLINFO_TEXT:
fprintf(stderr, "== Info: %s", data);
default: /* in case a new one is introduced to shock us */
diff --git a/docs/examples/multi-post.c b/docs/examples/multi-post.c
index 5d9abc12f..cc2ca18e9 100644
--- a/docs/examples/multi-post.c
+++ b/docs/examples/multi-post.c
@@ -165,7 +165,7 @@ int main(void)
curl_formfree(formpost);
/* free slist */
- curl_slist_free_all (headerlist);
+ curl_slist_free_all(headerlist);
}
return 0;
}
diff --git a/docs/examples/multi-uv.c b/docs/examples/multi-uv.c
index 51526c894..37e4f4781 100644
--- a/docs/examples/multi-uv.c
+++ b/docs/examples/multi-uv.c
@@ -24,18 +24,12 @@
* multi_socket API using libuv
* </DESC>
*/
-/* Example application code using the multi socket interface to download
- multiple files at once, but instead of using curl_multi_perform and
- curl_multi_wait, which uses select(), we use libuv.
- It supports epoll, kqueue, etc. on unixes and fast IO completion ports on
- Windows, which means, it should be very fast on all platforms..
-
- Written by Clemens Gruber, based on an outdated example from uvbook and
- some tests from libuv.
+/* Example application using the multi socket interface to download multiple
+ files in parallel, powered by libuv.
Requires libuv and (of course) libcurl.
- See http://nikhilm.github.com/uvbook/ for more information on libuv.
+ See https://nikhilm.github.com/uvbook/ for more information on libuv.
*/
#include <stdio.h>
@@ -52,7 +46,7 @@ typedef struct curl_context_s {
curl_socket_t sockfd;
} curl_context_t;
-curl_context_t* create_curl_context(curl_socket_t sockfd)
+static curl_context_t* create_curl_context(curl_socket_t sockfd)
{
curl_context_t *context;
@@ -66,19 +60,18 @@ curl_context_t* create_curl_context(curl_socket_t sockfd)
return context;
}
-void curl_close_cb(uv_handle_t *handle)
+static void curl_close_cb(uv_handle_t *handle)
{
curl_context_t *context = (curl_context_t *) handle->data;
free(context);
}
-void destroy_curl_context(curl_context_t *context)
+static void destroy_curl_context(curl_context_t *context)
{
uv_close((uv_handle_t *) &context->poll_handle, curl_close_cb);
}
-
-void add_download(const char *url, int num)
+static void add_download(const char *url, int num)
{
char filename[50];
FILE *file;
@@ -102,22 +95,28 @@ void add_download(const char *url, int num)
static void check_multi_info(void)
{
- int running_handles;
char *done_url;
CURLMsg *message;
int pending;
+ CURL *easy_handle;
FILE *file;
while((message = curl_multi_info_read(curl_handle, &pending))) {
switch(message->msg) {
case CURLMSG_DONE:
- curl_easy_getinfo(message->easy_handle, CURLINFO_EFFECTIVE_URL,
- &done_url);
- curl_easy_getinfo(message->easy_handle, CURLINFO_PRIVATE, &file);
+ /* Do not use message data after calling curl_multi_remove_handle() and
+ curl_easy_cleanup(). As per curl_multi_info_read() docs:
+ "WARNING: The data the returned pointer points to will not survive
+ calling curl_multi_cleanup, curl_multi_remove_handle or
+ curl_easy_cleanup." */
+ easy_handle = message->easy_handle;
+
+ curl_easy_getinfo(easy_handle, CURLINFO_EFFECTIVE_URL, &done_url);
+ curl_easy_getinfo(easy_handle, CURLINFO_PRIVATE, &file);
printf("%s DONE\n", done_url);
- curl_multi_remove_handle(curl_handle, message->easy_handle);
- curl_easy_cleanup(message->easy_handle);
+ curl_multi_remove_handle(curl_handle, easy_handle);
+ curl_easy_cleanup(easy_handle);
if(file) {
fclose(file);
}
@@ -130,23 +129,18 @@ static void check_multi_info(void)
}
}
-void curl_perform(uv_poll_t *req, int status, int events)
+static void curl_perform(uv_poll_t *req, int status, int events)
{
int running_handles;
int flags = 0;
curl_context_t *context;
- char *done_url;
- CURLMsg *message;
- int pending;
-
- uv_timer_stop(&timeout);
if(events & UV_READABLE)
flags |= CURL_CSELECT_IN;
if(events & UV_WRITABLE)
flags |= CURL_CSELECT_OUT;
- context = (curl_context_t *) req;
+ context = (curl_context_t *) req->data;
curl_multi_socket_action(curl_handle, context->sockfd, flags,
&running_handles);
@@ -154,7 +148,7 @@ void curl_perform(uv_poll_t *req, int status, int events)
check_multi_info();
}
-void on_timeout(uv_timer_t *req, int status)
+static void on_timeout(uv_timer_t *req, int status)
{
int running_handles;
curl_multi_socket_action(curl_handle, CURL_SOCKET_TIMEOUT, 0,
@@ -162,34 +156,41 @@ void on_timeout(uv_timer_t *req, int status)
check_multi_info();
}
-void start_timeout(CURLM *multi, long timeout_ms, void *userp)
+static int start_timeout(CURLM *multi, long timeout_ms, void *userp)
{
- if(timeout_ms <= 0)
- timeout_ms = 1; /* 0 means directly call socket_action, but we'll do it in
- a bit */
- uv_timer_start(&timeout, on_timeout, timeout_ms, 0);
+ if(timeout_ms < 0) {
+ uv_timer_stop(&timeout);
+ }
+ else {
+ if(timeout_ms == 0)
+ timeout_ms = 1; /* 0 means directly call socket_action, but we'll do it
+ in a bit */
+ uv_timer_start(&timeout, on_timeout, timeout_ms, 0);
+ }
+ return 0;
}
-int handle_socket(CURL *easy, curl_socket_t s, int action, void *userp,
+static int handle_socket(CURL *easy, curl_socket_t s, int action, void *userp,
void *socketp)
{
curl_context_t *curl_context;
- if(action == CURL_POLL_IN || action == CURL_POLL_OUT) {
- if(socketp) {
- curl_context = (curl_context_t *) socketp;
- }
- else {
- curl_context = create_curl_context(s);
- }
- curl_multi_assign(curl_handle, s, (void *) curl_context);
- }
+ int events = 0;
switch(action) {
case CURL_POLL_IN:
- uv_poll_start(&curl_context->poll_handle, UV_READABLE, curl_perform);
- break;
case CURL_POLL_OUT:
- uv_poll_start(&curl_context->poll_handle, UV_WRITABLE, curl_perform);
+ case CURL_POLL_INOUT:
+ curl_context = socketp ?
+ (curl_context_t *) socketp : create_curl_context(s);
+
+ curl_multi_assign(curl_handle, s, (void *) curl_context);
+
+ if(action != CURL_POLL_IN)
+ events |= UV_WRITABLE;
+ if(action != CURL_POLL_OUT)
+ events |= UV_READABLE;
+
+ uv_poll_start(&curl_context->poll_handle, events, curl_perform);
break;
case CURL_POLL_REMOVE:
if(socketp) {
@@ -213,7 +214,7 @@ int main(int argc, char **argv)
return 0;
if(curl_global_init(CURL_GLOBAL_ALL)) {
- fprintf(stderr, "Could not init cURL\n");
+ fprintf(stderr, "Could not init curl\n");
return 1;
}
diff --git a/docs/examples/multithread.c b/docs/examples/multithread.c
index 475e8fcfc..26c40f5a1 100644
--- a/docs/examples/multithread.c
+++ b/docs/examples/multithread.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -33,10 +33,10 @@
/*
List of URLs to fetch.
- If you intend to use a SSL-based protocol here you MUST setup the OpenSSL
- callback functions as described here:
+ If you intend to use a SSL-based protocol here you might need to setup TLS
+ library mutex callbacks as described here:
- https://www.openssl.org/docs/crypto/threads.html#DESCRIPTION
+ https://curl.haxx.se/libcurl/c/threadsafe.html
*/
const char * const urls[NUMT]= {
diff --git a/docs/examples/opensslthreadlock.c b/docs/examples/opensslthreadlock.c
index eebc42ee2..6f86c7f70 100644
--- a/docs/examples/opensslthreadlock.c
+++ b/docs/examples/opensslthreadlock.c
@@ -52,7 +52,7 @@ void handle_error(const char *file, int lineno, const char *msg)
/* This array will store all of the mutexes available to OpenSSL. */
static MUTEX_TYPE *mutex_buf= NULL;
-static void locking_function(int mode, int n, const char * file, int line)
+static void locking_function(int mode, int n, const char *file, int line)
{
if(mode & CRYPTO_LOCK)
MUTEX_LOCK(mutex_buf[n]);
diff --git a/docs/examples/postit2.c b/docs/examples/postit2.c
index 67e685f1e..ef50a66d9 100644
--- a/docs/examples/postit2.c
+++ b/docs/examples/postit2.c
@@ -101,7 +101,7 @@ int main(int argc, char *argv[])
/* then cleanup the formpost chain */
curl_formfree(formpost);
/* free slist */
- curl_slist_free_all (headerlist);
+ curl_slist_free_all(headerlist);
}
return 0;
}
diff --git a/docs/examples/rtsp.c b/docs/examples/rtsp.c
index 63c46e151..5c66aa6e5 100644
--- a/docs/examples/rtsp.c
+++ b/docs/examples/rtsp.c
@@ -61,13 +61,15 @@ static int _getch(void)
#define VERSION_STR "V1.0"
/* error handling macros */
-#define my_curl_easy_setopt(A, B, C) \
- if((res = curl_easy_setopt((A), (B), (C))) != CURLE_OK) \
+#define my_curl_easy_setopt(A, B, C) \
+ res = curl_easy_setopt((A), (B), (C)); \
+ if(!res) \
fprintf(stderr, "curl_easy_setopt(%s, %s, %s) failed: %d\n", \
#A, #B, #C, res);
-#define my_curl_easy_perform(A) \
- if((res = curl_easy_perform((A))) != CURLE_OK) \
+#define my_curl_easy_perform(A) \
+ res = curl_easy_perform(A); \
+ if(!res) \
fprintf(stderr, "curl_easy_perform(%s) failed: %d\n", #A, res);
@@ -188,7 +190,7 @@ int main(int argc, char * const argv[])
printf("\nRTSP request %s\n", VERSION_STR);
printf(" Project web site: http://code.google.com/p/rtsprequest/\n");
- printf(" Requires cURL V7.20 or greater\n\n");
+ printf(" Requires curl V7.20 or greater\n\n");
/* check command line */
if((argc != 2) && (argc != 3)) {
@@ -226,7 +228,7 @@ int main(int argc, char * const argv[])
if(res == CURLE_OK) {
curl_version_info_data *data = curl_version_info(CURLVERSION_NOW);
CURL *curl;
- fprintf(stderr, " cURL V%s loaded\n", data->version);
+ fprintf(stderr, " curl V%s loaded\n", data->version);
/* initialize this curl session */
curl = curl_easy_init();
diff --git a/docs/examples/sendrecv.c b/docs/examples/sendrecv.c
index 41e283cdc..662323487 100644
--- a/docs/examples/sendrecv.c
+++ b/docs/examples/sendrecv.c
@@ -62,10 +62,9 @@ int main(void)
CURLcode res;
/* Minimalistic http request */
const char *request = "GET / HTTP/1.0\r\nHost: example.com\r\n\r\n";
- curl_socket_t sockfd; /* socket */
- long sockextr;
- size_t iolen;
- curl_off_t nread;
+ size_t request_len = strlen(request);
+ curl_socket_t sockfd;
+ size_t nsent_total = 0;
/* A general note of caution here: if you're using curl_easy_recv() or
curl_easy_send() to implement HTTP or _any_ other protocol libcurl
@@ -82,54 +81,76 @@ int main(void)
curl_easy_setopt(curl, CURLOPT_CONNECT_ONLY, 1L);
res = curl_easy_perform(curl);
- if(CURLE_OK != res) {
- printf("Error: %s\n", strerror(res));
+ if(res != CURLE_OK) {
+ printf("Error: %s\n", curl_easy_strerror(res));
return 1;
}
- /* Extract the socket from the curl handle - we'll need it for waiting.
- * Note that this API takes a pointer to a 'long' while we use
- * curl_socket_t for sockets otherwise.
- */
- res = curl_easy_getinfo(curl, CURLINFO_LASTSOCKET, &sockextr);
+ /* Extract the socket from the curl handle - we'll need it for waiting. */
+ res = curl_easy_getinfo(curl, CURLINFO_ACTIVESOCKET, &sockfd);
- if(CURLE_OK != res) {
+ if(res != CURLE_OK) {
printf("Error: %s\n", curl_easy_strerror(res));
return 1;
}
- sockfd = (curl_socket_t)sockextr;
+ printf("Sending request.\n");
- /* wait for the socket to become ready for sending */
- if(!wait_on_socket(sockfd, 0, 60000L)) {
- printf("Error: timeout.\n");
- return 1;
- }
+ do {
+ /* Warning: This example program may loop indefinitely.
+ * A production-quality program must define a timeout and exit this loop
+ * as soon as the timeout has expired. */
+ size_t nsent;
+ do {
+ nsent = 0;
+ res = curl_easy_send(curl, request + nsent_total,
+ request_len - nsent_total, &nsent);
+ nsent_total += nsent;
- puts("Sending request.");
- /* Send the request. Real applications should check the iolen
- * to see if all the request has been sent */
- res = curl_easy_send(curl, request, strlen(request), &iolen);
+ if(res == CURLE_AGAIN && !wait_on_socket(sockfd, 0, 60000L)) {
+ printf("Error: timeout.\n");
+ return 1;
+ }
+ } while(res == CURLE_AGAIN);
- if(CURLE_OK != res) {
- printf("Error: %s\n", curl_easy_strerror(res));
- return 1;
- }
- puts("Reading response.");
+ if(res != CURLE_OK) {
+ printf("Error: %s\n", curl_easy_strerror(res));
+ return 1;
+ }
- /* read the response */
- for(;;) {
- char buf[1024];
+ printf("Sent %" CURL_FORMAT_CURL_OFF_T " bytes.\n",
+ (curl_off_t)nsent);
+
+ } while(nsent_total < request_len);
- wait_on_socket(sockfd, 1, 60000L);
- res = curl_easy_recv(curl, buf, 1024, &iolen);
+ printf("Reading response.\n");
- if(CURLE_OK != res)
+ for(;;) {
+ /* Warning: This example program may loop indefinitely (see above). */
+ char buf[1024];
+ size_t nread;
+ do {
+ nread = 0;
+ res = curl_easy_recv(curl, buf, sizeof(buf), &nread);
+
+ if(res == CURLE_AGAIN && !wait_on_socket(sockfd, 1, 60000L)) {
+ printf("Error: timeout.\n");
+ return 1;
+ }
+ } while(res == CURLE_AGAIN);
+
+ if(res != CURLE_OK) {
+ printf("Error: %s\n", curl_easy_strerror(res));
break;
+ }
- nread = (curl_off_t)iolen;
+ if(nread == 0) {
+ /* end of the response */
+ break;
+ }
- printf("Received %" CURL_FORMAT_CURL_OFF_T " bytes.\n", nread);
+ printf("Received %" CURL_FORMAT_CURL_OFF_T " bytes.\n",
+ (curl_off_t)nread);
}
/* always cleanup */
diff --git a/docs/examples/sessioninfo.c b/docs/examples/sessioninfo.c
index 11c87cd1b..024a0e12d 100644
--- a/docs/examples/sessioninfo.c
+++ b/docs/examples/sessioninfo.c
@@ -24,7 +24,7 @@
* </DESC>
*/
-/* Note that this example currently requires cURL to be linked against
+/* Note that this example currently requires curl to be linked against
GnuTLS (and this program must also be linked against -lgnutls). */
#include <stdio.h>
diff --git a/docs/examples/smooth-gtk-thread.c b/docs/examples/smooth-gtk-thread.c
index 547cc0f30..713fcc6c3 100644
--- a/docs/examples/smooth-gtk-thread.c
+++ b/docs/examples/smooth-gtk-thread.c
@@ -105,7 +105,7 @@ void *pull_one_url(void *NaN)
curl_easy_cleanup(curl);
}
- g_free (http);
+ g_free(http);
/* Adds more latency, testing the mutex.*/
sleep(1);
@@ -118,7 +118,7 @@ void *pull_one_url(void *NaN)
gboolean pulse_bar(gpointer data)
{
gdk_threads_enter();
- gtk_progress_bar_pulse (GTK_PROGRESS_BAR (data));
+ gtk_progress_bar_pulse(GTK_PROGRESS_BAR (data));
gdk_threads_leave();
/* Return true so the function will be called again;
@@ -182,8 +182,8 @@ int main(int argc, char **argv)
/* Init thread */
g_thread_init(NULL);
- gdk_threads_init ();
- gdk_threads_enter ();
+ gdk_threads_init();
+ gdk_threads_enter();
gtk_init(&argc, &argv);
@@ -203,9 +203,9 @@ int main(int argc, char **argv)
/* Progress bar */
progress_bar = gtk_progress_bar_new();
- gtk_progress_bar_pulse (GTK_PROGRESS_BAR (progress_bar));
+ gtk_progress_bar_pulse(GTK_PROGRESS_BAR (progress_bar));
/* Make uniform pulsing */
- gint pulse_ref = g_timeout_add (300, pulse_bar, progress_bar);
+ gint pulse_ref = g_timeout_add(300, pulse_bar, progress_bar);
g_object_set_data(G_OBJECT(progress_bar), "pulse_id",
GINT_TO_POINTER(pulse_ref));
gtk_container_add(GTK_CONTAINER(inside_frame), progress_bar);
diff --git a/docs/examples/synctime.c b/docs/examples/synctime.c
index 1c787bb91..48377f527 100644
--- a/docs/examples/synctime.c
+++ b/docs/examples/synctime.c
@@ -152,9 +152,9 @@ size_t SyncTime_CURL_WriteHeader(void *ptr, size_t size, size_t nmemb,
TmpStr1 & 2? */
AutoSyncTime = 0;
else {
- RetVal = sscanf ((char *)(ptr), "Date: %s %hu %s %hu %hu:%hu:%hu",
- TmpStr1, &SYSTime.wDay, TmpStr2, &SYSTime.wYear,
- &SYSTime.wHour, &SYSTime.wMinute, &SYSTime.wSecond);
+ RetVal = sscanf((char *)(ptr), "Date: %s %hu %s %hu %hu:%hu:%hu",
+ TmpStr1, &SYSTime.wDay, TmpStr2, &SYSTime.wYear,
+ &SYSTime.wHour, &SYSTime.wMinute, &SYSTime.wSecond);
if(RetVal == 7) {
SYSTime.wMilliseconds = 500; /* adjust to midpoint, 0.5 sec */
diff --git a/docs/examples/usercertinmem.c b/docs/examples/usercertinmem.c
index 47573ebbd..77fde911c 100644
--- a/docs/examples/usercertinmem.c
+++ b/docs/examples/usercertinmem.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 2013 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 2013 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -20,8 +20,7 @@
*
***************************************************************************/
/* <DESC>
-/* Example using an in memory PEM user certificate and RSA key to retrieve an
- * https page.
+ * Use an in-memory user certificate and RSA key and retrieve an https page.
* </DESC>
*/
/* Written by Ishan SinghLevett, based on Theo Borm's cacertinmem.c.
diff --git a/docs/index.html b/docs/index.html
deleted file mode 100644
index 4390378af..000000000
--- a/docs/index.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>Index to Curl documentation</title>
-</head>
-
-<body>
-<h1 align="center">Index to Curl documentation</h1>
-
-<h2>Programs</h2>
-<a href="curl-config.html">curl-config</A>
-<br><a href="curl.html">curl</A>
-
-<h2>Tutorial</h2>
-<a href="TheArtOfHttpScripting">The Art Of Scripting HTTP Requests Using Curl</a> (plain text)
-
-<h2>libcurl</h2>
-See the <a href="libcurl/index.html">libcurl section</a>
-
-</body></html>
diff --git a/docs/libcurl/Makefile.am b/docs/libcurl/Makefile.am
index 49acd977f..2d51b4608 100644
--- a/docs/libcurl/Makefile.am
+++ b/docs/libcurl/Makefile.am
@@ -90,8 +90,8 @@ dist_m4macro_DATA = libcurl.m4
CLEANFILES = $(HTMLPAGES) $(PDFPAGES) $(TESTS) libcurl-symbols.3
-EXTRA_DIST = $(man_MANS) $(HTMLPAGES) index.html $(PDFPAGES) ABI \
- symbols-in-versions symbols.pl mksymbolsmanpage.pl
+EXTRA_DIST = $(man_MANS) index.html ABI symbols-in-versions symbols.pl \
+ mksymbolsmanpage.pl
MAN2HTML= roffit --mandir=. $< >$@
SUFFIXES = .3 .html
diff --git a/docs/libcurl/Makefile.in b/docs/libcurl/Makefile.in
index aafb20c6e..782272ddc 100644
--- a/docs/libcurl/Makefile.in
+++ b/docs/libcurl/Makefile.in
@@ -685,8 +685,8 @@ PDFPAGES = curl_easy_cleanup.pdf curl_easy_getinfo.pdf \
m4macrodir = $(datadir)/aclocal
dist_m4macro_DATA = libcurl.m4
CLEANFILES = $(HTMLPAGES) $(PDFPAGES) $(TESTS) libcurl-symbols.3
-EXTRA_DIST = $(man_MANS) $(HTMLPAGES) index.html $(PDFPAGES) ABI \
- symbols-in-versions symbols.pl mksymbolsmanpage.pl
+EXTRA_DIST = $(man_MANS) index.html ABI symbols-in-versions symbols.pl \
+ mksymbolsmanpage.pl
MAN2HTML = roffit --mandir=. $< >$@
SUFFIXES = .3 .html
diff --git a/docs/libcurl/curl_easy_cleanup.html b/docs/libcurl/curl_easy_cleanup.html
deleted file mode 100644
index f5be22b11..000000000
--- a/docs/libcurl/curl_easy_cleanup.html
+++ /dev/null
@@ -1,76 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_easy_cleanup man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_easy_cleanup - End a libcurl easy handle <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">void curl_easy_cleanup(CURL * handle );</span> <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This function must be the last function to call for an easy session. It is the opposite of the <a Class="emphasis" href="./curl_easy_init.html">curl_easy_init</a> function and must be called with the same <span Class="emphasis">handle</span> as input that a <a Class="emphasis" href="./curl_easy_init.html">curl_easy_init</a> call returned.
-<p class="level0">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.
-<p class="level0">Occasionally you may get your progress callback or header callback called from within <a Class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup</a> (if previously set for the handle using <a Class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt</a>). 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.
-<p class="level0">Any use of the <span Class="bold">handle</span> after this function has been called and have returned, is illegal. <a Class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup</a> kills the handle and all memory associated with it!
-<p class="level0">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. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">None <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; CURLcode res;
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp; res = curl_easy_perform(curl);
-&nbsp; curl_easy_cleanup(curl);
-}
-</pre>
-
-<p class="level0"><a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_easy_init.html">curl_easy_init</a>, <a Class="manpage" href="./curl_easy_duphandle.html">curl_easy_duphandle</a>, <a Class="manpage" href="./curl_easy_reset.html">curl_easy_reset</a>, <a Class="manpage" href="./curl_multi_cleanup.html">curl_multi_cleanup</a>, <a Class="manpage" href="./curl_multi_remove_handle.html">curl_multi_remove_handle</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_easy_cleanup.pdf b/docs/libcurl/curl_easy_cleanup.pdf
deleted file mode 100644
index 0f024349a..000000000
--- a/docs/libcurl/curl_easy_cleanup.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_easy_duphandle.html b/docs/libcurl/curl_easy_duphandle.html
deleted file mode 100644
index 4a4643593..000000000
--- a/docs/libcurl/curl_easy_duphandle.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_easy_duphandle man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_easy_duphandle - Clone a libcurl session handle <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">CURL *curl_easy_duphandle(CURL *handle );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This function will return a new curl handle, a duplicate, using all the options previously set in the input curl <span Class="emphasis">handle</span>. Both handles can subsequently be used independently and they must both be freed with <a Class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup</a>.
-<p class="level0">All strings that the input handle has been told to point to (as opposed to copy) with previous calls to <a Class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt</a> using char * inputs, will be pointed to by the new handle as well. You must therefore make sure to keep the data around until both handles have been cleaned up.
-<p class="level0">The new handle will <span Class="bold">not</span> inherit any state information, no connections, no SSL sessions and no cookies.
-<p class="level0"><span Class="bold">Note</span> that even in multi-threaded programs, this function must be called in a synchronous way, the input handle may not be in use when cloned. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">If this function returns NULL, something went wrong and no valid handle was returned. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_easy_init.html">curl_easy_init</a>, <a Class="manpage" href="./curl_easy_cleanup.html">curl_easy_cleanup</a>, <a Class="manpage" href="./curl_easy_reset.html">curl_easy_reset</a>, <a Class="manpage" href="./curl_global_init.html">curl_global_init</a>
-<p class="level0"><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_easy_duphandle.pdf b/docs/libcurl/curl_easy_duphandle.pdf
deleted file mode 100644
index 519497477..000000000
--- a/docs/libcurl/curl_easy_duphandle.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_easy_escape.html b/docs/libcurl/curl_easy_escape.html
deleted file mode 100644
index ae7852a86..000000000
--- a/docs/libcurl/curl_easy_escape.html
+++ /dev/null
@@ -1,77 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_easy_escape man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_easy_escape - URL encodes the given string <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">char *curl_easy_escape( CURL * curl , const char * string</span> <span Class="bold">, int length );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This function converts the given input <span Class="emphasis">string</span> to a URL encoded string and returns that as a new allocated string. All input characters that are not a-z, A-Z, 0-9, '-', '.', '_' or '~' are converted to their "URL escaped" version (%NN where NN is a two-digit hexadecimal number).
-<p class="level0">If <span Class="emphasis">length</span> is set to 0 (zero), <a Class="emphasis" href="./curl_easy_escape.html">curl_easy_escape</a> uses strlen() on the input <span Class="emphasis">string</span> to find out the size.
-<p class="level0">You must <a Class="emphasis" href="./curl_free.html">curl_free</a> the returned string when you're done with it. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.15.4 and replaces the old <a Class="emphasis" href="./curl_escape.html">curl_escape</a> function. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">A pointer to a zero terminated string or NULL if it failed. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; char *output = curl_easy_escape(curl, "data to convert", 15);
-&nbsp; if(output) {
-&nbsp; printf("Encoded: %s\n", output);
-&nbsp; curl_free(output);
-&nbsp; }
-}
-</pre>
-
-<p class="level0"><a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_easy_unescape.html">curl_easy_unescape</a>, <a Class="manpage" href="./curl_free.html">curl_free</a>, <span Class="manpage">RFC 3986</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_easy_escape.pdf b/docs/libcurl/curl_easy_escape.pdf
deleted file mode 100644
index 78b947977..000000000
--- a/docs/libcurl/curl_easy_escape.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_easy_getinfo.3 b/docs/libcurl/curl_easy_getinfo.3
index 9ffcd14af..fabc7e92f 100644
--- a/docs/libcurl/curl_easy_getinfo.3
+++ b/docs/libcurl/curl_easy_getinfo.3
@@ -104,6 +104,9 @@ See \fICURLINFO_REQUEST_SIZE(3)\fP
.IP CURLINFO_SSL_VERIFYRESULT
Certificate verification result.
See \fICURLINFO_SSL_VERIFYRESULT(3)\fP
+.IP CURLINFO_PROXY_SSL_VERIFYRESULT
+Proxy certificate verification result.
+See \fICURLINFO_PROXY_SSL_VERIFYRESULT(3)\fP
.IP CURLINFO_SSL_ENGINES
A list of OpenSSL crypto engines.
See \fICURLINFO_SSL_ENGINES(3)\fP
@@ -180,6 +183,12 @@ See \fICURLINFO_RTSP_SERVER_CSEQ(3)\fP
.IP CURLINFO_RTSP_CSEQ_RECV
RTSP CSeq last received.
See \fICURLINFO_RTSP_CSEQ_RECV(3)\fP
+.IP CURLINFO_PROTOCOL
+The protocol used for the connection. (Added in 7.52.0)
+See \fICURLINFO_PROTOCOL(3)\fP
+.IP CURLINFO_SCHEME
+The scheme used for the connection. (Added in 7.52.0)
+See \fICURLINFO_SCHEME(3)\fP
.SH TIMES
.nf
An overview of the six time values available from curl_easy_getinfo()
diff --git a/docs/libcurl/curl_easy_getinfo.html b/docs/libcurl/curl_easy_getinfo.html
deleted file mode 100644
index 6bfc02ea7..000000000
--- a/docs/libcurl/curl_easy_getinfo.html
+++ /dev/null
@@ -1,185 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_easy_getinfo man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_easy_getinfo - extract information from a curl handle <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ... );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Request internal information from the curl session with this function. The third argument <span Class="bold">MUST</span> be a pointer to a long, a pointer to a char *, a pointer to a struct curl_slist * or a pointer to a double (as this documentation describes further down). The data pointed-to will be filled in accordingly and can be relied upon only if the function returns CURLE_OK. Use this function AFTER a performed transfer if you want to get transfer related data.
-<p class="level0">You should not free the memory returned by this function unless it is explicitly mentioned below. <a name="AVAILABLE"></a><h2 class="nroffsh">AVAILABLE INFORMATION</h2>
-<p class="level0">The following information can be extracted:
-<p class="level0"><a name="CURLINFOEFFECTIVEURL"></a><span class="nroffip">CURLINFO_EFFECTIVE_URL</span>
-<p class="level1">Last used URL. See <span Class="emphasis">CURLINFO_EFFECTIVE_URL(3)</span>
-<p class="level0"><a name="CURLINFORESPONSECODE"></a><span class="nroffip">CURLINFO_RESPONSE_CODE</span>
-<p class="level1">Last received response code. See <span Class="emphasis">CURLINFO_RESPONSE_CODE(3)</span>
-<p class="level0"><a name="CURLINFOHTTPCONNECTCODE"></a><span class="nroffip">CURLINFO_HTTP_CONNECTCODE</span>
-<p class="level1">Last proxy CONNECT response code. See <span Class="emphasis">CURLINFO_HTTP_CONNECTCODE(3)</span>
-<p class="level0"><a name="CURLINFOHTTPVERSION"></a><span class="nroffip">CURLINFO_HTTP_VERSION</span>
-<p class="level1">The http version used in the connection. See <span Class="emphasis">CURLINFO_HTTP_VERSION(3)</span>
-<p class="level0"><a name="CURLINFOFILETIME"></a><span class="nroffip">CURLINFO_FILETIME</span>
-<p class="level1">Remote time of the retrieved document. See <span Class="emphasis">CURLINFO_FILETIME(3)</span>
-<p class="level0"><a name="CURLINFOTOTALTIME"></a><span class="nroffip">CURLINFO_TOTAL_TIME</span>
-<p class="level1">Total time of previous transfer. See <span Class="emphasis">CURLINFO_TOTAL_TIME(3)</span>
-<p class="level0"><a name="CURLINFONAMELOOKUPTIME"></a><span class="nroffip">CURLINFO_NAMELOOKUP_TIME</span>
-<p class="level1">Time from start until name resolving completed. See <span Class="emphasis">CURLINFO_NAMELOOKUP_TIME(3)</span>
-<p class="level0"><a name="CURLINFOCONNECTTIME"></a><span class="nroffip">CURLINFO_CONNECT_TIME</span>
-<p class="level1">Time from start until remote host or proxy completed. See <span Class="emphasis">CURLINFO_CONNECT_TIME(3)</span>
-<p class="level0"><a name="CURLINFOAPPCONNECTTIME"></a><span class="nroffip">CURLINFO_APPCONNECT_TIME</span>
-<p class="level1">Time from start until SSL/SSH handshake completed. See <span Class="emphasis">CURLINFO_APPCONNECT_TIME(3)</span>
-<p class="level0"><a name="CURLINFOPRETRANSFERTIME"></a><span class="nroffip">CURLINFO_PRETRANSFER_TIME</span>
-<p class="level1">Time from start until just before the transfer begins. See <span Class="emphasis">CURLINFO_PRETRANSFER_TIME(3)</span>
-<p class="level0"><a name="CURLINFOSTARTTRANSFERTIME"></a><span class="nroffip">CURLINFO_STARTTRANSFER_TIME</span>
-<p class="level1">Time from start until just when the first byte is received. See <span Class="emphasis">CURLINFO_STARTTRANSFER_TIME(3)</span>
-<p class="level0"><a name="CURLINFOREDIRECTTIME"></a><span class="nroffip">CURLINFO_REDIRECT_TIME</span>
-<p class="level1">Time taken for all redirect steps before the final transfer. See <span Class="emphasis">CURLINFO_REDIRECT_TIME(3)</span>
-<p class="level0"><a name="CURLINFOREDIRECTCOUNT"></a><span class="nroffip">CURLINFO_REDIRECT_COUNT</span>
-<p class="level1">Total number of redirects that were followed. See <span Class="emphasis">CURLINFO_REDIRECT_COUNT(3)</span>
-<p class="level0"><a name="CURLINFOREDIRECTURL"></a><span class="nroffip">CURLINFO_REDIRECT_URL</span>
-<p class="level1">URL a redirect would take you to, had you enabled redirects. See <span Class="emphasis">CURLINFO_REDIRECT_URL(3)</span>
-<p class="level0"><a name="CURLINFOSIZEUPLOAD"></a><span class="nroffip">CURLINFO_SIZE_UPLOAD</span>
-<p class="level1">Number of bytes uploaded. See <span Class="emphasis">CURLINFO_SIZE_UPLOAD(3)</span>
-<p class="level0"><a name="CURLINFOSIZEDOWNLOAD"></a><span class="nroffip">CURLINFO_SIZE_DOWNLOAD</span>
-<p class="level1">Number of bytes downloaded. See <span Class="emphasis">CURLINFO_SIZE_DOWNLOAD(3)</span>
-<p class="level0"><a name="CURLINFOSPEEDDOWNLOAD"></a><span class="nroffip">CURLINFO_SPEED_DOWNLOAD</span>
-<p class="level1">Average download speed. See <span Class="emphasis">CURLINFO_SPEED_DOWNLOAD(3)</span>
-<p class="level0"><a name="CURLINFOSPEEDUPLOAD"></a><span class="nroffip">CURLINFO_SPEED_UPLOAD</span>
-<p class="level1">Average upload speed. See <span Class="emphasis">CURLINFO_SPEED_UPLOAD(3)</span>
-<p class="level0"><a name="CURLINFOHEADERSIZE"></a><span class="nroffip">CURLINFO_HEADER_SIZE</span>
-<p class="level1">Number of bytes of all headers received. See <span Class="emphasis">CURLINFO_HEADER_SIZE(3)</span>
-<p class="level0"><a name="CURLINFOREQUESTSIZE"></a><span class="nroffip">CURLINFO_REQUEST_SIZE</span>
-<p class="level1">Number of bytes sent in the issued HTTP requests. See <span Class="emphasis">CURLINFO_REQUEST_SIZE(3)</span>
-<p class="level0"><a name="CURLINFOSSLVERIFYRESULT"></a><span class="nroffip">CURLINFO_SSL_VERIFYRESULT</span>
-<p class="level1">Certificate verification result. See <span Class="emphasis">CURLINFO_SSL_VERIFYRESULT(3)</span>
-<p class="level0"><a name="CURLINFOSSLENGINES"></a><span class="nroffip">CURLINFO_SSL_ENGINES</span>
-<p class="level1">A list of OpenSSL crypto engines. See <span Class="emphasis">CURLINFO_SSL_ENGINES(3)</span>
-<p class="level0"><a name="CURLINFOCONTENTLENGTHDOWNLOAD"></a><span class="nroffip">CURLINFO_CONTENT_LENGTH_DOWNLOAD</span>
-<p class="level1">Content length from the Content-Length header. See <span Class="emphasis">CURLINFO_CONTENT_LENGTH_DOWNLOAD(3)</span>
-<p class="level0"><a name="CURLINFOCONTENTLENGTHUPLOAD"></a><span class="nroffip">CURLINFO_CONTENT_LENGTH_UPLOAD</span>
-<p class="level1">Upload size. See <span Class="emphasis">CURLINFO_CONTENT_LENGTH_UPLOAD(3)</span>
-<p class="level0"><a name="CURLINFOCONTENTTYPE"></a><span class="nroffip">CURLINFO_CONTENT_TYPE</span>
-<p class="level1">Content type from the Content-Type header. See <span Class="emphasis">CURLINFO_CONTENT_TYPE(3)</span>
-<p class="level0"><a name="CURLINFOPRIVATE"></a><span class="nroffip">CURLINFO_PRIVATE</span>
-<p class="level1">User's private data pointer. See <span Class="emphasis">CURLINFO_PRIVATE(3)</span>
-<p class="level0"><a name="CURLINFOHTTPAUTHAVAIL"></a><span class="nroffip">CURLINFO_HTTPAUTH_AVAIL</span>
-<p class="level1">Available HTTP authentication methods. See <span Class="emphasis">CURLINFO_HTTPAUTH_AVAIL(3)</span>
-<p class="level0"><a name="CURLINFOPROXYAUTHAVAIL"></a><span class="nroffip">CURLINFO_PROXYAUTH_AVAIL</span>
-<p class="level1">Available HTTP proxy authentication methods. See <span Class="emphasis">CURLINFO_PROXYAUTH_AVAIL(3)</span>
-<p class="level0"><a name="CURLINFOOSERRNO"></a><span class="nroffip">CURLINFO_OS_ERRNO</span>
-<p class="level1">The errno from the last failure to connect. See <span Class="emphasis">CURLINFO_OS_ERRNO(3)</span>
-<p class="level0"><a name="CURLINFONUMCONNECTS"></a><span class="nroffip">CURLINFO_NUM_CONNECTS</span>
-<p class="level1">Number of new successful connections used for previous transfer. See <span Class="emphasis">CURLINFO_NUM_CONNECTS(3)</span>
-<p class="level0"><a name="CURLINFOPRIMARYIP"></a><span class="nroffip">CURLINFO_PRIMARY_IP</span>
-<p class="level1">IP address of the last connection. See <span Class="emphasis">CURLINFO_PRIMARY_IP(3)</span>
-<p class="level0"><a name="CURLINFOPRIMARYPORT"></a><span class="nroffip">CURLINFO_PRIMARY_PORT</span>
-<p class="level1">Port of the last connection. See <span Class="emphasis">CURLINFO_PRIMARY_PORT(3)</span>
-<p class="level0"><a name="CURLINFOLOCALIP"></a><span class="nroffip">CURLINFO_LOCAL_IP</span>
-<p class="level1">Local-end IP address of last connection. See <span Class="emphasis">CURLINFO_LOCAL_IP(3)</span>
-<p class="level0"><a name="CURLINFOLOCALPORT"></a><span class="nroffip">CURLINFO_LOCAL_PORT</span>
-<p class="level1">Local-end port of last connection. See <span Class="emphasis">CURLINFO_LOCAL_PORT(3)</span>
-<p class="level0"><a name="CURLINFOCOOKIELIST"></a><span class="nroffip">CURLINFO_COOKIELIST</span>
-<p class="level1">List of all known cookies. See <span Class="emphasis">CURLINFO_COOKIELIST(3)</span>
-<p class="level0"><a name="CURLINFOLASTSOCKET"></a><span class="nroffip">CURLINFO_LASTSOCKET</span>
-<p class="level1">Last socket used. See <span Class="emphasis">CURLINFO_LASTSOCKET(3)</span>
-<p class="level0"><a name="CURLINFOACTIVESOCKET"></a><span class="nroffip">CURLINFO_ACTIVESOCKET</span>
-<p class="level1">The session's active socket. See <span Class="emphasis">CURLINFO_ACTIVESOCKET(3)</span>
-<p class="level0"><a name="CURLINFOFTPENTRYPATH"></a><span class="nroffip">CURLINFO_FTP_ENTRY_PATH</span>
-<p class="level1">The entry path after logging in to an FTP server. See <span Class="emphasis">CURLINFO_FTP_ENTRY_PATH(3)</span>
-<p class="level0"><a name="CURLINFOCERTINFO"></a><span class="nroffip">CURLINFO_CERTINFO</span>
-<p class="level1">Certificate chain. See <span Class="emphasis">CURLINFO_CERTINFO(3)</span>
-<p class="level0"><a name="CURLINFOTLSSSLPTR"></a><span class="nroffip">CURLINFO_TLS_SSL_PTR</span>
-<p class="level1">TLS session info that can be used for further processing. See <span Class="emphasis">CURLINFO_TLS_SSL_PTR(3)</span>
-<p class="level0"><a name="CURLINFOTLSSESSION"></a><span class="nroffip">CURLINFO_TLS_SESSION</span>
-<p class="level1">TLS session info that can be used for further processing. See <span Class="emphasis">CURLINFO_TLS_SESSION(3)</span>. Deprecated option, use <span Class="emphasis">CURLINFO_TLS_SSL_PTR(3)</span> instead!
-<p class="level0"><a name="CURLINFOCONDITIONUNMET"></a><span class="nroffip">CURLINFO_CONDITION_UNMET</span>
-<p class="level1">Whether or not a time conditional was met. See <span Class="emphasis">CURLINFO_CONDITION_UNMET(3)</span>
-<p class="level0"><a name="CURLINFORTSPSESSIONID"></a><span class="nroffip">CURLINFO_RTSP_SESSION_ID</span>
-<p class="level1">RTSP session ID. See <span Class="emphasis">CURLINFO_RTSP_SESSION_ID(3)</span>
-<p class="level0"><a name="CURLINFORTSPCLIENTCSEQ"></a><span class="nroffip">CURLINFO_RTSP_CLIENT_CSEQ</span>
-<p class="level1">RTSP CSeq that will next be used. See <span Class="emphasis">CURLINFO_RTSP_CLIENT_CSEQ(3)</span>
-<p class="level0"><a name="CURLINFORTSPSERVERCSEQ"></a><span class="nroffip">CURLINFO_RTSP_SERVER_CSEQ</span>
-<p class="level1">RTSP CSeq that will next be expected. See <span Class="emphasis">CURLINFO_RTSP_SERVER_CSEQ(3)</span>
-<p class="level0"><a name="CURLINFORTSPCSEQRECV"></a><span class="nroffip">CURLINFO_RTSP_CSEQ_RECV</span>
-<p class="level1">RTSP CSeq last received. See <span Class="emphasis">CURLINFO_RTSP_CSEQ_RECV(3)</span> <a name="TIMES"></a><h2 class="nroffsh">TIMES</h2>
-<p class="level0"><pre class="level0">
-An overview of the six time values available from curl_easy_getinfo()
-&nbsp;
-curl_easy_perform()
-&nbsp; |
-&nbsp; |--NAMELOOKUP
-&nbsp; |--|--CONNECT
-&nbsp; |--|--|--APPCONNECT
-&nbsp; |--|--|--|--PRETRANSFER
-&nbsp; |--|--|--|--|--STARTTRANSFER
-&nbsp; |--|--|--|--|--|--TOTAL
-&nbsp; |--|--|--|--|--|--REDIRECT
-</pre>
-
-<p class="level0">
-<p class="level0"><a name="NAMELOOKUP"></a><span class="nroffip">NAMELOOKUP</span>
-<p class="level1"><a class="emphasis" href="#CURLINFONAMELOOKUPTIME">CURLINFO_NAMELOOKUP_TIME</a>. The time it took from the start until the name resolving was completed.
-<p class="level0"><a name="CONNECT"></a><span class="nroffip">CONNECT</span>
-<p class="level1"><a class="emphasis" href="#CURLINFOCONNECTTIME">CURLINFO_CONNECT_TIME</a>. The time it took from the start until the connect to the remote host (or proxy) was completed.
-<p class="level0"><a name="APPCONNECT"></a><span class="nroffip">APPCONNECT</span>
-<p class="level1"><a class="emphasis" href="#CURLINFOAPPCONNECTTIME">CURLINFO_APPCONNECT_TIME</a>. The time it took from the start until the SSL connect/handshake with the remote host was completed. (Added in in 7.19.0)
-<p class="level0"><a name="PRETRANSFER"></a><span class="nroffip">PRETRANSFER</span>
-<p class="level1"><a class="emphasis" href="#CURLINFOPRETRANSFERTIME">CURLINFO_PRETRANSFER_TIME</a>. The time it took from the start until the file transfer is just about to begin. This includes all pre-transfer commands and negotiations that are specific to the particular protocol(s) involved.
-<p class="level0"><a name="STARTTRANSFER"></a><span class="nroffip">STARTTRANSFER</span>
-<p class="level1"><a class="emphasis" href="#CURLINFOSTARTTRANSFERTIME">CURLINFO_STARTTRANSFER_TIME</a>. The time it took from the start until the first byte is received by libcurl.
-<p class="level0"><a name="TOTAL"></a><span class="nroffip">TOTAL</span>
-<p class="level1"><a class="emphasis" href="#CURLINFOTOTALTIME">CURLINFO_TOTAL_TIME</a>. Total time of the previous request.
-<p class="level0"><a name="REDIRECT"></a><span class="nroffip">REDIRECT</span>
-<p class="level1"><a class="emphasis" href="#CURLINFOREDIRECTTIME">CURLINFO_REDIRECT_TIME</a>. The time it took for all redirection steps include name lookup, connect, pretransfer and transfer before final transaction was started. So, this is zero if no redirection took place. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">If the operation was successful, CURLE_OK is returned. Otherwise an appropriate error code will be returned. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_easy_setopt.html">curl_easy_setopt</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_easy_getinfo.pdf b/docs/libcurl/curl_easy_getinfo.pdf
deleted file mode 100644
index f50ebc2f1..000000000
--- a/docs/libcurl/curl_easy_getinfo.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_easy_init.html b/docs/libcurl/curl_easy_init.html
deleted file mode 100644
index dba66b674..000000000
--- a/docs/libcurl/curl_easy_init.html
+++ /dev/null
@@ -1,74 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_easy_init man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_easy_init - Start a libcurl easy session <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">CURL *curl_easy_init( );</span> <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This function must be the first function to call, and it returns a CURL easy handle that you must use as input to other functions in the easy interface. This call <span Class="bold">MUST</span> have a corresponding call to <a Class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup</a> when the operation is complete.
-<p class="level0">If you did not already call <a Class="emphasis" href="./curl_global_init.html">curl_global_init</a>, <a Class="emphasis" href="./curl_easy_init.html">curl_easy_init</a> does it automatically. This may be lethal in multi-threaded cases, since <a Class="emphasis" href="./curl_global_init.html">curl_global_init</a> is not thread-safe, and it may result in resource problems because there is no corresponding cleanup.
-<p class="level0">You are strongly advised to not allow this automatic behaviour, by calling <a Class="emphasis" href="./curl_global_init.html">curl_global_init</a> yourself properly. See the description in <span Class="bold">libcurl</span>(3) of global environment requirements for details of how to use this function. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">If this function returns NULL, something went wrong and you cannot use the other curl functions. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; CURLcode res;
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp; res = curl_easy_perform(curl);
-&nbsp; curl_easy_cleanup(curl);
-}
-</pre>
-
-<p class="level0"><a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_easy_cleanup.html">curl_easy_cleanup</a>, <a Class="manpage" href="./curl_global_init.html">curl_global_init</a>, <a Class="manpage" href="./curl_easy_reset.html">curl_easy_reset</a>, <a Class="manpage" href="./curl_easy_perform.html">curl_easy_perform</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_easy_init.pdf b/docs/libcurl/curl_easy_init.pdf
deleted file mode 100644
index 37d7817f7..000000000
--- a/docs/libcurl/curl_easy_init.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_easy_pause.html b/docs/libcurl/curl_easy_pause.html
deleted file mode 100644
index 704e974a2..000000000
--- a/docs/libcurl/curl_easy_pause.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_easy_pause man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_easy_pause - pause and unpause a connection <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">CURLcode curl_easy_pause(CURL *handle , int bitmask );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Using this function, you can explicitly mark a running connection to get paused, and you can unpause a connection that was previously paused.
-<p class="level0">A connection can be paused by using this function or by letting the read or the write callbacks return the proper magic return code (<span Class="emphasis">CURL_READFUNC_PAUSE</span> and <span Class="emphasis">CURL_WRITEFUNC_PAUSE</span>). A write callback that returns pause signals to the library that it couldn't take care of any data at all, and that data will then be delivered again to the callback when the writing is later unpaused.
-<p class="level0">While it may feel tempting, take care and notice that you cannot call this function from another thread. To unpause, you may for example call it from the progress callback (<span Class="emphasis">CURLOPT_PROGRESSFUNCTION(3)</span>), which gets called at least once per second, even if the connection is paused.
-<p class="level0">When this function is called to unpause reading, the chance is high that you will get your write callback called before this function returns.
-<p class="level0">The <span Class="bold">handle</span> argument is of course identifying the handle that operates on the connection you want to pause or unpause.
-<p class="level0">The <span Class="bold">bitmask</span> argument is a set of bits that sets the new state of the connection. The following bits can be used:
-<p class="level0"><a name="CURLPAUSERECV"></a><span class="nroffip">CURLPAUSE_RECV</span>
-<p class="level1">Pause receiving data. There will be no data received on this connection until this function is called again without this bit set. Thus, the write callback (<span Class="emphasis">CURLOPT_WRITEFUNCTION(3)</span>) won't be called.
-<p class="level0"><a name="CURLPAUSESEND"></a><span class="nroffip">CURLPAUSE_SEND</span>
-<p class="level1">Pause sending data. There will be no data sent on this connection until this function is called again without this bit set. Thus, the read callback (<span Class="emphasis">CURLOPT_READFUNCTION(3)</span>) won't be called.
-<p class="level0"><a name="CURLPAUSEALL"></a><span class="nroffip">CURLPAUSE_ALL</span>
-<p class="level1">Convenience define that pauses both directions.
-<p class="level0"><a name="CURLPAUSECONT"></a><span class="nroffip">CURLPAUSE_CONT</span>
-<p class="level1">Convenience define that unpauses both directions. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">CURLE_OK (zero) means that the option was set properly, and a non-zero return code means something wrong occurred after the new state was set. See the <a Class="emphasis" href="./libcurl-errors.html">libcurl-errors</a> man page for the full list with descriptions. <a name="LIMITATIONS"></a><h2 class="nroffsh">LIMITATIONS</h2>
-<p class="level0">The pausing of transfers does not work with protocols that work without network connectivity, like FILE://. Trying to pause such a transfer, in any direction, will cause problems in the worst case or an error in the best case. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This function was added in libcurl 7.18.0. Before this version, there was no explicit support for pausing transfers. <a name="USAGE"></a><h2 class="nroffsh">USAGE WITH THE MULTI-SOCKET INTERFACE</h2>
-<p class="level0">Before libcurl 7.32.0, when a specific handle was unpaused with this function, there was no particular forced rechecking or similar of the socket's state, which made the continuation of the transfer get delayed until next multi-socket call invoke or even longer. Alternatively, the user could forcibly call for example <a Class="emphasis" href="./curl_multi_socket_all.html">curl_multi_socket_all</a> - with a rather hefty performance penalty.
-<p class="level0">Starting in libcurl 7.32.0, unpausing a transfer will schedule a timeout trigger for that handle 1 millisecond into the future, so that a curl_multi_socket_action( ... CURL_SOCKET_TIMEOUT) can be used immediately afterwards to get the transfer going again as desired. <a name="MEMORY"></a><h2 class="nroffsh">MEMORY USE</h2>
-<p class="level0">When pausing a read by returning the magic return code from a write callback, the read data is already in libcurl's internal buffers so it'll have to keep it in an allocated buffer until the reading is again unpaused using this function.
-<p class="level0">If the downloaded data is compressed and is asked to get uncompressed automatically on download, libcurl will continue to uncompress the entire downloaded chunk and it will cache the data uncompressed. This has the side- effect that if you download something that is compressed a lot, it can result in a very large data amount needing to be allocated to save the data during the pause. This said, you should probably consider not using paused reading if you allow libcurl to uncompress data automatically. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_easy_cleanup.html">curl_easy_cleanup</a>, <a Class="manpage" href="./curl_easy_reset.html">curl_easy_reset</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_easy_pause.pdf b/docs/libcurl/curl_easy_pause.pdf
deleted file mode 100644
index 0cdb7bd47..000000000
--- a/docs/libcurl/curl_easy_pause.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_easy_perform.html b/docs/libcurl/curl_easy_perform.html
deleted file mode 100644
index 0a8198d04..000000000
--- a/docs/libcurl/curl_easy_perform.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_easy_perform man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_easy_perform - perform a blocking file transfer <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">CURLcode curl_easy_perform(CURL * easy_handle );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Invoke this function after <a Class="emphasis" href="./curl_easy_init.html">curl_easy_init</a> and all the <a Class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt</a> calls are made, and will perform the transfer as described in the options. It must be called with the same <span Class="bold">easy_handle</span> as input as the <a Class="emphasis" href="./curl_easy_init.html">curl_easy_init</a> call returned.
-<p class="level0"><a Class="emphasis" href="./curl_easy_perform.html">curl_easy_perform</a> performs the entire request in a blocking manner and returns when done, or if it failed. For non-blocking behavior, see <a Class="emphasis" href="./curl_multi_perform.html">curl_multi_perform</a>.
-<p class="level0">You can do any amount of calls to <a Class="emphasis" href="./curl_easy_perform.html">curl_easy_perform</a> while using the same <span Class="bold">easy_handle</span>. 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 <a Class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt</a> between the invokes to set options for the following curl_easy_perform.
-<p class="level0">You must never call this function simultaneously from two places using the same <span Class="bold">easy_handle</span>. Let the function return first before invoking it another time. If you want parallel transfers, you must use several curl easy_handles.
-<p class="level0">While the <span Class="bold">easy_handle</span> is added to a multi handle, it cannot be used by <a Class="emphasis" href="./curl_easy_perform.html">curl_easy_perform</a>. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">CURLE_OK (0) means everything was ok, non-zero means an error occurred as <span Class="emphasis">&lt;curl/curl.h&gt;</span> defines - see <a Class="emphasis" href="./libcurl-errors.html">libcurl-errors</a>. If the <span Class="emphasis">CURLOPT_ERRORBUFFER(3)</span> was set with <a Class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt</a> there will be a readable error message in the error buffer when non-zero is returned. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; CURLcode res;
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp; res = curl_easy_perform(curl);
-&nbsp; curl_easy_cleanup(curl);
-}
-</pre>
-
-<p class="level0"><a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_easy_init.html">curl_easy_init</a>, <a Class="manpage" href="./curl_easy_setopt.html">curl_easy_setopt</a>, <a Class="manpage" href="./curl_multi_add_handle.html">curl_multi_add_handle</a>, <a Class="manpage" href="./curl_multi_perform.html">curl_multi_perform</a>, <a Class="manpage" href="./libcurl-errors.html">libcurl-errors</a>
-<p class="level0"><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_easy_perform.pdf b/docs/libcurl/curl_easy_perform.pdf
deleted file mode 100644
index 6897de0f4..000000000
--- a/docs/libcurl/curl_easy_perform.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_easy_recv.3 b/docs/libcurl/curl_easy_recv.3
index 3560cc511..7a812dd00 100644
--- a/docs/libcurl/curl_easy_recv.3
+++ b/docs/libcurl/curl_easy_recv.3
@@ -46,12 +46,21 @@ calling \fIcurl_easy_perform(3)\fP or \fIcurl_multi_perform(3)\fP. Note that
\fIcurl_easy_recv(3)\fP does not work on connections that were created without
this option.
-You must ensure that the socket has data to read before calling
-\fIcurl_easy_recv(3)\fP, otherwise the call will return \fBCURLE_AGAIN\fP -
-the socket is used in non-blocking mode internally. Use
-\fIcurl_easy_getinfo(3)\fP with \fICURLINFO_ACTIVESOCKET(3)\fP to obtain the
-socket; use your operating system facilities like \fIselect(2)\fP to check if
-it has any data you can read.
+The call will return \fBCURLE_AGAIN\fP if there is no data to read - the
+socket is used in non-blocking mode internally. When \fBCURLE_AGAIN\fP is
+returned, use your operating system facilities like \fIselect(2)\fP to wait
+for data. The socket may be obtained using \fIcurl_easy_getinfo(3)\fP with
+\fICURLINFO_ACTIVESOCKET(3)\fP.
+
+Wait on the socket only if \fIcurl_easy_recv(3)\fP returns \fBCURLE_AGAIN\fP.
+The reason for this is libcurl or the SSL library may internally cache some
+data, therefore you should call \fIcurl_easy_recv(3)\fP until all data is
+read which would include any cached data.
+
+Furthermore if you wait on the socket and it tells you there is data to read,
+\fIcurl_easy_recv(3)\fP may return \fBCURLE_AGAIN\fP if the only data that was
+read was for internal SSL processing, and no other data is available.
+
.SH AVAILABILITY
Added in 7.18.2.
.SH RETURN VALUE
@@ -60,13 +69,13 @@ On success, returns \fBCURLE_OK\fP, stores the received data into
On failure, returns the appropriate error code.
-If there is no data to read, the function returns \fBCURLE_AGAIN\fP. Use your
-operating system facilities to wait until the data is ready, and retry.
+The function may return \fBCURLE_AGAIN\fP. In this case, use your operating
+system facilities to wait until data can be read, and retry.
-Reading exactly 0 bytes would indicate a closed connection.
+Reading exactly 0 bytes indicates a closed connection.
If there's no socket available to use from the previous transfer, this function
-returns CURLE_UNSUPPORTED_PROTOCOL.
+returns \fBCURLE_UNSUPPORTED_PROTOCOL\fP.
.SH EXAMPLE
See \fBsendrecv.c\fP in \fBdocs/examples\fP directory for usage example.
.SH "SEE ALSO"
diff --git a/docs/libcurl/curl_easy_recv.html b/docs/libcurl/curl_easy_recv.html
deleted file mode 100644
index 1257c2145..000000000
--- a/docs/libcurl/curl_easy_recv.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_easy_recv man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_easy_recv - receives raw data on an "easy" connection <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/easy.h&gt;</span>
-<p class="level0"><span Class="bold">CURLcode curl_easy_recv( CURL * curl , void * buffer ,</span> <span Class="bold">size_t buflen , size_t * n );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This function receives raw data from the established connection. You may use it together with <a Class="emphasis" href="./curl_easy_send.html">curl_easy_send</a> to implement custom protocols using libcurl. This functionality can be particularly useful if you use proxies and/or SSL encryption: libcurl will take care of proxy negotiation and connection set-up.
-<p class="level0"><span Class="bold">buffer</span> is a pointer to your buffer that will get the received data. <span Class="bold">buflen</span> is the maximum amount of data you can get in that buffer. The variable <span Class="bold">n</span> points to will receive the number of received bytes.
-<p class="level0">To establish the connection, set <span Class="emphasis">CURLOPT_CONNECT_ONLY(3)</span> option before calling <a Class="emphasis" href="./curl_easy_perform.html">curl_easy_perform</a> or <a Class="emphasis" href="./curl_multi_perform.html">curl_multi_perform</a>. Note that <a Class="emphasis" href="./curl_easy_recv.html">curl_easy_recv</a> does not work on connections that were created without this option.
-<p class="level0">You must ensure that the socket has data to read before calling <a Class="emphasis" href="./curl_easy_recv.html">curl_easy_recv</a>, otherwise the call will return <span Class="bold">CURLE_AGAIN</span> - the socket is used in non-blocking mode internally. Use <a Class="emphasis" href="./curl_easy_getinfo.html">curl_easy_getinfo</a> with <span Class="emphasis">CURLINFO_ACTIVESOCKET(3)</span> to obtain the socket; use your operating system facilities like <span Class="emphasis">select(2)</span> to check if it has any data you can read. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.18.2. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">On success, returns <span Class="bold">CURLE_OK</span>, stores the received data into <span Class="bold">buffer</span>, and the number of bytes it actually read into <span Class="bold">*n</span>.
-<p class="level0">On failure, returns the appropriate error code.
-<p class="level0">If there is no data to read, the function returns <span Class="bold">CURLE_AGAIN</span>. Use your operating system facilities to wait until the data is ready, and retry.
-<p class="level0">Reading exactly 0 bytes would indicate a closed connection.
-<p class="level0">If there's no socket available to use from the previous transfer, this function returns CURLE_UNSUPPORTED_PROTOCOL. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">See <span Class="bold">sendrecv.c</span> in <span Class="bold">docs/examples</span> directory for usage example. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_easy_setopt.html">curl_easy_setopt</a>, <a Class="manpage" href="./curl_easy_perform.html">curl_easy_perform</a>, <a Class="manpage" href="./curl_easy_getinfo.html">curl_easy_getinfo</a>, <a Class="manpage" href="./curl_easy_send.html">curl_easy_send</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_easy_recv.pdf b/docs/libcurl/curl_easy_recv.pdf
deleted file mode 100644
index af76229d1..000000000
--- a/docs/libcurl/curl_easy_recv.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_easy_reset.html b/docs/libcurl/curl_easy_reset.html
deleted file mode 100644
index c0b219793..000000000
--- a/docs/libcurl/curl_easy_reset.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_easy_reset man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_easy_reset - reset all options of a libcurl session handle <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">void curl_easy_reset(CURL *handle );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Re-initializes all options previously set on a specified CURL handle to the default values. This puts back the handle to the same state as it was in when it was just created with <a Class="emphasis" href="./curl_easy_init.html">curl_easy_init</a>.
-<p class="level0">It does not change the following information kept in the handle: live connections, the Session ID cache, the DNS cache, the cookies and shares. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This function was added in libcurl 7.12.1 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Nothing <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_easy_init.html">curl_easy_init</a>, <a Class="manpage" href="./curl_easy_cleanup.html">curl_easy_cleanup</a>, <a Class="manpage" href="./curl_easy_setopt.html">curl_easy_setopt</a>, <a Class="manpage" href="./curl_easy_duphandle.html">curl_easy_duphandle</a>
-<p class="level0"><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_easy_reset.pdf b/docs/libcurl/curl_easy_reset.pdf
deleted file mode 100644
index 8c980d69c..000000000
--- a/docs/libcurl/curl_easy_reset.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_easy_send.3 b/docs/libcurl/curl_easy_send.3
index 2a7443985..47976f391 100644
--- a/docs/libcurl/curl_easy_send.3
+++ b/docs/libcurl/curl_easy_send.3
@@ -40,16 +40,20 @@ connection set-up.
The variable \fBn\fP points to will receive the number of sent bytes.
To establish the connection, set \fICURLOPT_CONNECT_ONLY(3)\fP option before
-calling \fIcurl_easy_perform(3)\fP or \fIcurl_multi_perform()\fP. Note that
+calling \fIcurl_easy_perform(3)\fP or \fIcurl_multi_perform(3)\fP. Note that
\fIcurl_easy_send(3)\fP will not work on connections that were created without
this option.
-You must ensure that the socket is writable before calling
-\fIcurl_easy_send(3)\fP, otherwise the call will return \fBCURLE_AGAIN\fP -
-the socket is used in non-blocking mode internally. Use
-\fIcurl_easy_getinfo(3)\fP with \fICURLINFO_ACTIVESOCKET(3)\fP to obtain the
-socket; use your operating system facilities like \fIselect(2)\fP to check if
-it can be written to.
+The call will return \fBCURLE_AGAIN\fP if it's not possible to send data right
+now - the socket is used in non-blocking mode internally. When
+\fBCURLE_AGAIN\fP is returned, use your operating system facilities like
+\fIselect(2)\fP to wait until the socket is writable. The socket may be
+obtained using \fIcurl_easy_getinfo(3)\fP with \fICURLINFO_ACTIVESOCKET(3)\fP.
+
+Furthermore if you wait on the socket and it tells you it's writable,
+\fIcurl_easy_send(3)\fP may return \fBCURLE_AGAIN\fP if the only data that was
+sent was for internal SSL processing, and no other data could be sent.
+
.SH AVAILABILITY
Added in 7.18.2.
.SH RETURN VALUE
@@ -59,8 +63,11 @@ wanted to send.
On failure, returns the appropriate error code.
+This function may return \fBCURLE_AGAIN\fP. In this case, use your operating
+system facilities to wait until the socket is writable, and retry.
+
If there's no socket available to use from the previous transfer, this function
-returns CURLE_UNSUPPORTED_PROTOCOL.
+returns \fBCURLE_UNSUPPORTED_PROTOCOL\fP.
.SH EXAMPLE
See \fBsendrecv.c\fP in \fBdocs/examples\fP directory for usage example.
.SH "SEE ALSO"
diff --git a/docs/libcurl/curl_easy_send.html b/docs/libcurl/curl_easy_send.html
deleted file mode 100644
index 3626b2784..000000000
--- a/docs/libcurl/curl_easy_send.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_easy_send man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_easy_send - sends raw data over an "easy" connection <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/easy.h&gt;</span>
-<p class="level0"><span Class="bold">CURLcode curl_easy_send( CURL * curl , const void * buffer ,</span> <span Class="bold"> size_t buflen , size_t * n );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This function sends arbitrary data over the established connection. You may use it together with <a Class="emphasis" href="./curl_easy_recv.html">curl_easy_recv</a> to implement custom protocols using libcurl. This functionality can be particularly useful if you use proxies and/or SSL encryption: libcurl will take care of proxy negotiation and connection set-up.
-<p class="level0"><span Class="bold">buffer</span> is a pointer to the data of length <span Class="bold">buflen</span> that you want sent. The variable <span Class="bold">n</span> points to will receive the number of sent bytes.
-<p class="level0">To establish the connection, set <span Class="emphasis">CURLOPT_CONNECT_ONLY(3)</span> option before calling <a Class="emphasis" href="./curl_easy_perform.html">curl_easy_perform</a> or <span Class="emphasis">curl_multi_perform()</span>. Note that <a Class="emphasis" href="./curl_easy_send.html">curl_easy_send</a> will not work on connections that were created without this option.
-<p class="level0">You must ensure that the socket is writable before calling <a Class="emphasis" href="./curl_easy_send.html">curl_easy_send</a>, otherwise the call will return <span Class="bold">CURLE_AGAIN</span> - the socket is used in non-blocking mode internally. Use <a Class="emphasis" href="./curl_easy_getinfo.html">curl_easy_getinfo</a> with <span Class="emphasis">CURLINFO_ACTIVESOCKET(3)</span> to obtain the socket; use your operating system facilities like <span Class="emphasis">select(2)</span> to check if it can be written to. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.18.2. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">On success, returns <span Class="bold">CURLE_OK</span> and stores the number of bytes actually sent into <span Class="bold">*n</span>. Note that this may very well be less than the amount you wanted to send.
-<p class="level0">On failure, returns the appropriate error code.
-<p class="level0">If there's no socket available to use from the previous transfer, this function returns CURLE_UNSUPPORTED_PROTOCOL. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">See <span Class="bold">sendrecv.c</span> in <span Class="bold">docs/examples</span> directory for usage example. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_easy_setopt.html">curl_easy_setopt</a>, <a Class="manpage" href="./curl_easy_perform.html">curl_easy_perform</a>, <a Class="manpage" href="./curl_easy_getinfo.html">curl_easy_getinfo</a>, <a Class="manpage" href="./curl_easy_recv.html">curl_easy_recv</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_easy_send.pdf b/docs/libcurl/curl_easy_send.pdf
deleted file mode 100644
index bbe5042b4..000000000
--- a/docs/libcurl/curl_easy_send.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_easy_setopt.3 b/docs/libcurl/curl_easy_setopt.3
index 75f1ce46b..422cb8569 100644
--- a/docs/libcurl/curl_easy_setopt.3
+++ b/docs/libcurl/curl_easy_setopt.3
@@ -144,6 +144,8 @@ Error message buffer. See \fICURLOPT_ERRORBUFFER(3)\fP
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
@@ -157,6 +159,8 @@ Protocols to allow redirects to. See \fICURLOPT_REDIR_PROTOCOLS(3)\fP
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
@@ -186,7 +190,7 @@ 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 smaller buffer size. See \fICURLOPT_BUFFERSIZE(3)\fP
+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
@@ -203,6 +207,8 @@ Idle time before sending keep-alive. See \fICURLOPT_TCP_KEEPIDLE(3)\fP
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
@@ -226,10 +232,16 @@ Proxy password. See \fICURLOPT_PROXYPASSWORD(3)\fP
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
@@ -445,14 +457,24 @@ Timeout for waiting for the server's connect back to be accepted. See \fICURLOPT
.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
@@ -465,34 +487,53 @@ Default SSL engine. See \fICURLOPT_SSLENGINE_DEFAULT(3)\fP
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
diff --git a/docs/libcurl/curl_easy_setopt.html b/docs/libcurl/curl_easy_setopt.html
deleted file mode 100644
index 106839e64..000000000
--- a/docs/libcurl/curl_easy_setopt.html
+++ /dev/null
@@ -1,544 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_easy_setopt man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_easy_setopt - set options for a curl easy handle <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLoption option, parameter); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0"><a Class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt</a> 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 <span Class="emphasis">option</span> followed by a <span Class="emphasis">parameter</span>. That parameter can be a <span Class="bold">long</span>, a <span Class="bold">function pointer</span>, an <span class="bold">object pointer</span> or a <span Class="bold">curl_off_t</span>, 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 <a Class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt</a> calls in the setup phase.
-<p class="level0">Options set with this function call are valid for all forthcoming transfers performed using this <span Class="emphasis">handle</span>. 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 <a Class="emphasis" href="./curl_easy_reset.html">curl_easy_reset</a>.
-<p class="level0">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 <a Class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt</a> returns. The only exception to this rule is really <span Class="emphasis">CURLOPT_POSTFIELDS(3)</span>, but the alternative that copies the string <span Class="emphasis">CURLOPT_COPYPOSTFIELDS(3)</span> has some usage characteristics you need to read up on.
-<p class="level0">The order in which the options are set does not matter.
-<p class="level0">Before version 7.17.0, strings were not copied. Instead the user was forced keep them available until libcurl no longer needed them.
-<p class="level0">The <span Class="emphasis">handle</span> is the return code from a <a Class="emphasis" href="./curl_easy_init.html">curl_easy_init</a> or <a Class="emphasis" href="./curl_easy_duphandle.html">curl_easy_duphandle</a> call. <a name="BEHAVIOR"></a><h2 class="nroffsh">BEHAVIOR OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLOPTVERBOSE"></a><span class="nroffip">CURLOPT_VERBOSE</span>
-<p class="level1">Display verbose information. See <span Class="emphasis">CURLOPT_VERBOSE(3)</span>
-<p class="level0"><a name="CURLOPTHEADER"></a><span class="nroffip">CURLOPT_HEADER</span>
-<p class="level1">Include the header in the body output. See <span Class="emphasis">CURLOPT_HEADER(3)</span>
-<p class="level0"><a name="CURLOPTNOPROGRESS"></a><span class="nroffip">CURLOPT_NOPROGRESS</span>
-<p class="level1">Shut off the progress meter. See <span Class="emphasis">CURLOPT_NOPROGRESS(3)</span>
-<p class="level0"><a name="CURLOPTNOSIGNAL"></a><span class="nroffip">CURLOPT_NOSIGNAL</span>
-<p class="level1">Do not install signal handlers. See <span Class="emphasis">CURLOPT_NOSIGNAL(3)</span>
-<p class="level0"><a name="CURLOPTWILDCARDMATCH"></a><span class="nroffip">CURLOPT_WILDCARDMATCH</span>
-<p class="level1">Transfer multiple files according to a file name pattern. See <span Class="emphasis">CURLOPT_WILDCARDMATCH(3)</span> <a name="CALLBACK"></a><h2 class="nroffsh">CALLBACK OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLOPTWRITEFUNCTION"></a><span class="nroffip">CURLOPT_WRITEFUNCTION</span>
-<p class="level1">Callback for writing data. See <span Class="emphasis">CURLOPT_WRITEFUNCTION(3)</span>
-<p class="level0"><a name="CURLOPTWRITEDATA"></a><span class="nroffip">CURLOPT_WRITEDATA</span>
-<p class="level1">Data pointer to pass to the write callback. See <span Class="emphasis">CURLOPT_WRITEDATA(3)</span>
-<p class="level0"><a name="CURLOPTREADFUNCTION"></a><span class="nroffip">CURLOPT_READFUNCTION</span>
-<p class="level1">Callback for reading data. See <span Class="emphasis">CURLOPT_READFUNCTION(3)</span>
-<p class="level0"><a name="CURLOPTREADDATA"></a><span class="nroffip">CURLOPT_READDATA</span>
-<p class="level1">Data pointer to pass to the read callback. See <span Class="emphasis">CURLOPT_READDATA(3)</span>
-<p class="level0"><a name="CURLOPTIOCTLFUNCTION"></a><span class="nroffip">CURLOPT_IOCTLFUNCTION</span>
-<p class="level1">Callback for I/O operations. See <span Class="emphasis">CURLOPT_IOCTLFUNCTION(3)</span>
-<p class="level0"><a name="CURLOPTIOCTLDATA"></a><span class="nroffip">CURLOPT_IOCTLDATA</span>
-<p class="level1">Data pointer to pass to the I/O callback. See <span Class="emphasis">CURLOPT_IOCTLDATA(3)</span>
-<p class="level0"><a name="CURLOPTSEEKFUNCTION"></a><span class="nroffip">CURLOPT_SEEKFUNCTION</span>
-<p class="level1">Callback for seek operations. See <span Class="emphasis">CURLOPT_SEEKFUNCTION(3)</span>
-<p class="level0"><a name="CURLOPTSEEKDATA"></a><span class="nroffip">CURLOPT_SEEKDATA</span>
-<p class="level1">Data pointer to pass to the seek callback. See <span Class="emphasis">CURLOPT_SEEKDATA(3)</span>
-<p class="level0"><a name="CURLOPTSOCKOPTFUNCTION"></a><span class="nroffip">CURLOPT_SOCKOPTFUNCTION</span>
-<p class="level1">Callback for sockopt operations. See <span Class="emphasis">CURLOPT_SOCKOPTFUNCTION(3)</span>
-<p class="level0"><a name="CURLOPTSOCKOPTDATA"></a><span class="nroffip">CURLOPT_SOCKOPTDATA</span>
-<p class="level1">Data pointer to pass to the sockopt callback. See <span Class="emphasis">CURLOPT_SOCKOPTDATA(3)</span>
-<p class="level0"><a name="CURLOPTOPENSOCKETFUNCTION"></a><span class="nroffip">CURLOPT_OPENSOCKETFUNCTION</span>
-<p class="level1">Callback for socket creation. See <span Class="emphasis">CURLOPT_OPENSOCKETFUNCTION(3)</span>
-<p class="level0"><a name="CURLOPTOPENSOCKETDATA"></a><span class="nroffip">CURLOPT_OPENSOCKETDATA</span>
-<p class="level1">Data pointer to pass to the open socket callback. See <span Class="emphasis">CURLOPT_OPENSOCKETDATA(3)</span>
-<p class="level0"><a name="CURLOPTCLOSESOCKETFUNCTION"></a><span class="nroffip">CURLOPT_CLOSESOCKETFUNCTION</span>
-<p class="level1">Callback for closing socket. See <span Class="emphasis">CURLOPT_CLOSESOCKETFUNCTION(3)</span>
-<p class="level0"><a name="CURLOPTCLOSESOCKETDATA"></a><span class="nroffip">CURLOPT_CLOSESOCKETDATA</span>
-<p class="level1">Data pointer to pass to the close socket callback. See <span Class="emphasis">CURLOPT_CLOSESOCKETDATA(3)</span>
-<p class="level0"><a name="CURLOPTPROGRESSFUNCTION"></a><span class="nroffip">CURLOPT_PROGRESSFUNCTION</span>
-<p class="level1">OBSOLETE callback for progress meter. See <span Class="emphasis">CURLOPT_PROGRESSFUNCTION(3)</span>
-<p class="level0"><a name="CURLOPTPROGRESSDATA"></a><span class="nroffip">CURLOPT_PROGRESSDATA</span>
-<p class="level1">Data pointer to pass to the progress meter callback. See <span Class="emphasis">CURLOPT_PROGRESSDATA(3)</span>
-<p class="level0"><a name="CURLOPTXFERINFOFUNCTION"></a><span class="nroffip">CURLOPT_XFERINFOFUNCTION</span>
-<p class="level1">Callback for progress meter. See <span Class="emphasis">CURLOPT_XFERINFOFUNCTION(3)</span>
-<p class="level0"><a name="CURLOPTXFERINFODATA"></a><span class="nroffip">CURLOPT_XFERINFODATA</span>
-<p class="level1">Data pointer to pass to the progress meter callback. See <span Class="emphasis">CURLOPT_XFERINFODATA(3)</span>
-<p class="level0"><a name="CURLOPTHEADERFUNCTION"></a><span class="nroffip">CURLOPT_HEADERFUNCTION</span>
-<p class="level1">Callback for writing received headers. See <span Class="emphasis">CURLOPT_HEADERFUNCTION(3)</span>
-<p class="level0"><a name="CURLOPTHEADERDATA"></a><span class="nroffip">CURLOPT_HEADERDATA</span>
-<p class="level1">Data pointer to pass to the header callback. See <span Class="emphasis">CURLOPT_HEADERDATA(3)</span>
-<p class="level0"><a name="CURLOPTDEBUGFUNCTION"></a><span class="nroffip">CURLOPT_DEBUGFUNCTION</span>
-<p class="level1">Callback for debug information. See <span Class="emphasis">CURLOPT_DEBUGFUNCTION(3)</span>
-<p class="level0"><a name="CURLOPTDEBUGDATA"></a><span class="nroffip">CURLOPT_DEBUGDATA</span>
-<p class="level1">Data pointer to pass to the debug callback. See <span Class="emphasis">CURLOPT_DEBUGDATA(3)</span>
-<p class="level0"><a name="CURLOPTSSLCTXFUNCTION"></a><span class="nroffip">CURLOPT_SSL_CTX_FUNCTION</span>
-<p class="level1">Callback for SSL context logic. See <span Class="emphasis">CURLOPT_SSL_CTX_FUNCTION(3)</span>
-<p class="level0"><a name="CURLOPTSSLCTXDATA"></a><span class="nroffip">CURLOPT_SSL_CTX_DATA</span>
-<p class="level1">Data pointer to pass to the SSL context callback. See <span Class="emphasis">CURLOPT_SSL_CTX_DATA(3)</span>
-<p class="level0"><a name="CURLOPTCONVTONETWORKFUNCTION"></a><span class="nroffip">CURLOPT_CONV_TO_NETWORK_FUNCTION</span>
-<p class="level1">Callback for code base conversion. See <span Class="emphasis">CURLOPT_CONV_TO_NETWORK_FUNCTION(3)</span>
-<p class="level0"><a name="CURLOPTCONVFROMNETWORKFUNCTION"></a><span class="nroffip">CURLOPT_CONV_FROM_NETWORK_FUNCTION</span>
-<p class="level1">Callback for code base conversion. See <span Class="emphasis">CURLOPT_CONV_FROM_NETWORK_FUNCTION(3)</span>
-<p class="level0"><a name="CURLOPTCONVFROMUTF8FUNCTION"></a><span class="nroffip">CURLOPT_CONV_FROM_UTF8_FUNCTION</span>
-<p class="level1">Callback for code base conversion. See <span Class="emphasis">CURLOPT_CONV_FROM_UTF8_FUNCTION(3)</span>
-<p class="level0"><a name="CURLOPTINTERLEAVEFUNCTION"></a><span class="nroffip">CURLOPT_INTERLEAVEFUNCTION</span>
-<p class="level1">Callback for RTSP interleaved data. See <span Class="emphasis">CURLOPT_INTERLEAVEFUNCTION(3)</span>
-<p class="level0"><a name="CURLOPTINTERLEAVEDATA"></a><span class="nroffip">CURLOPT_INTERLEAVEDATA</span>
-<p class="level1">Data pointer to pass to the RTSP interleave callback. See <span Class="emphasis">CURLOPT_INTERLEAVEDATA(3)</span>
-<p class="level0"><a name="CURLOPTCHUNKBGNFUNCTION"></a><span class="nroffip">CURLOPT_CHUNK_BGN_FUNCTION</span>
-<p class="level1">Callback for wildcard download start of chunk. See <span Class="emphasis">CURLOPT_CHUNK_BGN_FUNCTION(3)</span>
-<p class="level0"><a name="CURLOPTCHUNKENDFUNCTION"></a><span class="nroffip">CURLOPT_CHUNK_END_FUNCTION</span>
-<p class="level1">Callback for wildcard download end of chunk. See <span Class="emphasis">CURLOPT_CHUNK_END_FUNCTION(3)</span>
-<p class="level0"><a name="CURLOPTCHUNKDATA"></a><span class="nroffip">CURLOPT_CHUNK_DATA</span>
-<p class="level1">Data pointer to pass to the chunk callbacks. See <span Class="emphasis">CURLOPT_CHUNK_DATA(3)</span>
-<p class="level0"><a name="CURLOPTFNMATCHFUNCTION"></a><span class="nroffip">CURLOPT_FNMATCH_FUNCTION</span>
-<p class="level1">Callback for wildcard matching. See <span Class="emphasis">CURLOPT_FNMATCH_FUNCTION(3)</span>
-<p class="level0"><a name="CURLOPTFNMATCHDATA"></a><span class="nroffip">CURLOPT_FNMATCH_DATA</span>
-<p class="level1">Data pointer to pass to the wildcard matching callback. See <span Class="emphasis">CURLOPT_FNMATCH_DATA(3)</span> <a name="ERROR"></a><h2 class="nroffsh">ERROR OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLOPTERRORBUFFER"></a><span class="nroffip">CURLOPT_ERRORBUFFER</span>
-<p class="level1">Error message buffer. See <span Class="emphasis">CURLOPT_ERRORBUFFER(3)</span>
-<p class="level0"><a name="CURLOPTSTDERR"></a><span class="nroffip">CURLOPT_STDERR</span>
-<p class="level1">stderr replacement stream. See <span Class="emphasis">CURLOPT_STDERR(3)</span>
-<p class="level0"><a name="CURLOPTFAILONERROR"></a><span class="nroffip">CURLOPT_FAILONERROR</span>
-<p class="level1">Fail on HTTP 4xx errors. <span Class="emphasis">CURLOPT_FAILONERROR(3)</span> <a name="NETWORK"></a><h2 class="nroffsh">NETWORK OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLOPTURL"></a><span class="nroffip">CURLOPT_URL</span>
-<p class="level1">URL to work on. See <span Class="emphasis">CURLOPT_URL(3)</span>
-<p class="level0"><a name="CURLOPTPATHASIS"></a><span class="nroffip">CURLOPT_PATH_AS_IS</span>
-<p class="level1">Disable squashing /../ and /./ sequences in the path. See <span Class="emphasis">CURLOPT_PATH_AS_IS(3)</span>
-<p class="level0"><a name="CURLOPTPROTOCOLS"></a><span class="nroffip">CURLOPT_PROTOCOLS</span>
-<p class="level1">Allowed protocols. See <span Class="emphasis">CURLOPT_PROTOCOLS(3)</span>
-<p class="level0"><a name="CURLOPTREDIRPROTOCOLS"></a><span class="nroffip">CURLOPT_REDIR_PROTOCOLS</span>
-<p class="level1">Protocols to allow redirects to. See <span Class="emphasis">CURLOPT_REDIR_PROTOCOLS(3)</span>
-<p class="level0"><a name="CURLOPTDEFAULTPROTOCOL"></a><span class="nroffip">CURLOPT_DEFAULT_PROTOCOL</span>
-<p class="level1">Default protocol. See <span Class="emphasis">CURLOPT_DEFAULT_PROTOCOL(3)</span>
-<p class="level0"><a name="CURLOPTPROXY"></a><span class="nroffip">CURLOPT_PROXY</span>
-<p class="level1">Proxy to use. See <span Class="emphasis">CURLOPT_PROXY(3)</span>
-<p class="level0"><a name="CURLOPTPROXYPORT"></a><span class="nroffip">CURLOPT_PROXYPORT</span>
-<p class="level1">Proxy port to use. See <span Class="emphasis">CURLOPT_PROXYPORT(3)</span>
-<p class="level0"><a name="CURLOPTPROXYTYPE"></a><span class="nroffip">CURLOPT_PROXYTYPE</span>
-<p class="level1">Proxy type. See <span Class="emphasis">CURLOPT_PROXYTYPE(3)</span>
-<p class="level0"><a name="CURLOPTNOPROXY"></a><span class="nroffip">CURLOPT_NOPROXY</span>
-<p class="level1">Filter out hosts from proxy use. <span Class="emphasis">CURLOPT_NOPROXY(3)</span>
-<p class="level0"><a name="CURLOPTHTTPPROXYTUNNEL"></a><span class="nroffip">CURLOPT_HTTPPROXYTUNNEL</span>
-<p class="level1">Tunnel through the HTTP proxy. <span Class="emphasis">CURLOPT_HTTPPROXYTUNNEL(3)</span>
-<p class="level0"><a name="CURLOPTCONNECTTO"></a><span class="nroffip">CURLOPT_CONNECT_TO</span>
-<p class="level1">Connect to a specific host and port. See <span Class="emphasis">CURLOPT_CONNECT_TO(3)</span>
-<p class="level0"><a name="CURLOPTSOCKS5GSSAPISERVICE"></a><span class="nroffip">CURLOPT_SOCKS5_GSSAPI_SERVICE</span>
-<p class="level1">Socks5 GSSAPI service name. <span Class="emphasis">CURLOPT_SOCKS5_GSSAPI_SERVICE(3)</span>
-<p class="level0"><a name="CURLOPTSOCKS5GSSAPINEC"></a><span class="nroffip">CURLOPT_SOCKS5_GSSAPI_NEC</span>
-<p class="level1">Socks5 GSSAPI NEC mode. See <span Class="emphasis">CURLOPT_SOCKS5_GSSAPI_NEC(3)</span>
-<p class="level0"><a name="CURLOPTPROXYSERVICENAME"></a><span class="nroffip">CURLOPT_PROXY_SERVICE_NAME</span>
-<p class="level1">Proxy authentication service name. <span Class="emphasis">CURLOPT_PROXY_SERVICE_NAME(3)</span>
-<p class="level0"><a name="CURLOPTSERVICENAME"></a><span class="nroffip">CURLOPT_SERVICE_NAME</span>
-<p class="level1">Authentication service name. <span Class="emphasis">CURLOPT_SERVICE_NAME(3)</span>
-<p class="level0"><a name="CURLOPTINTERFACE"></a><span class="nroffip">CURLOPT_INTERFACE</span>
-<p class="level1">Bind connection locally to this. See <span Class="emphasis">CURLOPT_INTERFACE(3)</span>
-<p class="level0"><a name="CURLOPTLOCALPORT"></a><span class="nroffip">CURLOPT_LOCALPORT</span>
-<p class="level1">Bind connection locally to this port. See <span Class="emphasis">CURLOPT_LOCALPORT(3)</span>
-<p class="level0"><a name="CURLOPTLOCALPORTRANGE"></a><span class="nroffip">CURLOPT_LOCALPORTRANGE</span>
-<p class="level1">Bind connection locally to port range. See <span Class="emphasis">CURLOPT_LOCALPORTRANGE(3)</span>
-<p class="level0"><a name="CURLOPTDNSCACHETIMEOUT"></a><span class="nroffip">CURLOPT_DNS_CACHE_TIMEOUT</span>
-<p class="level1">Timeout for DNS cache. See <span Class="emphasis">CURLOPT_DNS_CACHE_TIMEOUT(3)</span>
-<p class="level0"><a name="CURLOPTDNSUSEGLOBALCACHE"></a><span class="nroffip">CURLOPT_DNS_USE_GLOBAL_CACHE</span>
-<p class="level1">OBSOLETE Enable global DNS cache. See <span Class="emphasis">CURLOPT_DNS_USE_GLOBAL_CACHE(3)</span>
-<p class="level0"><a name="CURLOPTBUFFERSIZE"></a><span class="nroffip">CURLOPT_BUFFERSIZE</span>
-<p class="level1">Ask for smaller buffer size. See <span Class="emphasis">CURLOPT_BUFFERSIZE(3)</span>
-<p class="level0"><a name="CURLOPTPORT"></a><span class="nroffip">CURLOPT_PORT</span>
-<p class="level1">Port number to connect to. See <span Class="emphasis">CURLOPT_PORT(3)</span>
-<p class="level0"><a name="CURLOPTTCPFASTOPEN"></a><span class="nroffip">CURLOPT_TCP_FASTOPEN</span>
-<p class="level1">Enable TFO, TCP Fast Open. See <span Class="emphasis">CURLOPT_TCP_FASTOPEN(3)</span>
-<p class="level0"><a name="CURLOPTTCPNODELAY"></a><span class="nroffip">CURLOPT_TCP_NODELAY</span>
-<p class="level1">Disable the Nagle algorithm. See <span Class="emphasis">CURLOPT_TCP_NODELAY(3)</span>
-<p class="level0"><a name="CURLOPTADDRESSSCOPE"></a><span class="nroffip">CURLOPT_ADDRESS_SCOPE</span>
-<p class="level1">IPv6 scope for local addresses. See <span Class="emphasis">CURLOPT_ADDRESS_SCOPE(3)</span>
-<p class="level0"><a name="CURLOPTTCPKEEPALIVE"></a><span class="nroffip">CURLOPT_TCP_KEEPALIVE</span>
-<p class="level1">Enable TCP keep-alive. See <span Class="emphasis">CURLOPT_TCP_KEEPALIVE(3)</span>
-<p class="level0"><a name="CURLOPTTCPKEEPIDLE"></a><span class="nroffip">CURLOPT_TCP_KEEPIDLE</span>
-<p class="level1">Idle time before sending keep-alive. See <span Class="emphasis">CURLOPT_TCP_KEEPIDLE(3)</span>
-<p class="level0"><a name="CURLOPTTCPKEEPINTVL"></a><span class="nroffip">CURLOPT_TCP_KEEPINTVL</span>
-<p class="level1">Interval between keep-alive probes. See <span Class="emphasis">CURLOPT_TCP_KEEPINTVL(3)</span>
-<p class="level0"><a name="CURLOPTUNIXSOCKETPATH"></a><span class="nroffip">CURLOPT_UNIX_SOCKET_PATH</span>
-<p class="level1">Path to a Unix domain socket. See <span Class="emphasis">CURLOPT_UNIX_SOCKET_PATH(3)</span> <a name="NAMES"></a><h2 class="nroffsh">NAMES and PASSWORDS OPTIONS (Authentication)</h2>
-<p class="level0">
-<p class="level0"><a name="CURLOPTNETRC"></a><span class="nroffip">CURLOPT_NETRC</span>
-<p class="level1">Enable .netrc parsing. See <span Class="emphasis">CURLOPT_NETRC(3)</span>
-<p class="level0"><a name="CURLOPTNETRCFILE"></a><span class="nroffip">CURLOPT_NETRC_FILE</span>
-<p class="level1">.netrc file name. See <span Class="emphasis">CURLOPT_NETRC_FILE(3)</span>
-<p class="level0"><a name="CURLOPTUSERPWD"></a><span class="nroffip">CURLOPT_USERPWD</span>
-<p class="level1">User name and password. See <span Class="emphasis">CURLOPT_USERPWD(3)</span>
-<p class="level0"><a name="CURLOPTPROXYUSERPWD"></a><span class="nroffip">CURLOPT_PROXYUSERPWD</span>
-<p class="level1">Proxy user name and password. See <span Class="emphasis">CURLOPT_PROXYUSERPWD(3)</span>
-<p class="level0"><a name="CURLOPTUSERNAME"></a><span class="nroffip">CURLOPT_USERNAME</span>
-<p class="level1">User name. See <span Class="emphasis">CURLOPT_USERNAME(3)</span>
-<p class="level0"><a name="CURLOPTPASSWORD"></a><span class="nroffip">CURLOPT_PASSWORD</span>
-<p class="level1">Password. See <span Class="emphasis">CURLOPT_PASSWORD(3)</span>
-<p class="level0"><a name="CURLOPTLOGINOPTIONS"></a><span class="nroffip">CURLOPT_LOGIN_OPTIONS</span>
-<p class="level1">Login options. See <span Class="emphasis">CURLOPT_LOGIN_OPTIONS(3)</span>
-<p class="level0"><a name="CURLOPTPROXYUSERNAME"></a><span class="nroffip">CURLOPT_PROXYUSERNAME</span>
-<p class="level1">Proxy user name. See <span Class="emphasis">CURLOPT_PROXYUSERNAME(3)</span>
-<p class="level0"><a name="CURLOPTPROXYPASSWORD"></a><span class="nroffip">CURLOPT_PROXYPASSWORD</span>
-<p class="level1">Proxy password. See <span Class="emphasis">CURLOPT_PROXYPASSWORD(3)</span>
-<p class="level0"><a name="CURLOPTHTTPAUTH"></a><span class="nroffip">CURLOPT_HTTPAUTH</span>
-<p class="level1">HTTP server authentication methods. See <span Class="emphasis">CURLOPT_HTTPAUTH(3)</span>
-<p class="level0"><a name="CURLOPTTLSAUTHUSERNAME"></a><span class="nroffip">CURLOPT_TLSAUTH_USERNAME</span>
-<p class="level1">TLS authentication user name. See <span Class="emphasis">CURLOPT_TLSAUTH_USERNAME(3)</span>
-<p class="level0"><a name="CURLOPTTLSAUTHPASSWORD"></a><span class="nroffip">CURLOPT_TLSAUTH_PASSWORD</span>
-<p class="level1">TLS authentication password. See <span Class="emphasis">CURLOPT_TLSAUTH_PASSWORD(3)</span>
-<p class="level0"><a name="CURLOPTTLSAUTHTYPE"></a><span class="nroffip">CURLOPT_TLSAUTH_TYPE</span>
-<p class="level1">TLS authentication methods. See <span Class="emphasis">CURLOPT_TLSAUTH_TYPE(3)</span>
-<p class="level0"><a name="CURLOPTPROXYAUTH"></a><span class="nroffip">CURLOPT_PROXYAUTH</span>
-<p class="level1">HTTP proxy authentication methods. See <span Class="emphasis">CURLOPT_PROXYAUTH(3)</span>
-<p class="level0"><a name="CURLOPTSASLIR"></a><span class="nroffip">CURLOPT_SASL_IR</span>
-<p class="level1">Enable SASL initial response. See <span Class="emphasis">CURLOPT_SASL_IR(3)</span>
-<p class="level0"><a name="CURLOPTXOAUTH2BEARER"></a><span class="nroffip">CURLOPT_XOAUTH2_BEARER</span>
-<p class="level1">OAuth2 bearer token. See <span Class="emphasis">CURLOPT_XOAUTH2_BEARER(3)</span> <a name="HTTP"></a><h2 class="nroffsh">HTTP OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLOPTAUTOREFERER"></a><span class="nroffip">CURLOPT_AUTOREFERER</span>
-<p class="level1">Automatically set Referer: header. See <span Class="emphasis">CURLOPT_AUTOREFERER(3)</span>
-<p class="level0"><a name="CURLOPTACCEPTENCODING"></a><span class="nroffip">CURLOPT_ACCEPT_ENCODING</span>
-<p class="level1">Accept-Encoding and automatic decompressing data. See <span Class="emphasis">CURLOPT_ACCEPT_ENCODING(3)</span>
-<p class="level0"><a name="CURLOPTTRANSFERENCODING"></a><span class="nroffip">CURLOPT_TRANSFER_ENCODING</span>
-<p class="level1">Request Transfer-Encoding. See <span Class="emphasis">CURLOPT_TRANSFER_ENCODING(3)</span>
-<p class="level0"><a name="CURLOPTFOLLOWLOCATION"></a><span class="nroffip">CURLOPT_FOLLOWLOCATION</span>
-<p class="level1">Follow HTTP redirects. See <span Class="emphasis">CURLOPT_FOLLOWLOCATION(3)</span>
-<p class="level0"><a name="CURLOPTUNRESTRICTEDAUTH"></a><span class="nroffip">CURLOPT_UNRESTRICTED_AUTH</span>
-<p class="level1">Do not restrict authentication to original host. <span Class="emphasis">CURLOPT_UNRESTRICTED_AUTH(3)</span>
-<p class="level0"><a name="CURLOPTMAXREDIRS"></a><span class="nroffip">CURLOPT_MAXREDIRS</span>
-<p class="level1">Maximum number of redirects to follow. See <span Class="emphasis">CURLOPT_MAXREDIRS(3)</span>
-<p class="level0"><a name="CURLOPTPOSTREDIR"></a><span class="nroffip">CURLOPT_POSTREDIR</span>
-<p class="level1">How to act on redirects after POST. See <span Class="emphasis">CURLOPT_POSTREDIR(3)</span>
-<p class="level0"><a name="CURLOPTPUT"></a><span class="nroffip">CURLOPT_PUT</span>
-<p class="level1">Issue a HTTP PUT request. See <span Class="emphasis">CURLOPT_PUT(3)</span>
-<p class="level0"><a name="CURLOPTPOST"></a><span class="nroffip">CURLOPT_POST</span>
-<p class="level1">Issue a HTTP POST request. See <span Class="emphasis">CURLOPT_POST(3)</span>
-<p class="level0"><a name="CURLOPTPOSTFIELDS"></a><span class="nroffip">CURLOPT_POSTFIELDS</span>
-<p class="level1">Send a POST with this data. See <span Class="emphasis">CURLOPT_POSTFIELDS(3)</span>
-<p class="level0"><a name="CURLOPTPOSTFIELDSIZE"></a><span class="nroffip">CURLOPT_POSTFIELDSIZE</span>
-<p class="level1">The POST data is this big. See <span Class="emphasis">CURLOPT_POSTFIELDSIZE(3)</span>
-<p class="level0"><a name="CURLOPTPOSTFIELDSIZELARGE"></a><span class="nroffip">CURLOPT_POSTFIELDSIZE_LARGE</span>
-<p class="level1">The POST data is this big. See <span Class="emphasis">CURLOPT_POSTFIELDSIZE_LARGE(3)</span>
-<p class="level0"><a name="CURLOPTCOPYPOSTFIELDS"></a><span class="nroffip">CURLOPT_COPYPOSTFIELDS</span>
-<p class="level1">Send a POST with this data - and copy it. See <span Class="emphasis">CURLOPT_COPYPOSTFIELDS(3)</span>
-<p class="level0"><a name="CURLOPTHTTPPOST"></a><span class="nroffip">CURLOPT_HTTPPOST</span>
-<p class="level1">Multipart formpost HTTP POST. See <span Class="emphasis">CURLOPT_HTTPPOST(3)</span>
-<p class="level0"><a name="CURLOPTREFERER"></a><span class="nroffip">CURLOPT_REFERER</span>
-<p class="level1">Referer: header. See <span Class="emphasis">CURLOPT_REFERER(3)</span>
-<p class="level0"><a name="CURLOPTUSERAGENT"></a><span class="nroffip">CURLOPT_USERAGENT</span>
-<p class="level1">User-Agent: header. See <span Class="emphasis">CURLOPT_USERAGENT(3)</span>
-<p class="level0"><a name="CURLOPTHTTPHEADER"></a><span class="nroffip">CURLOPT_HTTPHEADER</span>
-<p class="level1">Custom HTTP headers. See <span Class="emphasis">CURLOPT_HTTPHEADER(3)</span>
-<p class="level0"><a name="CURLOPTHEADEROPT"></a><span class="nroffip">CURLOPT_HEADEROPT</span>
-<p class="level1">Control custom headers. See <span Class="emphasis">CURLOPT_HEADEROPT(3)</span>
-<p class="level0"><a name="CURLOPTPROXYHEADER"></a><span class="nroffip">CURLOPT_PROXYHEADER</span>
-<p class="level1">Custom HTTP headers sent to proxy. See <span Class="emphasis">CURLOPT_PROXYHEADER(3)</span>
-<p class="level0"><a name="CURLOPTHTTP200ALIASES"></a><span class="nroffip">CURLOPT_HTTP200ALIASES</span>
-<p class="level1">Alternative versions of 200 OK. See <span Class="emphasis">CURLOPT_HTTP200ALIASES(3)</span>
-<p class="level0"><a name="CURLOPTCOOKIE"></a><span class="nroffip">CURLOPT_COOKIE</span>
-<p class="level1">Cookie(s) to send. See <span Class="emphasis">CURLOPT_COOKIE(3)</span>
-<p class="level0"><a name="CURLOPTCOOKIEFILE"></a><span class="nroffip">CURLOPT_COOKIEFILE</span>
-<p class="level1">File to read cookies from. See <span Class="emphasis">CURLOPT_COOKIEFILE(3)</span>
-<p class="level0"><a name="CURLOPTCOOKIEJAR"></a><span class="nroffip">CURLOPT_COOKIEJAR</span>
-<p class="level1">File to write cookies to. See <span Class="emphasis">CURLOPT_COOKIEJAR(3)</span>
-<p class="level0"><a name="CURLOPTCOOKIESESSION"></a><span class="nroffip">CURLOPT_COOKIESESSION</span>
-<p class="level1">Start a new cookie session. See <span Class="emphasis">CURLOPT_COOKIESESSION(3)</span>
-<p class="level0"><a name="CURLOPTCOOKIELIST"></a><span class="nroffip">CURLOPT_COOKIELIST</span>
-<p class="level1">Add or control cookies. See <span Class="emphasis">CURLOPT_COOKIELIST(3)</span>
-<p class="level0"><a name="CURLOPTHTTPGET"></a><span class="nroffip">CURLOPT_HTTPGET</span>
-<p class="level1">Do a HTTP GET request. See <span Class="emphasis">CURLOPT_HTTPGET(3)</span>
-<p class="level0"><a name="CURLOPTHTTPVERSION"></a><span class="nroffip">CURLOPT_HTTP_VERSION</span>
-<p class="level1">HTTP version to use. <span Class="emphasis">CURLOPT_HTTP_VERSION(3)</span>
-<p class="level0"><a name="CURLOPTIGNORECONTENTLENGTH"></a><span class="nroffip">CURLOPT_IGNORE_CONTENT_LENGTH</span>
-<p class="level1">Ignore Content-Length. See <span Class="emphasis">CURLOPT_IGNORE_CONTENT_LENGTH(3)</span>
-<p class="level0"><a name="CURLOPTHTTPCONTENTDECODING"></a><span class="nroffip">CURLOPT_HTTP_CONTENT_DECODING</span>
-<p class="level1">Disable Content decoding. See <span Class="emphasis">CURLOPT_HTTP_CONTENT_DECODING(3)</span>
-<p class="level0"><a name="CURLOPTHTTPTRANSFERDECODING"></a><span class="nroffip">CURLOPT_HTTP_TRANSFER_DECODING</span>
-<p class="level1">Disable Transfer decoding. See <span Class="emphasis">CURLOPT_HTTP_TRANSFER_DECODING(3)</span>
-<p class="level0"><a name="CURLOPTEXPECT100TIMEOUTMS"></a><span class="nroffip">CURLOPT_EXPECT_100_TIMEOUT_MS</span>
-<p class="level1">100-continue timeout. See <span Class="emphasis">CURLOPT_EXPECT_100_TIMEOUT_MS(3)</span>
-<p class="level0"><a name="CURLOPTPIPEWAIT"></a><span class="nroffip">CURLOPT_PIPEWAIT</span>
-<p class="level1">Wait on connection to pipeline on it. See <span Class="emphasis">CURLOPT_PIPEWAIT(3)</span>
-<p class="level0"><a name="CURLOPTSTREAMDEPENDS"></a><span class="nroffip">CURLOPT_STREAM_DEPENDS</span>
-<p class="level1">This HTTP/2 stream depends on another. See <span Class="emphasis">CURLOPT_STREAM_DEPENDS(3)</span>
-<p class="level0"><a name="CURLOPTSTREAMDEPENDSE"></a><span class="nroffip">CURLOPT_STREAM_DEPENDS_E</span>
-<p class="level1">This HTTP/2 stream depends on another exclusively. See <span Class="emphasis">CURLOPT_STREAM_DEPENDS_E(3)</span>
-<p class="level0"><a name="CURLOPTSTREAMWEIGHT"></a><span class="nroffip">CURLOPT_STREAM_WEIGHT</span>
-<p class="level1">Set this HTTP/2 stream's weight. See <span Class="emphasis">CURLOPT_STREAM_WEIGHT(3)</span> <a name="SMTP"></a><h2 class="nroffsh">SMTP OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLOPTMAILFROM"></a><span class="nroffip">CURLOPT_MAIL_FROM</span>
-<p class="level1">Address of the sender. See <span Class="emphasis">CURLOPT_MAIL_FROM(3)</span>
-<p class="level0"><a name="CURLOPTMAILRCPT"></a><span class="nroffip">CURLOPT_MAIL_RCPT</span>
-<p class="level1">Address of the recipients. See <span Class="emphasis">CURLOPT_MAIL_RCPT(3)</span>
-<p class="level0"><a name="CURLOPTMAILAUTH"></a><span class="nroffip">CURLOPT_MAIL_AUTH</span>
-<p class="level1">Authentication address. See <span Class="emphasis">CURLOPT_MAIL_AUTH(3)</span> <a name="TFTP"></a><h2 class="nroffsh">TFTP OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLOPTTFTPBLKSIZE"></a><span class="nroffip">CURLOPT_TFTP_BLKSIZE</span>
-<p class="level1">TFTP block size. See <span Class="emphasis">CURLOPT_TFTP_BLKSIZE(3)</span>
-<p class="level0"><a name="CURLOPTTFTPNOOPTIONS"></a><span class="nroffip">CURLOPT_TFTP_NO_OPTIONS</span>
-<p class="level1">Do not send TFTP options requests. See <span Class="emphasis">CURLOPT_TFTP_NO_OPTIONS(3)</span> <a name="FTP"></a><h2 class="nroffsh">FTP OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLOPTFTPPORT"></a><span class="nroffip">CURLOPT_FTPPORT</span>
-<p class="level1">Use active FTP. See <span Class="emphasis">CURLOPT_FTPPORT(3)</span>
-<p class="level0"><a name="CURLOPTQUOTE"></a><span class="nroffip">CURLOPT_QUOTE</span>
-<p class="level1">Commands to run before transfer. See <span Class="emphasis">CURLOPT_QUOTE(3)</span>
-<p class="level0"><a name="CURLOPTPOSTQUOTE"></a><span class="nroffip">CURLOPT_POSTQUOTE</span>
-<p class="level1">Commands to run after transfer. See <span Class="emphasis">CURLOPT_POSTQUOTE(3)</span>
-<p class="level0"><a name="CURLOPTPREQUOTE"></a><span class="nroffip">CURLOPT_PREQUOTE</span>
-<p class="level1">Commands to run just before transfer. See <span Class="emphasis">CURLOPT_PREQUOTE(3)</span>
-<p class="level0"><a name="CURLOPTAPPEND"></a><span class="nroffip">CURLOPT_APPEND</span>
-<p class="level1">Append to remote file. See <span Class="emphasis">CURLOPT_APPEND(3)</span>
-<p class="level0"><a name="CURLOPTFTPUSEEPRT"></a><span class="nroffip">CURLOPT_FTP_USE_EPRT</span>
-<p class="level1">Use EPTR. See <span Class="emphasis">CURLOPT_FTP_USE_EPRT(3)</span>
-<p class="level0"><a name="CURLOPTFTPUSEEPSV"></a><span class="nroffip">CURLOPT_FTP_USE_EPSV</span>
-<p class="level1">Use EPSV. See <span Class="emphasis">CURLOPT_FTP_USE_EPSV(3)</span>
-<p class="level0"><a name="CURLOPTFTPUSEPRET"></a><span class="nroffip">CURLOPT_FTP_USE_PRET</span>
-<p class="level1">Use PRET. See <span Class="emphasis">CURLOPT_FTP_USE_PRET(3)</span>
-<p class="level0"><a name="CURLOPTFTPCREATEMISSINGDIRS"></a><span class="nroffip">CURLOPT_FTP_CREATE_MISSING_DIRS</span>
-<p class="level1">Create missing directories on the remote server. See <span Class="emphasis">CURLOPT_FTP_CREATE_MISSING_DIRS(3)</span>
-<p class="level0"><a name="CURLOPTFTPRESPONSETIMEOUT"></a><span class="nroffip">CURLOPT_FTP_RESPONSE_TIMEOUT</span>
-<p class="level1">Timeout for FTP responses. See <span Class="emphasis">CURLOPT_FTP_RESPONSE_TIMEOUT(3)</span>
-<p class="level0"><a name="CURLOPTFTPALTERNATIVETOUSER"></a><span class="nroffip">CURLOPT_FTP_ALTERNATIVE_TO_USER</span>
-<p class="level1">Alternative to USER. See <span Class="emphasis">CURLOPT_FTP_ALTERNATIVE_TO_USER(3)</span>
-<p class="level0"><a name="CURLOPTFTPSKIPPASVIP"></a><span class="nroffip">CURLOPT_FTP_SKIP_PASV_IP</span>
-<p class="level1">Ignore the IP address in the PASV response. See <span Class="emphasis">CURLOPT_FTP_SKIP_PASV_IP(3)</span>
-<p class="level0"><a name="CURLOPTFTPSSLAUTH"></a><span class="nroffip">CURLOPT_FTPSSLAUTH</span>
-<p class="level1">Control how to do TLS. See <span Class="emphasis">CURLOPT_FTPSSLAUTH(3)</span>
-<p class="level0"><a name="CURLOPTFTPSSLCCC"></a><span class="nroffip">CURLOPT_FTP_SSL_CCC</span>
-<p class="level1">Back to non-TLS again after authentication. See <span Class="emphasis">CURLOPT_FTP_SSL_CCC(3)</span>
-<p class="level0"><a name="CURLOPTFTPACCOUNT"></a><span class="nroffip">CURLOPT_FTP_ACCOUNT</span>
-<p class="level1">Send ACCT command. See <span Class="emphasis">CURLOPT_FTP_ACCOUNT(3)</span>
-<p class="level0"><a name="CURLOPTFTPFILEMETHOD"></a><span class="nroffip">CURLOPT_FTP_FILEMETHOD</span>
-<p class="level1">Specify how to reach files. See <span Class="emphasis">CURLOPT_FTP_FILEMETHOD(3)</span> <a name="RTSP"></a><h2 class="nroffsh">RTSP OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLOPTRTSPREQUEST"></a><span class="nroffip">CURLOPT_RTSP_REQUEST</span>
-<p class="level1">RTSP request. See <span Class="emphasis">CURLOPT_RTSP_REQUEST(3)</span>
-<p class="level0"><a name="CURLOPTRTSPSESSIONID"></a><span class="nroffip">CURLOPT_RTSP_SESSION_ID</span>
-<p class="level1">RTSP session-id. See <span Class="emphasis">CURLOPT_RTSP_SESSION_ID(3)</span>
-<p class="level0"><a name="CURLOPTRTSPSTREAMURI"></a><span class="nroffip">CURLOPT_RTSP_STREAM_URI</span>
-<p class="level1">RTSP stream URI. See <span Class="emphasis">CURLOPT_RTSP_STREAM_URI(3)</span>
-<p class="level0"><a name="CURLOPTRTSPTRANSPORT"></a><span class="nroffip">CURLOPT_RTSP_TRANSPORT</span>
-<p class="level1">RTSP Transport: header. See <span Class="emphasis">CURLOPT_RTSP_TRANSPORT(3)</span>
-<p class="level0"><a name="CURLOPTRTSPCLIENTCSEQ"></a><span class="nroffip">CURLOPT_RTSP_CLIENT_CSEQ</span>
-<p class="level1">Client CSEQ number. See <span Class="emphasis">CURLOPT_RTSP_CLIENT_CSEQ(3)</span>
-<p class="level0"><a name="CURLOPTRTSPSERVERCSEQ"></a><span class="nroffip">CURLOPT_RTSP_SERVER_CSEQ</span>
-<p class="level1">CSEQ number for RTSP Server-&gt;Client request. See <span Class="emphasis">CURLOPT_RTSP_SERVER_CSEQ(3)</span> <a name="PROTOCOL"></a><h2 class="nroffsh">PROTOCOL OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLOPTTRANSFERTEXT"></a><span class="nroffip">CURLOPT_TRANSFERTEXT</span>
-<p class="level1">Use text transfer. See <span Class="emphasis">CURLOPT_TRANSFERTEXT(3)</span>
-<p class="level0"><a name="CURLOPTPROXYTRANSFERMODE"></a><span class="nroffip">CURLOPT_PROXY_TRANSFER_MODE</span>
-<p class="level1">Add transfer mode to URL over proxy. See <span Class="emphasis">CURLOPT_PROXY_TRANSFER_MODE(3)</span>
-<p class="level0"><a name="CURLOPTCRLF"></a><span class="nroffip">CURLOPT_CRLF</span>
-<p class="level1">Convert newlines. See <span Class="emphasis">CURLOPT_CRLF(3)</span>
-<p class="level0"><a name="CURLOPTRANGE"></a><span class="nroffip">CURLOPT_RANGE</span>
-<p class="level1">Range requests. See <span Class="emphasis">CURLOPT_RANGE(3)</span>
-<p class="level0"><a name="CURLOPTRESUMEFROM"></a><span class="nroffip">CURLOPT_RESUME_FROM</span>
-<p class="level1">Resume a transfer. See <span Class="emphasis">CURLOPT_RESUME_FROM(3)</span>
-<p class="level0"><a name="CURLOPTRESUMEFROMLARGE"></a><span class="nroffip">CURLOPT_RESUME_FROM_LARGE</span>
-<p class="level1">Resume a transfer. See <span Class="emphasis">CURLOPT_RESUME_FROM_LARGE(3)</span>
-<p class="level0"><a name="CURLOPTCUSTOMREQUEST"></a><span class="nroffip">CURLOPT_CUSTOMREQUEST</span>
-<p class="level1">Custom request/method. See <span Class="emphasis">CURLOPT_CUSTOMREQUEST(3)</span>
-<p class="level0"><a name="CURLOPTFILETIME"></a><span class="nroffip">CURLOPT_FILETIME</span>
-<p class="level1">Request file modification date and time. See <span Class="emphasis">CURLOPT_FILETIME(3)</span>
-<p class="level0"><a name="CURLOPTDIRLISTONLY"></a><span class="nroffip">CURLOPT_DIRLISTONLY</span>
-<p class="level1">List only. See <span Class="emphasis">CURLOPT_DIRLISTONLY(3)</span>
-<p class="level0"><a name="CURLOPTNOBODY"></a><span class="nroffip">CURLOPT_NOBODY</span>
-<p class="level1">Do not get the body contents. See <span Class="emphasis">CURLOPT_NOBODY(3)</span>
-<p class="level0"><a name="CURLOPTINFILESIZE"></a><span class="nroffip">CURLOPT_INFILESIZE</span>
-<p class="level1">Size of file to send. <span Class="emphasis">CURLOPT_INFILESIZE(3)</span>
-<p class="level0"><a name="CURLOPTINFILESIZELARGE"></a><span class="nroffip">CURLOPT_INFILESIZE_LARGE</span>
-<p class="level1">Size of file to send. <span Class="emphasis">CURLOPT_INFILESIZE_LARGE(3)</span>
-<p class="level0"><a name="CURLOPTUPLOAD"></a><span class="nroffip">CURLOPT_UPLOAD</span>
-<p class="level1">Upload data. See <span Class="emphasis">CURLOPT_UPLOAD(3)</span>
-<p class="level0"><a name="CURLOPTMAXFILESIZE"></a><span class="nroffip">CURLOPT_MAXFILESIZE</span>
-<p class="level1">Maximum file size to get. See <span Class="emphasis">CURLOPT_MAXFILESIZE(3)</span>
-<p class="level0"><a name="CURLOPTMAXFILESIZELARGE"></a><span class="nroffip">CURLOPT_MAXFILESIZE_LARGE</span>
-<p class="level1">Maximum file size to get. See <span Class="emphasis">CURLOPT_MAXFILESIZE_LARGE(3)</span>
-<p class="level0"><a name="CURLOPTTIMECONDITION"></a><span class="nroffip">CURLOPT_TIMECONDITION</span>
-<p class="level1">Make a time conditional request. See <span Class="emphasis">CURLOPT_TIMECONDITION(3)</span>
-<p class="level0"><a name="CURLOPTTIMEVALUE"></a><span class="nroffip">CURLOPT_TIMEVALUE</span>
-<p class="level1">Time value for the time conditional request. See <span Class="emphasis">CURLOPT_TIMEVALUE(3)</span> <a name="CONNECTION"></a><h2 class="nroffsh">CONNECTION OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLOPTTIMEOUT"></a><span class="nroffip">CURLOPT_TIMEOUT</span>
-<p class="level1">Timeout for the entire request. See <span Class="emphasis">CURLOPT_TIMEOUT(3)</span>
-<p class="level0"><a name="CURLOPTTIMEOUTMS"></a><span class="nroffip">CURLOPT_TIMEOUT_MS</span>
-<p class="level1">Millisecond timeout for the entire request. See <span Class="emphasis">CURLOPT_TIMEOUT_MS(3)</span>
-<p class="level0"><a name="CURLOPTLOWSPEEDLIMIT"></a><span class="nroffip">CURLOPT_LOW_SPEED_LIMIT</span>
-<p class="level1">Low speed limit to abort transfer. See <span Class="emphasis">CURLOPT_LOW_SPEED_LIMIT(3)</span>
-<p class="level0"><a name="CURLOPTLOWSPEEDTIME"></a><span class="nroffip">CURLOPT_LOW_SPEED_TIME</span>
-<p class="level1">Time to be below the speed to trigger low speed abort. See <span Class="emphasis">CURLOPT_LOW_SPEED_TIME(3)</span>
-<p class="level0"><a name="CURLOPTMAXSENDSPEEDLARGE"></a><span class="nroffip">CURLOPT_MAX_SEND_SPEED_LARGE</span>
-<p class="level1">Cap the upload speed to this. See <span Class="emphasis">CURLOPT_MAX_SEND_SPEED_LARGE(3)</span>
-<p class="level0"><a name="CURLOPTMAXRECVSPEEDLARGE"></a><span class="nroffip">CURLOPT_MAX_RECV_SPEED_LARGE</span>
-<p class="level1">Cap the download speed to this. See <span Class="emphasis">CURLOPT_MAX_RECV_SPEED_LARGE(3)</span>
-<p class="level0"><a name="CURLOPTMAXCONNECTS"></a><span class="nroffip">CURLOPT_MAXCONNECTS</span>
-<p class="level1">Maximum number of connections in the connection pool. See <span Class="emphasis">CURLOPT_MAXCONNECTS(3)</span>
-<p class="level0"><a name="CURLOPTFRESHCONNECT"></a><span class="nroffip">CURLOPT_FRESH_CONNECT</span>
-<p class="level1">Use a new connection. <span Class="emphasis">CURLOPT_FRESH_CONNECT(3)</span>
-<p class="level0"><a name="CURLOPTFORBIDREUSE"></a><span class="nroffip">CURLOPT_FORBID_REUSE</span>
-<p class="level1">Prevent subsequent connections from re-using this. See <span Class="emphasis">CURLOPT_FORBID_REUSE(3)</span>
-<p class="level0"><a name="CURLOPTCONNECTTIMEOUT"></a><span class="nroffip">CURLOPT_CONNECTTIMEOUT</span>
-<p class="level1">Timeout for the connection phase. See <span Class="emphasis">CURLOPT_CONNECTTIMEOUT(3)</span>
-<p class="level0"><a name="CURLOPTCONNECTTIMEOUTMS"></a><span class="nroffip">CURLOPT_CONNECTTIMEOUT_MS</span>
-<p class="level1">Millisecond timeout for the connection phase. See <span Class="emphasis">CURLOPT_CONNECTTIMEOUT_MS(3)</span>
-<p class="level0"><a name="CURLOPTIPRESOLVE"></a><span class="nroffip">CURLOPT_IPRESOLVE</span>
-<p class="level1">IP version to resolve to. See <span Class="emphasis">CURLOPT_IPRESOLVE(3)</span>
-<p class="level0"><a name="CURLOPTCONNECTONLY"></a><span class="nroffip">CURLOPT_CONNECT_ONLY</span>
-<p class="level1">Only connect, nothing else. See <span Class="emphasis">CURLOPT_CONNECT_ONLY(3)</span>
-<p class="level0"><a name="CURLOPTUSESSL"></a><span class="nroffip">CURLOPT_USE_SSL</span>
-<p class="level1">Use TLS/SSL. See <span Class="emphasis">CURLOPT_USE_SSL(3)</span>
-<p class="level0"><a name="CURLOPTRESOLVE"></a><span class="nroffip">CURLOPT_RESOLVE</span>
-<p class="level1">Provide fixed/fake name resolves. See <span Class="emphasis">CURLOPT_RESOLVE(3)</span>
-<p class="level0"><a name="CURLOPTDNSINTERFACE"></a><span class="nroffip">CURLOPT_DNS_INTERFACE</span>
-<p class="level1">Bind name resolves to this interface. See <span Class="emphasis">CURLOPT_DNS_INTERFACE(3)</span>
-<p class="level0"><a name="CURLOPTDNSLOCALIP4"></a><span class="nroffip">CURLOPT_DNS_LOCAL_IP4</span>
-<p class="level1">Bind name resolves to this IP4 address. See <span Class="emphasis">CURLOPT_DNS_LOCAL_IP4(3)</span>
-<p class="level0"><a name="CURLOPTDNSLOCALIP6"></a><span class="nroffip">CURLOPT_DNS_LOCAL_IP6</span>
-<p class="level1">Bind name resolves to this IP6 address. See <span Class="emphasis">CURLOPT_DNS_LOCAL_IP6(3)</span>
-<p class="level0"><a name="CURLOPTDNSSERVERS"></a><span class="nroffip">CURLOPT_DNS_SERVERS</span>
-<p class="level1">Preferred DNS servers. See <span Class="emphasis">CURLOPT_DNS_SERVERS(3)</span>
-<p class="level0"><a name="CURLOPTACCEPTTIMEOUTMS"></a><span class="nroffip">CURLOPT_ACCEPTTIMEOUT_MS</span>
-<p class="level1">Timeout for waiting for the server's connect back to be accepted. See <span Class="emphasis">CURLOPT_ACCEPTTIMEOUT_MS(3)</span> <a name="SSL"></a><h2 class="nroffsh">SSL and SECURITY OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLOPTSSLCERT"></a><span class="nroffip">CURLOPT_SSLCERT</span>
-<p class="level1">Client cert. See <span Class="emphasis">CURLOPT_SSLCERT(3)</span>
-<p class="level0"><a name="CURLOPTSSLCERTTYPE"></a><span class="nroffip">CURLOPT_SSLCERTTYPE</span>
-<p class="level1">Client cert type. See <span Class="emphasis">CURLOPT_SSLCERTTYPE(3)</span>
-<p class="level0"><a name="CURLOPTSSLKEY"></a><span class="nroffip">CURLOPT_SSLKEY</span>
-<p class="level1">Client key. See <span Class="emphasis">CURLOPT_SSLKEY(3)</span>
-<p class="level0"><a name="CURLOPTSSLKEYTYPE"></a><span class="nroffip">CURLOPT_SSLKEYTYPE</span>
-<p class="level1">Client key type. See <span Class="emphasis">CURLOPT_SSLKEYTYPE(3)</span>
-<p class="level0"><a name="CURLOPTKEYPASSWD"></a><span class="nroffip">CURLOPT_KEYPASSWD</span>
-<p class="level1">Client key password. See <span Class="emphasis">CURLOPT_KEYPASSWD(3)</span>
-<p class="level0"><a name="CURLOPTSSLENABLEALPN"></a><span class="nroffip">CURLOPT_SSL_ENABLE_ALPN</span>
-<p class="level1">Enable use of ALPN. See <span Class="emphasis">CURLOPT_SSL_ENABLE_ALPN(3)</span>
-<p class="level0"><a name="CURLOPTSSLENABLENPN"></a><span class="nroffip">CURLOPT_SSL_ENABLE_NPN</span>
-<p class="level1">Enable use of NPN. See <span Class="emphasis">CURLOPT_SSL_ENABLE_NPN(3)</span>
-<p class="level0"><a name="CURLOPTSSLENGINE"></a><span class="nroffip">CURLOPT_SSLENGINE</span>
-<p class="level1">Use identifier with SSL engine. See <span Class="emphasis">CURLOPT_SSLENGINE(3)</span>
-<p class="level0"><a name="CURLOPTSSLENGINEDEFAULT"></a><span class="nroffip">CURLOPT_SSLENGINE_DEFAULT</span>
-<p class="level1">Default SSL engine. See <span Class="emphasis">CURLOPT_SSLENGINE_DEFAULT(3)</span>
-<p class="level0"><a name="CURLOPTSSLFALSESTART"></a><span class="nroffip">CURLOPT_SSL_FALSESTART</span>
-<p class="level1">Enable TLS False Start. See <span Class="emphasis">CURLOPT_SSL_FALSESTART(3)</span>
-<p class="level0"><a name="CURLOPTSSLVERSION"></a><span class="nroffip">CURLOPT_SSLVERSION</span>
-<p class="level1">SSL version to use. See <span Class="emphasis">CURLOPT_SSLVERSION(3)</span>
-<p class="level0"><a name="CURLOPTSSLVERIFYHOST"></a><span class="nroffip">CURLOPT_SSL_VERIFYHOST</span>
-<p class="level1">Verify the host name in the SSL certificate. See <span Class="emphasis">CURLOPT_SSL_VERIFYHOST(3)</span>
-<p class="level0"><a name="CURLOPTSSLVERIFYPEER"></a><span class="nroffip">CURLOPT_SSL_VERIFYPEER</span>
-<p class="level1">Verify the SSL certificate. See <span Class="emphasis">CURLOPT_SSL_VERIFYPEER(3)</span>
-<p class="level0"><a name="CURLOPTSSLVERIFYSTATUS"></a><span class="nroffip">CURLOPT_SSL_VERIFYSTATUS</span>
-<p class="level1">Verify the SSL certificate's status. See <span Class="emphasis">CURLOPT_SSL_VERIFYSTATUS(3)</span>
-<p class="level0"><a name="CURLOPTCAINFO"></a><span class="nroffip">CURLOPT_CAINFO</span>
-<p class="level1">CA cert bundle. See <span Class="emphasis">CURLOPT_CAINFO(3)</span>
-<p class="level0"><a name="CURLOPTISSUERCERT"></a><span class="nroffip">CURLOPT_ISSUERCERT</span>
-<p class="level1">Issuer certificate. See <span Class="emphasis">CURLOPT_ISSUERCERT(3)</span>
-<p class="level0"><a name="CURLOPTCAPATH"></a><span class="nroffip">CURLOPT_CAPATH</span>
-<p class="level1">Path to CA cert bundle. See <span Class="emphasis">CURLOPT_CAPATH(3)</span>
-<p class="level0"><a name="CURLOPTCRLFILE"></a><span class="nroffip">CURLOPT_CRLFILE</span>
-<p class="level1">Certificate Revocation List. See <span Class="emphasis">CURLOPT_CRLFILE(3)</span>
-<p class="level0"><a name="CURLOPTCERTINFO"></a><span class="nroffip">CURLOPT_CERTINFO</span>
-<p class="level1">Extract certificate info. See <span Class="emphasis">CURLOPT_CERTINFO(3)</span>
-<p class="level0"><a name="CURLOPTPINNEDPUBLICKEY"></a><span class="nroffip">CURLOPT_PINNEDPUBLICKEY</span>
-<p class="level1">Set pinned SSL public key . See <span Class="emphasis">CURLOPT_PINNEDPUBLICKEY(3)</span>
-<p class="level0"><a name="CURLOPTRANDOMFILE"></a><span class="nroffip">CURLOPT_RANDOM_FILE</span>
-<p class="level1">Provide source for entropy random data. See <span Class="emphasis">CURLOPT_RANDOM_FILE(3)</span>
-<p class="level0"><a name="CURLOPTEGDSOCKET"></a><span class="nroffip">CURLOPT_EGDSOCKET</span>
-<p class="level1">Identify EGD socket for entropy. See <span Class="emphasis">CURLOPT_EGDSOCKET(3)</span>
-<p class="level0"><a name="CURLOPTSSLCIPHERLIST"></a><span class="nroffip">CURLOPT_SSL_CIPHER_LIST</span>
-<p class="level1">Ciphers to use. See <span Class="emphasis">CURLOPT_SSL_CIPHER_LIST(3)</span>
-<p class="level0"><a name="CURLOPTSSLSESSIONIDCACHE"></a><span class="nroffip">CURLOPT_SSL_SESSIONID_CACHE</span>
-<p class="level1">Disable SSL session-id cache. See <span Class="emphasis">CURLOPT_SSL_SESSIONID_CACHE(3)</span>
-<p class="level0"><a name="CURLOPTSSLOPTIONS"></a><span class="nroffip">CURLOPT_SSL_OPTIONS</span>
-<p class="level1">Control SSL behavior. See <span Class="emphasis">CURLOPT_SSL_OPTIONS(3)</span>
-<p class="level0"><a name="CURLOPTKRBLEVEL"></a><span class="nroffip">CURLOPT_KRBLEVEL</span>
-<p class="level1">Kerberos security level. See <span Class="emphasis">CURLOPT_KRBLEVEL(3)</span>
-<p class="level0"><a name="CURLOPTGSSAPIDELEGATION"></a><span class="nroffip">CURLOPT_GSSAPI_DELEGATION</span>
-<p class="level1">Disable GSS-API delegation. See <span Class="emphasis">CURLOPT_GSSAPI_DELEGATION(3)</span> <a name="SSH"></a><h2 class="nroffsh">SSH OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLOPTSSHAUTHTYPES"></a><span class="nroffip">CURLOPT_SSH_AUTH_TYPES</span>
-<p class="level1">SSH authentication types. See <span Class="emphasis">CURLOPT_SSH_AUTH_TYPES(3)</span>
-<p class="level0"><a name="CURLOPTSSHHOSTPUBLICKEYMD5"></a><span class="nroffip">CURLOPT_SSH_HOST_PUBLIC_KEY_MD5</span>
-<p class="level1">MD5 of host's public key. See <span Class="emphasis">CURLOPT_SSH_HOST_PUBLIC_KEY_MD5(3)</span>
-<p class="level0"><a name="CURLOPTSSHPUBLICKEYFILE"></a><span class="nroffip">CURLOPT_SSH_PUBLIC_KEYFILE</span>
-<p class="level1">File name of public key. See <span Class="emphasis">CURLOPT_SSH_PUBLIC_KEYFILE(3)</span>
-<p class="level0"><a name="CURLOPTSSHPRIVATEKEYFILE"></a><span class="nroffip">CURLOPT_SSH_PRIVATE_KEYFILE</span>
-<p class="level1">File name of private key. See <span Class="emphasis">CURLOPT_SSH_PRIVATE_KEYFILE(3)</span>
-<p class="level0"><a name="CURLOPTSSHKNOWNHOSTS"></a><span class="nroffip">CURLOPT_SSH_KNOWNHOSTS</span>
-<p class="level1">File name with known hosts. See <span Class="emphasis">CURLOPT_SSH_KNOWNHOSTS(3)</span>
-<p class="level0"><a name="CURLOPTSSHKEYFUNCTION"></a><span class="nroffip">CURLOPT_SSH_KEYFUNCTION</span>
-<p class="level1">Callback for known hosts handling. See <span Class="emphasis">CURLOPT_SSH_KEYFUNCTION(3)</span>
-<p class="level0"><a name="CURLOPTSSHKEYDATA"></a><span class="nroffip">CURLOPT_SSH_KEYDATA</span>
-<p class="level1">Custom pointer to pass to ssh key callback. See <span Class="emphasis">CURLOPT_SSH_KEYDATA(3)</span> <a name="OTHER"></a><h2 class="nroffsh">OTHER OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLOPTPRIVATE"></a><span class="nroffip">CURLOPT_PRIVATE</span>
-<p class="level1">Private pointer to store. See <span Class="emphasis">CURLOPT_PRIVATE(3)</span>
-<p class="level0"><a name="CURLOPTSHARE"></a><span class="nroffip">CURLOPT_SHARE</span>
-<p class="level1">Share object to use. See <span Class="emphasis">CURLOPT_SHARE(3)</span>
-<p class="level0"><a name="CURLOPTNEWFILEPERMS"></a><span class="nroffip">CURLOPT_NEW_FILE_PERMS</span>
-<p class="level1">Mode for creating new remote files. See <span Class="emphasis">CURLOPT_NEW_FILE_PERMS(3)</span>
-<p class="level0"><a name="CURLOPTNEWDIRECTORYPERMS"></a><span class="nroffip">CURLOPT_NEW_DIRECTORY_PERMS</span>
-<p class="level1">Mode for creating new remote directories. See <span Class="emphasis">CURLOPT_NEW_DIRECTORY_PERMS(3)</span> <a name="TELNET"></a><h2 class="nroffsh">TELNET OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLOPTTELNETOPTIONS"></a><span class="nroffip">CURLOPT_TELNETOPTIONS</span>
-<p class="level1">TELNET options. See <span Class="emphasis">CURLOPT_TELNETOPTIONS(3)</span> <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0"><span Class="emphasis">CURLE_OK</span> (zero) means that the option was set properly, non-zero means an error occurred as <span Class="emphasis">&lt;curl/curl.h&gt;</span> defines. See the <a Class="emphasis" href="./libcurl-errors.html">libcurl-errors</a> man page for the full list with descriptions.
-<p class="level0">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 <span Class="emphasis">CURLE_UNKNOWN_OPTION</span>. If support for the option was disabled at compile-time, it will return <span Class="emphasis">CURLE_NOT_BUILT_IN</span>. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; CURLcode res;
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp; res = curl_easy_perform(curl);
-&nbsp; curl_easy_cleanup(curl);
-}
-</pre>
-
-<p class="level0"><a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_easy_init.html">curl_easy_init</a>, <a Class="manpage" href="./curl_easy_cleanup.html">curl_easy_cleanup</a>, <a Class="manpage" href="./curl_easy_reset.html">curl_easy_reset</a>, <a Class="manpage" href="./curl_easy_getinfo.html">curl_easy_getinfo</a>, <a Class="manpage" href="./curl_multi_setopt.html">curl_multi_setopt</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_easy_setopt.pdf b/docs/libcurl/curl_easy_setopt.pdf
deleted file mode 100644
index dfee03b12..000000000
--- a/docs/libcurl/curl_easy_setopt.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_easy_strerror.html b/docs/libcurl/curl_easy_strerror.html
deleted file mode 100644
index 45bbded78..000000000
--- a/docs/libcurl/curl_easy_strerror.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_easy_strerror man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_easy_strerror - return string describing error code <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">const char *curl_easy_strerror(CURLcode errornum); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">The <a Class="emphasis" href="./curl_easy_strerror.html">curl_easy_strerror</a> function returns a string describing the CURLcode error code passed in the argument <span Class="emphasis">errornum</span>.
-<p class="level0">Typically applications also appreciate <span Class="emphasis">CURLOPT_ERRORBUFFER(3)</span> for more specific error descriptions generated at run-time. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This function was added in libcurl 7.12.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">A pointer to a zero terminated string. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./libcurl-errors.html">libcurl-errors</a>, <a Class="manpage" href="./curl_multi_strerror.html">curl_multi_strerror</a>, <a Class="manpage" href="./curl_share_strerror.html">curl_share_strerror</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_easy_strerror.pdf b/docs/libcurl/curl_easy_strerror.pdf
deleted file mode 100644
index eda58c676..000000000
--- a/docs/libcurl/curl_easy_strerror.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_easy_unescape.3 b/docs/libcurl/curl_easy_unescape.3
index 06fd6fcb5..50ce97db7 100644
--- a/docs/libcurl/curl_easy_unescape.3
+++ b/docs/libcurl/curl_easy_unescape.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -40,7 +40,10 @@ will use strlen() on the input \fIurl\fP string to find out the size.
If \fBoutlength\fP is non-NULL, the function will write the length of the
returned string in the integer it points to. This allows an escaped string
-containing %00 to still get used properly after unescaping.
+containing %00 to still get used properly after unescaping. Since this is a
+pointer to an \fIint\fP type, it can only return a value up to INT_MAX so no
+longer string can be unescaped if the string length is returned in this
+parameter.
You must \fIcurl_free(3)\fP the returned string when you're done with it.
.SH AVAILABILITY
diff --git a/docs/libcurl/curl_easy_unescape.html b/docs/libcurl/curl_easy_unescape.html
deleted file mode 100644
index 537dbd4a9..000000000
--- a/docs/libcurl/curl_easy_unescape.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_easy_unescape man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_easy_unescape - URL decodes the given string <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">char *curl_easy_unescape( CURL * curl , const char * url</span> <span Class="bold">, int inlength , int * outlength );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This function converts the given URL encoded input string to a "plain string" and returns that in an allocated memory area. All input characters that are URL encoded (%XX where XX is a two-digit hexadecimal number) are converted to their binary versions.
-<p class="level0">If the <span Class="bold">length</span> argument is set to 0 (zero), <a Class="emphasis" href="./curl_easy_unescape.html">curl_easy_unescape</a> will use strlen() on the input <span Class="emphasis">url</span> string to find out the size.
-<p class="level0">If <span Class="bold">outlength</span> is non-NULL, the function will write the length of the returned string in the integer it points to. This allows an escaped string containing %00 to still get used properly after unescaping.
-<p class="level0">You must <a Class="emphasis" href="./curl_free.html">curl_free</a> the returned string when you're done with it. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.15.4 and replaces the old <a Class="emphasis" href="./curl_unescape.html">curl_unescape</a> function. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">A pointer to a zero terminated string or NULL if it failed. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_easy_escape.html">curl_easy_escape</a>, <a Class="manpage" href="./curl_free.html">curl_free</a>, <span Class="manpage">RFC 3986</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_easy_unescape.pdf b/docs/libcurl/curl_easy_unescape.pdf
deleted file mode 100644
index b9e5ded5d..000000000
--- a/docs/libcurl/curl_easy_unescape.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_escape.html b/docs/libcurl/curl_escape.html
deleted file mode 100644
index 28db84f52..000000000
--- a/docs/libcurl/curl_escape.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_escape man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_escape - URL encodes the given string <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">char *curl_escape( const char * url , int length );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Obsolete function. Use <a Class="emphasis" href="./curl_easy_escape.html">curl_easy_escape</a> instead!
-<p class="level0">This function will convert the given input string to an URL encoded string and return that as a new allocated string. All input characters that are not a-z, A-Z or 0-9 will be converted to their "URL escaped" version (%NN where NN is a two-digit hexadecimal number).
-<p class="level0">If the 'length' argument is set to 0, curl_escape() will use strlen() on the input 'url' string to find out the size.
-<p class="level0">You must curl_free() the returned string when you're done with it. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Since 7.15.4, <a Class="emphasis" href="./curl_easy_escape.html">curl_easy_escape</a> should be used. This function will be removed in a future release. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">A pointer to a zero terminated string or NULL if it failed. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_unescape.html">curl_unescape</a>, <a Class="manpage" href="./curl_free.html">curl_free</a>, <span Class="manpage">RFC 2396</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_escape.pdf b/docs/libcurl/curl_escape.pdf
deleted file mode 100644
index c831353dc..000000000
--- a/docs/libcurl/curl_escape.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_formadd.3 b/docs/libcurl/curl_formadd.3
index 6923913d4..5d1faa532 100644
--- a/docs/libcurl/curl_formadd.3
+++ b/docs/libcurl/curl_formadd.3
@@ -105,6 +105,8 @@ content then you must make sure strlen() on the data pointer returns zero.
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
@@ -117,6 +119,8 @@ providing multiple \fBCURLFORM_FILE\fP arguments each followed by the filename
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
@@ -144,8 +148,8 @@ 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. (Option added in libcurl
-7.18.2)
+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
diff --git a/docs/libcurl/curl_formadd.html b/docs/libcurl/curl_formadd.html
deleted file mode 100644
index 23ffd9214..000000000
--- a/docs/libcurl/curl_formadd.html
+++ /dev/null
@@ -1,188 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_formadd man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_formadd - add a section to a multipart/formdata HTTP POST <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">CURLFORMcode curl_formadd(struct curl_httppost ** firstitem,</span> <span Class="bold">struct curl_httppost ** lastitem, ...);</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">curl_formadd() is used to append sections when building a multipart/formdata HTTP POST (sometimes referred to as <a href="http://www.ietf.org/rfc/rfc2388.txt">RFC 2388</a>-style posts). Append one section at a time until you've added all the sections you want included and then you pass the <span Class="emphasis">firstitem</span> pointer as parameter to <span Class="emphasis">CURLOPT_HTTPPOST(3)</span>. <span Class="emphasis">lastitem</span> is set after each <a Class="emphasis" href="./curl_formadd.html">curl_formadd</a> call and on repeated invokes it should be left as set to allow repeated invokes to find the end of the list faster.
-<p class="level0">After the <span Class="emphasis">lastitem</span> pointer follow the real arguments.
-<p class="level0">The pointers <span Class="emphasis">firstitem</span> and <span Class="emphasis">lastitem</span> 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 <a Class="emphasis" href="./curl_formfree.html">curl_formfree</a> on the <span Class="emphasis">firstitem</span> after the form post has been done to free the resources.
-<p class="level0">Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue" header. You can disable this header with <span Class="emphasis">CURLOPT_HTTPHEADER(3)</span> as usual.
-<p class="level0">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.
-<p class="level0">The options listed first are for making normal parts. The options from <a class="emphasis" href="#CURLFORMFILE">CURLFORM_FILE</a> through <a class="emphasis" href="#CURLFORMBUFFERLENGTH">CURLFORM_BUFFERLENGTH</a> are for file upload parts. <a name="OPTIONS"></a><h2 class="nroffsh">OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLFORMCOPYNAME"></a><span class="nroffip">CURLFORM_COPYNAME</span>
-<p class="level1">followed by a string which provides the <span Class="emphasis">name</span> 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, or if you'd like it to contain zero bytes, you must set its length with <span Class="bold">CURLFORM_NAMELENGTH</span>. The copied data will be freed by <a Class="emphasis" href="./curl_formfree.html">curl_formfree</a>.
-<p class="level0"><a name="CURLFORMPTRNAME"></a><span class="nroffip">CURLFORM_PTRNAME</span>
-<p class="level1">followed by a string which provides the <span Class="emphasis">name</span> 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, or if you'd like it to contain zero bytes, you must set its length with <span Class="bold">CURLFORM_NAMELENGTH</span>.
-<p class="level0"><a name="CURLFORMCOPYCONTENTS"></a><span class="nroffip">CURLFORM_COPYCONTENTS</span>
-<p class="level1">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 <a class="bold" href="#CURLFORMCONTENTSLENGTH">CURLFORM_CONTENTSLENGTH</a>. The copied data will be freed by <a Class="emphasis" href="./curl_formfree.html">curl_formfree</a>.
-<p class="level0"><a name="CURLFORMPTRCONTENTS"></a><span class="nroffip">CURLFORM_PTRCONTENTS</span>
-<p class="level1">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 <a class="bold" href="#CURLFORMCONTENTSLENGTH">CURLFORM_CONTENTSLENGTH</a>.
-<p class="level0"><a name="CURLFORMCONTENTLEN"></a><span class="nroffip">CURLFORM_CONTENTLEN</span>
-<p class="level1">followed by a curl_off_t value giving the length of the contents. Note that for <a class="emphasis" href="#CURLFORMSTREAM">CURLFORM_STREAM</a> contents, this option is mandatory.
-<p class="level1">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.
-<p class="level1">(Option added in 7.46.0)
-<p class="level0"><a name="CURLFORMCONTENTSLENGTH"></a><span class="nroffip">CURLFORM_CONTENTSLENGTH</span>
-<p class="level1">(This option is deprecated. Use <a class="emphasis" href="#CURLFORMCONTENTLEN">CURLFORM_CONTENTLEN</a> instead!)
-<p class="level1">followed by a long giving the length of the contents. Note that for <a class="emphasis" href="#CURLFORMSTREAM">CURLFORM_STREAM</a> contents, this option is mandatory.
-<p class="level1">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.
-<p class="level0"><a name="CURLFORMFILECONTENT"></a><span class="nroffip">CURLFORM_FILECONTENT</span>
-<p class="level1">followed by a filename, causes that file to be read and its contents used as data in this part. This part does <span Class="emphasis">not</span> automatically become a file upload part simply because its data was read from a file.
-<p class="level0"><a name="CURLFORMFILE"></a><span class="nroffip">CURLFORM_FILE</span>
-<p class="level1">followed by a filename, makes this part a file upload part. It sets the <span Class="emphasis">filename</span> 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 <a class="bold" href="#CURLFORMFILE">CURLFORM_FILE</a> the user may send one or more files in one part by providing multiple <a class="bold" href="#CURLFORMFILE">CURLFORM_FILE</a> arguments each followed by the filename (and each <a class="emphasis" href="#CURLFORMFILE">CURLFORM_FILE</a> is allowed to have a <a class="emphasis" href="#CURLFORMCONTENTTYPE">CURLFORM_CONTENTTYPE</a>).
-<p class="level1">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.
-<p class="level0"><a name="CURLFORMCONTENTTYPE"></a><span class="nroffip">CURLFORM_CONTENTTYPE</span>
-<p class="level1">is used in combination with <a class="emphasis" href="#CURLFORMFILE">CURLFORM_FILE</a>. Followed by a pointer to a string which provides the content-type for this part, possibly instead of an internally chosen one.
-<p class="level0"><a name="CURLFORMFILENAME"></a><span class="nroffip">CURLFORM_FILENAME</span>
-<p class="level1">is used in combination with <a class="emphasis" href="#CURLFORMFILE">CURLFORM_FILE</a>. Followed by a pointer to a string, it tells libcurl to use the given string as the <span Class="emphasis">filename</span> in the file upload part instead of the actual file name.
-<p class="level0"><a name="CURLFORMBUFFER"></a><span class="nroffip">CURLFORM_BUFFER</span>
-<p class="level1">is used for custom file upload parts without use of <a class="emphasis" href="#CURLFORMFILE">CURLFORM_FILE</a>. It tells libcurl that the file contents are already present in a buffer. The parameter is a string which provides the <span Class="emphasis">filename</span> field in the content header.
-<p class="level0"><a name="CURLFORMBUFFERPTR"></a><span class="nroffip">CURLFORM_BUFFERPTR</span>
-<p class="level1">is used in combination with <a class="emphasis" href="#CURLFORMBUFFER">CURLFORM_BUFFER</a>. The parameter is a pointer to the buffer to be uploaded. This buffer must not be freed until after <a Class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup</a> is called. You must also use <a class="emphasis" href="#CURLFORMBUFFERLENGTH">CURLFORM_BUFFERLENGTH</a> to set the number of bytes in the buffer.
-<p class="level0"><a name="CURLFORMBUFFERLENGTH"></a><span class="nroffip">CURLFORM_BUFFERLENGTH</span>
-<p class="level1">is used in combination with <a class="emphasis" href="#CURLFORMBUFFER">CURLFORM_BUFFER</a>. The parameter is a long which gives the length of the buffer.
-<p class="level0"><a name="CURLFORMSTREAM"></a><span class="nroffip">CURLFORM_STREAM</span>
-<p class="level1">Tells libcurl to use the <span Class="emphasis">CURLOPT_READFUNCTION(3)</span> callback to get data. The parameter you pass to <a class="emphasis" href="#CURLFORMSTREAM">CURLFORM_STREAM</a> 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 <a class="emphasis" href="#CURLFORMFILENAME">CURLFORM_FILENAME</a> parameter as well. Note that when using <a class="emphasis" href="#CURLFORMSTREAM">CURLFORM_STREAM</a>, <a class="emphasis" href="#CURLFORMCONTENTSLENGTH">CURLFORM_CONTENTSLENGTH</a> must also be set with the total expected length of the part. (Option added in libcurl 7.18.2)
-<p class="level0"><a name="CURLFORMARRAY"></a><span class="nroffip">CURLFORM_ARRAY</span>
-<p class="level1">Another possibility to send options to curl_formadd() is the <a class="bold" href="#CURLFORMARRAY">CURLFORM_ARRAY</a> 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 <span Class="bold">CURLFORM_END</span>.
-<p class="level0"><a name="CURLFORMCONTENTHEADER"></a><span class="nroffip">CURLFORM_CONTENTHEADER</span>
-<p class="level1">specifies extra headers for the form POST section. This takes a curl_slist prepared in the usual way using <span Class="bold">curl_slist_append</span> 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.
-<p class="level1">When you've passed the HttpPost pointer to <a Class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt</a> (using the <span Class="emphasis">CURLOPT_HTTPPOST(3)</span> option), you must not free the list until after you've called <a Class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup</a> for the curl handle.
-<p class="level1">See example below. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">0 means everything was ok, non-zero means an error occurred corresponding to a CURL_FORMADD_* constant defined in <span Class="emphasis">&lt;curl/curl.h&gt;</span> <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-&nbsp;
-&nbsp;struct curl_httppost* post = NULL;
-&nbsp;struct curl_httppost* last = NULL;
-&nbsp;char namebuffer[] = "name buffer";
-&nbsp;long namelength = strlen(namebuffer);
-&nbsp;char buffer[] = "test buffer";
-&nbsp;char htmlbuffer[] = "&lt;HTML&gt;test buffer&lt;/HTML&gt;";
-&nbsp;long htmlbufferlength = strlen(htmlbuffer);
-&nbsp;struct curl_forms forms[3];
-&nbsp;char file1[] = "my-face.jpg";
-&nbsp;char file2[] = "your-face.jpg";
-&nbsp;/* add null character into htmlbuffer, to demonstrate that
-&nbsp; transfers of buffers containing null characters actually work
-&nbsp;*/
-&nbsp;htmlbuffer[8] = '\0';
-&nbsp;
-&nbsp;/* Add simple name/content section */
-&nbsp;curl_formadd(&post, &last, CURLFORM_COPYNAME, "name",
-&nbsp; CURLFORM_COPYCONTENTS, "content", CURLFORM_END);
-&nbsp;
-&nbsp;/* Add simple name/content/contenttype section */
-&nbsp;curl_formadd(&post, &last, CURLFORM_COPYNAME, "htmlcode",
-&nbsp; CURLFORM_COPYCONTENTS, "&lt;HTML&gt;&lt;/HTML&gt;",
-&nbsp; CURLFORM_CONTENTTYPE, "text/html", CURLFORM_END);
-&nbsp;
-&nbsp;/* Add name/ptrcontent section */
-&nbsp;curl_formadd(&post, &last, CURLFORM_COPYNAME, "name_for_ptrcontent",
-&nbsp; CURLFORM_PTRCONTENTS, buffer, CURLFORM_END);
-&nbsp;
-&nbsp;/* Add ptrname/ptrcontent section */
-&nbsp;curl_formadd(&post, &last, CURLFORM_PTRNAME, namebuffer,
-&nbsp; CURLFORM_PTRCONTENTS, buffer, CURLFORM_NAMELENGTH,
-&nbsp; namelength, CURLFORM_END);
-&nbsp;
-&nbsp;/* Add name/ptrcontent/contenttype section */
-&nbsp;curl_formadd(&post, &last, CURLFORM_COPYNAME, "html_code_with_hole",
-&nbsp; CURLFORM_PTRCONTENTS, htmlbuffer,
-&nbsp; CURLFORM_CONTENTSLENGTH, htmlbufferlength,
-&nbsp; CURLFORM_CONTENTTYPE, "text/html", CURLFORM_END);
-&nbsp;
-&nbsp;/* Add simple file section */
-&nbsp;curl_formadd(&post, &last, CURLFORM_COPYNAME, "picture",
-&nbsp; CURLFORM_FILE, "my-face.jpg", CURLFORM_END);
-&nbsp;
-&nbsp;/* Add file/contenttype section */
-&nbsp;curl_formadd(&post, &last, CURLFORM_COPYNAME, "picture",
-&nbsp; CURLFORM_FILE, "my-face.jpg",
-&nbsp; CURLFORM_CONTENTTYPE, "image/jpeg", CURLFORM_END);
-&nbsp;
-&nbsp;/* Add two file section */
-&nbsp;curl_formadd(&post, &last, CURLFORM_COPYNAME, "pictures",
-&nbsp; CURLFORM_FILE, "my-face.jpg",
-&nbsp; CURLFORM_FILE, "your-face.jpg", CURLFORM_END);
-&nbsp;
-&nbsp;/* Add two file section using CURLFORM_ARRAY */
-&nbsp;forms[0].option = CURLFORM_FILE;
-&nbsp;forms[0].value = file1;
-&nbsp;forms[1].option = CURLFORM_FILE;
-&nbsp;forms[1].value = file2;
-&nbsp;forms[2].option = CURLFORM_END;
-&nbsp;
-&nbsp;/* Add a buffer to upload */
-&nbsp;curl_formadd(&post, &last,
-&nbsp; CURLFORM_COPYNAME, "name",
-&nbsp; CURLFORM_BUFFER, "data",
-&nbsp; CURLFORM_BUFFERPTR, record,
-&nbsp; CURLFORM_BUFFERLENGTH, record_length,
-&nbsp; CURLFORM_END);
-&nbsp;
-&nbsp;/* no option needed for the end marker */
-&nbsp;curl_formadd(&post, &last, CURLFORM_COPYNAME, "pictures",
-&nbsp; CURLFORM_ARRAY, forms, CURLFORM_END);
-&nbsp;/* Add the content of a file as a normal post text value */
-&nbsp;curl_formadd(&post, &last, CURLFORM_COPYNAME, "filecontent",
-&nbsp; CURLFORM_FILECONTENT, ".bashrc", CURLFORM_END);
-&nbsp;/* Set the form info */
-&nbsp;curl_easy_setopt(curl, CURLOPT_HTTPPOST, post);
-&nbsp;
-</pre>
-<a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_easy_setopt.html">curl_easy_setopt</a>, <a Class="manpage" href="./curl_formfree.html">curl_formfree</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_formadd.pdf b/docs/libcurl/curl_formadd.pdf
deleted file mode 100644
index 464a412aa..000000000
--- a/docs/libcurl/curl_formadd.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_formfree.html b/docs/libcurl/curl_formfree.html
deleted file mode 100644
index c1f528fae..000000000
--- a/docs/libcurl/curl_formfree.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_formfree man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_formfree - free a previously build multipart/formdata HTTP POST chain <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">void curl_formfree(struct curl_httppost * form);</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">curl_formfree() is used to clean up data previously built/appended with <a Class="emphasis" href="./curl_formadd.html">curl_formadd</a>. This must be called when the data has been used, which typically means after <a Class="emphasis" href="./curl_easy_perform.html">curl_easy_perform</a> has been called.
-<p class="level0">The pointer to free is the same pointer you passed to the <span Class="emphasis">CURLOPT_HTTPPOST(3)</span> option, which is the <span Class="emphasis">firstitem</span> pointer from the <a Class="emphasis" href="./curl_formadd.html">curl_formadd</a> invoke(s).
-<p class="level0"><span Class="bold">form</span> is the pointer as returned from a previous call to <a Class="emphasis" href="./curl_formadd.html">curl_formadd</a> and may be NULL. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">None <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_formadd.html">curl_formadd</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_formfree.pdf b/docs/libcurl/curl_formfree.pdf
deleted file mode 100644
index 1a7d327e2..000000000
--- a/docs/libcurl/curl_formfree.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_formget.html b/docs/libcurl/curl_formget.html
deleted file mode 100644
index 66119d237..000000000
--- a/docs/libcurl/curl_formget.html
+++ /dev/null
@@ -1,89 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_formget man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_formget - serialize a previously built multipart/formdata HTTP POST chain <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-<span class="bold">#include &lt;curl/curl.h&gt;</span>
-&nbsp;
-int curl_formget(struct curl_httppost * form, void *userp,
-&nbsp; curl_formget_callback append );
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">curl_formget() is used to serialize data previously built/appended with <a Class="emphasis" href="./curl_formadd.html">curl_formadd</a>. Accepts a void pointer as second argument named <span Class="emphasis">userp</span> which will be passed as the first argument to the curl_formget_callback function.
-<p class="level0"><span Class="bold">typedef size_t (*curl_formget_callback)(void * userp, const char * buf,</span> <span Class="bold"> size_t len );</span>
-<p class="level0">The curl_formget_callback will be executed for each part of the HTTP POST chain. The character buffer passed to the callback must not be freed. The callback should return the buffer length passed to it on success.
-<p class="level0">If the <span Class="bold">CURLFORM_STREAM</span> option is used in the formpost, it will prevent <a Class="emphasis" href="./curl_formget.html">curl_formget</a> from working until you've performed the actual HTTP request as only then will libcurl get the actual read callback to use! <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">0 means everything was ok, non-zero means an error occurred <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-&nbsp;
-&nbsp;size_t print_httppost_callback(void *arg, const char *buf, size_t len)
-&nbsp;{
-&nbsp; fwrite(buf, len, 1, stdout);
-&nbsp; (*(size_t *) arg) += len;
-&nbsp; return len;
-&nbsp;}
-&nbsp;
-&nbsp;size_t print_httppost(struct curl_httppost *post)
-&nbsp;{
-&nbsp; size_t total_size = 0;
-&nbsp; if(curl_formget(post, &total_size, print_httppost_callback)) {
-&nbsp; return (size_t) -1;
-&nbsp; }
-&nbsp; return total_size;
-&nbsp;}
-</pre>
-<a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This function was added in libcurl 7.15.5 <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_formadd.html">curl_formadd</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_formget.pdf b/docs/libcurl/curl_formget.pdf
deleted file mode 100644
index 9230d2297..000000000
--- a/docs/libcurl/curl_formget.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_free.html b/docs/libcurl/curl_free.html
deleted file mode 100644
index 70ffd12ab..000000000
--- a/docs/libcurl/curl_free.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_free man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_free - reclaim memory that has been obtained through a libcurl call <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">void curl_free( char * ptr );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">curl_free reclaims memory that has been obtained through a libcurl call. Use <a Class="emphasis" href="./curl_free.html">curl_free</a> instead of free() to avoid anomalies that can result from differences in memory management between your application and libcurl. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_easy_unescape.html">curl_easy_unescape</a>, <a Class="manpage" href="./curl_easy_escape.html">curl_easy_escape</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_free.pdf b/docs/libcurl/curl_free.pdf
deleted file mode 100644
index e21d22886..000000000
--- a/docs/libcurl/curl_free.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_getdate.html b/docs/libcurl/curl_getdate.html
deleted file mode 100644
index ed6d21708..000000000
--- a/docs/libcurl/curl_getdate.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_getdate man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_getdate - Convert a date string to number of seconds <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">time_t curl_getdate(char * datestring , time_t *now );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0"><a Class="emphasis" href="./curl_getdate.html">curl_getdate</a> returns the number of seconds since the Epoch, January 1st 1970 00:00:00 in the UTC time zone, for the date and time that the <span Class="emphasis">datestring</span> parameter specifies. The <span Class="emphasis">now</span> parameter is not used, pass a NULL there. <a name="PARSING"></a><h2 class="nroffsh">PARSING DATES AND TIMES</h2>
-<p class="level0">A "date" is a string containing several items separated by whitespace. The order of the items is immaterial. A date string may contain many flavors of items:
-<p class="level0"><span Class="bold">calendar date items</span> Can be specified several ways. Month names can only be three-letter english abbreviations, numbers can be zero-prefixed and the year may use 2 or 4 digits. Examples: 06 Nov 1994, 06-Nov-94 and Nov-94 6.
-<p class="level0"><span Class="bold">time of the day items</span> This string specifies the time on a given day. You must specify it with 6 digits with two colons: HH:MM:SS. To not include the time in a date string, will make the function assume 00:00:00. Example: 18:19:21.
-<p class="level0"><span Class="bold">time zone items</span> Specifies international time zone. There are a few acronyms supported, but in general you should instead use the specific relative time compared to UTC. Supported formats include: -1200, MST, +0100.
-<p class="level0"><span Class="bold">day of the week items</span> Specifies a day of the week. Days of the week may be spelled out in full (using english): `Sunday', `Monday', etc or they may be abbreviated to their first three letters. This is usually not info that adds anything.
-<p class="level0"><span Class="bold">pure numbers</span> If a decimal number of the form YYYYMMDD appears, then YYYY is read as the year, MM as the month number and DD as the day of the month, for the specified calendar date.
-<p class="level0"><a name="EXAMPLES"></a><h2 class="nroffsh">EXAMPLES</h2>
-<p class="level0"><pre class="level0">
-Sun, 06 Nov 1994 08:49:37 GMT
-Sunday, 06-Nov-94 08:49:37 GMT
-Sun Nov 6 08:49:37 1994
-06 Nov 1994 08:49:37 GMT
-06-Nov-94 08:49:37 GMT
-Nov 6 08:49:37 1994
-06 Nov 1994 08:49:37
-06-Nov-94 08:49:37
-1994 Nov 6 08:49:37
-GMT 08:49:37 06-Nov-94 Sunday
-94 6 Nov 08:49:37
-1994 Nov 6
-06-Nov-94
-Sun Nov 6 94
-1994.Nov.6
-Sun/Nov/6/94/GMT
-Sun, 06 Nov 1994 08:49:37 CET
-06 Nov 1994 08:49:37 EST
-Sun, 12 Sep 2004 15:05:58 -0700
-Sat, 11 Sep 2004 21:32:11 +0200
-20040912 15:05:58 -0700
-20040911 +0200
-</pre>
-
-<p class="level0"><a name="STANDARDS"></a><h2 class="nroffsh">STANDARDS</h2>
-<p class="level0">This parser was written to handle date formats specified in <a href="http://www.ietf.org/rfc/rfc822.txt">RFC 822</a> (including the update in <a href="http://www.ietf.org/rfc/rfc1123.txt">RFC 1123</a>) using time zone name or time zone delta and <a href="http://www.ietf.org/rfc/rfc850.txt">RFC 850</a> (obsoleted by <a href="http://www.ietf.org/rfc/rfc1036.txt">RFC 1036</a>) and ANSI C's asctime() format. These formats are the only ones <a href="http://www.ietf.org/rfc/rfc7231.txt">RFC 7231</a> says HTTP applications may use. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">This function returns -1 when it fails to parse the date string. Otherwise it returns the number of seconds as described.
-<p class="level0">If the year is larger than 2037 on systems with 32 bit time_t, this function will return 0x7fffffff (since that is the largest possible signed 32 bit number).
-<p class="level0">Having a 64 bit time_t is not a guarantee that dates beyond 03:14:07 UTC, January 19, 2038 will work fine. On systems with a 64 bit time_t but with a crippled mktime(), <a Class="emphasis" href="./curl_getdate.html">curl_getdate</a> will return -1 in this case. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_easy_escape.html">curl_easy_escape</a>, <a Class="manpage" href="./curl_easy_unescape.html">curl_easy_unescape</a>, <span Class="manpage">CURLOPT_TIMECONDITION (3)</span>, <span Class="manpage">CURLOPT_TIMEVALUE (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_getdate.pdf b/docs/libcurl/curl_getdate.pdf
deleted file mode 100644
index 61210cd9b..000000000
--- a/docs/libcurl/curl_getdate.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_getenv.html b/docs/libcurl/curl_getenv.html
deleted file mode 100644
index caa5d86e5..000000000
--- a/docs/libcurl/curl_getenv.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_getenv man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_getenv - return value for environment name <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">char *curl_getenv(const char * name );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">curl_getenv() is a portable wrapper for the getenv() function, meant to emulate its behaviour and provide an identical interface for all operating systems libcurl builds on (including win32). <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This function will be removed from the public libcurl API in a near future. It will instead be made "available" by source code access only, and then as curlx_getenv(). <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">If successful, curl_getenv() returns a pointer to the value of the specified environment. The memory it refers to is malloc()ed so the application must free() this when the data is no longer needed. When <a Class="emphasis" href="./curl_getenv.html">curl_getenv</a> fails to find the specified name, it returns a null pointer. <a name="NOTE"></a><h2 class="nroffsh">NOTE</h2>
-<p class="level0">Under unix operating systems, there isn't any point in returning an allocated memory, although other systems won't work properly if this isn't done. The unix implementation thus has to suffer slightly from the drawbacks of other systems. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">getenv (3C)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_getenv.pdf b/docs/libcurl/curl_getenv.pdf
deleted file mode 100644
index 4ae4170d6..000000000
--- a/docs/libcurl/curl_getenv.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_global_cleanup.3 b/docs/libcurl/curl_global_cleanup.3
index 2e3ff0362..04ab0437c 100644
--- a/docs/libcurl/curl_global_cleanup.3
+++ b/docs/libcurl/curl_global_cleanup.3
@@ -42,8 +42,14 @@ these other libraries.
See the description in \fIlibcurl(3)\fP of global environment requirements for
details of how to use this function.
-
+.SH CAUTION
+\fIcurl_global_cleanup(3)\fP does not block waiting for any libcurl-created
+threads to terminate (such as threads used for name resolving). If a module
+containing libcurl is dynamically unloaded while libcurl-created threads are
+still running then your program may crash or other corruption may occur. We
+recommend you do not run libcurl from any module that may be unloaded
+dynamically. This behavior may be addressed in the future.
.SH "SEE ALSO"
.BR curl_global_init "(3), "
.BR libcurl "(3), "
-
+.BR libcurl-thread "(3), "
diff --git a/docs/libcurl/curl_global_cleanup.html b/docs/libcurl/curl_global_cleanup.html
deleted file mode 100644
index 57d5dd092..000000000
--- a/docs/libcurl/curl_global_cleanup.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_global_cleanup man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_global_cleanup - global libcurl cleanup <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">void curl_global_cleanup(void);</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This function releases resources acquired by <a Class="emphasis" href="./curl_global_init.html">curl_global_init</a>.
-<p class="level0">You should call <a Class="emphasis" href="./curl_global_cleanup.html">curl_global_cleanup</a> once for each call you make to <a Class="emphasis" href="./curl_global_init.html">curl_global_init</a>, after you are done using libcurl.
-<p class="level0"><span Class="bold">This function is not thread safe.</span> 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 <a Class="emphasis" href="./curl_global_cleanup.html">curl_global_cleanup</a> calls functions of other libraries that are similarly thread unsafe, it could conflict with any other thread that uses these other libraries.
-<p class="level0">See the description in <a Class="emphasis" href="./libcurl.html">libcurl</a> of global environment requirements for details of how to use this function.
-<p class="level0"><a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_global_init.html">curl_global_init</a>, <a Class="manpage" href="./libcurl.html">libcurl</a>
-<p class="level0"><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_global_cleanup.pdf b/docs/libcurl/curl_global_cleanup.pdf
deleted file mode 100644
index a0d98de51..000000000
--- a/docs/libcurl/curl_global_cleanup.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_global_init.html b/docs/libcurl/curl_global_init.html
deleted file mode 100644
index 075ab0419..000000000
--- a/docs/libcurl/curl_global_init.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_global_init man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_global_init - Global libcurl initialisation <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">CURLcode curl_global_init(long flags );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This function sets up the program environment that libcurl needs. Think of it as an extension of the library loader.
-<p class="level0">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.
-<p class="level0">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.
-<p class="level0"><span Class="bold">This function is not thread safe.</span> 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 <a Class="emphasis" href="./curl_global_init.html">curl_global_init</a> calls functions of other libraries that are similarly thread unsafe, it could conflict with any other thread that uses these other libraries.
-<p class="level0">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.
-<p class="level0">See the description in <a Class="emphasis" href="./libcurl.html">libcurl</a> of global environment requirements for details of how to use this function. <a name="FLAGS"></a><h2 class="nroffsh">FLAGS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLGLOBALALL"></a><span class="nroffip">CURL_GLOBAL_ALL</span>
-<p class="level1">Initialize everything possible. This sets all known bits except <a class="bold" href="#CURLGLOBALACKEINTR">CURL_GLOBAL_ACK_EINTR</a>.
-<p class="level1">
-<p class="level0"><a name="CURLGLOBALSSL"></a><span class="nroffip">CURL_GLOBAL_SSL</span>
-<p class="level1">Initialize SSL.
-<p class="level1">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 backend libcurl uses.
-<p class="level1">Doing TLS based transfers without having the TLS layer initialized may lead to unexpected behaviors.
-<p class="level0"><a name="CURLGLOBALWIN32"></a><span class="nroffip">CURL_GLOBAL_WIN32</span>
-<p class="level1">Initialize the Win32 socket libraries.
-<p class="level1">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.
-<p class="level0"><a name="CURLGLOBALNOTHING"></a><span class="nroffip">CURL_GLOBAL_NOTHING</span>
-<p class="level1">Initialise nothing extra. This sets no bit.
-<p class="level0"><a name="CURLGLOBALDEFAULT"></a><span class="nroffip">CURL_GLOBAL_DEFAULT</span>
-<p class="level1">A sensible default. It will init both SSL and Win32. Right now, this equals the functionality of the <a class="bold" href="#CURLGLOBALALL">CURL_GLOBAL_ALL</a> mask.
-<p class="level0"><a name="CURLGLOBALACKEINTR"></a><span class="nroffip">CURL_GLOBAL_ACK_EINTR</span>
-<p class="level1">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) <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">If this function returns non-zero, something went wrong and you cannot use the other curl functions. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_global_init_mem.html">curl_global_init_mem</a>, <a Class="manpage" href="./curl_global_cleanup.html">curl_global_cleanup</a>, <a Class="manpage" href="./curl_easy_init.html">curl_easy_init</a>, <a Class="manpage" href="./libcurl.html">libcurl</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_global_init.pdf b/docs/libcurl/curl_global_init.pdf
deleted file mode 100644
index 73234ccba..000000000
--- a/docs/libcurl/curl_global_init.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_global_init_mem.html b/docs/libcurl/curl_global_init_mem.html
deleted file mode 100644
index 407ec7fbf..000000000
--- a/docs/libcurl/curl_global_init_mem.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_global_init_mem man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_global_init_mem - Global libcurl initialisation with memory callbacks <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span> <pre class="level0">
-<span class="bold">CURLcode curl_global_init_mem(long flags,</span>
-<span class="bold"> curl_malloc_callback m,</span>
-<span class="bold"> curl_free_callback f,</span>
-<span class="bold"> curl_realloc_callback r,</span>
-<span class="bold"> curl_strdup_callback s,</span>
-<span class="bold"> curl_calloc_callback c );</span>
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This function works exactly as <a Class="emphasis" href="./curl_global_init.html">curl_global_init</a> with one addition: it allows the application to set callbacks to replace the otherwise used internal memory functions.
-<p class="level0">If you are using libcurl from multiple threads or libcurl was built with the threaded resolver option then the callback functions must be thread safe. The threaded resolver is a common build option to enable (and in some cases the default) so we strongly urge you to make your callback functions thread safe.
-<p class="level0">All callback arguments must be set to valid function pointers. The prototypes for the given callbacks must match these:
-<p class="level0"><a name="void"></a><span class="nroffip">void *malloc_callback(size_t size);</span>
-<p class="level1">To replace malloc()
-<p class="level0"><a name="void"></a><span class="nroffip">void free_callback(void *ptr);</span>
-<p class="level1">To replace free()
-<p class="level0"><a name="void"></a><span class="nroffip">void *realloc_callback(void *ptr, size_t size);</span>
-<p class="level1">To replace realloc()
-<p class="level0"><a name="char"></a><span class="nroffip">char *strdup_callback(const char *str);</span>
-<p class="level1">To replace strdup()
-<p class="level0"><a name="void"></a><span class="nroffip">void *calloc_callback(size_t nmemb, size_t size);</span>
-<p class="level1">To replace calloc()
-<p class="level0">This function is otherwise the same as <a Class="emphasis" href="./curl_global_init.html">curl_global_init</a>, please refer to that man page for documentation. <a name="CAUTION"></a><h2 class="nroffsh">CAUTION</h2>
-<p class="level0">Manipulating these gives considerable powers to the application to severely screw things up for libcurl. Take care! <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_global_init.html">curl_global_init</a>, <a Class="manpage" href="./curl_global_cleanup.html">curl_global_cleanup</a>
-<p class="level0"><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_global_init_mem.pdf b/docs/libcurl/curl_global_init_mem.pdf
deleted file mode 100644
index 68135ac37..000000000
--- a/docs/libcurl/curl_global_init_mem.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_mprintf.html b/docs/libcurl/curl_mprintf.html
deleted file mode 100644
index 64d703a0c..000000000
--- a/docs/libcurl/curl_mprintf.html
+++ /dev/null
@@ -1,76 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_printf man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_maprintf, curl_mfprintf, curl_mprintf, curl_msnprintf, curl_msprintf curl_mvaprintf, curl_mvfprintf, curl_mvprintf, curl_mvsnprintf, curl_mvsprintf - formatted output conversion <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/mprintf.h&gt;</span>
-<p class="level0"><span Class="bold">int curl_mprintf(const char * format , ...);</span> <br><span Class="bold">int curl_mfprintf(FILE * fd , const char * format , ...);</span> <br><span Class="bold">int curl_msprintf(char * buffer , const char * format , ...);</span> <br><span Class="bold">int curl_msnprintf(char * buffer , size_t maxlength , const char * format , ...);</span> <br><span Class="bold">int curl_mvprintf(const char * format , va_list args );</span> <br><span Class="bold">int curl_mvfprintf(FILE * fd , const char * format , va_list args );</span> <br><span Class="bold">int curl_mvsprintf(char * buffer , const char * format , va_list args );</span> <br><span Class="bold">int curl_mvsnprintf(char * buffer , size_t maxlength , const char * format , va_list args );</span> <br><span Class="bold">char *curl_maprintf(const char * format , ...);</span> <br><span Class="bold">char *curl_mvaprintf(const char * format , va_list args );</span> <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">These are all functions that produce output according to a format string and given arguments. These are mostly clones of the well-known C-style functions and there will be no detailed explanation of all available formatting rules and usage here.
-<p class="level0">See this table for notable exceptions.
-<p class="level1">
-<p class="level1"><span Class="bold">curl_mprintf()</span> Normal printf() clone.
-<p class="level1"><span Class="bold">curl_mfprintf()</span> Normal fprintf() clone.
-<p class="level1"><span Class="bold">curl_msprintf()</span> Normal sprintf() clone.
-<p class="level1"><span Class="bold">curl_msnprintf()</span> snprintf() clone. Many systems don't have this. It is just like <span Class="bold">sprintf</span> but with an extra argument after the buffer that specifies the length of the target buffer.
-<p class="level1"><span Class="bold">curl_mvprintf()</span> Normal vprintf() clone.
-<p class="level1"><span Class="bold">curl_mvfprintf()</span> Normal vfprintf() clone.
-<p class="level1"><span Class="bold">curl_mvsprintf()</span> Normal vsprintf() clone.
-<p class="level1"><span Class="bold">curl_mvsnprintf()</span> vsnprintf() clone. Many systems don't have this. It is just like <span Class="bold">vsprintf</span> but with an extra argument after the buffer that specifies the length of the target buffer.
-<p class="level1"><span Class="bold">curl_maprintf()</span> Like printf() but returns the output string as a malloc()ed string. The returned string must be free()ed by the receiver.
-<p class="level1"><span Class="bold">curl_mvaprintf()</span> Like curl_maprintf() but takes a va_list pointer argument instead of a variable amount of arguments.
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">These functions will be removed from the public libcurl API in the future. Do not use them in any new programs or projects. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">The <span Class="bold">curl_maprintf</span> and <span Class="bold">curl_mvaprintf</span> functions return a pointer to a newly allocated string, or NULL if it failed.
-<p class="level0">All other functions return the number of characters they actually outputted. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">printf (3)</span>, <span Class="manpage">sprintf (3)</span>, <span Class="manpage">fprintf (3)</span>, <span Class="manpage">vprintf (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_mprintf.pdf b/docs/libcurl/curl_mprintf.pdf
deleted file mode 100644
index dbe8d2d67..000000000
--- a/docs/libcurl/curl_mprintf.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_multi_add_handle.html b/docs/libcurl/curl_multi_add_handle.html
deleted file mode 100644
index e8b4def5a..000000000
--- a/docs/libcurl/curl_multi_add_handle.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_multi_add_handle man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_multi_add_handle - add an easy handle to a multi session <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLMcode curl_multi_add_handle(CURLM *multi_handle, CURL *easy_handle);
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Adds a standard easy handle to the multi stack. This function call will make this <span Class="emphasis">multi_handle</span> control the specified <span Class="emphasis">easy_handle</span>.
-<p class="level0">While an easy handle is added to a multi stack, you cannot and you must not use <a Class="emphasis" href="./curl_easy_perform.html">curl_easy_perform</a> on that handle. After having removed the easy handle from the multi stack again, it is perfectly fine to use it with the easy interface again.
-<p class="level0">If the easy handle is not set to use a shared (<span Class="emphasis">CURLOPT_SHARE(3)</span>) or global DNS cache (<span Class="emphasis">CURLOPT_DNS_USE_GLOBAL_CACHE(3)</span>), it will be made to use the DNS cache that is shared between all easy handles within the multi handle when <a Class="emphasis" href="./curl_multi_add_handle.html">curl_multi_add_handle</a> is called.
-<p class="level0">When an easy interface is added to a multi handle, it will use a shared connection cache owned by the multi handle. Removing and adding new easy handles will not affect the pool of connections or the ability to do connection re-use.
-<p class="level0">If you have CURLMOPT_TIMERFUNCTION set in the multi handle (and you really should if you're working event-based with <a Class="emphasis" href="./curl_multi_socket_action.html">curl_multi_socket_action</a> and friends), that callback will be called from within this function to ask for an updated timer so that your main event loop will get the activity on this handle to get started.
-<p class="level0">The easy handle will remain added to the multi handle until you remove it again with <a Class="emphasis" href="./curl_multi_remove_handle.html">curl_multi_remove_handle</a> - even when a transfer with that specific easy handle is completed.
-<p class="level0">You should remove the easy handle from the multi stack before you terminate first the easy handle and then the multi handle:
-<p class="level0">1 - <a Class="emphasis" href="./curl_multi_remove_handle.html">curl_multi_remove_handle</a>
-<p class="level0">2 - <a Class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup</a>
-<p class="level0">3 - <a Class="emphasis" href="./curl_multi_cleanup.html">curl_multi_cleanup</a> <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">CURLMcode type, general libcurl multi interface error code. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_multi_cleanup.html">curl_multi_cleanup</a>, <a Class="manpage" href="./curl_multi_init.html">curl_multi_init</a>, <a Class="manpage" href="./curl_multi_setopt.html">curl_multi_setopt</a>, <a Class="manpage" href="./curl_multi_socket_action.html">curl_multi_socket_action</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_multi_add_handle.pdf b/docs/libcurl/curl_multi_add_handle.pdf
deleted file mode 100644
index 4f2086126..000000000
--- a/docs/libcurl/curl_multi_add_handle.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_multi_assign.html b/docs/libcurl/curl_multi_assign.html
deleted file mode 100644
index 1e3f83fb9..000000000
--- a/docs/libcurl/curl_multi_assign.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_multi_assign man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_multi_assign - set data to associate with an internal socket <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLMcode curl_multi_assign(CURLM *multi_handle, curl_socket_t sockfd, &nbsp; void *sockptr); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This function creates an association in the multi handle between the given socket and a private pointer of the application. This is designed for <a Class="emphasis" href="./curl_multi_socket_action.html">curl_multi_socket_action</a> uses.
-<p class="level0">When set, the <span Class="emphasis">sockptr</span> pointer will be passed to all future socket callbacks for the specific <span Class="emphasis">sockfd</span> socket.
-<p class="level0">If the given <span Class="emphasis">sockfd</span> isn't already in use by libcurl, this function will return an error.
-<p class="level0">libcurl only keeps one single pointer associated with a socket, so calling this function several times for the same socket will make the last set pointer get used.
-<p class="level0">The idea here being that this association (socket to private pointer) is something that just about every application that uses this API will need and then libcurl can just as well do it since it already has an internal hash table lookup for this. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">The standard CURLMcode for multi interface error codes. <a name="TYPICAL"></a><h2 class="nroffsh">TYPICAL USAGE</h2>
-<p class="level0">In a typical application you allocate a struct or at least use some kind of semi-dynamic data for each socket that we must wait for action on when using the <a Class="emphasis" href="./curl_multi_socket_action.html">curl_multi_socket_action</a> approach.
-<p class="level0">When our socket-callback gets called by libcurl and we get to know about yet another socket to wait for, we can use <a Class="emphasis" href="./curl_multi_assign.html">curl_multi_assign</a> to point out the particular data so that when we get updates about this same socket again, we don't have to find the struct associated with this socket by ourselves. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This function was added in libcurl 7.15.5. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_multi_setopt.html">curl_multi_setopt</a>, <a Class="manpage" href="./curl_multi_socket_action.html">curl_multi_socket_action</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_multi_assign.pdf b/docs/libcurl/curl_multi_assign.pdf
deleted file mode 100644
index 6873ce9fd..000000000
--- a/docs/libcurl/curl_multi_assign.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_multi_cleanup.html b/docs/libcurl/curl_multi_cleanup.html
deleted file mode 100644
index 492bca72b..000000000
--- a/docs/libcurl/curl_multi_cleanup.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_multi_cleanup man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_multi_cleanup - close down a multi session <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">CURLMcode curl_multi_cleanup( CURLM *multi_handle );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Cleans up and removes a whole multi stack. It does not free or touch any individual easy handles in any way - they still need to be closed individually, using the usual <a Class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup</a> way. The order of cleaning up should be:
-<p class="level0">1 - <a Class="emphasis" href="./curl_multi_remove_handle.html">curl_multi_remove_handle</a> before any easy handles are cleaned up
-<p class="level0">2 - <a Class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup</a> can now be called independently since the easy handle is no longer connected to the multi handle
-<p class="level0">3 - <a Class="emphasis" href="./curl_multi_cleanup.html">curl_multi_cleanup</a> should be called when all easy handles are removed <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">CURLMcode type, general libcurl multi interface error code. On success, CURLM_OK is returned. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_multi_init.html">curl_multi_init</a>, <a Class="manpage" href="./curl_easy_cleanup.html">curl_easy_cleanup</a>, <a Class="manpage" href="./curl_easy_init.html">curl_easy_init</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_multi_cleanup.pdf b/docs/libcurl/curl_multi_cleanup.pdf
deleted file mode 100644
index 6a7b7c8b3..000000000
--- a/docs/libcurl/curl_multi_cleanup.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_multi_fdset.html b/docs/libcurl/curl_multi_fdset.html
deleted file mode 100644
index dac545ffa..000000000
--- a/docs/libcurl/curl_multi_fdset.html
+++ /dev/null
@@ -1,75 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_multi_fdset man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_multi_fdset - extracts file descriptor information from a multi handle <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLMcode curl_multi_fdset(CURLM *multi_handle,
-&nbsp; fd_set *read_fd_set,
-&nbsp; fd_set *write_fd_set,
-&nbsp; fd_set *exc_fd_set,
-&nbsp; int *max_fd);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This function extracts file descriptor information from a given multi_handle. libcurl returns its fd_set sets. The application can use these to select() on, but be sure to FD_ZERO them before calling this function as <a Class="emphasis" href="./curl_multi_fdset.html">curl_multi_fdset</a> only adds its own descriptors, it doesn't zero or otherwise remove any others. The <a Class="emphasis" href="./curl_multi_perform.html">curl_multi_perform</a> function should be called as soon as one of them is ready to be read from or written to.
-<p class="level0">If the <span Class="emphasis">read_fd_set</span> argument is not a null pointer, it points to an object of type fd_set that on returns specifies the file descriptors to be checked for being ready to read.
-<p class="level0">If the <span Class="emphasis">write_fd_set</span> argument is not a null pointer, it points to an object of type fd_set that on return specifies the file descriptors to be checked for being ready to write.
-<p class="level0">If the <span Class="emphasis">exc_fd_set</span> argument is not a null pointer, it points to an object of type fd_set that on return specifies the file descriptors to be checked for error conditions pending.
-<p class="level0">If no file descriptors are set by libcurl, <span Class="emphasis">max_fd</span> will contain -1 when this function returns. Otherwise it will contain the highest descriptor number libcurl set. When libcurl returns -1 in <span Class="emphasis">max_fd</span>, it is because libcurl currently does something that isn't possible for your application to monitor with a socket and unfortunately you can then not know exactly when the current action is completed using select(). You then need to wait a while before you proceed and call <a Class="emphasis" href="./curl_multi_perform.html">curl_multi_perform</a> anyway. How long to wait? We suggest 100 milliseconds at least, but you may want to test it out in your own particular conditions to find a suitable value.
-<p class="level0">When doing select(), you should use <a Class="emphasis" href="./curl_multi_timeout.html">curl_multi_timeout</a> to figure out how long to wait for action. Call <a Class="emphasis" href="./curl_multi_perform.html">curl_multi_perform</a> even if no activity has been seen on the fd_sets after the timeout expires as otherwise internal retries and timeouts may not work as you'd think and want.
-<p class="level0">If one of the sockets used by libcurl happens to be larger than what can be set in an fd_set, which on POSIX systems means that the file descriptor is larger than FD_SETSIZE, then libcurl will try to not set it. Setting a too large file descriptor in an fd_set implies an out of bounds write which can cause crashes, or worse. The effect of NOT storing it will possibly save you from the crash, but will make your program NOT wait for sockets it should wait for... <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">CURLMcode type, general libcurl multi interface error code. See <a Class="emphasis" href="./libcurl-errors.html">libcurl-errors</a> <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_multi_cleanup.html">curl_multi_cleanup</a>, <a Class="manpage" href="./curl_multi_init.html">curl_multi_init</a>, <a Class="manpage" href="./curl_multi_wait.html">curl_multi_wait</a>, <a Class="manpage" href="./curl_multi_timeout.html">curl_multi_timeout</a>, <a Class="manpage" href="./curl_multi_perform.html">curl_multi_perform</a>, <span Class="manpage">select (2)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_multi_fdset.pdf b/docs/libcurl/curl_multi_fdset.pdf
deleted file mode 100644
index 85fa985b4..000000000
--- a/docs/libcurl/curl_multi_fdset.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_multi_info_read.html b/docs/libcurl/curl_multi_info_read.html
deleted file mode 100644
index 698d4189d..000000000
--- a/docs/libcurl/curl_multi_info_read.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_multi_info_read man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_multi_info_read - read multi stack informationals <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLMsg *curl_multi_info_read( CURLM *multi_handle, &nbsp; int *msgs_in_queue);
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Ask the multi handle if there are any messages/informationals from the individual transfers. Messages may include informationals such as an error code from the transfer or just the fact that a transfer is completed. More details on these should be written down as well.
-<p class="level0">Repeated calls to this function will return a new struct each time, until a NULL is returned as a signal that there is no more to get at this point. The integer pointed to with <span Class="emphasis">msgs_in_queue</span> will contain the number of remaining messages after this function was called.
-<p class="level0">When you fetch a message using this function, it is removed from the internal queue so calling this function again will not return the same message again. It will instead return new messages at each new invoke until the queue is emptied.
-<p class="level0"><span Class="bold">WARNING:</span> The data the returned pointer points to will not survive calling <a Class="emphasis" href="./curl_multi_cleanup.html">curl_multi_cleanup</a>, <a Class="emphasis" href="./curl_multi_remove_handle.html">curl_multi_remove_handle</a> or <a Class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup</a>.
-<p class="level0">The 'CURLMsg' struct is very simple and only contains very basic information. If more involved information is wanted, the particular "easy handle" is present in that struct and can be used in subsequent regular <a Class="emphasis" href="./curl_easy_getinfo.html">curl_easy_getinfo</a> calls (or similar):
-<p class="level0"><pre class="level0">
-&nbsp;struct CURLMsg {
-&nbsp; CURLMSG msg; /* what this message means */
-&nbsp; CURL *easy_handle; /* the handle it concerns */
-&nbsp; union {
-&nbsp; void *whatever; /* message-specific data */
-&nbsp; CURLcode result; /* return code for transfer */
-&nbsp; } data;
-&nbsp;};
-</pre>
-
-<p class="level0">When <span Class="bold">msg</span> is <span Class="emphasis">CURLMSG_DONE</span>, the message identifies a transfer that is done, and then <span Class="bold">result</span> contains the return code for the easy handle that just completed.
-<p class="level0">At this point, there are no other <span Class="bold">msg</span> types defined. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-struct CURLMsg *m;
-&nbsp;
-/* call curl_multi_perform or curl_multi_socket_action first, then loop
-&nbsp; through and check if there are any transfers that have completed */
-&nbsp;
-do {
-&nbsp; int msgq = 0;
-&nbsp; m = curl_multi_info_read(multi_handle, &msgq);
-&nbsp; if(m && (m-&gt;msg == CURLMSG_DONE)) {
-&nbsp; CURL *e = m-&gt;easy_handle;
-&nbsp; transfers--;
-&nbsp; curl_multi_remove_handle(multi_handle, e);
-&nbsp; curl_easy_cleanup(e);
-&nbsp; }
-} while(m);
-</pre>
-
-<p class="level0"><a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">A pointer to a filled-in struct, or NULL if it failed or ran out of structs. It also writes the number of messages left in the queue (after this read) in the integer the second argument points to. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_multi_cleanup.html">curl_multi_cleanup</a>, <a Class="manpage" href="./curl_multi_init.html">curl_multi_init</a>, <a Class="manpage" href="./curl_multi_perform.html">curl_multi_perform</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_multi_info_read.pdf b/docs/libcurl/curl_multi_info_read.pdf
deleted file mode 100644
index c5856a225..000000000
--- a/docs/libcurl/curl_multi_info_read.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_multi_init.html b/docs/libcurl/curl_multi_init.html
deleted file mode 100644
index 6efcf84c8..000000000
--- a/docs/libcurl/curl_multi_init.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_multi_init man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_multi_init - create a multi handle <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">CURLM *curl_multi_init( );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This function returns a CURLM handle to be used as input to all the other multi-functions, sometimes referred to as a multi handle in some places in the documentation. This init call MUST have a corresponding call to <a Class="emphasis" href="./curl_multi_cleanup.html">curl_multi_cleanup</a> when the operation is complete. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">If this function returns NULL, something went wrong and you cannot use the other curl functions. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_multi_cleanup.html">curl_multi_cleanup</a>, <a Class="manpage" href="./curl_global_init.html">curl_global_init</a>, <a Class="manpage" href="./curl_easy_init.html">curl_easy_init</a>
-<p class="level0"><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_multi_init.pdf b/docs/libcurl/curl_multi_init.pdf
deleted file mode 100644
index 18782206d..000000000
--- a/docs/libcurl/curl_multi_init.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_multi_perform.html b/docs/libcurl/curl_multi_perform.html
deleted file mode 100644
index f0339860e..000000000
--- a/docs/libcurl/curl_multi_perform.html
+++ /dev/null
@@ -1,118 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_multi_perform man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_multi_perform - reads/writes available data from each easy handle <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLMcode curl_multi_perform(CURLM *multi_handle, int *running_handles);
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This function handles transfers on all the added handles that need attention in an non-blocking fashion.
-<p class="level0">When an application has found out there's data available for the multi_handle or a timeout has elapsed, the application should call this function to read/write whatever there is to read or write right now etc. <a Class="emphasis" href="./curl_multi_perform.html">curl_multi_perform</a> returns as soon as the reads/writes are done. This function does not require that there actually is any data available for reading or that data can be written, it can be called just in case. It will write the number of handles that still transfer data in the second argument's integer-pointer.
-<p class="level0">If the amount of <span Class="emphasis">running_handles</span> is changed from the previous call (or is less than the amount of easy handles you've added to the multi handle), you know that there is one or more transfers less "running". You can then call <a Class="emphasis" href="./curl_multi_info_read.html">curl_multi_info_read</a> to get information about each individual completed transfer, and that returned info includes CURLcode and more. If an added handle fails very quickly, it may never be counted as a running_handle.
-<p class="level0">When <span Class="emphasis">running_handles</span> is set to zero (0) on the return of this function, there is no longer any transfers in progress. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-&#35;ifdef _WIN32
-&#35;define SHORT_SLEEP Sleep(100)
-&#35;else
-&#35;define SHORT_SLEEP usleep(100000)
-&#35;endif
-&nbsp;
-fd_set fdread;
-fd_set fdwrite;
-fd_set fdexcep;
-int maxfd = -1;
-&nbsp;
-long curl_timeo;
-&nbsp;
-curl_multi_timeout(multi_handle, &curl_timeo);
-if(curl_timeo &lt; 0)
-&nbsp; curl_timeo = 1000;
-&nbsp;
-timeout.tv_sec = curl_timeo / 1000;
-timeout.tv_usec = (curl_timeo % 1000) * 1000;
-&nbsp;
-FD_ZERO(&fdread);
-FD_ZERO(&fdwrite);
-FD_ZERO(&fdexcep);
-&nbsp;
-/* get file descriptors from the transfers */
-mc = curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd);
-&nbsp;
-if(maxfd == -1) {
-&nbsp; SHORT_SLEEP;
-&nbsp; rc = 0;
-}
-else
-&nbsp; rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout);
-&nbsp;
-switch(rc) {
-case -1:
-&nbsp; /* select error */
-&nbsp; break;
-case 0:
-default:
-&nbsp; /* timeout or readable/writable sockets */
-&nbsp; curl_multi_perform(multi_handle, &still_running);
-&nbsp; break;
-}
-&nbsp;
-/* if there are still transfers, loop! */
-</pre>
-
-<p class="level0"><a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">CURLMcode type, general libcurl multi interface error code.
-<p class="level0">Before version 7.20.0: If you receive <span Class="emphasis">CURLM_CALL_MULTI_PERFORM</span>, this basically means that you should call <a Class="emphasis" href="./curl_multi_perform.html">curl_multi_perform</a> again, before you select() on more actions. You don't have to do it immediately, but the return code means that libcurl may have more data available to return or that there may be more data to send off before it is "satisfied". Do note that <a Class="emphasis" href="./curl_multi_perform.html">curl_multi_perform</a> will return <span Class="emphasis">CURLM_CALL_MULTI_PERFORM</span> only when it wants to be called again <span Class="bold">immediately</span>. When things are fine and there is nothing immediate it wants done, it'll return <span Class="emphasis">CURLM_OK</span> and you need to wait for "action" and then call this function again.
-<p class="level0">This function only returns errors etc regarding the whole multi stack. Problems still might have occurred on individual transfers even when this function returns <span Class="emphasis">CURLM_OK</span>. Use <a Class="emphasis" href="./curl_multi_info_read.html">curl_multi_info_read</a> to figure out how individual transfers did. <a name="TYPICAL"></a><h2 class="nroffsh">TYPICAL USAGE</h2>
-<p class="level0">Most applications will use <a Class="emphasis" href="./curl_multi_fdset.html">curl_multi_fdset</a> to get the multi_handle's file descriptors, and <a Class="emphasis" href="./curl_multi_timeout.html">curl_multi_timeout</a> to get a suitable timeout period, then it'll wait for action on the file descriptors using <span Class="bold">select(3)</span>. As soon as one or more file descriptor is ready, <a Class="emphasis" href="./curl_multi_perform.html">curl_multi_perform</a> gets called. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_multi_cleanup.html">curl_multi_cleanup</a>, <a Class="manpage" href="./curl_multi_init.html">curl_multi_init</a>, <a Class="manpage" href="./curl_multi_wait.html">curl_multi_wait</a>, <a Class="manpage" href="./curl_multi_fdset.html">curl_multi_fdset</a>, <a Class="manpage" href="./curl_multi_info_read.html">curl_multi_info_read</a>, <a Class="manpage" href="./libcurl-errors.html">libcurl-errors</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_multi_perform.pdf b/docs/libcurl/curl_multi_perform.pdf
deleted file mode 100644
index 4e0ab4585..000000000
--- a/docs/libcurl/curl_multi_perform.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_multi_remove_handle.html b/docs/libcurl/curl_multi_remove_handle.html
deleted file mode 100644
index f0c71d240..000000000
--- a/docs/libcurl/curl_multi_remove_handle.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_multi_remove_handle man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_multi_remove_handle - remove an easy handle from a multi session <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLMcode curl_multi_remove_handle(CURLM *multi_handle, CURL *easy_handle);
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Removes a given <span Class="emphasis">easy_handle</span> from the <span Class="emphasis">multi_handle</span>. This will make the specified easy handle be removed from this multi handle's control.
-<p class="level0">When the easy handle has been removed from a multi stack, it is again perfectly legal to invoke <a Class="emphasis" href="./curl_easy_perform.html">curl_easy_perform</a> on this easy handle.
-<p class="level0">Removing an easy handle while being used is perfectly legal and will effectively halt the transfer in progress involving that easy handle. All other easy handles and transfers will remain unaffected. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">CURLMcode type, general libcurl multi interface error code. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_multi_cleanup.html">curl_multi_cleanup</a>, <a Class="manpage" href="./curl_multi_init.html">curl_multi_init</a>, <a Class="manpage" href="./curl_multi_add_handle.html">curl_multi_add_handle</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_multi_remove_handle.pdf b/docs/libcurl/curl_multi_remove_handle.pdf
deleted file mode 100644
index 9a4e91d76..000000000
--- a/docs/libcurl/curl_multi_remove_handle.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_multi_setopt.html b/docs/libcurl/curl_multi_setopt.html
deleted file mode 100644
index 804e7ba35..000000000
--- a/docs/libcurl/curl_multi_setopt.html
+++ /dev/null
@@ -1,94 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_multi_setopt man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_multi_setopt - set options for a curl multi handle <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLMcode curl_multi_setopt(CURLM * multi_handle, CURLMoption option, param); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0"><a Class="emphasis" href="./curl_multi_setopt.html">curl_multi_setopt</a> is used to tell a libcurl multi handle how to behave. By using the appropriate options to <a Class="emphasis" href="./curl_multi_setopt.html">curl_multi_setopt</a>, you can change libcurl's behaviour when using that multi handle. All options are set with the <span Class="emphasis">option</span> followed by the parameter <span Class="emphasis">param</span>. That parameter can be a <span Class="bold">long</span>, a <span Class="bold">function pointer</span>, an <span class="bold">object pointer</span> or a <span Class="bold">curl_off_t</span> type, 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.
-<p class="level0"><a name="OPTIONS"></a><h2 class="nroffsh">OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLMOPTCHUNKLENGTHPENALTYSIZE"></a><span class="nroffip">CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE</span>
-<p class="level1">See <span Class="emphasis">CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE(3)</span>
-<p class="level0"><a name="CURLMOPTCONTENTLENGTHPENALTYSIZE"></a><span class="nroffip">CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE</span>
-<p class="level1">See <span Class="emphasis">CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE(3)</span>
-<p class="level0"><a name="CURLMOPTMAXHOSTCONNECTIONS"></a><span class="nroffip">CURLMOPT_MAX_HOST_CONNECTIONS</span>
-<p class="level1">See <span Class="emphasis">CURLMOPT_MAX_HOST_CONNECTIONS(3)</span>
-<p class="level0"><a name="CURLMOPTMAXPIPELINELENGTH"></a><span class="nroffip">CURLMOPT_MAX_PIPELINE_LENGTH</span>
-<p class="level1">See <span Class="emphasis">CURLMOPT_MAX_PIPELINE_LENGTH(3)</span>
-<p class="level0"><a name="CURLMOPTMAXTOTALCONNECTIONS"></a><span class="nroffip">CURLMOPT_MAX_TOTAL_CONNECTIONS</span>
-<p class="level1">See <span Class="emphasis">CURLMOPT_MAX_TOTAL_CONNECTIONS(3)</span>
-<p class="level0"><a name="CURLMOPTMAXCONNECTS"></a><span class="nroffip">CURLMOPT_MAXCONNECTS</span>
-<p class="level1">See <span Class="emphasis">CURLMOPT_MAXCONNECTS(3)</span>
-<p class="level0"><a name="CURLMOPTPIPELINING"></a><span class="nroffip">CURLMOPT_PIPELINING</span>
-<p class="level1">See <span Class="emphasis">CURLMOPT_PIPELINING(3)</span>
-<p class="level0"><a name="CURLMOPTPIPELININGSITEBL"></a><span class="nroffip">CURLMOPT_PIPELINING_SITE_BL</span>
-<p class="level1">See <span Class="emphasis">CURLMOPT_PIPELINING_SITE_BL(3)</span>
-<p class="level0"><a name="CURLMOPTPIPELININGSERVERBL"></a><span class="nroffip">CURLMOPT_PIPELINING_SERVER_BL</span>
-<p class="level1">See <span Class="emphasis">CURLMOPT_PIPELINING_SERVER_BL(3)</span>
-<p class="level0"><a name="CURLMOPTPUSHFUNCTION"></a><span class="nroffip">CURLMOPT_PUSHFUNCTION</span>
-<p class="level1">See <span Class="emphasis">CURLMOPT_PUSHFUNCTION(3)</span>
-<p class="level0"><a name="CURLMOPTPUSHDATA"></a><span class="nroffip">CURLMOPT_PUSHDATA</span>
-<p class="level1">See <span Class="emphasis">CURLMOPT_PUSHDATA(3)</span>
-<p class="level0"><a name="CURLMOPTSOCKETFUNCTION"></a><span class="nroffip">CURLMOPT_SOCKETFUNCTION</span>
-<p class="level1">See <span Class="emphasis">CURLMOPT_SOCKETFUNCTION(3)</span>
-<p class="level0"><a name="CURLMOPTSOCKETDATA"></a><span class="nroffip">CURLMOPT_SOCKETDATA</span>
-<p class="level1">See <span Class="emphasis">CURLMOPT_SOCKETDATA(3)</span>
-<p class="level0"><a name="CURLMOPTTIMERFUNCTION"></a><span class="nroffip">CURLMOPT_TIMERFUNCTION</span>
-<p class="level1">See <span Class="emphasis">CURLMOPT_TIMERFUNCTION(3)</span>
-<p class="level0"><a name="CURLMOPTTIMERDATA"></a><span class="nroffip">CURLMOPT_TIMERDATA</span>
-<p class="level1">See <span Class="emphasis">CURLMOPT_TIMERDATA(3)</span> <a name="RETURNS"></a><h2 class="nroffsh">RETURNS</h2>
-<p class="level0">The standard CURLMcode for multi interface error codes. Note that it returns a CURLM_UNKNOWN_OPTION if you try setting an option that this version of libcurl doesn't know of. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This function was added in libcurl 7.15.4. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_multi_cleanup.html">curl_multi_cleanup</a>, <a Class="manpage" href="./curl_multi_init.html">curl_multi_init</a>, <a Class="manpage" href="./curl_multi_socket.html">curl_multi_socket</a>, <a Class="manpage" href="./curl_multi_info_read.html">curl_multi_info_read</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_multi_setopt.pdf b/docs/libcurl/curl_multi_setopt.pdf
deleted file mode 100644
index a3c36fdc3..000000000
--- a/docs/libcurl/curl_multi_setopt.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_multi_socket.3 b/docs/libcurl/curl_multi_socket.3
index 52abf1ef8..ea29e7110 100644
--- a/docs/libcurl/curl_multi_socket.3
+++ b/docs/libcurl/curl_multi_socket.3
@@ -118,7 +118,7 @@ the return code means that libcurl may have more data available to return or
that there may be more data to send off before it is "satisfied".
In modern libcurls, \fICURLM_CALL_MULTI_PERFORM\fP or
-\fICURLM_CALL_MULTI_SOKCET\fP should not be returned and no application needs
+\fICURLM_CALL_MULTI_SOCKET\fP should not be returned and no application needs
to care about them.
NOTE that the return code is for the whole multi stack. Problems still might have
diff --git a/docs/libcurl/curl_multi_socket.html b/docs/libcurl/curl_multi_socket.html
deleted file mode 100644
index e69041598..000000000
--- a/docs/libcurl/curl_multi_socket.html
+++ /dev/null
@@ -1,116 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_multi_socket man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_multi_socket - reads/writes available data <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-CURLMcode curl_multi_socket(CURLM * multi_handle, curl_socket_t sockfd,
-&nbsp; int *running_handles);
-&nbsp;
-CURLMcode curl_multi_socket_all(CURLM *multi_handle,
-&nbsp; int *running_handles);
-</pre>
-
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">These functions are deprecated. Do not use! See <a Class="emphasis" href="./curl_multi_socket_action.html">curl_multi_socket_action</a> instead!
-<p class="level0">At return, the integer <span Class="bold">running_handles</span> points to will contain the number of still running easy handles within the multi handle. When this number reaches zero, all transfers are complete/done. Note that when you call <a Class="emphasis" href="./curl_multi_socket_action.html">curl_multi_socket_action</a> on a specific socket and the counter decreases by one, it DOES NOT necessarily mean that this exact socket/transfer is the one that completed. Use <a Class="emphasis" href="./curl_multi_info_read.html">curl_multi_info_read</a> to figure out which easy handle that completed.
-<p class="level0">The <a Class="emphasis" href="./curl_multi_socket_action.html">curl_multi_socket_action</a> functions inform the application about updates in the socket (file descriptor) status by doing none, one, or multiple calls to the socket callback function set with the CURLMOPT_SOCKETFUNCTION option to <a Class="emphasis" href="./curl_multi_setopt.html">curl_multi_setopt</a>. They update the status with changes since the previous time the callback was called.
-<p class="level0">Get the timeout time by setting the <span Class="emphasis">CURLMOPT_TIMERFUNCTION</span> option with <a Class="emphasis" href="./curl_multi_setopt.html">curl_multi_setopt</a>. Your application will then get called with information on how long to wait for socket actions at most before doing the timeout action: call the <a Class="emphasis" href="./curl_multi_socket_action.html">curl_multi_socket_action</a> function with the <span Class="bold">sockfd</span> argument set to CURL_SOCKET_TIMEOUT. You can also use the <a Class="emphasis" href="./curl_multi_timeout.html">curl_multi_timeout</a> function to poll the value at any given time, but for an event-based system using the callback is far better than relying on polling the timeout value.
-<p class="level0">Usage of <a Class="emphasis" href="./curl_multi_socket.html">curl_multi_socket</a> is deprecated, whereas the function is equivalent to <a Class="emphasis" href="./curl_multi_socket_action.html">curl_multi_socket_action</a> with <span Class="bold">ev_bitmask</span> set to 0.
-<p class="level0">Force libcurl to (re-)check all its internal sockets and transfers instead of just a single one by calling <a Class="emphasis" href="./curl_multi_socket_all.html">curl_multi_socket_all</a>. Note that there should not be any reason to use this function! <a name="CALLBACK"></a><h2 class="nroffsh">CALLBACK DETAILS</h2>
-<p class="level0">
-<p class="level0">The socket <span Class="bold">callback</span> function uses a prototype like this <pre class="level0">
-&nbsp;
-&nbsp; int curl_socket_callback(CURL *easy, /* easy handle */
-&nbsp; curl_socket_t s, /* socket */
-&nbsp; int action, /* see values below */
-&nbsp; void *userp, /* private callback pointer */
-&nbsp; void *socketp); /* private socket pointer */
-&nbsp;
-</pre>
-
-<p class="level0">The callback MUST return 0.
-<p class="level0">The <span Class="emphasis">easy</span> argument is a pointer to the easy handle that deals with this particular socket. Note that a single handle may work with several sockets simultaneously.
-<p class="level0">The <span Class="emphasis">s</span> argument is the actual socket value as you use it within your system.
-<p class="level0">The <span Class="emphasis">action</span> argument to the callback has one of five values:
-<p class="level1">
-<p class="level0"><a name="CURLPOLLNONE"></a><span class="nroffip">CURL_POLL_NONE (0)</span>
-<p class="level1">register, not interested in readiness (yet)
-<p class="level0"><a name="CURLPOLLIN"></a><span class="nroffip">CURL_POLL_IN (1)</span>
-<p class="level1">register, interested in read readiness
-<p class="level0"><a name="CURLPOLLOUT"></a><span class="nroffip">CURL_POLL_OUT (2)</span>
-<p class="level1">register, interested in write readiness
-<p class="level0"><a name="CURLPOLLINOUT"></a><span class="nroffip">CURL_POLL_INOUT (3)</span>
-<p class="level1">register, interested in both read and write readiness
-<p class="level0"><a name="CURLPOLLREMOVE"></a><span class="nroffip">CURL_POLL_REMOVE (4)</span>
-<p class="level1">unregister
-<p class="level0">
-<p class="level0">The <span Class="emphasis">socketp</span> argument is a private pointer you have previously set with <a Class="emphasis" href="./curl_multi_assign.html">curl_multi_assign</a> to be associated with the <span Class="emphasis">s</span> socket. If no pointer has been set, socketp will be NULL. This argument is of course a service to applications that want to keep certain data or structs that are strictly associated to the given socket.
-<p class="level0">The <span Class="emphasis">userp</span> argument is a private pointer you have previously set with <a Class="emphasis" href="./curl_multi_setopt.html">curl_multi_setopt</a> and the CURLMOPT_SOCKETDATA option. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">CURLMcode type, general libcurl multi interface error code.
-<p class="level0">Legacy: If you receive <span Class="emphasis">CURLM_CALL_MULTI_PERFORM</span>, this basically means that you should call <a Class="emphasis" href="./curl_multi_socket.html">curl_multi_socket</a> again, before you wait for more actions on libcurl's sockets. You don't have to do it immediately, but the return code means that libcurl may have more data available to return or that there may be more data to send off before it is "satisfied".
-<p class="level0">In modern libcurls, <span Class="emphasis">CURLM_CALL_MULTI_PERFORM</span> or <span Class="emphasis">CURLM_CALL_MULTI_SOKCET</span> should not be returned and no application needs to care about them.
-<p class="level0">NOTE that the return code is for the whole multi stack. Problems still might have occurred on individual transfers even when one of these functions return OK. <a name="TYPICAL"></a><h2 class="nroffsh">TYPICAL USAGE</h2>
-<p class="level0">1. Create a multi handle
-<p class="level0">2. Set the socket callback with CURLMOPT_SOCKETFUNCTION
-<p class="level0">3. Set the timeout callback with CURLMOPT_TIMERFUNCTION, to get to know what timeout value to use when waiting for socket activities.
-<p class="level0">4. Add easy handles with curl_multi_add_handle()
-<p class="level0">5. Provide some means to manage the sockets libcurl is using, so you can check them for activity. This can be done through your application code, or by way of an external library such as libevent or glib.
-<p class="level0">6. Wait for activity on any of libcurl's sockets, use the timeout value your callback has been told
-<p class="level0">7, When activity is detected, call curl_multi_socket_action() for the socket(s) that got action. If no activity is detected and the timeout expires, call <a Class="emphasis" href="./curl_multi_socket_action.html">curl_multi_socket_action</a> with <span Class="emphasis">CURL_SOCKET_TIMEOUT</span>
-<p class="level0">8. Go back to step 6. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This function was added in libcurl 7.15.4, and is deemed stable since 7.16.0.
-<p class="level0"><a Class="emphasis" href="./curl_multi_socket.html">curl_multi_socket</a> is deprecated, use <a Class="emphasis" href="./curl_multi_socket_action.html">curl_multi_socket_action</a> instead! <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_multi_cleanup.html">curl_multi_cleanup</a>, <a Class="manpage" href="./curl_multi_init.html">curl_multi_init</a>, <a Class="manpage" href="./curl_multi_fdset.html">curl_multi_fdset</a>, <a Class="manpage" href="./curl_multi_info_read.html">curl_multi_info_read</a>, <span Class="manpage">the hiperfifo.c example</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_multi_socket.pdf b/docs/libcurl/curl_multi_socket.pdf
deleted file mode 100644
index 6da2ef764..000000000
--- a/docs/libcurl/curl_multi_socket.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_multi_socket_action.html b/docs/libcurl/curl_multi_socket_action.html
deleted file mode 100644
index dc07c0d4e..000000000
--- a/docs/libcurl/curl_multi_socket_action.html
+++ /dev/null
@@ -1,115 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_multi_socket_action man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_multi_socket_action - reads/writes available data given an action <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLMcode curl_multi_socket_action(CURLM * multi_handle,
-&nbsp; curl_socket_t sockfd,
-&nbsp; int ev_bitmask,
-&nbsp; int *running_handles);
-</pre>
-
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">When the application has detected action on a socket handled by libcurl, it should call <a Class="emphasis" href="./curl_multi_socket_action.html">curl_multi_socket_action</a> with the <span Class="bold">sockfd</span> argument set to the socket with the action. When the events on a socket are known, they can be passed as an events bitmask <span Class="bold">ev_bitmask</span> by first setting <span Class="bold">ev_bitmask</span> to 0, and then adding using bitwise OR (|) any combination of events to be chosen from CURL_CSELECT_IN, CURL_CSELECT_OUT or CURL_CSELECT_ERR. When the events on a socket are unknown, pass 0 instead, and libcurl will test the descriptor internally. It is also permissible to pass CURL_SOCKET_TIMEOUT to the <span Class="bold">sockfd</span> parameter in order to initiate the whole process or when a timeout occurs.
-<p class="level0">At return, <span Class="bold">running_handles</span> points to the number of running easy handles within the multi handle. When this number reaches zero, all transfers are complete/done. When you call <a Class="emphasis" href="./curl_multi_socket_action.html">curl_multi_socket_action</a> on a specific socket and the counter decreases by one, it DOES NOT necessarily mean that this exact socket/transfer is the one that completed. Use <a Class="emphasis" href="./curl_multi_info_read.html">curl_multi_info_read</a> to figure out which easy handle that completed.
-<p class="level0">The <a Class="emphasis" href="./curl_multi_socket_action.html">curl_multi_socket_action</a> functions inform the application about updates in the socket (file descriptor) status by doing none, one, or multiple calls to the socket callback function set with the <span Class="emphasis">CURLMOPT_SOCKETFUNCTION(3)</span> option to <a Class="emphasis" href="./curl_multi_setopt.html">curl_multi_setopt</a>. They update the status with changes since the previous time the callback was called.
-<p class="level0">Get the timeout time by setting the <span Class="emphasis">CURLMOPT_TIMERFUNCTION(3)</span> option with <a Class="emphasis" href="./curl_multi_setopt.html">curl_multi_setopt</a>. Your application will then get called with information on how long to wait for socket actions at most before doing the timeout action: call the <a Class="emphasis" href="./curl_multi_socket_action.html">curl_multi_socket_action</a> function with the <span Class="bold">sockfd</span> argument set to CURL_SOCKET_TIMEOUT. You can also use the <a Class="emphasis" href="./curl_multi_timeout.html">curl_multi_timeout</a> function to poll the value at any given time, but for an event-based system using the callback is far better than relying on polling the timeout value. <a name="CALLBACK"></a><h2 class="nroffsh">CALLBACK DETAILS</h2>
-<p class="level0">
-<p class="level0">The socket <span Class="bold">callback</span> function uses a prototype like this <pre class="level0">
-&nbsp;
-&nbsp; int curl_socket_callback(CURL *easy, /* easy handle */
-&nbsp; curl_socket_t s, /* socket */
-&nbsp; int action, /* see values below */
-&nbsp; void *userp, /* private callback pointer */
-&nbsp; void *socketp); /* private socket pointer,
-&nbsp; <span class="bold">NULL</span> if not
-&nbsp; previously assigned with
-&nbsp; <span class="emphasis">curl_multi_assign(3)</span> */
-&nbsp;
-</pre>
-
-<p class="level0">The callback MUST return 0.
-<p class="level0">The <span Class="emphasis">easy</span> argument is a pointer to the easy handle that deals with this particular socket. Note that a single handle may work with several sockets simultaneously.
-<p class="level0">The <span Class="emphasis">s</span> argument is the actual socket value as you use it within your system.
-<p class="level0">The <span Class="emphasis">action</span> argument to the callback has one of five values:
-<p class="level1">
-<p class="level0"><a name="CURLPOLLNONE"></a><span class="nroffip">CURL_POLL_NONE (0)</span>
-<p class="level1">register, not interested in readiness (yet)
-<p class="level0"><a name="CURLPOLLIN"></a><span class="nroffip">CURL_POLL_IN (1)</span>
-<p class="level1">register, interested in read readiness
-<p class="level0"><a name="CURLPOLLOUT"></a><span class="nroffip">CURL_POLL_OUT (2)</span>
-<p class="level1">register, interested in write readiness
-<p class="level0"><a name="CURLPOLLINOUT"></a><span class="nroffip">CURL_POLL_INOUT (3)</span>
-<p class="level1">register, interested in both read and write readiness
-<p class="level0"><a name="CURLPOLLREMOVE"></a><span class="nroffip">CURL_POLL_REMOVE (4)</span>
-<p class="level1">unregister
-<p class="level0">
-<p class="level0">The <span Class="emphasis">socketp</span> argument is a private pointer you have previously set with <a Class="emphasis" href="./curl_multi_assign.html">curl_multi_assign</a> to be associated with the <span Class="emphasis">s</span> socket. If no pointer has been set, socketp will be NULL. This argument is of course a service to applications that want to keep certain data or structs that are strictly associated to the given socket.
-<p class="level0">The <span Class="emphasis">userp</span> argument is a private pointer you have previously set with <a Class="emphasis" href="./curl_multi_setopt.html">curl_multi_setopt</a> and the CURLMOPT_SOCKETDATA option. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">CURLMcode type, general libcurl multi interface error code.
-<p class="level0">Before version 7.20.0: If you receive <span Class="emphasis">CURLM_CALL_MULTI_PERFORM</span>, this basically means that you should call <a Class="emphasis" href="./curl_multi_socket_action.html">curl_multi_socket_action</a> again before you wait for more actions on libcurl's sockets. You don't have to do it immediately, but the return code means that libcurl may have more data available to return or that there may be more data to send off before it is "satisfied".
-<p class="level0">The return code from this function is for the whole multi stack. Problems still might have occurred on individual transfers even when one of these functions return OK. <a name="TYPICAL"></a><h2 class="nroffsh">TYPICAL USAGE</h2>
-<p class="level0">1. Create a multi handle
-<p class="level0">2. Set the socket callback with CURLMOPT_SOCKETFUNCTION
-<p class="level0">3. Set the timeout callback with CURLMOPT_TIMERFUNCTION, to get to know what timeout value to use when waiting for socket activities.
-<p class="level0">4. Add easy handles with curl_multi_add_handle()
-<p class="level0">5. Provide some means to manage the sockets libcurl is using, so you can check them for activity. This can be done through your application code, or by way of an external library such as libevent or glib.
-<p class="level0">6. Call curl_multi_socket_action(..., CURL_SOCKET_TIMEOUT, 0, ...) to kickstart everything. To get one or more callbacks called.
-<p class="level0">7. Wait for activity on any of libcurl's sockets, use the timeout value your callback has been told.
-<p class="level0">8, When activity is detected, call curl_multi_socket_action() for the socket(s) that got action. If no activity is detected and the timeout expires, call <a Class="emphasis" href="./curl_multi_socket_action.html">curl_multi_socket_action</a> with <span Class="emphasis">CURL_SOCKET_TIMEOUT</span>. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This function was added in libcurl 7.15.4, and is deemed stable since 7.16.0. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_multi_cleanup.html">curl_multi_cleanup</a>, <a Class="manpage" href="./curl_multi_init.html">curl_multi_init</a>, <a Class="manpage" href="./curl_multi_fdset.html">curl_multi_fdset</a>, <a Class="manpage" href="./curl_multi_info_read.html">curl_multi_info_read</a>, <span Class="manpage">the hiperfifo.c example</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_multi_socket_action.pdf b/docs/libcurl/curl_multi_socket_action.pdf
deleted file mode 100644
index 572428761..000000000
--- a/docs/libcurl/curl_multi_socket_action.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_multi_socket_all.html b/docs/libcurl/curl_multi_socket_all.html
deleted file mode 100644
index 5ac32950b..000000000
--- a/docs/libcurl/curl_multi_socket_all.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>secret man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-See the man3/curl_multi_socket.3 man page.
-
-<p class="level0"><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_multi_socket_all.pdf b/docs/libcurl/curl_multi_socket_all.pdf
deleted file mode 100644
index fddfa849e..000000000
--- a/docs/libcurl/curl_multi_socket_all.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_multi_strerror.html b/docs/libcurl/curl_multi_strerror.html
deleted file mode 100644
index b04e7348a..000000000
--- a/docs/libcurl/curl_multi_strerror.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_multi_strerror man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_multi_strerror - return string describing error code <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-<span class="bold">#include &lt;curl/curl.h&gt;</span>
-<span class="bold">const char *curl_multi_strerror(CURLMcode errornum );</span>
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">The curl_multi_strerror() function returns a string describing the CURLMcode error code passed in the argument <span Class="emphasis">errornum</span>. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This function was added in libcurl 7.12.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">A pointer to a zero terminated string. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./libcurl-errors.html">libcurl-errors</a>, <a Class="manpage" href="./curl_easy_strerror.html">curl_easy_strerror</a>, <a Class="manpage" href="./curl_share_strerror.html">curl_share_strerror</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_multi_strerror.pdf b/docs/libcurl/curl_multi_strerror.pdf
deleted file mode 100644
index c6aae72df..000000000
--- a/docs/libcurl/curl_multi_strerror.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_multi_timeout.html b/docs/libcurl/curl_multi_timeout.html
deleted file mode 100644
index 3f74cfdb2..000000000
--- a/docs/libcurl/curl_multi_timeout.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_multi_timeout man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_multi_timeout - how long to wait for action before proceeding <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLMcode curl_multi_timeout(CURLM *multi_handle, long *timeout); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">
-<p class="level0">An application using the libcurl multi interface should call <a Class="emphasis" href="./curl_multi_timeout.html">curl_multi_timeout</a> to figure out how long it should wait for socket actions - at most - before proceeding.
-<p class="level0">Proceeding means either doing the socket-style timeout action: call the <a Class="emphasis" href="./curl_multi_socket_action.html">curl_multi_socket_action</a> function with the <span Class="bold">sockfd</span> argument set to CURL_SOCKET_TIMEOUT, or call <a Class="emphasis" href="./curl_multi_perform.html">curl_multi_perform</a> if you're using the simpler and older multi interface approach.
-<p class="level0">The timeout value returned in the long <span Class="bold">timeout</span> points to, is in number of milliseconds at this very moment. If 0, it means you should proceed immediately without waiting for anything. If it returns -1, there's no timeout at all set.
-<p class="level0">An application that uses the multi_socket API SHOULD NOT use this function, but SHOULD instead use <a Class="emphasis" href="./curl_multi_setopt.html">curl_multi_setopt</a> and its </span>CURLMOPT_TIMERFUNCTION</span> option for proper and desired behavior.
-<p class="level0">Note: if libcurl returns a -1 timeout here, it just means that libcurl currently has no stored timeout value. You must not wait too long (more than a few seconds perhaps) before you call curl_multi_perform() again. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-struct timeval timeout;
-long timeo;
-&nbsp;
-curl_multi_timeout(multi_handle, &timeo);
-if(timeo &lt; 0)
-&nbsp; /* no set timeout, use a default */
-&nbsp; timeo = 980;
-&nbsp;
-timeout.tv_sec = timeo / 1000;
-timeout.tv_usec = (timeo % 1000) * 1000;
-&nbsp;
-/* wait for activities no longer than the set timeout */
-select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout);
-</pre>
-
-<p class="level0"><a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">The standard CURLMcode for multi interface error codes. <a name="TYPICAL"></a><h2 class="nroffsh">TYPICAL USAGE</h2>
-<p class="level0">Call <a Class="emphasis" href="./curl_multi_timeout.html">curl_multi_timeout</a>, then wait for action on the sockets. You figure out which sockets to wait for by calling <a Class="emphasis" href="./curl_multi_fdset.html">curl_multi_fdset</a> or by a previous call to <a Class="emphasis" href="./curl_multi_socket.html">curl_multi_socket</a>. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This function was added in libcurl 7.15.4. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_multi_fdset.html">curl_multi_fdset</a>, <a Class="manpage" href="./curl_multi_info_read.html">curl_multi_info_read</a>, <a Class="manpage" href="./curl_multi_socket.html">curl_multi_socket</a>, <a Class="manpage" href="./curl_multi_setopt.html">curl_multi_setopt</a>
-<p class="level0"><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_multi_timeout.pdf b/docs/libcurl/curl_multi_timeout.pdf
deleted file mode 100644
index 70dccd912..000000000
--- a/docs/libcurl/curl_multi_timeout.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_multi_wait.html b/docs/libcurl/curl_multi_wait.html
deleted file mode 100644
index 9911c95f4..000000000
--- a/docs/libcurl/curl_multi_wait.html
+++ /dev/null
@@ -1,132 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_multi_wait man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_multi_wait - polls on all easy handles in a multi handle <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLMcode curl_multi_wait(CURLM *multi_handle,
-&nbsp; struct curl_waitfd extra_fds[],
-&nbsp; unsigned int extra_nfds,
-&nbsp; int timeout_ms,
-&nbsp; int *numfds);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0"><a Class="emphasis" href="./curl_multi_wait.html">curl_multi_wait</a> polls all file descriptors used by the curl easy handles contained in the given multi handle set. It will block until activity is detected on at least one of the handles or <span Class="emphasis">timeout_ms</span> has passed. Alternatively, if the multi handle has a pending internal timeout that has a shorter expiry time than <span Class="emphasis">timeout_ms</span>, that shorter time will be used instead to make sure timeout accuracy is reasonably kept.
-<p class="level0">The calling application may pass additional curl_waitfd structures which are similar to <span Class="emphasis">poll(2)</span>'s pollfd structure to be waited on in the same call.
-<p class="level0">On completion, if <span Class="emphasis">numfds</span> is non-NULL, it will be populated with the total number of file descriptors on which interesting events occurred. This number can include both libcurl internal descriptors as well as descriptors provided in <span Class="emphasis">extra_fds</span>.
-<p class="level0">If no extra file descriptors are provided and libcurl has no file descriptor to offer to wait for, this function will return immediately.
-<p class="level0">This function is encouraged to be used instead of select(3) when using the multi interface to allow applications to easier circumvent the common problem with 1024 maximum file descriptors. <a name="curlwaitfd"></a><h2 class="nroffsh">curl_waitfd</h2>
-<p class="level0"><pre class="level0">
-struct curl_waitfd {
-&nbsp; curl_socket_t fd;
-&nbsp; short events;
-&nbsp; short revents;
-};
-</pre>
-
-<p class="level0">
-<p class="level0"><a name="CURLWAITPOLLIN"></a><span class="nroffip">CURL_WAIT_POLLIN</span>
-<p class="level1">Bit flag to curl_waitfd.events indicating the socket should poll on read events such as new data received.
-<p class="level0"><a name="CURLWAITPOLLPRI"></a><span class="nroffip">CURL_WAIT_POLLPRI</span>
-<p class="level1">Bit flag to curl_waitfd.events indicating the socket should poll on high priority read events such as out of band data.
-<p class="level0"><a name="CURLWAITPOLLOUT"></a><span class="nroffip">CURL_WAIT_POLLOUT</span>
-<p class="level1">Bit flag to curl_waitfd.events indicating the socket should poll on write events such as the socket being clear to write without blocking. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *easy_handle;
-CURLM *multi_handle;
-&nbsp;
-/* add the individual easy handle */
-curl_multi_add_handle(multi_handle, easy_handle);
-&nbsp;
-do {
-&nbsp; CURLMcode mc;
-&nbsp; int numfds;
-&nbsp;
-&nbsp; mc = curl_multi_perform(multi_handle, &still_running);
-&nbsp;
-&nbsp; if(mc == CURLM_OK ) {
-&nbsp; /* wait for activity, timeout or "nothing" */
-&nbsp; mc = curl_multi_wait(multi_handle, NULL, 0, 1000, &numfds);
-&nbsp; }
-&nbsp;
-&nbsp; if(mc != CURLM_OK) {
-&nbsp; fprintf(stderr, "curl_multi failed, code %d.n", mc);
-&nbsp; break;
-&nbsp; }
-&nbsp;
-&nbsp; /* 'numfds' being zero means either a timeout or no file descriptors to
-&nbsp; wait for. Try timeout on first occurrence, then assume no file
-&nbsp; descriptors and no file descriptors to wait for means wait for 100
-&nbsp; milliseconds. */
-&nbsp;
-&nbsp; if(!numfds) {
-&nbsp; repeats++; /* count number of repeated zero numfds */
-&nbsp; if(repeats &gt; 1) {
-&nbsp; WAITMS(100); /* sleep 100 milliseconds */
-&nbsp; }
-&nbsp; }
-&nbsp; else
-&nbsp; repeats = 0;
-&nbsp;
-} while(still_running);
-&nbsp;
-curl_multi_remove_handle(multi_handle, easy_handle);
-</pre>
-
-<p class="level0"><a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">CURLMcode type, general libcurl multi interface error code. See <a Class="emphasis" href="./libcurl-errors.html">libcurl-errors</a> <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This function was added in libcurl 7.28.0. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_multi_fdset.html">curl_multi_fdset</a>, <a Class="manpage" href="./curl_multi_perform.html">curl_multi_perform</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_multi_wait.pdf b/docs/libcurl/curl_multi_wait.pdf
deleted file mode 100644
index e77b05dfc..000000000
--- a/docs/libcurl/curl_multi_wait.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_share_cleanup.html b/docs/libcurl/curl_share_cleanup.html
deleted file mode 100644
index d2526b77c..000000000
--- a/docs/libcurl/curl_share_cleanup.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_share_cleanup man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_share_cleanup - Clean up a shared object <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">CURLSHcode curl_share_cleanup(CURLSH * share_handle );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This function deletes a shared object. The share handle cannot be used anymore when this function has been called.
-<p class="level0"><a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">CURLSHE_OK (zero) means that the option was set properly, non-zero means an error occurred as <span Class="emphasis">&lt;curl/curl.h&gt;</span> defines. See the <span Class="emphasis">libcurl-errors.3</span> man page for the full list with descriptions. If an error occurs, then the share object will not be deleted. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_share_init.html">curl_share_init</a>, <a Class="manpage" href="./curl_share_setopt.html">curl_share_setopt</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_share_cleanup.pdf b/docs/libcurl/curl_share_cleanup.pdf
deleted file mode 100644
index 405b20bc3..000000000
--- a/docs/libcurl/curl_share_cleanup.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_share_init.html b/docs/libcurl/curl_share_init.html
deleted file mode 100644
index 249c885d8..000000000
--- a/docs/libcurl/curl_share_init.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_share_init man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_share_init - Create a shared object <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">CURLSH *curl_share_init( );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This function returns a CURLSH handle to be used as input to all the other share-functions, sometimes referred to as a share handle in some places in the documentation. This init call MUST have a corresponding call to <span Class="emphasis">curl_share_cleanup</span> when all operations using the share are complete.
-<p class="level0">This <span Class="emphasis">share handle</span> is what you pass to curl using the <span Class="emphasis">CURLOPT_SHARE(3)</span> option with <a Class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt</a>, to make that specific curl handle use the data in this share. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">If this function returns NULL, something went wrong (out of memory, etc.) and therefore the share object was not created. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_share_cleanup.html">curl_share_cleanup</a>, <a Class="manpage" href="./curl_share_setopt.html">curl_share_setopt</a>
-<p class="level0"><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_share_init.pdf b/docs/libcurl/curl_share_init.pdf
deleted file mode 100644
index 69b8e988e..000000000
--- a/docs/libcurl/curl_share_init.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_share_setopt.html b/docs/libcurl/curl_share_setopt.html
deleted file mode 100644
index 9e5c44eb4..000000000
--- a/docs/libcurl/curl_share_setopt.html
+++ /dev/null
@@ -1,88 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_share_setopt man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_share_setopt - Set options for a shared object <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0">CURLSHcode curl_share_setopt(CURLSH *share, CURLSHoption option, parameter);
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Set the <span Class="emphasis">option</span> to <span Class="emphasis">parameter</span> for the given <span Class="emphasis">share</span>. <a name="OPTIONS"></a><h2 class="nroffsh">OPTIONS</h2>
-<p class="level0">
-<p class="level0"><a name="CURLSHOPTLOCKFUNC"></a><span class="nroffip">CURLSHOPT_LOCKFUNC</span>
-<p class="level1">The <span Class="emphasis">parameter</span> must be a pointer to a function matching the following prototype:
-<p class="level1">void lock_function(CURL *handle, curl_lock_data data, curl_lock_access access, void *userptr);
-<p class="level1"><span Class="emphasis">data</span> 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.
-<p class="level1"><span Class="emphasis">access</span> defines what access type libcurl wants, shared or single.
-<p class="level1"><span Class="emphasis">userptr</span> is the pointer you set with <a class="emphasis" href="#CURLSHOPTUSERDATA">CURLSHOPT_USERDATA</a>.
-<p class="level0"><a name="CURLSHOPTUNLOCKFUNC"></a><span class="nroffip">CURLSHOPT_UNLOCKFUNC</span>
-<p class="level1">The <span Class="emphasis">parameter</span> must be a pointer to a function matching the following prototype:
-<p class="level1">void unlock_function(CURL *handle, curl_lock_data data, void *userptr);
-<p class="level1"><span Class="emphasis">data</span> 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.
-<p class="level1"><span Class="emphasis">userptr</span> is the pointer you set with <a class="emphasis" href="#CURLSHOPTUSERDATA">CURLSHOPT_USERDATA</a>.
-<p class="level0"><a name="CURLSHOPTSHARE"></a><span class="nroffip">CURLSHOPT_SHARE</span>
-<p class="level1">The <span Class="emphasis">parameter</span> specifies a type of data that should be shared. This may be set to one of the values described below.
-<p class="level2">
-<p class="level1"><a name="CURLLOCKDATACOOKIE"></a><span class="nroffip">CURL_LOCK_DATA_COOKIE</span>
-<p class="level2">Cookie data will be shared across the easy handles using this shared object.
-<p class="level1"><a name="CURLLOCKDATADNS"></a><span class="nroffip">CURL_LOCK_DATA_DNS</span>
-<p class="level2">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 this having to be used!
-<p class="level1"><a name="CURLLOCKDATASSLSESSION"></a><span class="nroffip">CURL_LOCK_DATA_SSL_SESSION</span>
-<p class="level2">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.
-<p class="level1">
-<p class="level0"><a name="CURLSHOPTUNSHARE"></a><span class="nroffip">CURLSHOPT_UNSHARE</span>
-<p class="level1">This option does the opposite of <a class="emphasis" href="#CURLSHOPTSHARE">CURLSHOPT_SHARE</a>. It specifies that the specified <span Class="emphasis">parameter</span> will no longer be shared. Valid values are the same as those for <a class="emphasis" href="#CURLSHOPTSHARE">CURLSHOPT_SHARE</a>.
-<p class="level0"><a name="CURLSHOPTUSERDATA"></a><span class="nroffip">CURLSHOPT_USERDATA</span>
-<p class="level1">The <span Class="emphasis">parameter</span> allows you to specify a pointer to data that will be passed to the lock_function and unlock_function each time it is called. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">CURLSHE_OK (zero) means that the option was set properly, non-zero means an error occurred as <span Class="emphasis">&lt;curl/curl.h&gt;</span> defines. See the <span Class="emphasis">libcurl-errors.3</span> man page for the full list with descriptions. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_share_cleanup.html">curl_share_cleanup</a>, <a Class="manpage" href="./curl_share_init.html">curl_share_init</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_share_setopt.pdf b/docs/libcurl/curl_share_setopt.pdf
deleted file mode 100644
index 6fdb7e25f..000000000
--- a/docs/libcurl/curl_share_setopt.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_share_strerror.html b/docs/libcurl/curl_share_strerror.html
deleted file mode 100644
index 44a914a0a..000000000
--- a/docs/libcurl/curl_share_strerror.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_share_strerror man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_share_strerror - return string describing error code <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-<span class="bold">#include &lt;curl/curl.h&gt;</span>
-<span class="bold">const char *curl_share_strerror(CURLSHcode errornum );</span>
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">The curl_share_strerror() function returns a string describing the CURLSHcode error code passed in the argument <span Class="emphasis">errornum</span>. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This function was added in libcurl 7.12.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">A pointer to a zero terminated string. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./libcurl-errors.html">libcurl-errors</a>, <a Class="manpage" href="./curl_multi_strerror.html">curl_multi_strerror</a>, <a Class="manpage" href="./curl_easy_strerror.html">curl_easy_strerror</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_share_strerror.pdf b/docs/libcurl/curl_share_strerror.pdf
deleted file mode 100644
index 4b9210b18..000000000
--- a/docs/libcurl/curl_share_strerror.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_slist_append.html b/docs/libcurl/curl_slist_append.html
deleted file mode 100644
index f8674ad1d..000000000
--- a/docs/libcurl/curl_slist_append.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_slist_append man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_slist_append - add a string to an slist <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">struct curl_slist *curl_slist_append(struct curl_slist * list,</span> <span Class="bold">const char * string );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">curl_slist_append() appends a specified string to a linked list of strings. The existing <span Class="emphasis">list</span> should be passed as the first argument while the new list is returned from this function. The specified <span Class="emphasis">string</span> has been appended when this function returns. curl_slist_append() copies the string.
-<p class="level0">The list should be freed again (after usage) with <a Class="emphasis" href="./curl_slist_free_all.html">curl_slist_free_all</a>. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">A null pointer is returned if anything went wrong, otherwise the new list pointer is returned. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-&nbsp;CURL handle;
-&nbsp;struct curl_slist *slist=NULL;
-&nbsp;
-&nbsp;slist = curl_slist_append(slist, "pragma:");
-&nbsp;
-&nbsp;if (slist == NULL)
-&nbsp; return -1;
-&nbsp;
-&nbsp;curl_easy_setopt(handle, CURLOPT_HTTPHEADER, slist);
-&nbsp;
-&nbsp;curl_easy_perform(handle);
-&nbsp;
-&nbsp;curl_slist_free_all(slist); /* free the list again */
-</pre>
-
-<p class="level0"><a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_slist_free_all.html">curl_slist_free_all</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_slist_append.pdf b/docs/libcurl/curl_slist_append.pdf
deleted file mode 100644
index d4255b318..000000000
--- a/docs/libcurl/curl_slist_append.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_slist_free_all.html b/docs/libcurl/curl_slist_free_all.html
deleted file mode 100644
index 4ed487b0f..000000000
--- a/docs/libcurl/curl_slist_free_all.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_slist_free_all man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_slist_free_all - free an entire curl_slist list <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">void curl_slist_free_all(struct curl_slist * list);</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">curl_slist_free_all() removes all traces of a previously built curl_slist linked list. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Nothing. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_slist_append.html">curl_slist_append</a>
-<p class="level0"><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_slist_free_all.pdf b/docs/libcurl/curl_slist_free_all.pdf
deleted file mode 100644
index 575ff62c7..000000000
--- a/docs/libcurl/curl_slist_free_all.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_strequal.html b/docs/libcurl/curl_strequal.html
deleted file mode 100644
index 33a4620f3..000000000
--- a/docs/libcurl/curl_strequal.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_strequal man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_strequal, curl_strnequal - case insensitive string comparisons <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">int curl_strequal(char * str1 , char * str2 );</span>
-<p class="level0"><span Class="bold">int curl_strenqual(char * str1 , char * str2 , size_t len );</span> <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">The <span Class="bold">curl_strequal()</span> function compares the two strings <span Class="emphasis">str1</span> and <span Class="emphasis">str2</span>, ignoring the case of the characters. It returns a non-zero (TRUE) integer if the strings are identical.
-<p class="level0">The <span Class="bold">curl_strnequal()</span> function is similar, except it only compares the first <span Class="emphasis">len</span> characters of <span Class="emphasis">str1</span>.
-<p class="level0">These functions are provided by libcurl to enable applications to compare strings in a truly portable manner. There are no standard portable case insensitive string comparison functions. These two work on all platforms. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">These functions will be removed from the public libcurl API in a near future. They will instead be made "available" by source code access only, and then as curlx_strequal() and curlx_strenqual(). <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Non-zero if the strings are identical. Zero if they're not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">strcmp (3)</span>, <span Class="manpage">strcasecmp (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_strequal.pdf b/docs/libcurl/curl_strequal.pdf
deleted file mode 100644
index 7f92278d4..000000000
--- a/docs/libcurl/curl_strequal.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_unescape.html b/docs/libcurl/curl_unescape.html
deleted file mode 100644
index 1f6c654da..000000000
--- a/docs/libcurl/curl_unescape.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_unescape man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_unescape - URL decodes the given string <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">char *curl_unescape( const char * url , int length );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Obsolete function. Use <a Class="emphasis" href="./curl_easy_unescape.html">curl_easy_unescape</a> instead!
-<p class="level0">This function will convert the given URL encoded input string to a "plain string" and return that as a new allocated string. All input characters that are URL encoded (%XX where XX is a two-digit hexadecimal number) will be converted to their plain text versions.
-<p class="level0">If the 'length' argument is set to 0, curl_unescape() will use strlen() on the input 'url' string to find out the size.
-<p class="level0">You must <a Class="emphasis" href="./curl_free.html">curl_free</a> the returned string when you're done with it. <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Since 7.15.4, <a Class="emphasis" href="./curl_easy_unescape.html">curl_easy_unescape</a> should be used. This function will be removed in a future release. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">A pointer to a zero terminated string or NULL if it failed. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_easy_escape.html">curl_easy_escape</a>, <a Class="manpage" href="./curl_easy_unescape.html">curl_easy_unescape</a>, <a Class="manpage" href="./curl_free.html">curl_free</a>, <span Class="manpage">RFC 2396</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_unescape.pdf b/docs/libcurl/curl_unescape.pdf
deleted file mode 100644
index 1e955b948..000000000
--- a/docs/libcurl/curl_unescape.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_version.html b/docs/libcurl/curl_version.html
deleted file mode 100644
index 39b258a30..000000000
--- a/docs/libcurl/curl_version.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_version man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_version - returns the libcurl version string <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">char *curl_version( );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Returns a human readable string with the version number of libcurl and some of its important components (like OpenSSL version).
-<p class="level0">We recommend using <a Class="emphasis" href="./curl_version_info.html">curl_version_info</a> instead! <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">A pointer to a zero terminated string. The string resides in a statically allocated buffer and must not be freed by the caller. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_version_info.html">curl_version_info</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_version.pdf b/docs/libcurl/curl_version.pdf
deleted file mode 100644
index 98b5b3c16..000000000
--- a/docs/libcurl/curl_version.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/curl_version_info.3 b/docs/libcurl/curl_version_info.3
index 5244c21b8..ebb11c33b 100644
--- a/docs/libcurl/curl_version_info.3
+++ b/docs/libcurl/curl_version_info.3
@@ -153,6 +153,9 @@ libcurl was built with support for Unix domain sockets.
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)
.RE
\fIssl_version\fP is an ASCII string for the OpenSSL version used. If libcurl
has no SSL support, this is NULL.
diff --git a/docs/libcurl/curl_version_info.html b/docs/libcurl/curl_version_info.html
deleted file mode 100644
index 535af3b8d..000000000
--- a/docs/libcurl/curl_version_info.html
+++ /dev/null
@@ -1,149 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>curl_version_info man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">curl_version_info - returns run-time libcurl version info <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><span Class="bold">#include &lt;curl/curl.h&gt;</span>
-<p class="level0"><span Class="bold">curl_version_info_data *curl_version_info( CURLversion type );</span>
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Returns a pointer to a filled in static struct with information about various features in the running version of libcurl. <span Class="emphasis">type</span> 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. <span Class="bold">CURLVERSION_NOW</span> will be the most recent one for the library you have installed:
-<p class="level0">&nbsp; data = curl_version_info(CURLVERSION_NOW);
-<p class="level0">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.
-<p class="level0">The curl_version_info_data struct looks like this
-<p class="level0"><pre class="level0">
-typedef struct {
-&nbsp; CURLversion age; /* see description below */
-&nbsp;
-&nbsp; /* when 'age' is 0 or higher, the members below also exist: */
-&nbsp; const char *version; /* human readable string */
-&nbsp; unsigned int version_num; /* numeric representation */
-&nbsp; const char *host; /* human readable string */
-&nbsp; int features; /* bitmask, see below */
-&nbsp; char *ssl_version; /* human readable string */
-&nbsp; long ssl_version_num; /* not used, always zero */
-&nbsp; const char *libz_version; /* human readable string */
-&nbsp; const char * const *protocols; /* protocols */
-&nbsp;
-&nbsp; /* when 'age' is 1 or higher, the members below also exist: */
-&nbsp; const char *ares; /* human readable string */
-&nbsp; int ares_num; /* number */
-&nbsp;
-&nbsp; /* when 'age' is 2 or higher, the member below also exists: */
-&nbsp; const char *libidn; /* human readable string */
-&nbsp;
-&nbsp; /* when 'age' is 3 or higher (7.16.1 or later), the members below also
-&nbsp; exist */
-&nbsp; int iconv_ver_num; /* '_libiconv_version' if iconv support enabled */
-&nbsp;
-&nbsp; const char *libssh_version; /* human readable string */
-&nbsp;
-} curl_version_info_data;
-</pre>
-
-<p class="level0">
-<p class="level0"><span Class="emphasis">age</span> 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.
-<p class="level0"><span Class="emphasis">version</span> is just an ascii string for the libcurl version.
-<p class="level0"><span Class="emphasis">version_num</span> is a 24 bit number created like this: &lt;8 bits major number&gt; | &lt;8 bits minor number&gt; | &lt;8 bits patch number&gt;. Version 7.9.8 is therefore returned as 0x070908.
-<p class="level0"><span Class="emphasis">host</span> 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.
-<p class="level0"><span Class="emphasis">features</span> can have none, one or more bits set, and the currently defined bits are:
-<p class="level1">
-<p class="level0"><a name="CURLVERSIONIPV6"></a><span class="nroffip">CURL_VERSION_IPV6</span>
-<p class="level1">supports IPv6
-<p class="level0"><a name="CURLVERSIONKERBEROS4"></a><span class="nroffip">CURL_VERSION_KERBEROS4</span>
-<p class="level1">supports Kerberos V4 (when using FTP)
-<p class="level0"><a name="CURLVERSIONKERBEROS5"></a><span class="nroffip">CURL_VERSION_KERBEROS5</span>
-<p class="level1">supports Kerberos V5 authentication for FTP, IMAP, POP3, SMTP and SOCKSv5 proxy (Added in 7.40.0)
-<p class="level0"><a name="CURLVERSIONSSL"></a><span class="nroffip">CURL_VERSION_SSL</span>
-<p class="level1">supports SSL (HTTPS/FTPS) (Added in 7.10)
-<p class="level0"><a name="CURLVERSIONLIBZ"></a><span class="nroffip">CURL_VERSION_LIBZ</span>
-<p class="level1">supports HTTP deflate using libz (Added in 7.10)
-<p class="level0"><a name="CURLVERSIONNTLM"></a><span class="nroffip">CURL_VERSION_NTLM</span>
-<p class="level1">supports HTTP NTLM (added in 7.10.6)
-<p class="level0"><a name="CURLVERSIONGSSNEGOTIATE"></a><span class="nroffip">CURL_VERSION_GSSNEGOTIATE</span>
-<p class="level1">supports HTTP GSS-Negotiate (added in 7.10.6)
-<p class="level0"><a name="CURLVERSIONDEBUG"></a><span class="nroffip">CURL_VERSION_DEBUG</span>
-<p class="level1">libcurl was built with debug capabilities (added in 7.10.6)
-<p class="level0"><a name="CURLVERSIONCURLDEBUG"></a><span class="nroffip">CURL_VERSION_CURLDEBUG</span>
-<p class="level1">libcurl was built with memory tracking debug capabilities. This is mainly of interest for libcurl hackers. (added in 7.19.6)
-<p class="level0"><a name="CURLVERSIONASYNCHDNS"></a><span class="nroffip">CURL_VERSION_ASYNCHDNS</span>
-<p class="level1">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)
-<p class="level0"><a name="CURLVERSIONSPNEGO"></a><span class="nroffip">CURL_VERSION_SPNEGO</span>
-<p class="level1">libcurl was built with support for SPNEGO authentication (Simple and Protected GSS-API Negotiation Mechanism, defined in <a href="http://www.ietf.org/rfc/rfc2478.txt">RFC 2478</a>.) (added in 7.10.8)
-<p class="level0"><a name="CURLVERSIONLARGEFILE"></a><span class="nroffip">CURL_VERSION_LARGEFILE</span>
-<p class="level1">libcurl was built with support for large files. (Added in 7.11.1)
-<p class="level0"><a name="CURLVERSIONIDN"></a><span class="nroffip">CURL_VERSION_IDN</span>
-<p class="level1">libcurl was built with support for IDNA, domain names with international letters. (Added in 7.12.0)
-<p class="level0"><a name="CURLVERSIONSSPI"></a><span class="nroffip">CURL_VERSION_SSPI</span>
-<p class="level1">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)
-<p class="level0"><a name="CURLVERSIONGSSAPI"></a><span class="nroffip">CURL_VERSION_GSSAPI</span>
-<p class="level1">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)
-<p class="level0"><a name="CURLVERSIONCONV"></a><span class="nroffip">CURL_VERSION_CONV</span>
-<p class="level1">libcurl was built with support for character conversions, as provided by the CURLOPT_CONV_* callbacks. (Added in 7.15.4)
-<p class="level0"><a name="CURLVERSIONTLSAUTHSRP"></a><span class="nroffip">CURL_VERSION_TLSAUTH_SRP</span>
-<p class="level1">libcurl was built with support for TLS-SRP. (Added in 7.21.4)
-<p class="level0"><a name="CURLVERSIONNTLMWB"></a><span class="nroffip">CURL_VERSION_NTLM_WB</span>
-<p class="level1">libcurl was built with support for NTLM delegation to a winbind helper. (Added in 7.22.0)
-<p class="level0"><a name="CURLVERSIONHTTP2"></a><span class="nroffip">CURL_VERSION_HTTP2</span>
-<p class="level1">libcurl was built with support for HTTP2. (Added in 7.33.0)
-<p class="level0"><a name="CURLVERSIONUNIXSOCKETS"></a><span class="nroffip">CURL_VERSION_UNIX_SOCKETS</span>
-<p class="level1">libcurl was built with support for Unix domain sockets. (Added in 7.40.0)
-<p class="level0"><a name="CURLVERSIONPSL"></a><span class="nroffip">CURL_VERSION_PSL</span>
-<p class="level1">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)
-<p class="level0"><span Class="emphasis">ssl_version</span> is an ASCII string for the OpenSSL version used. If libcurl has no SSL support, this is NULL.
-<p class="level0"><span Class="emphasis">ssl_version_num</span> is always 0.
-<p class="level0"><span Class="emphasis">libz_version</span> is an ASCII string (there is no numerical version). If libcurl has no libz support, this is NULL.
-<p class="level0"><span Class="emphasis">protocols</span> 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. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">A pointer to a curl_version_info_data struct. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="emphasis" href="./curl_version.html">curl_version</a>
-<p class="level0"><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/curl_version_info.pdf b/docs/libcurl/curl_version_info.pdf
deleted file mode 100644
index 4429a6494..000000000
--- a/docs/libcurl/curl_version_info.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/libcurl-easy.html b/docs/libcurl/libcurl-easy.html
deleted file mode 100644
index c92eee575..000000000
--- a/docs/libcurl/libcurl-easy.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>libcurl man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">libcurl-easy - easy interface overview <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">When using libcurl's "easy" interface you init your session and get a handle (often referred to as an "easy handle"), which you use as input to the easy interface functions you use. Use <a Class="emphasis" href="./curl_easy_init.html">curl_easy_init</a> to get the handle.
-<p class="level0">You continue by setting all the options you want in the upcoming transfer, the most important among them is the URL itself (you can't transfer anything without a specified URL as you may have figured out yourself). You might want to set some callbacks as well that will be called from the library when data is available etc. <a Class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt</a> is used for all this.
-<p class="level0"><span Class="emphasis">CURLOPT_URL(3)</span> is only option you really must set, as otherwise there can be no transfer. Another commonly used option is <span Class="emphasis">CURLOPT_VERBOSE(3)</span> that will help you see what libcurl is doing under the hood, very useful when debugging for example. The <a Class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt</a> man page has a full index of the over 200 available options.
-<p class="level0">If you at any point would like to blank all previously set options for a single easy handle, you can call <a Class="emphasis" href="./curl_easy_reset.html">curl_easy_reset</a> and you can also make a clone of an easy handle (with all its set options) using <a Class="emphasis" href="./curl_easy_duphandle.html">curl_easy_duphandle</a>.
-<p class="level0">When all is setup, you tell libcurl to perform the transfer using <a Class="emphasis" href="./curl_easy_perform.html">curl_easy_perform</a>. It will then do the entire operation and won't return until it is done (successfully or not).
-<p class="level0">After the transfer has been made, you can set new options and make another transfer, or if you're done, cleanup the session by calling <a Class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup</a>. If you want persistent connections, you don't cleanup immediately, but instead run ahead and perform other transfers using the same easy handle. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_easy_init.html">curl_easy_init</a>, <a Class="manpage" href="./curl_easy_cleanup.html">curl_easy_cleanup</a>, <a Class="manpage" href="./curl_easy_setopt.html">curl_easy_setopt</a>, <a Class="manpage" href="./libcurl-errors.html">libcurl-errors</a>, <a Class="manpage" href="./libcurl-multi.html">libcurl-multi</a>, <a Class="manpage" href="./libcurl.html">libcurl</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/libcurl-easy.pdf b/docs/libcurl/libcurl-easy.pdf
deleted file mode 100644
index fe9c7f952..000000000
--- a/docs/libcurl/libcurl-easy.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/libcurl-errors.3 b/docs/libcurl/libcurl-errors.3
index 0a21a7589..1b6e34f51 100644
--- a/docs/libcurl/libcurl-errors.3
+++ b/docs/libcurl/libcurl-errors.3
@@ -60,9 +60,8 @@ Couldn't resolve host. The given remote host was not resolved.
.IP "CURLE_COULDNT_CONNECT (7)"
Failed to connect() to host or proxy.
.IP "CURLE_FTP_WEIRD_SERVER_REPLY (8)"
-After connecting to a FTP server, libcurl expects to get a certain reply
-back. This error code implies that it got a strange or bad reply. The given
-remote server is probably not an OK FTP server.
+The server sent data libcurl couldn't parse. This error code is used for more
+than just FTP and is aliased as \fICURLE_WEIRD_SERVER_REPLY\fP since 7.51.0.
.IP "CURLE_REMOTE_ACCESS_DENIED (9)"
We were denied access to the resource given in the URL. For FTP, this occurs
while trying to change to the remote directory.
diff --git a/docs/libcurl/libcurl-errors.html b/docs/libcurl/libcurl-errors.html
deleted file mode 100644
index c305e3fd3..000000000
--- a/docs/libcurl/libcurl-errors.html
+++ /dev/null
@@ -1,262 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>libcurl-errors man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">libcurl-errors - error codes in libcurl <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This man page includes most, if not all, available error codes in libcurl. Why they occur and possibly what you can do to fix the problem are also included. <a name="CURLcode"></a><h2 class="nroffsh">CURLcode</h2>
-<p class="level0">Almost all "easy" interface functions return a CURLcode error code. No matter what, using the <a Class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt</a> option <span Class="emphasis">CURLOPT_ERRORBUFFER(3)</span> is a good idea as it will give you a human readable error string that may offer more details about the cause of the error than just the error code. <a Class="emphasis" href="./curl_easy_strerror.html">curl_easy_strerror</a> can be called to get an error string from a given CURLcode number.
-<p class="level0">CURLcode is one of the following:
-<p class="level0"><a name="CURLEOK"></a><span class="nroffip">CURLE_OK (0)</span>
-<p class="level1">All fine. Proceed as usual.
-<p class="level0"><a name="CURLEUNSUPPORTEDPROTOCOL"></a><span class="nroffip">CURLE_UNSUPPORTED_PROTOCOL (1)</span>
-<p class="level1">The URL you passed to libcurl used a protocol that this libcurl does not support. The support might be a compile-time option that you didn't use, it can be a misspelled protocol string or just a protocol libcurl has no code for.
-<p class="level0"><a name="CURLEFAILEDINIT"></a><span class="nroffip">CURLE_FAILED_INIT (2)</span>
-<p class="level1">Very early initialization code failed. This is likely to be an internal error or problem, or a resource problem where something fundamental couldn't get done at init time.
-<p class="level0"><a name="CURLEURLMALFORMAT"></a><span class="nroffip">CURLE_URL_MALFORMAT (3)</span>
-<p class="level1">The URL was not properly formatted.
-<p class="level0"><a name="CURLENOTBUILTIN"></a><span class="nroffip">CURLE_NOT_BUILT_IN (4)</span>
-<p class="level1">A requested feature, protocol or option was not found built-in in this libcurl due to a build-time decision. This means that a feature or option was not enabled or explicitly disabled when libcurl was built and in order to get it to function you have to get a rebuilt libcurl.
-<p class="level0"><a name="CURLECOULDNTRESOLVEPROXY"></a><span class="nroffip">CURLE_COULDNT_RESOLVE_PROXY (5)</span>
-<p class="level1">Couldn't resolve proxy. The given proxy host could not be resolved.
-<p class="level0"><a name="CURLECOULDNTRESOLVEHOST"></a><span class="nroffip">CURLE_COULDNT_RESOLVE_HOST (6)</span>
-<p class="level1">Couldn't resolve host. The given remote host was not resolved.
-<p class="level0"><a name="CURLECOULDNTCONNECT"></a><span class="nroffip">CURLE_COULDNT_CONNECT (7)</span>
-<p class="level1">Failed to connect() to host or proxy.
-<p class="level0"><a name="CURLEFTPWEIRDSERVERREPLY"></a><span class="nroffip">CURLE_FTP_WEIRD_SERVER_REPLY (8)</span>
-<p class="level1">After connecting to a FTP server, libcurl expects to get a certain reply back. This error code implies that it got a strange or bad reply. The given remote server is probably not an OK FTP server.
-<p class="level0"><a name="CURLEREMOTEACCESSDENIED"></a><span class="nroffip">CURLE_REMOTE_ACCESS_DENIED (9)</span>
-<p class="level1">We were denied access to the resource given in the URL. For FTP, this occurs while trying to change to the remote directory.
-<p class="level0"><a name="CURLEFTPACCEPTFAILED"></a><span class="nroffip">CURLE_FTP_ACCEPT_FAILED (10)</span>
-<p class="level1">While waiting for the server to connect back when an active FTP session is used, an error code was sent over the control connection or similar.
-<p class="level0"><a name="CURLEFTPWEIRDPASSREPLY"></a><span class="nroffip">CURLE_FTP_WEIRD_PASS_REPLY (11)</span>
-<p class="level1">After having sent the FTP password to the server, libcurl expects a proper reply. This error code indicates that an unexpected code was returned.
-<p class="level0"><a name="CURLEFTPACCEPTTIMEOUT"></a><span class="nroffip">CURLE_FTP_ACCEPT_TIMEOUT (12)</span>
-<p class="level1">During an active FTP session while waiting for the server to connect, the <span Class="emphasis">CURLOPT_ACCEPTTIMEOUT_MS(3)</span> (or the internal default) timeout expired.
-<p class="level0"><a name="CURLEFTPWEIRDPASVREPLY"></a><span class="nroffip">CURLE_FTP_WEIRD_PASV_REPLY (13)</span>
-<p class="level1">libcurl failed to get a sensible result back from the server as a response to either a PASV or a EPSV command. The server is flawed.
-<p class="level0"><a name="CURLEFTPWEIRD227FORMAT"></a><span class="nroffip">CURLE_FTP_WEIRD_227_FORMAT (14)</span>
-<p class="level1">FTP servers return a 227-line as a response to a PASV command. If libcurl fails to parse that line, this return code is passed back.
-<p class="level0"><a name="CURLEFTPCANTGETHOST"></a><span class="nroffip">CURLE_FTP_CANT_GET_HOST (15)</span>
-<p class="level1">An internal failure to lookup the host used for the new connection.
-<p class="level0"><a name="CURLEHTTP2"></a><span class="nroffip">CURLE_HTTP2 (16)</span>
-<p class="level1">A problem was detected in the HTTP2 framing layer. This is somewhat generic and can be one out of several problems, see the error buffer for details.
-<p class="level0"><a name="CURLEFTPCOULDNTSETTYPE"></a><span class="nroffip">CURLE_FTP_COULDNT_SET_TYPE (17)</span>
-<p class="level1">Received an error when trying to set the transfer mode to binary or ASCII.
-<p class="level0"><a name="CURLEPARTIALFILE"></a><span class="nroffip">CURLE_PARTIAL_FILE (18)</span>
-<p class="level1">A file transfer was shorter or larger than expected. This happens when the server first reports an expected transfer size, and then delivers data that doesn't match the previously given size.
-<p class="level0"><a name="CURLEFTPCOULDNTRETRFILE"></a><span class="nroffip">CURLE_FTP_COULDNT_RETR_FILE (19)</span>
-<p class="level1">This was either a weird reply to a 'RETR' command or a zero byte transfer complete.
-<p class="level0"><a name="CURLEQUOTEERROR"></a><span class="nroffip">CURLE_QUOTE_ERROR (21)</span>
-<p class="level1">When sending custom "QUOTE" commands to the remote server, one of the commands returned an error code that was 400 or higher (for FTP) or otherwise indicated unsuccessful completion of the command.
-<p class="level0"><a name="CURLEHTTPRETURNEDERROR"></a><span class="nroffip">CURLE_HTTP_RETURNED_ERROR (22)</span>
-<p class="level1">This is returned if <span Class="emphasis">CURLOPT_FAILONERROR(3)</span> is set TRUE and the HTTP server returns an error code that is &gt;= 400.
-<p class="level0"><a name="CURLEWRITEERROR"></a><span class="nroffip">CURLE_WRITE_ERROR (23)</span>
-<p class="level1">An error occurred when writing received data to a local file, or an error was returned to libcurl from a write callback.
-<p class="level0"><a name="CURLEUPLOADFAILED"></a><span class="nroffip">CURLE_UPLOAD_FAILED (25)</span>
-<p class="level1">Failed starting the upload. For FTP, the server typically denied the STOR command. The error buffer usually contains the server's explanation for this.
-<p class="level0"><a name="CURLEREADERROR"></a><span class="nroffip">CURLE_READ_ERROR (26)</span>
-<p class="level1">There was a problem reading a local file or an error returned by the read callback.
-<p class="level0"><a name="CURLEOUTOFMEMORY"></a><span class="nroffip">CURLE_OUT_OF_MEMORY (27)</span>
-<p class="level1">A memory allocation request failed. This is serious badness and things are severely screwed up if this ever occurs.
-<p class="level0"><a name="CURLEOPERATIONTIMEDOUT"></a><span class="nroffip">CURLE_OPERATION_TIMEDOUT (28)</span>
-<p class="level1">Operation timeout. The specified time-out period was reached according to the conditions.
-<p class="level0"><a name="CURLEFTPPORTFAILED"></a><span class="nroffip">CURLE_FTP_PORT_FAILED (30)</span>
-<p class="level1">The FTP PORT command returned error. This mostly happens when you haven't specified a good enough address for libcurl to use. See <span Class="emphasis">CURLOPT_FTPPORT(3)</span>.
-<p class="level0"><a name="CURLEFTPCOULDNTUSEREST"></a><span class="nroffip">CURLE_FTP_COULDNT_USE_REST (31)</span>
-<p class="level1">The FTP REST command returned error. This should never happen if the server is sane.
-<p class="level0"><a name="CURLERANGEERROR"></a><span class="nroffip">CURLE_RANGE_ERROR (33)</span>
-<p class="level1">The server does not support or accept range requests.
-<p class="level0"><a name="CURLEHTTPPOSTERROR"></a><span class="nroffip">CURLE_HTTP_POST_ERROR (34)</span>
-<p class="level1">This is an odd error that mainly occurs due to internal confusion.
-<p class="level0"><a name="CURLESSLCONNECTERROR"></a><span class="nroffip">CURLE_SSL_CONNECT_ERROR (35)</span>
-<p class="level1">A problem occurred somewhere in the SSL/TLS handshake. You really want the error buffer and read the message there as it pinpoints the problem slightly more. Could be certificates (file formats, paths, permissions), passwords, and others.
-<p class="level0"><a name="CURLEBADDOWNLOADRESUME"></a><span class="nroffip">CURLE_BAD_DOWNLOAD_RESUME (36)</span>
-<p class="level1">The download could not be resumed because the specified offset was out of the file boundary.
-<p class="level0"><a name="CURLEFILECOULDNTREADFILE"></a><span class="nroffip">CURLE_FILE_COULDNT_READ_FILE (37)</span>
-<p class="level1">A file given with FILE:// couldn't be opened. Most likely because the file path doesn't identify an existing file. Did you check file permissions?
-<p class="level0"><a name="CURLELDAPCANNOTBIND"></a><span class="nroffip">CURLE_LDAP_CANNOT_BIND (38)</span>
-<p class="level1">LDAP cannot bind. LDAP bind operation failed.
-<p class="level0"><a name="CURLELDAPSEARCHFAILED"></a><span class="nroffip">CURLE_LDAP_SEARCH_FAILED (39)</span>
-<p class="level1">LDAP search failed.
-<p class="level0"><a name="CURLEFUNCTIONNOTFOUND"></a><span class="nroffip">CURLE_FUNCTION_NOT_FOUND (41)</span>
-<p class="level1">Function not found. A required zlib function was not found.
-<p class="level0"><a name="CURLEABORTEDBYCALLBACK"></a><span class="nroffip">CURLE_ABORTED_BY_CALLBACK (42)</span>
-<p class="level1">Aborted by callback. A callback returned "abort" to libcurl.
-<p class="level0"><a name="CURLEBADFUNCTIONARGUMENT"></a><span class="nroffip">CURLE_BAD_FUNCTION_ARGUMENT (43)</span>
-<p class="level1">Internal error. A function was called with a bad parameter.
-<p class="level0"><a name="CURLEINTERFACEFAILED"></a><span class="nroffip">CURLE_INTERFACE_FAILED (45)</span>
-<p class="level1">Interface error. A specified outgoing interface could not be used. Set which interface to use for outgoing connections' source IP address with <span Class="emphasis">CURLOPT_INTERFACE(3)</span>.
-<p class="level0"><a name="CURLETOOMANYREDIRECTS"></a><span class="nroffip">CURLE_TOO_MANY_REDIRECTS (47)</span>
-<p class="level1">Too many redirects. When following redirects, libcurl hit the maximum amount. Set your limit with <span Class="emphasis">CURLOPT_MAXREDIRS(3)</span>.
-<p class="level0"><a name="CURLEUNKNOWNOPTION"></a><span class="nroffip">CURLE_UNKNOWN_OPTION (48)</span>
-<p class="level1">An option passed to libcurl is not recognized/known. Refer to the appropriate documentation. This is most likely a problem in the program that uses libcurl. The error buffer might contain more specific information about which exact option it concerns.
-<p class="level0"><a name="CURLETELNETOPTIONSYNTAX"></a><span class="nroffip">CURLE_TELNET_OPTION_SYNTAX (49)</span>
-<p class="level1">A telnet option string was Illegally formatted.
-<p class="level0"><a name="CURLEPEERFAILEDVERIFICATION"></a><span class="nroffip">CURLE_PEER_FAILED_VERIFICATION (51)</span>
-<p class="level1">The remote server's SSL certificate or SSH md5 fingerprint was deemed not OK.
-<p class="level0"><a name="CURLEGOTNOTHING"></a><span class="nroffip">CURLE_GOT_NOTHING (52)</span>
-<p class="level1">Nothing was returned from the server, and under the circumstances, getting nothing is considered an error.
-<p class="level0"><a name="CURLESSLENGINENOTFOUND"></a><span class="nroffip">CURLE_SSL_ENGINE_NOTFOUND (53)</span>
-<p class="level1">The specified crypto engine wasn't found.
-<p class="level0"><a name="CURLESSLENGINESETFAILED"></a><span class="nroffip">CURLE_SSL_ENGINE_SETFAILED (54)</span>
-<p class="level1">Failed setting the selected SSL crypto engine as default!
-<p class="level0"><a name="CURLESENDERROR"></a><span class="nroffip">CURLE_SEND_ERROR (55)</span>
-<p class="level1">Failed sending network data.
-<p class="level0"><a name="CURLERECVERROR"></a><span class="nroffip">CURLE_RECV_ERROR (56)</span>
-<p class="level1">Failure with receiving network data.
-<p class="level0"><a name="CURLESSLCERTPROBLEM"></a><span class="nroffip">CURLE_SSL_CERTPROBLEM (58)</span>
-<p class="level1">problem with the local client certificate.
-<p class="level0"><a name="CURLESSLCIPHER"></a><span class="nroffip">CURLE_SSL_CIPHER (59)</span>
-<p class="level1">Couldn't use specified cipher.
-<p class="level0"><a name="CURLESSLCACERT"></a><span class="nroffip">CURLE_SSL_CACERT (60)</span>
-<p class="level1">Peer certificate cannot be authenticated with known CA certificates.
-<p class="level0"><a name="CURLEBADCONTENTENCODING"></a><span class="nroffip">CURLE_BAD_CONTENT_ENCODING (61)</span>
-<p class="level1">Unrecognized transfer encoding.
-<p class="level0"><a name="CURLELDAPINVALIDURL"></a><span class="nroffip">CURLE_LDAP_INVALID_URL (62)</span>
-<p class="level1">Invalid LDAP URL.
-<p class="level0"><a name="CURLEFILESIZEEXCEEDED"></a><span class="nroffip">CURLE_FILESIZE_EXCEEDED (63)</span>
-<p class="level1">Maximum file size exceeded.
-<p class="level0"><a name="CURLEUSESSLFAILED"></a><span class="nroffip">CURLE_USE_SSL_FAILED (64)</span>
-<p class="level1">Requested FTP SSL level failed.
-<p class="level0"><a name="CURLESENDFAILREWIND"></a><span class="nroffip">CURLE_SEND_FAIL_REWIND (65)</span>
-<p class="level1">When doing a send operation curl had to rewind the data to retransmit, but the rewinding operation failed.
-<p class="level0"><a name="CURLESSLENGINEINITFAILED"></a><span class="nroffip">CURLE_SSL_ENGINE_INITFAILED (66)</span>
-<p class="level1">Initiating the SSL Engine failed.
-<p class="level0"><a name="CURLELOGINDENIED"></a><span class="nroffip">CURLE_LOGIN_DENIED (67)</span>
-<p class="level1">The remote server denied curl to login (Added in 7.13.1)
-<p class="level0"><a name="CURLETFTPNOTFOUND"></a><span class="nroffip">CURLE_TFTP_NOTFOUND (68)</span>
-<p class="level1">File not found on TFTP server.
-<p class="level0"><a name="CURLETFTPPERM"></a><span class="nroffip">CURLE_TFTP_PERM (69)</span>
-<p class="level1">Permission problem on TFTP server.
-<p class="level0"><a name="CURLEREMOTEDISKFULL"></a><span class="nroffip">CURLE_REMOTE_DISK_FULL (70)</span>
-<p class="level1">Out of disk space on the server.
-<p class="level0"><a name="CURLETFTPILLEGAL"></a><span class="nroffip">CURLE_TFTP_ILLEGAL (71)</span>
-<p class="level1">Illegal TFTP operation.
-<p class="level0"><a name="CURLETFTPUNKNOWNID"></a><span class="nroffip">CURLE_TFTP_UNKNOWNID (72)</span>
-<p class="level1">Unknown TFTP transfer ID.
-<p class="level0"><a name="CURLEREMOTEFILEEXISTS"></a><span class="nroffip">CURLE_REMOTE_FILE_EXISTS (73)</span>
-<p class="level1">File already exists and will not be overwritten.
-<p class="level0"><a name="CURLETFTPNOSUCHUSER"></a><span class="nroffip">CURLE_TFTP_NOSUCHUSER (74)</span>
-<p class="level1">This error should never be returned by a properly functioning TFTP server.
-<p class="level0"><a name="CURLECONVFAILED"></a><span class="nroffip">CURLE_CONV_FAILED (75)</span>
-<p class="level1">Character conversion failed.
-<p class="level0"><a name="CURLECONVREQD"></a><span class="nroffip">CURLE_CONV_REQD (76)</span>
-<p class="level1">Caller must register conversion callbacks.
-<p class="level0"><a name="CURLESSLCACERTBADFILE"></a><span class="nroffip">CURLE_SSL_CACERT_BADFILE (77)</span>
-<p class="level1">Problem with reading the SSL CA cert (path? access rights?)
-<p class="level0"><a name="CURLEREMOTEFILENOTFOUND"></a><span class="nroffip">CURLE_REMOTE_FILE_NOT_FOUND (78)</span>
-<p class="level1">The resource referenced in the URL does not exist.
-<p class="level0"><a name="CURLESSH"></a><span class="nroffip">CURLE_SSH (79)</span>
-<p class="level1">An unspecified error occurred during the SSH session.
-<p class="level0"><a name="CURLESSLSHUTDOWNFAILED"></a><span class="nroffip">CURLE_SSL_SHUTDOWN_FAILED (80)</span>
-<p class="level1">Failed to shut down the SSL connection.
-<p class="level0"><a name="CURLEAGAIN"></a><span class="nroffip">CURLE_AGAIN (81)</span>
-<p class="level1">Socket is not ready for send/recv wait till it's ready and try again. This return code is only returned from <a Class="emphasis" href="./curl_easy_recv.html">curl_easy_recv</a> and <a Class="emphasis" href="./curl_easy_send.html">curl_easy_send</a> (Added in 7.18.2)
-<p class="level0"><a name="CURLESSLCRLBADFILE"></a><span class="nroffip">CURLE_SSL_CRL_BADFILE (82)</span>
-<p class="level1">Failed to load CRL file (Added in 7.19.0)
-<p class="level0"><a name="CURLESSLISSUERERROR"></a><span class="nroffip">CURLE_SSL_ISSUER_ERROR (83)</span>
-<p class="level1">Issuer check failed (Added in 7.19.0)
-<p class="level0"><a name="CURLEFTPPRETFAILED"></a><span class="nroffip">CURLE_FTP_PRET_FAILED (84)</span>
-<p class="level1">The FTP server does not understand the PRET command at all or does not support the given argument. Be careful when using <span Class="emphasis">CURLOPT_CUSTOMREQUEST(3)</span>, a custom LIST command will be sent with PRET CMD before PASV as well. (Added in 7.20.0)
-<p class="level0"><a name="CURLERTSPCSEQERROR"></a><span class="nroffip">CURLE_RTSP_CSEQ_ERROR (85)</span>
-<p class="level1">Mismatch of RTSP CSeq numbers.
-<p class="level0"><a name="CURLERTSPSESSIONERROR"></a><span class="nroffip">CURLE_RTSP_SESSION_ERROR (86)</span>
-<p class="level1">Mismatch of RTSP Session Identifiers.
-<p class="level0"><a name="CURLEFTPBADFILELIST"></a><span class="nroffip">CURLE_FTP_BAD_FILE_LIST (87)</span>
-<p class="level1">Unable to parse FTP file list (during FTP wildcard downloading).
-<p class="level0"><a name="CURLECHUNKFAILED"></a><span class="nroffip">CURLE_CHUNK_FAILED (88)</span>
-<p class="level1">Chunk callback reported error.
-<p class="level0"><a name="CURLENOCONNECTIONAVAILABLE"></a><span class="nroffip">CURLE_NO_CONNECTION_AVAILABLE (89)</span>
-<p class="level1">(For internal use only, will never be returned by libcurl) No connection available, the session will be queued. (added in 7.30.0)
-<p class="level0"><a name="CURLESSLPINNEDPUBKEYNOTMATCH"></a><span class="nroffip">CURLE_SSL_PINNEDPUBKEYNOTMATCH (90)</span>
-<p class="level1">Failed to match the pinned key specified with <span Class="emphasis">CURLOPT_PINNEDPUBLICKEY(3)</span>.
-<p class="level0"><a name="CURLESSLINVALIDCERTSTATUS"></a><span class="nroffip">CURLE_SSL_INVALIDCERTSTATUS (91)</span>
-<p class="level1">Status returned failure when asked with <span Class="emphasis">CURLOPT_SSL_VERIFYSTATUS(3)</span>.
-<p class="level0"><a name="CURLEHTTP2STREAM"></a><span class="nroffip">CURLE_HTTP2_STREAM (92)</span>
-<p class="level1">Stream error in the HTTP/2 framing layer.
-<p class="level0"><a name="CURLEOBSOLETE"></a><span class="nroffip">CURLE_OBSOLETE*</span>
-<p class="level1">These error codes will never be returned. They were used in an old libcurl version and are currently unused. <a name="CURLMcode"></a><h2 class="nroffsh">CURLMcode</h2>
-<p class="level0">This is the generic return code used by functions in the libcurl multi interface. Also consider <a Class="emphasis" href="./curl_multi_strerror.html">curl_multi_strerror</a>.
-<p class="level0"><a name="CURLMCALLMULTIPERFORM"></a><span class="nroffip">CURLM_CALL_MULTI_PERFORM (-1)</span>
-<p class="level1">This is not really an error. It means you should call <a Class="emphasis" href="./curl_multi_perform.html">curl_multi_perform</a> again without doing select() or similar in between. Before version 7.20.0 this could be returned by <a Class="emphasis" href="./curl_multi_perform.html">curl_multi_perform</a>, but in later versions this return code is never used.
-<p class="level0"><a name="CURLMOK"></a><span class="nroffip">CURLM_OK (0)</span>
-<p class="level1">Things are fine.
-<p class="level0"><a name="CURLMBADHANDLE"></a><span class="nroffip">CURLM_BAD_HANDLE (1)</span>
-<p class="level1">The passed-in handle is not a valid CURLM handle.
-<p class="level0"><a name="CURLMBADEASYHANDLE"></a><span class="nroffip">CURLM_BAD_EASY_HANDLE (2)</span>
-<p class="level1">An easy handle was not good/valid. It could mean that it isn't an easy handle at all, or possibly that the handle already is in used by this or another multi handle.
-<p class="level0"><a name="CURLMOUTOFMEMORY"></a><span class="nroffip">CURLM_OUT_OF_MEMORY (3)</span>
-<p class="level1">You are doomed.
-<p class="level0"><a name="CURLMINTERNALERROR"></a><span class="nroffip">CURLM_INTERNAL_ERROR (4)</span>
-<p class="level1">This can only be returned if libcurl bugs. Please report it to us!
-<p class="level0"><a name="CURLMBADSOCKET"></a><span class="nroffip">CURLM_BAD_SOCKET (5)</span>
-<p class="level1">The passed-in socket is not a valid one that libcurl already knows about. (Added in 7.15.4)
-<p class="level0"><a name="CURLMUNKNOWNOPTION"></a><span class="nroffip">CURLM_UNKNOWN_OPTION (6)</span>
-<p class="level1">curl_multi_setopt() with unsupported option (Added in 7.15.4)
-<p class="level0"><a name="CURLMADDEDALREADY"></a><span class="nroffip">CURLM_ADDED_ALREADY (7)</span>
-<p class="level1">An easy handle already added to a multi handle was attempted to get added a second time. (Added in 7.32.1) <a name="CURLSHcode"></a><h2 class="nroffsh">CURLSHcode</h2>
-<p class="level0">The "share" interface will return a CURLSHcode to indicate when an error has occurred. Also consider <a Class="emphasis" href="./curl_share_strerror.html">curl_share_strerror</a>.
-<p class="level0"><a name="CURLSHEOK"></a><span class="nroffip">CURLSHE_OK (0)</span>
-<p class="level1">All fine. Proceed as usual.
-<p class="level0"><a name="CURLSHEBADOPTION"></a><span class="nroffip">CURLSHE_BAD_OPTION (1)</span>
-<p class="level1">An invalid option was passed to the function.
-<p class="level0"><a name="CURLSHEINUSE"></a><span class="nroffip">CURLSHE_IN_USE (2)</span>
-<p class="level1">The share object is currently in use.
-<p class="level0"><a name="CURLSHEINVALID"></a><span class="nroffip">CURLSHE_INVALID (3)</span>
-<p class="level1">An invalid share object was passed to the function.
-<p class="level0"><a name="CURLSHENOMEM"></a><span class="nroffip">CURLSHE_NOMEM (4)</span>
-<p class="level1">Not enough memory was available. (Added in 7.12.0)
-<p class="level0"><a name="CURLSHENOTBUILTIN"></a><span class="nroffip">CURLSHE_NOT_BUILT_IN (5)</span>
-<p class="level1">The requested sharing could not be done because the library you use don't have that particular feature enabled. (Added in 7.23.0) <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_easy_strerror.html">curl_easy_strerror</a>, <a Class="manpage" href="./curl_multi_strerror.html">curl_multi_strerror</a>, <a Class="manpage" href="./curl_share_strerror.html">curl_share_strerror</a>, <span Class="manpage">CURLOPT_ERRORBUFFER (3)</span>, <span Class="manpage">CURLOPT_VERBOSE (3)</span>, <span Class="manpage">CURLOPT_DEBUGFUNCTION (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/libcurl-errors.pdf b/docs/libcurl/libcurl-errors.pdf
deleted file mode 100644
index 8e437751c..000000000
--- a/docs/libcurl/libcurl-errors.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/libcurl-multi.3 b/docs/libcurl/libcurl-multi.3
index e5a589202..d25a1b00c 100644
--- a/docs/libcurl/libcurl-multi.3
+++ b/docs/libcurl/libcurl-multi.3
@@ -42,7 +42,7 @@ and when to ask libcurl to get/send data.
complicated for the application.
3. Enable the application to wait for action on its own file descriptors and
-curl's file descriptors simultaneous easily.
+curl's file descriptors simultaneously.
4. Enable event-based handling and scaling transfers up to and beyond
thousands of parallel connections.
@@ -173,7 +173,6 @@ the future, you should be aware of the following current restrictions:
.nf
- Name resolves unless the c-ares or threaded-resolver backends are used
- - NSS SSL connections
- HTTP proxy CONNECT operations
- SOCKS proxy handshakes
- file:// transfers
diff --git a/docs/libcurl/libcurl-multi.html b/docs/libcurl/libcurl-multi.html
deleted file mode 100644
index ae7a1953c..000000000
--- a/docs/libcurl/libcurl-multi.html
+++ /dev/null
@@ -1,96 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>libcurl-multi man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">libcurl-multi - how to use the multi interface <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This is an overview on how to use the libcurl multi interface in your C programs. There are specific man pages for each function mentioned in here. There's also the <a Class="emphasis" href="./libcurl-tutorial.html">libcurl-tutorial</a> man page for a complete tutorial to programming with libcurl and the <a Class="emphasis" href="./libcurl-easy.html">libcurl-easy</a> man page for an overview of the libcurl easy interface.
-<p class="level0">All functions in the multi interface are prefixed with curl_multi. <a name="OBJECTIVES"></a><h2 class="nroffsh">OBJECTIVES</h2>
-<p class="level0">The multi interface offers several abilities that the easy interface doesn't. They are mainly:
-<p class="level0">1. Enable a "pull" interface. The application that uses libcurl decides where and when to ask libcurl to get/send data.
-<p class="level0">2. Enable multiple simultaneous transfers in the same thread without making it complicated for the application.
-<p class="level0">3. Enable the application to wait for action on its own file descriptors and curl's file descriptors simultaneous easily.
-<p class="level0">4. Enable event-based handling and scaling transfers up to and beyond thousands of parallel connections. <a name="ONE"></a><h2 class="nroffsh">ONE MULTI HANDLE MANY EASY HANDLES</h2>
-<p class="level0">To use the multi interface, you must first create a 'multi handle' with <a Class="emphasis" href="./curl_multi_init.html">curl_multi_init</a>. This handle is then used as input to all further curl_multi_* functions.
-<p class="level0">With a multi handle and the multi interface you can do several simultaneous transfers in parallel. Each single transfer is built up around an easy handle. You create all the easy handles you need, and setup the appropriate options for each easy handle using <a Class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt</a>.
-<p class="level0">There are two flavours of the multi interface, the select() oriented one and the event based one we call multi_socket. You will benefit from reading through the description of both versions to fully understand how they work and differentiate. We start out with the select() oriented version.
-<p class="level0">When an easy handle is setup and ready for transfer, then instead of using <a Class="emphasis" href="./curl_easy_perform.html">curl_easy_perform</a> like when using the easy interface for transfers, you should add the easy handle to the multi handle with <a Class="emphasis" href="./curl_multi_add_handle.html">curl_multi_add_handle</a>. You can add more easy handles to a multi handle at any point, even if other transfers are already running.
-<p class="level0">Should you change your mind, the easy handle is again removed from the multi stack using <a Class="emphasis" href="./curl_multi_remove_handle.html">curl_multi_remove_handle</a>. Once removed from the multi handle, you can again use other easy interface functions like <a Class="emphasis" href="./curl_easy_perform.html">curl_easy_perform</a> on the handle or whatever you think is necessary. You can remove handles at any point in time during transfers.
-<p class="level0">Adding the easy handle to the multi handle does not start the transfer. Remember that one of the main ideas with this interface is to let your application drive. You drive the transfers by invoking <a Class="emphasis" href="./curl_multi_perform.html">curl_multi_perform</a>. libcurl will then transfer data if there is anything available to transfer. It'll use the callbacks and everything else you have setup in the individual easy handles. It'll transfer data on all current transfers in the multi stack that are ready to transfer anything. It may be all, it may be none. When there's nothing more to do for now, it returns back to the calling application.
-<p class="level0">Your application extracts info from libcurl about when it would like to get invoked to transfer data or do other work. The most convenient way is to use <a Class="emphasis" href="./curl_multi_wait.html">curl_multi_wait</a> that will help you wait until the application should call libcurl again. The older API to accomplish the same thing is <a Class="emphasis" href="./curl_multi_fdset.html">curl_multi_fdset</a> that extracts fd_sets from libcurl to use in select() or poll() calls in order to get to know when the transfers in the multi stack might need attention. Both these APIs allow for your program to wait for input on your own private file descriptors at the same time <a Class="emphasis" href="./curl_multi_timeout.html">curl_multi_timeout</a> also helps you with providing a suitable timeout period for your select() calls.
-<p class="level0"><a Class="emphasis" href="./curl_multi_perform.html">curl_multi_perform</a> stores the number of still running transfers in one of its input arguments, and by reading that you can figure out when all the transfers in the multi handles are done. 'done' does not mean successful. One or more of the transfers may have failed. Tracking when this number changes, you know when one or more transfers are done.
-<p class="level0">To get information about completed transfers, to figure out success or not and similar, <a Class="emphasis" href="./curl_multi_info_read.html">curl_multi_info_read</a> should be called. It can return a message about a current or previous transfer. Repeated invokes of the function get more messages until the message queue is empty. The information you receive there includes an easy handle pointer which you may use to identify which easy handle the information regards.
-<p class="level0">When a single transfer is completed, the easy handle is still left added to the multi stack. You need to first remove the easy handle with <a Class="emphasis" href="./curl_multi_remove_handle.html">curl_multi_remove_handle</a> and then close it with <a Class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup</a>, or possibly set new options to it and add it again with <a Class="emphasis" href="./curl_multi_add_handle.html">curl_multi_add_handle</a> to start another transfer.
-<p class="level0">When all transfers in the multi stack are done, close the multi handle with <a Class="emphasis" href="./curl_multi_cleanup.html">curl_multi_cleanup</a>. Be careful and please note that you <span Class="bold">MUST</span> invoke separate <a Class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup</a> calls for every single easy handle to clean them up properly.
-<p class="level0">If you want to re-use an easy handle that was added to the multi handle for transfer, you must first remove it from the multi stack and then re-add it again (possibly after having altered some options at your own choice). <a name="MULTISOCKET"></a><h2 class="nroffsh">MULTI_SOCKET</h2>
-<p class="level0"><a Class="emphasis" href="./curl_multi_socket_action.html">curl_multi_socket_action</a> function offers a way for applications to not only avoid being forced to use select(), but it also offers a much more high-performance API that will make a significant difference for applications using large numbers of simultaneous connections.
-<p class="level0"><a Class="emphasis" href="./curl_multi_socket_action.html">curl_multi_socket_action</a> is then used instead of <a Class="emphasis" href="./curl_multi_perform.html">curl_multi_perform</a>.
-<p class="level0">When using this API, you add easy handles to the multi handle just as with the normal multi interface. Then you also set two callbacks with the CURLMOPT_SOCKETFUNCTION and CURLMOPT_TIMERFUNCTION options to <a Class="emphasis" href="./curl_multi_setopt.html">curl_multi_setopt</a>. They are two callback functions that libcurl will call with information about what sockets to wait for, and for what activity, and what the current timeout time is - if that expires libcurl should be notified.
-<p class="level0">The multi_socket API is designed to inform your application about which sockets libcurl is currently using and for what activities (read and/or write) on those sockets your application is expected to wait for.
-<p class="level0">Your application must make sure to receive all sockets informed about in the CURLMOPT_SOCKETFUNCTION callback and make sure it reacts on the given activity on them. When a socket has the given activity, you call <a Class="emphasis" href="./curl_multi_socket_action.html">curl_multi_socket_action</a> specifying which socket and action there are.
-<p class="level0">The CURLMOPT_TIMERFUNCTION callback is called to set a timeout. When that timeout expires, your application should call the <a Class="emphasis" href="./curl_multi_socket_action.html">curl_multi_socket_action</a> function saying it was due to a timeout.
-<p class="level0">This API is typically used with an event-driven underlying functionality (like libevent, libev, kqueue, epoll or similar) with which the application "subscribes" on socket changes. This allows applications and libcurl to much better scale upward and beyond thousands of simultaneous transfers without losing performance.
-<p class="level0">When you've added your initial set of handles, you call <a Class="emphasis" href="./curl_multi_socket_action.html">curl_multi_socket_action</a> with CURL_SOCKET_TIMEOUT set in the sockfd argument, and you'll get callbacks call that sets you up and you then continue to call <a Class="emphasis" href="./curl_multi_socket_action.html">curl_multi_socket_action</a> accordingly when you get activity on the sockets you've been asked to wait on, or if the timeout timer expires.
-<p class="level0">You can poll <a Class="emphasis" href="./curl_multi_info_read.html">curl_multi_info_read</a> to see if any transfer has completed, as it then has a message saying so. <a name="BLOCKING"></a><h2 class="nroffsh">BLOCKING</h2>
-<p class="level0">A few areas in the code are still using blocking code, even when used from the multi interface. While we certainly want and intend for these to get fixed in the future, you should be aware of the following current restrictions:
-<p class="level0"><pre class="level0">
-&nbsp;- Name resolves unless the c-ares or threaded-resolver backends are used
-&nbsp;- NSS SSL connections
-&nbsp;- HTTP proxy CONNECT operations
-&nbsp;- SOCKS proxy handshakes
-&nbsp;- file:// transfers
-&nbsp;- TELNET transfers
-</pre>
-
-<p class="level0"><a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./libcurl-errors.html">libcurl-errors</a>, <a Class="manpage" href="./libcurl-easy.html">libcurl-easy</a>, <a Class="manpage" href="./libcurl.html">libcurl</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/libcurl-multi.pdf b/docs/libcurl/libcurl-multi.pdf
deleted file mode 100644
index fdd488b64..000000000
--- a/docs/libcurl/libcurl-multi.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/libcurl-share.html b/docs/libcurl/libcurl-share.html
deleted file mode 100644
index e5c94eb1e..000000000
--- a/docs/libcurl/libcurl-share.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>libcurl-share man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">libcurl-share - how to use the share interface <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This is an overview on how to use the libcurl share interface in your C programs. There are specific man pages for each function mentioned in here.
-<p class="level0">All functions in the share interface are prefixed with curl_share.
-<p class="level0"><a name="OBJECTIVES"></a><h2 class="nroffsh">OBJECTIVES</h2>
-<p class="level0">The share interface was added to enable sharing of data between curl "handles". <a name="ONE"></a><h2 class="nroffsh">ONE SET OF DATA - MANY TRANSFERS</h2>
-<p class="level0">You can have multiple easy handles share data between them. Have them update and use the <span Class="bold">same</span> cookie database, DNS cache, TLS session cache! This way, each single transfer will take advantage from data updates made by the other transfer(s). The sharing interface, however, does not share active or persistent connections between different easy handles. <a name="SHARE"></a><h2 class="nroffsh">SHARE OBJECT</h2>
-<p class="level0">You create a shared object with <a Class="emphasis" href="./curl_share_init.html">curl_share_init</a>. It returns a handle for a newly created one.
-<p class="level0">You tell the shared object what data you want it to share by using <a Class="emphasis" href="./curl_share_setopt.html">curl_share_setopt</a>.
-<p class="level0">Since you can use this share from multiple threads, and libcurl has no internal thread synchronization, you must provide mutex callbacks if you're using this multi-threaded. You set lock and unlock functions with <a Class="emphasis" href="./curl_share_setopt.html">curl_share_setopt</a> too.
-<p class="level0">Then, you make an easy handle to use this share, you set the <span Class="emphasis">CURLOPT_SHARE(3)</span> option with <a Class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt</a>, and pass in share handle. You can make any number of easy handles share the same share handle.
-<p class="level0">To make an easy handle stop using that particular share, you set <span Class="emphasis">CURLOPT_SHARE(3)</span> to NULL for that easy handle. To make a handle stop sharing a particular data, you can <span Class="emphasis">CURLSHOPT_UNSHARE</span> it.
-<p class="level0">When you're done using the share, make sure that no easy handle is still using it, and call <a Class="emphasis" href="./curl_share_cleanup.html">curl_share_cleanup</a> on the handle. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./curl_share_init.html">curl_share_init</a>, <a Class="manpage" href="./curl_share_setopt.html">curl_share_setopt</a>, <a Class="manpage" href="./curl_share_cleanup.html">curl_share_cleanup</a>, <a Class="manpage" href="./libcurl-errors.html">libcurl-errors</a>, <a Class="manpage" href="./libcurl-easy.html">libcurl-easy</a>, <a Class="manpage" href="./libcurl-multi.html">libcurl-multi</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/libcurl-share.pdf b/docs/libcurl/libcurl-share.pdf
deleted file mode 100644
index 0236d311c..000000000
--- a/docs/libcurl/libcurl-share.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/libcurl-symbols.3 b/docs/libcurl/libcurl-symbols.3
index 3cd563cb4..cbbae6ffb 100644
--- a/docs/libcurl/libcurl-symbols.3
+++ b/docs/libcurl/libcurl-symbols.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH libcurl-symbols 3 "sep 7, 2016" "libcurl 7.41.0" "libcurl symbols"
+.TH libcurl-symbols 3 "feb 22, 2017" "libcurl 7.41.0" "libcurl symbols"
.SH NAME
libcurl-symbols \- libcurl symbol version information
.SH "libcurl symbols"
@@ -315,6 +315,8 @@ Introduced in 7.1
Deprecated since 7.17.0
.IP CURLE_USE_SSL_FAILED
Introduced in 7.17.0
+.IP CURLE_WEIRD_SERVER_REPLY
+Introduced in 7.51.0
.IP CURLE_WRITE_ERROR
Introduced in 7.1
.IP CURLFILETYPE_DEVICE_BLOCK
@@ -520,8 +522,12 @@ Introduced in 7.19.0
Introduced in 7.21.0
.IP CURLINFO_PRIVATE
Introduced in 7.10.3
+.IP CURLINFO_PROTOCOL
+Introduced in 7.52.0
.IP CURLINFO_PROXYAUTH_AVAIL
Introduced in 7.10.8
+.IP CURLINFO_PROXY_SSL_VERIFYRESULT
+Introduced in 7.52.0
.IP CURLINFO_REDIRECT_COUNT
Introduced in 7.9.7
.IP CURLINFO_REDIRECT_TIME
@@ -540,6 +546,8 @@ Introduced in 7.20.0
Introduced in 7.20.0
.IP CURLINFO_RTSP_SESSION_ID
Introduced in 7.20.0
+.IP CURLINFO_SCHEME
+Introduced in 7.52.0
.IP CURLINFO_SIZE_DOWNLOAD
Introduced in 7.4.1
.IP CURLINFO_SIZE_UPLOAD
@@ -671,6 +679,8 @@ Introduced in 7.1
Introduced in 7.11.0
.IP CURLOPTTYPE_STRINGPOINT
Introduced in 7.46.0
+.IP CURLOPT_ABSTRACT_UNIX_SOCKET
+Introduced in 7.53.0
.IP CURLOPT_ACCEPTTIMEOUT_MS
Introduced in 7.24.0
.IP CURLOPT_ACCEPT_ENCODING
@@ -876,6 +886,8 @@ Introduced in 7.10.8
Introduced in 7.19.0
.IP CURLOPT_KEYPASSWD
Introduced in 7.17.0
+.IP CURLOPT_KEEP_SENDING_ON_ERROR
+Introduced in 7.51.0
.IP CURLOPT_KRB4LEVEL
Introduced in 7.3
Deprecated since 7.17.0
@@ -976,6 +988,8 @@ Introduced in 7.1
Introduced in 7.19.1
.IP CURLOPT_PREQUOTE
Introduced in 7.9.5
+.IP CURLOPT_PRE_PROXY
+Introduced in 7.52.0
.IP CURLOPT_PRIVATE
Introduced in 7.10.3
.IP CURLOPT_PROGRESSDATA
@@ -1001,8 +1015,42 @@ Introduced in 7.10
Introduced in 7.19.1
.IP CURLOPT_PROXYUSERPWD
Introduced in 7.1
+.IP CURLOPT_PROXY_CAINFO
+Introduced in 7.52.0
+.IP CURLOPT_PROXY_CAPATH
+Introduced in 7.52.0
+.IP CURLOPT_PROXY_CRLFILE
+Introduced in 7.52.0
+.IP CURLOPT_PROXY_KEYPASSWD
+Introduced in 7.52.0
+.IP CURLOPT_PROXY_PINNEDPUBLICKEY
+Introduced in 7.52.0
.IP CURLOPT_PROXY_SERVICE_NAME
Introduced in 7.43.0
+.IP CURLOPT_PROXY_SSLCERT
+Introduced in 7.52.0
+.IP CURLOPT_PROXY_SSLCERTTYPE
+Introduced in 7.52.0
+.IP CURLOPT_PROXY_SSLKEY
+Introduced in 7.52.0
+.IP CURLOPT_PROXY_SSLKEYTYPE
+Introduced in 7.52.0
+.IP CURLOPT_PROXY_SSLVERSION
+Introduced in 7.52.0
+.IP CURLOPT_PROXY_SSL_CIPHER_LIST
+Introduced in 7.52.0
+.IP CURLOPT_PROXY_SSL_OPTIONS
+Introduced in 7.52.0
+.IP CURLOPT_PROXY_SSL_VERIFYHOST
+Introduced in 7.52.0
+.IP CURLOPT_PROXY_SSL_VERIFYPEER
+Introduced in 7.52.0
+.IP CURLOPT_PROXY_TLSAUTH_PASSWORD
+Introduced in 7.52.0
+.IP CURLOPT_PROXY_TLSAUTH_TYPE
+Introduced in 7.52.0
+.IP CURLOPT_PROXY_TLSAUTH_USERNAME
+Introduced in 7.52.0
.IP CURLOPT_PROXY_TRANSFER_MODE
Introduced in 7.18.0
.IP CURLOPT_PUT
@@ -1290,6 +1338,8 @@ Introduced in 7.19.4
Introduced in 7.10
.IP CURLPROXY_HTTP_1_0
Introduced in 7.19.4
+.IP CURLPROXY_HTTPS
+Introduced in 7.52.0
.IP CURLPROXY_SOCKS4
Introduced in 7.10
.IP CURLPROXY_SOCKS4A
@@ -1518,6 +1568,8 @@ Introduced in 7.10
Introduced in 7.10
.IP CURL_MAX_HTTP_HEADER
Introduced in 7.19.7
+.IP CURL_MAX_READ_SIZE
+Introduced in 7.53.0
.IP CURL_MAX_WRITE_SIZE
Introduced in 7.9.7
.IP CURL_NETRC_IGNORED
@@ -1614,6 +1666,8 @@ Introduced in
Introduced in
.IP CURL_SSLVERSION_TLS
Introduced in
+.IP CURL_SSLVERSION_TLS
+Introduced in
.IP CURL_TIMECOND_IFMODSINCE
Introduced in 7.9.7
.IP CURL_TIMECOND_IFUNMODSINCE
@@ -1641,6 +1695,8 @@ Introduced in 7.10.6
Deprecated since 7.38.0
.IP CURL_VERSION_HTTP2
Introduced in 7.33.0
+.IP CURL_VERSION_HTTPS_PROXY
+Introduced in 7.52.0
.IP CURL_VERSION_IDN
Introduced in 7.12.0
.IP CURL_VERSION_IPV6
diff --git a/docs/libcurl/libcurl-symbols.html b/docs/libcurl/libcurl-symbols.html
deleted file mode 100644
index 31c8ac962..000000000
--- a/docs/libcurl/libcurl-symbols.html
+++ /dev/null
@@ -1,1640 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>libcurl-symbols man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">libcurl-symbols - libcurl symbol version information <a name="libcurl"></a><h2 class="nroffsh">libcurl symbols</h2>
-<p class="level0">This man page details version information for public symbols provided in the libcurl header files. This lists the first version in which the symbol was introduced and for some symbols two additional information pieces:
-<p class="level0">The first version in which the symbol is marked "deprecated" - meaning that since that version no new code should be written to use the symbol as it is marked for getting removed in a future.
-<p class="level0">The last version that featured the specific symbol. Using the symbol in source code will make it no longer compile error-free after that specified version.
-<p class="level0">This man page is automatically generated from the symbols-in-versions file.
-<p class="level0"><a name="CURLAUTHANY"></a><span class="nroffip">CURLAUTH_ANY</span>
-<p class="level1">Introduced in 7.10.6
-<p class="level0"><a name="CURLAUTHANYSAFE"></a><span class="nroffip">CURLAUTH_ANYSAFE</span>
-<p class="level1">Introduced in 7.10.6
-<p class="level0"><a name="CURLAUTHBASIC"></a><span class="nroffip">CURLAUTH_BASIC</span>
-<p class="level1">Introduced in 7.10.6
-<p class="level0"><a name="CURLAUTHDIGEST"></a><span class="nroffip">CURLAUTH_DIGEST</span>
-<p class="level1">Introduced in 7.10.6
-<p class="level0"><a name="CURLAUTHDIGESTIE"></a><span class="nroffip">CURLAUTH_DIGEST_IE</span>
-<p class="level1">Introduced in 7.19.3
-<p class="level0"><a name="CURLAUTHGSSNEGOTIATE"></a><span class="nroffip">CURLAUTH_GSSNEGOTIATE</span>
-<p class="level1">Introduced in 7.10.6 Deprecated since 7.38.0
-<p class="level0"><a name="CURLAUTHNEGOTIATE"></a><span class="nroffip">CURLAUTH_NEGOTIATE</span>
-<p class="level1">Introduced in 7.38.0
-<p class="level0"><a name="CURLAUTHNONE"></a><span class="nroffip">CURLAUTH_NONE</span>
-<p class="level1">Introduced in 7.10.6
-<p class="level0"><a name="CURLAUTHNTLM"></a><span class="nroffip">CURLAUTH_NTLM</span>
-<p class="level1">Introduced in 7.10.6
-<p class="level0"><a name="CURLAUTHNTLMWB"></a><span class="nroffip">CURLAUTH_NTLM_WB</span>
-<p class="level1">Introduced in 7.22.0
-<p class="level0"><a name="CURLAUTHONLY"></a><span class="nroffip">CURLAUTH_ONLY</span>
-<p class="level1">Introduced in 7.21.3
-<p class="level0"><a name="CURLCLOSEPOLICYCALLBACK"></a><span class="nroffip">CURLCLOSEPOLICY_CALLBACK</span>
-<p class="level1">Introduced in 7.7
-<p class="level0"><a name="CURLCLOSEPOLICYLEASTRECENTLYUSED"></a><span class="nroffip">CURLCLOSEPOLICY_LEAST_RECENTLY_USED</span>
-<p class="level1">Introduced in 7.7
-<p class="level0"><a name="CURLCLOSEPOLICYLEASTTRAFFIC"></a><span class="nroffip">CURLCLOSEPOLICY_LEAST_TRAFFIC</span>
-<p class="level1">Introduced in 7.7
-<p class="level0"><a name="CURLCLOSEPOLICYNONE"></a><span class="nroffip">CURLCLOSEPOLICY_NONE</span>
-<p class="level1">Introduced in 7.7
-<p class="level0"><a name="CURLCLOSEPOLICYOLDEST"></a><span class="nroffip">CURLCLOSEPOLICY_OLDEST</span>
-<p class="level1">Introduced in 7.7
-<p class="level0"><a name="CURLCLOSEPOLICYSLOWEST"></a><span class="nroffip">CURLCLOSEPOLICY_SLOWEST</span>
-<p class="level1">Introduced in 7.7
-<p class="level0"><a name="CURLEABORTEDBYCALLBACK"></a><span class="nroffip">CURLE_ABORTED_BY_CALLBACK</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLEAGAIN"></a><span class="nroffip">CURLE_AGAIN</span>
-<p class="level1">Introduced in 7.18.2
-<p class="level0"><a name="CURLEALREADYCOMPLETE"></a><span class="nroffip">CURLE_ALREADY_COMPLETE</span>
-<p class="level1">Introduced in 7.7.2
-<p class="level0"><a name="CURLEBADCALLINGORDER"></a><span class="nroffip">CURLE_BAD_CALLING_ORDER</span>
-<p class="level1">Introduced in 7.1 Deprecated since 7.17.0
-<p class="level0"><a name="CURLEBADCONTENTENCODING"></a><span class="nroffip">CURLE_BAD_CONTENT_ENCODING</span>
-<p class="level1">Introduced in 7.10
-<p class="level0"><a name="CURLEBADDOWNLOADRESUME"></a><span class="nroffip">CURLE_BAD_DOWNLOAD_RESUME</span>
-<p class="level1">Introduced in 7.10
-<p class="level0"><a name="CURLEBADFUNCTIONARGUMENT"></a><span class="nroffip">CURLE_BAD_FUNCTION_ARGUMENT</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLEBADPASSWORDENTERED"></a><span class="nroffip">CURLE_BAD_PASSWORD_ENTERED</span>
-<p class="level1">Introduced in 7.4.2 Deprecated since 7.17.0
-<p class="level0"><a name="CURLECHUNKFAILED"></a><span class="nroffip">CURLE_CHUNK_FAILED</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLECONVFAILED"></a><span class="nroffip">CURLE_CONV_FAILED</span>
-<p class="level1">Introduced in 7.15.4
-<p class="level0"><a name="CURLECONVREQD"></a><span class="nroffip">CURLE_CONV_REQD</span>
-<p class="level1">Introduced in 7.15.4
-<p class="level0"><a name="CURLECOULDNTCONNECT"></a><span class="nroffip">CURLE_COULDNT_CONNECT</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLECOULDNTRESOLVEHOST"></a><span class="nroffip">CURLE_COULDNT_RESOLVE_HOST</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLECOULDNTRESOLVEPROXY"></a><span class="nroffip">CURLE_COULDNT_RESOLVE_PROXY</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLEFAILEDINIT"></a><span class="nroffip">CURLE_FAILED_INIT</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLEFILESIZEEXCEEDED"></a><span class="nroffip">CURLE_FILESIZE_EXCEEDED</span>
-<p class="level1">Introduced in 7.10.8
-<p class="level0"><a name="CURLEFILECOULDNTREADFILE"></a><span class="nroffip">CURLE_FILE_COULDNT_READ_FILE</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLEFTPACCEPTFAILED"></a><span class="nroffip">CURLE_FTP_ACCEPT_FAILED</span>
-<p class="level1">Introduced in 7.24.0
-<p class="level0"><a name="CURLEFTPACCEPTTIMEOUT"></a><span class="nroffip">CURLE_FTP_ACCEPT_TIMEOUT</span>
-<p class="level1">Introduced in 7.24.0
-<p class="level0"><a name="CURLEFTPACCESSDENIED"></a><span class="nroffip">CURLE_FTP_ACCESS_DENIED</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLEFTPBADDOWNLOADRESUME"></a><span class="nroffip">CURLE_FTP_BAD_DOWNLOAD_RESUME</span>
-<p class="level1">Introduced in 7.1 Deprecated since 7.1
-<p class="level0"><a name="CURLEFTPBADFILELIST"></a><span class="nroffip">CURLE_FTP_BAD_FILE_LIST</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLEFTPCANTGETHOST"></a><span class="nroffip">CURLE_FTP_CANT_GET_HOST</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLEFTPCANTRECONNECT"></a><span class="nroffip">CURLE_FTP_CANT_RECONNECT</span>
-<p class="level1">Introduced in 7.1 Deprecated since 7.17.0
-<p class="level0"><a name="CURLEFTPCOULDNTGETSIZE"></a><span class="nroffip">CURLE_FTP_COULDNT_GET_SIZE</span>
-<p class="level1">Introduced in 7.1 Deprecated since 7.17.0
-<p class="level0"><a name="CURLEFTPCOULDNTRETRFILE"></a><span class="nroffip">CURLE_FTP_COULDNT_RETR_FILE</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLEFTPCOULDNTSETASCII"></a><span class="nroffip">CURLE_FTP_COULDNT_SET_ASCII</span>
-<p class="level1">Introduced in 7.1 Deprecated since 7.17.0
-<p class="level0"><a name="CURLEFTPCOULDNTSETBINARY"></a><span class="nroffip">CURLE_FTP_COULDNT_SET_BINARY</span>
-<p class="level1">Introduced in 7.1 Deprecated since 7.17.0
-<p class="level0"><a name="CURLEFTPCOULDNTSETTYPE"></a><span class="nroffip">CURLE_FTP_COULDNT_SET_TYPE</span>
-<p class="level1">Introduced in 7.17.0
-<p class="level0"><a name="CURLEFTPCOULDNTSTORFILE"></a><span class="nroffip">CURLE_FTP_COULDNT_STOR_FILE</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLEFTPCOULDNTUSEREST"></a><span class="nroffip">CURLE_FTP_COULDNT_USE_REST</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLEFTPPARTIALFILE"></a><span class="nroffip">CURLE_FTP_PARTIAL_FILE</span>
-<p class="level1">Introduced in 7.1 Deprecated since 7.1
-<p class="level0"><a name="CURLEFTPPORTFAILED"></a><span class="nroffip">CURLE_FTP_PORT_FAILED</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLEFTPPRETFAILED"></a><span class="nroffip">CURLE_FTP_PRET_FAILED</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLEFTPQUOTEERROR"></a><span class="nroffip">CURLE_FTP_QUOTE_ERROR</span>
-<p class="level1">Introduced in 7.1 Deprecated since 7.17.0
-<p class="level0"><a name="CURLEFTPSSLFAILED"></a><span class="nroffip">CURLE_FTP_SSL_FAILED</span>
-<p class="level1">Introduced in 7.11.0 Deprecated since 7.17.0
-<p class="level0"><a name="CURLEFTPUSERPASSWORDINCORRECT"></a><span class="nroffip">CURLE_FTP_USER_PASSWORD_INCORRECT</span>
-<p class="level1">Introduced in 7.1 Deprecated since 7.17.0
-<p class="level0"><a name="CURLEFTPWEIRD227FORMAT"></a><span class="nroffip">CURLE_FTP_WEIRD_227_FORMAT</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLEFTPWEIRDPASSREPLY"></a><span class="nroffip">CURLE_FTP_WEIRD_PASS_REPLY</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLEFTPWEIRDPASVREPLY"></a><span class="nroffip">CURLE_FTP_WEIRD_PASV_REPLY</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLEFTPWEIRDSERVERREPLY"></a><span class="nroffip">CURLE_FTP_WEIRD_SERVER_REPLY</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLEFTPWEIRDUSERREPLY"></a><span class="nroffip">CURLE_FTP_WEIRD_USER_REPLY</span>
-<p class="level1">Introduced in 7.1 Deprecated since 7.17.0
-<p class="level0"><a name="CURLEFTPWRITEERROR"></a><span class="nroffip">CURLE_FTP_WRITE_ERROR</span>
-<p class="level1">Introduced in 7.1 Deprecated since 7.17.0
-<p class="level0"><a name="CURLEFUNCTIONNOTFOUND"></a><span class="nroffip">CURLE_FUNCTION_NOT_FOUND</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLEGOTNOTHING"></a><span class="nroffip">CURLE_GOT_NOTHING</span>
-<p class="level1">Introduced in 7.9.1
-<p class="level0"><a name="CURLEHTTP2"></a><span class="nroffip">CURLE_HTTP2</span>
-<p class="level1">Introduced in 7.38.0
-<p class="level0"><a name="CURLEHTTP2STREAM"></a><span class="nroffip">CURLE_HTTP2_STREAM</span>
-<p class="level1">Introduced in 7.49.0
-<p class="level0"><a name="CURLEHTTPNOTFOUND"></a><span class="nroffip">CURLE_HTTP_NOT_FOUND</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLEHTTPPORTFAILED"></a><span class="nroffip">CURLE_HTTP_PORT_FAILED</span>
-<p class="level1">Introduced in 7.3 Deprecated since 7.12.0
-<p class="level0"><a name="CURLEHTTPPOSTERROR"></a><span class="nroffip">CURLE_HTTP_POST_ERROR</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLEHTTPRANGEERROR"></a><span class="nroffip">CURLE_HTTP_RANGE_ERROR</span>
-<p class="level1">Introduced in 7.1 Deprecated since 7.17.0
-<p class="level0"><a name="CURLEHTTPRETURNEDERROR"></a><span class="nroffip">CURLE_HTTP_RETURNED_ERROR</span>
-<p class="level1">Introduced in 7.10.3
-<p class="level0"><a name="CURLEINTERFACEFAILED"></a><span class="nroffip">CURLE_INTERFACE_FAILED</span>
-<p class="level1">Introduced in 7.12.0
-<p class="level0"><a name="CURLELDAPCANNOTBIND"></a><span class="nroffip">CURLE_LDAP_CANNOT_BIND</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLELDAPINVALIDURL"></a><span class="nroffip">CURLE_LDAP_INVALID_URL</span>
-<p class="level1">Introduced in 7.10.8
-<p class="level0"><a name="CURLELDAPSEARCHFAILED"></a><span class="nroffip">CURLE_LDAP_SEARCH_FAILED</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLELIBRARYNOTFOUND"></a><span class="nroffip">CURLE_LIBRARY_NOT_FOUND</span>
-<p class="level1">Introduced in 7.1 Deprecated since 7.17.0
-<p class="level0"><a name="CURLELOGINDENIED"></a><span class="nroffip">CURLE_LOGIN_DENIED</span>
-<p class="level1">Introduced in 7.13.1
-<p class="level0"><a name="CURLEMALFORMATUSER"></a><span class="nroffip">CURLE_MALFORMAT_USER</span>
-<p class="level1">Introduced in 7.1 Deprecated since 7.17.0
-<p class="level0"><a name="CURLENOTBUILTIN"></a><span class="nroffip">CURLE_NOT_BUILT_IN</span>
-<p class="level1">Introduced in 7.21.5
-<p class="level0"><a name="CURLENOCONNECTIONAVAILABLE"></a><span class="nroffip">CURLE_NO_CONNECTION_AVAILABLE</span>
-<p class="level1">Introduced in 7.30.0
-<p class="level0"><a name="CURLEOK"></a><span class="nroffip">CURLE_OK</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLEOPERATIONTIMEDOUT"></a><span class="nroffip">CURLE_OPERATION_TIMEDOUT</span>
-<p class="level1">Introduced in 7.10.2
-<p class="level0"><a name="CURLEOPERATIONTIMEOUTED"></a><span class="nroffip">CURLE_OPERATION_TIMEOUTED</span>
-<p class="level1">Introduced in 7.1 Deprecated since 7.17.0
-<p class="level0"><a name="CURLEOUTOFMEMORY"></a><span class="nroffip">CURLE_OUT_OF_MEMORY</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLEPARTIALFILE"></a><span class="nroffip">CURLE_PARTIAL_FILE</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLEPEERFAILEDVERIFICATION"></a><span class="nroffip">CURLE_PEER_FAILED_VERIFICATION</span>
-<p class="level1">Introduced in 7.17.1
-<p class="level0"><a name="CURLEQUOTEERROR"></a><span class="nroffip">CURLE_QUOTE_ERROR</span>
-<p class="level1">Introduced in 7.17.0
-<p class="level0"><a name="CURLERANGEERROR"></a><span class="nroffip">CURLE_RANGE_ERROR</span>
-<p class="level1">Introduced in 7.17.0
-<p class="level0"><a name="CURLEREADERROR"></a><span class="nroffip">CURLE_READ_ERROR</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLERECVERROR"></a><span class="nroffip">CURLE_RECV_ERROR</span>
-<p class="level1">Introduced in 7.10
-<p class="level0"><a name="CURLEREMOTEACCESSDENIED"></a><span class="nroffip">CURLE_REMOTE_ACCESS_DENIED</span>
-<p class="level1">Introduced in 7.17.0
-<p class="level0"><a name="CURLEREMOTEDISKFULL"></a><span class="nroffip">CURLE_REMOTE_DISK_FULL</span>
-<p class="level1">Introduced in 7.17.0
-<p class="level0"><a name="CURLEREMOTEFILEEXISTS"></a><span class="nroffip">CURLE_REMOTE_FILE_EXISTS</span>
-<p class="level1">Introduced in 7.17.0
-<p class="level0"><a name="CURLEREMOTEFILENOTFOUND"></a><span class="nroffip">CURLE_REMOTE_FILE_NOT_FOUND</span>
-<p class="level1">Introduced in 7.16.1
-<p class="level0"><a name="CURLERTSPCSEQERROR"></a><span class="nroffip">CURLE_RTSP_CSEQ_ERROR</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLERTSPSESSIONERROR"></a><span class="nroffip">CURLE_RTSP_SESSION_ERROR</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLESENDERROR"></a><span class="nroffip">CURLE_SEND_ERROR</span>
-<p class="level1">Introduced in 7.10
-<p class="level0"><a name="CURLESENDFAILREWIND"></a><span class="nroffip">CURLE_SEND_FAIL_REWIND</span>
-<p class="level1">Introduced in 7.12.3
-<p class="level0"><a name="CURLESHAREINUSE"></a><span class="nroffip">CURLE_SHARE_IN_USE</span>
-<p class="level1">Introduced in 7.9.6 Deprecated since 7.17.0
-<p class="level0"><a name="CURLESSH"></a><span class="nroffip">CURLE_SSH</span>
-<p class="level1">Introduced in 7.16.1
-<p class="level0"><a name="CURLESSLCACERT"></a><span class="nroffip">CURLE_SSL_CACERT</span>
-<p class="level1">Introduced in 7.10
-<p class="level0"><a name="CURLESSLCACERTBADFILE"></a><span class="nroffip">CURLE_SSL_CACERT_BADFILE</span>
-<p class="level1">Introduced in 7.16.0
-<p class="level0"><a name="CURLESSLCERTPROBLEM"></a><span class="nroffip">CURLE_SSL_CERTPROBLEM</span>
-<p class="level1">Introduced in 7.10
-<p class="level0"><a name="CURLESSLCIPHER"></a><span class="nroffip">CURLE_SSL_CIPHER</span>
-<p class="level1">Introduced in 7.10
-<p class="level0"><a name="CURLESSLCONNECTERROR"></a><span class="nroffip">CURLE_SSL_CONNECT_ERROR</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLESSLCRLBADFILE"></a><span class="nroffip">CURLE_SSL_CRL_BADFILE</span>
-<p class="level1">Introduced in 7.19.0
-<p class="level0"><a name="CURLESSLENGINEINITFAILED"></a><span class="nroffip">CURLE_SSL_ENGINE_INITFAILED</span>
-<p class="level1">Introduced in 7.12.3
-<p class="level0"><a name="CURLESSLENGINENOTFOUND"></a><span class="nroffip">CURLE_SSL_ENGINE_NOTFOUND</span>
-<p class="level1">Introduced in 7.9.3
-<p class="level0"><a name="CURLESSLENGINESETFAILED"></a><span class="nroffip">CURLE_SSL_ENGINE_SETFAILED</span>
-<p class="level1">Introduced in 7.9.3
-<p class="level0"><a name="CURLESSLINVALIDCERTSTATUS"></a><span class="nroffip">CURLE_SSL_INVALIDCERTSTATUS</span>
-<p class="level1">Introduced in 7.41.0
-<p class="level0"><a name="CURLESSLISSUERERROR"></a><span class="nroffip">CURLE_SSL_ISSUER_ERROR</span>
-<p class="level1">Introduced in 7.19.0
-<p class="level0"><a name="CURLESSLPEERCERTIFICATE"></a><span class="nroffip">CURLE_SSL_PEER_CERTIFICATE</span>
-<p class="level1">Introduced in 7.8 Deprecated since 7.17.1
-<p class="level0"><a name="CURLESSLPINNEDPUBKEYNOTMATCH"></a><span class="nroffip">CURLE_SSL_PINNEDPUBKEYNOTMATCH</span>
-<p class="level1">Introduced in 7.39.0
-<p class="level0"><a name="CURLESSLSHUTDOWNFAILED"></a><span class="nroffip">CURLE_SSL_SHUTDOWN_FAILED</span>
-<p class="level1">Introduced in 7.16.1
-<p class="level0"><a name="CURLETELNETOPTIONSYNTAX"></a><span class="nroffip">CURLE_TELNET_OPTION_SYNTAX</span>
-<p class="level1">Introduced in 7.7
-<p class="level0"><a name="CURLETFTPDISKFULL"></a><span class="nroffip">CURLE_TFTP_DISKFULL</span>
-<p class="level1">Introduced in 7.15.0 Deprecated since 7.17.0
-<p class="level0"><a name="CURLETFTPEXISTS"></a><span class="nroffip">CURLE_TFTP_EXISTS</span>
-<p class="level1">Introduced in 7.15.0 Deprecated since 7.17.0
-<p class="level0"><a name="CURLETFTPILLEGAL"></a><span class="nroffip">CURLE_TFTP_ILLEGAL</span>
-<p class="level1">Introduced in 7.15.0
-<p class="level0"><a name="CURLETFTPNOSUCHUSER"></a><span class="nroffip">CURLE_TFTP_NOSUCHUSER</span>
-<p class="level1">Introduced in 7.15.0
-<p class="level0"><a name="CURLETFTPNOTFOUND"></a><span class="nroffip">CURLE_TFTP_NOTFOUND</span>
-<p class="level1">Introduced in 7.15.0
-<p class="level0"><a name="CURLETFTPPERM"></a><span class="nroffip">CURLE_TFTP_PERM</span>
-<p class="level1">Introduced in 7.15.0
-<p class="level0"><a name="CURLETFTPUNKNOWNID"></a><span class="nroffip">CURLE_TFTP_UNKNOWNID</span>
-<p class="level1">Introduced in 7.15.0
-<p class="level0"><a name="CURLETOOMANYREDIRECTS"></a><span class="nroffip">CURLE_TOO_MANY_REDIRECTS</span>
-<p class="level1">Introduced in 7.5
-<p class="level0"><a name="CURLEUNKNOWNOPTION"></a><span class="nroffip">CURLE_UNKNOWN_OPTION</span>
-<p class="level1">Introduced in 7.21.5
-<p class="level0"><a name="CURLEUNKNOWNTELNETOPTION"></a><span class="nroffip">CURLE_UNKNOWN_TELNET_OPTION</span>
-<p class="level1">Introduced in 7.7
-<p class="level0"><a name="CURLEUNSUPPORTEDPROTOCOL"></a><span class="nroffip">CURLE_UNSUPPORTED_PROTOCOL</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLEUPLOADFAILED"></a><span class="nroffip">CURLE_UPLOAD_FAILED</span>
-<p class="level1">Introduced in 7.16.3
-<p class="level0"><a name="CURLEURLMALFORMAT"></a><span class="nroffip">CURLE_URL_MALFORMAT</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLEURLMALFORMATUSER"></a><span class="nroffip">CURLE_URL_MALFORMAT_USER</span>
-<p class="level1">Introduced in 7.1 Deprecated since 7.17.0
-<p class="level0"><a name="CURLEUSESSLFAILED"></a><span class="nroffip">CURLE_USE_SSL_FAILED</span>
-<p class="level1">Introduced in 7.17.0
-<p class="level0"><a name="CURLEWRITEERROR"></a><span class="nroffip">CURLE_WRITE_ERROR</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLFILETYPEDEVICEBLOCK"></a><span class="nroffip">CURLFILETYPE_DEVICE_BLOCK</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLFILETYPEDEVICECHAR"></a><span class="nroffip">CURLFILETYPE_DEVICE_CHAR</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLFILETYPEDIRECTORY"></a><span class="nroffip">CURLFILETYPE_DIRECTORY</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLFILETYPEDOOR"></a><span class="nroffip">CURLFILETYPE_DOOR</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLFILETYPEFILE"></a><span class="nroffip">CURLFILETYPE_FILE</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLFILETYPENAMEDPIPE"></a><span class="nroffip">CURLFILETYPE_NAMEDPIPE</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLFILETYPESOCKET"></a><span class="nroffip">CURLFILETYPE_SOCKET</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLFILETYPESYMLINK"></a><span class="nroffip">CURLFILETYPE_SYMLINK</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLFILETYPEUNKNOWN"></a><span class="nroffip">CURLFILETYPE_UNKNOWN</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLFINFOFLAGKNOWNFILENAME"></a><span class="nroffip">CURLFINFOFLAG_KNOWN_FILENAME</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLFINFOFLAGKNOWNFILETYPE"></a><span class="nroffip">CURLFINFOFLAG_KNOWN_FILETYPE</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLFINFOFLAGKNOWNGID"></a><span class="nroffip">CURLFINFOFLAG_KNOWN_GID</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLFINFOFLAGKNOWNHLINKCOUNT"></a><span class="nroffip">CURLFINFOFLAG_KNOWN_HLINKCOUNT</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLFINFOFLAGKNOWNPERM"></a><span class="nroffip">CURLFINFOFLAG_KNOWN_PERM</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLFINFOFLAGKNOWNSIZE"></a><span class="nroffip">CURLFINFOFLAG_KNOWN_SIZE</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLFINFOFLAGKNOWNTIME"></a><span class="nroffip">CURLFINFOFLAG_KNOWN_TIME</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLFINFOFLAGKNOWNUID"></a><span class="nroffip">CURLFINFOFLAG_KNOWN_UID</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLFORMARRAY"></a><span class="nroffip">CURLFORM_ARRAY</span>
-<p class="level1">Introduced in 7.9.1
-<p class="level0"><a name="CURLFORMARRAYEND"></a><span class="nroffip">CURLFORM_ARRAY_END</span>
-<p class="level1">Introduced in 7.9.1 Deprecated since 7.9.5 Last used in 7.9.5
-<p class="level0"><a name="CURLFORMARRAYSTART"></a><span class="nroffip">CURLFORM_ARRAY_START</span>
-<p class="level1">Introduced in 7.9.1 Deprecated since 7.9.5 Last used in 7.9.5
-<p class="level0"><a name="CURLFORMBUFFER"></a><span class="nroffip">CURLFORM_BUFFER</span>
-<p class="level1">Introduced in 7.9.8
-<p class="level0"><a name="CURLFORMBUFFERLENGTH"></a><span class="nroffip">CURLFORM_BUFFERLENGTH</span>
-<p class="level1">Introduced in 7.9.8
-<p class="level0"><a name="CURLFORMBUFFERPTR"></a><span class="nroffip">CURLFORM_BUFFERPTR</span>
-<p class="level1">Introduced in 7.9.8
-<p class="level0"><a name="CURLFORMCONTENTHEADER"></a><span class="nroffip">CURLFORM_CONTENTHEADER</span>
-<p class="level1">Introduced in 7.9.3
-<p class="level0"><a name="CURLFORMCONTENTLEN"></a><span class="nroffip">CURLFORM_CONTENTLEN</span>
-<p class="level1">Introduced in 7.46.0
-<p class="level0"><a name="CURLFORMCONTENTSLENGTH"></a><span class="nroffip">CURLFORM_CONTENTSLENGTH</span>
-<p class="level1">Introduced in 7.9
-<p class="level0"><a name="CURLFORMCONTENTTYPE"></a><span class="nroffip">CURLFORM_CONTENTTYPE</span>
-<p class="level1">Introduced in 7.9
-<p class="level0"><a name="CURLFORMCOPYCONTENTS"></a><span class="nroffip">CURLFORM_COPYCONTENTS</span>
-<p class="level1">Introduced in 7.9
-<p class="level0"><a name="CURLFORMCOPYNAME"></a><span class="nroffip">CURLFORM_COPYNAME</span>
-<p class="level1">Introduced in 7.9
-<p class="level0"><a name="CURLFORMEND"></a><span class="nroffip">CURLFORM_END</span>
-<p class="level1">Introduced in 7.9
-<p class="level0"><a name="CURLFORMFILE"></a><span class="nroffip">CURLFORM_FILE</span>
-<p class="level1">Introduced in 7.9
-<p class="level0"><a name="CURLFORMFILECONTENT"></a><span class="nroffip">CURLFORM_FILECONTENT</span>
-<p class="level1">Introduced in 7.9.1
-<p class="level0"><a name="CURLFORMFILENAME"></a><span class="nroffip">CURLFORM_FILENAME</span>
-<p class="level1">Introduced in 7.9.6
-<p class="level0"><a name="CURLFORMNAMELENGTH"></a><span class="nroffip">CURLFORM_NAMELENGTH</span>
-<p class="level1">Introduced in 7.9
-<p class="level0"><a name="CURLFORMNOTHING"></a><span class="nroffip">CURLFORM_NOTHING</span>
-<p class="level1">Introduced in 7.9
-<p class="level0"><a name="CURLFORMPTRCONTENTS"></a><span class="nroffip">CURLFORM_PTRCONTENTS</span>
-<p class="level1">Introduced in 7.9
-<p class="level0"><a name="CURLFORMPTRNAME"></a><span class="nroffip">CURLFORM_PTRNAME</span>
-<p class="level1">Introduced in 7.9
-<p class="level0"><a name="CURLFORMSTREAM"></a><span class="nroffip">CURLFORM_STREAM</span>
-<p class="level1">Introduced in 7.18.2
-<p class="level0"><a name="CURLFTPAUTHDEFAULT"></a><span class="nroffip">CURLFTPAUTH_DEFAULT</span>
-<p class="level1">Introduced in 7.12.2
-<p class="level0"><a name="CURLFTPAUTHSSL"></a><span class="nroffip">CURLFTPAUTH_SSL</span>
-<p class="level1">Introduced in 7.12.2
-<p class="level0"><a name="CURLFTPAUTHTLS"></a><span class="nroffip">CURLFTPAUTH_TLS</span>
-<p class="level1">Introduced in 7.12.2
-<p class="level0"><a name="CURLFTPMETHODDEFAULT"></a><span class="nroffip">CURLFTPMETHOD_DEFAULT</span>
-<p class="level1">Introduced in 7.15.3
-<p class="level0"><a name="CURLFTPMETHODMULTICWD"></a><span class="nroffip">CURLFTPMETHOD_MULTICWD</span>
-<p class="level1">Introduced in 7.15.3
-<p class="level0"><a name="CURLFTPMETHODNOCWD"></a><span class="nroffip">CURLFTPMETHOD_NOCWD</span>
-<p class="level1">Introduced in 7.15.3
-<p class="level0"><a name="CURLFTPMETHODSINGLECWD"></a><span class="nroffip">CURLFTPMETHOD_SINGLECWD</span>
-<p class="level1">Introduced in 7.15.3
-<p class="level0"><a name="CURLFTPSSLALL"></a><span class="nroffip">CURLFTPSSL_ALL</span>
-<p class="level1">Introduced in 7.11.0 Deprecated since 7.17.0
-<p class="level0"><a name="CURLFTPSSLCCCACTIVE"></a><span class="nroffip">CURLFTPSSL_CCC_ACTIVE</span>
-<p class="level1">Introduced in 7.16.2
-<p class="level0"><a name="CURLFTPSSLCCCNONE"></a><span class="nroffip">CURLFTPSSL_CCC_NONE</span>
-<p class="level1">Introduced in 7.16.2
-<p class="level0"><a name="CURLFTPSSLCCCPASSIVE"></a><span class="nroffip">CURLFTPSSL_CCC_PASSIVE</span>
-<p class="level1">Introduced in 7.16.1
-<p class="level0"><a name="CURLFTPSSLCONTROL"></a><span class="nroffip">CURLFTPSSL_CONTROL</span>
-<p class="level1">Introduced in 7.11.0 Deprecated since 7.17.0
-<p class="level0"><a name="CURLFTPSSLNONE"></a><span class="nroffip">CURLFTPSSL_NONE</span>
-<p class="level1">Introduced in 7.11.0 Deprecated since 7.17.0
-<p class="level0"><a name="CURLFTPSSLTRY"></a><span class="nroffip">CURLFTPSSL_TRY</span>
-<p class="level1">Introduced in 7.11.0 Deprecated since 7.17.0
-<p class="level0"><a name="CURLFTPCREATEDIR"></a><span class="nroffip">CURLFTP_CREATE_DIR</span>
-<p class="level1">Introduced in 7.19.4
-<p class="level0"><a name="CURLFTPCREATEDIRNONE"></a><span class="nroffip">CURLFTP_CREATE_DIR_NONE</span>
-<p class="level1">Introduced in 7.19.4
-<p class="level0"><a name="CURLFTPCREATEDIRRETRY"></a><span class="nroffip">CURLFTP_CREATE_DIR_RETRY</span>
-<p class="level1">Introduced in 7.19.4
-<p class="level0"><a name="CURLGSSAPIDELEGATIONFLAG"></a><span class="nroffip">CURLGSSAPI_DELEGATION_FLAG</span>
-<p class="level1">Introduced in 7.22.0
-<p class="level0"><a name="CURLGSSAPIDELEGATIONNONE"></a><span class="nroffip">CURLGSSAPI_DELEGATION_NONE</span>
-<p class="level1">Introduced in 7.22.0
-<p class="level0"><a name="CURLGSSAPIDELEGATIONPOLICYFLAG"></a><span class="nroffip">CURLGSSAPI_DELEGATION_POLICY_FLAG</span>
-<p class="level1">Introduced in 7.22.0
-<p class="level0"><a name="CURLHEADERSEPARATE"></a><span class="nroffip">CURLHEADER_SEPARATE</span>
-<p class="level1">Introduced in 7.37.0
-<p class="level0"><a name="CURLHEADERUNIFIED"></a><span class="nroffip">CURLHEADER_UNIFIED</span>
-<p class="level1">Introduced in 7.37.0
-<p class="level0"><a name="CURLINFOACTIVESOCKET"></a><span class="nroffip">CURLINFO_ACTIVESOCKET</span>
-<p class="level1">Introduced in 7.45.0
-<p class="level0"><a name="CURLINFOAPPCONNECTTIME"></a><span class="nroffip">CURLINFO_APPCONNECT_TIME</span>
-<p class="level1">Introduced in 7.19.0
-<p class="level0"><a name="CURLINFOCERTINFO"></a><span class="nroffip">CURLINFO_CERTINFO</span>
-<p class="level1">Introduced in 7.19.1
-<p class="level0"><a name="CURLINFOCONDITIONUNMET"></a><span class="nroffip">CURLINFO_CONDITION_UNMET</span>
-<p class="level1">Introduced in 7.19.4
-<p class="level0"><a name="CURLINFOCONNECTTIME"></a><span class="nroffip">CURLINFO_CONNECT_TIME</span>
-<p class="level1">Introduced in 7.4.1
-<p class="level0"><a name="CURLINFOCONTENTLENGTHDOWNLOAD"></a><span class="nroffip">CURLINFO_CONTENT_LENGTH_DOWNLOAD</span>
-<p class="level1">Introduced in 7.6.1
-<p class="level0"><a name="CURLINFOCONTENTLENGTHUPLOAD"></a><span class="nroffip">CURLINFO_CONTENT_LENGTH_UPLOAD</span>
-<p class="level1">Introduced in 7.6.1
-<p class="level0"><a name="CURLINFOCONTENTTYPE"></a><span class="nroffip">CURLINFO_CONTENT_TYPE</span>
-<p class="level1">Introduced in 7.9.4
-<p class="level0"><a name="CURLINFOCOOKIELIST"></a><span class="nroffip">CURLINFO_COOKIELIST</span>
-<p class="level1">Introduced in 7.14.1
-<p class="level0"><a name="CURLINFODATAIN"></a><span class="nroffip">CURLINFO_DATA_IN</span>
-<p class="level1">Introduced in 7.9.6
-<p class="level0"><a name="CURLINFODATAOUT"></a><span class="nroffip">CURLINFO_DATA_OUT</span>
-<p class="level1">Introduced in 7.9.6
-<p class="level0"><a name="CURLINFODOUBLE"></a><span class="nroffip">CURLINFO_DOUBLE</span>
-<p class="level1">Introduced in 7.4.1
-<p class="level0"><a name="CURLINFOEFFECTIVEURL"></a><span class="nroffip">CURLINFO_EFFECTIVE_URL</span>
-<p class="level1">Introduced in 7.4
-<p class="level0"><a name="CURLINFOEND"></a><span class="nroffip">CURLINFO_END</span>
-<p class="level1">Introduced in 7.9.6
-<p class="level0"><a name="CURLINFOFILETIME"></a><span class="nroffip">CURLINFO_FILETIME</span>
-<p class="level1">Introduced in 7.5
-<p class="level0"><a name="CURLINFOFTPENTRYPATH"></a><span class="nroffip">CURLINFO_FTP_ENTRY_PATH</span>
-<p class="level1">Introduced in 7.15.4
-<p class="level0"><a name="CURLINFOHEADERIN"></a><span class="nroffip">CURLINFO_HEADER_IN</span>
-<p class="level1">Introduced in 7.9.6
-<p class="level0"><a name="CURLINFOHEADEROUT"></a><span class="nroffip">CURLINFO_HEADER_OUT</span>
-<p class="level1">Introduced in 7.9.6
-<p class="level0"><a name="CURLINFOHEADERSIZE"></a><span class="nroffip">CURLINFO_HEADER_SIZE</span>
-<p class="level1">Introduced in 7.4.1
-<p class="level0"><a name="CURLINFOHTTPAUTHAVAIL"></a><span class="nroffip">CURLINFO_HTTPAUTH_AVAIL</span>
-<p class="level1">Introduced in 7.10.8
-<p class="level0"><a name="CURLINFOHTTPCODE"></a><span class="nroffip">CURLINFO_HTTP_CODE</span>
-<p class="level1">Introduced in 7.4.1 Deprecated since 7.10.8
-<p class="level0"><a name="CURLINFOHTTPCONNECTCODE"></a><span class="nroffip">CURLINFO_HTTP_CONNECTCODE</span>
-<p class="level1">Introduced in 7.10.7
-<p class="level0"><a name="CURLINFOHTTPVERSION"></a><span class="nroffip">CURLINFO_HTTP_VERSION</span>
-<p class="level1">Introduced in 7.50.0
-<p class="level0"><a name="CURLINFOLASTONE"></a><span class="nroffip">CURLINFO_LASTONE</span>
-<p class="level1">Introduced in 7.4.1
-<p class="level0"><a name="CURLINFOLASTSOCKET"></a><span class="nroffip">CURLINFO_LASTSOCKET</span>
-<p class="level1">Introduced in 7.15.2
-<p class="level0"><a name="CURLINFOLOCALIP"></a><span class="nroffip">CURLINFO_LOCAL_IP</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLINFOLOCALPORT"></a><span class="nroffip">CURLINFO_LOCAL_PORT</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLINFOLONG"></a><span class="nroffip">CURLINFO_LONG</span>
-<p class="level1">Introduced in 7.4.1
-<p class="level0"><a name="CURLINFOMASK"></a><span class="nroffip">CURLINFO_MASK</span>
-<p class="level1">Introduced in 7.4.1
-<p class="level0"><a name="CURLINFONAMELOOKUPTIME"></a><span class="nroffip">CURLINFO_NAMELOOKUP_TIME</span>
-<p class="level1">Introduced in 7.4.1
-<p class="level0"><a name="CURLINFONONE"></a><span class="nroffip">CURLINFO_NONE</span>
-<p class="level1">Introduced in 7.4.1
-<p class="level0"><a name="CURLINFONUMCONNECTS"></a><span class="nroffip">CURLINFO_NUM_CONNECTS</span>
-<p class="level1">Introduced in 7.12.3
-<p class="level0"><a name="CURLINFOOSERRNO"></a><span class="nroffip">CURLINFO_OS_ERRNO</span>
-<p class="level1">Introduced in 7.12.2
-<p class="level0"><a name="CURLINFOPRETRANSFERTIME"></a><span class="nroffip">CURLINFO_PRETRANSFER_TIME</span>
-<p class="level1">Introduced in 7.4.1
-<p class="level0"><a name="CURLINFOPRIMARYIP"></a><span class="nroffip">CURLINFO_PRIMARY_IP</span>
-<p class="level1">Introduced in 7.19.0
-<p class="level0"><a name="CURLINFOPRIMARYPORT"></a><span class="nroffip">CURLINFO_PRIMARY_PORT</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLINFOPRIVATE"></a><span class="nroffip">CURLINFO_PRIVATE</span>
-<p class="level1">Introduced in 7.10.3
-<p class="level0"><a name="CURLINFOPROXYAUTHAVAIL"></a><span class="nroffip">CURLINFO_PROXYAUTH_AVAIL</span>
-<p class="level1">Introduced in 7.10.8
-<p class="level0"><a name="CURLINFOREDIRECTCOUNT"></a><span class="nroffip">CURLINFO_REDIRECT_COUNT</span>
-<p class="level1">Introduced in 7.9.7
-<p class="level0"><a name="CURLINFOREDIRECTTIME"></a><span class="nroffip">CURLINFO_REDIRECT_TIME</span>
-<p class="level1">Introduced in 7.9.7
-<p class="level0"><a name="CURLINFOREDIRECTURL"></a><span class="nroffip">CURLINFO_REDIRECT_URL</span>
-<p class="level1">Introduced in 7.18.2
-<p class="level0"><a name="CURLINFOREQUESTSIZE"></a><span class="nroffip">CURLINFO_REQUEST_SIZE</span>
-<p class="level1">Introduced in 7.4.1
-<p class="level0"><a name="CURLINFORESPONSECODE"></a><span class="nroffip">CURLINFO_RESPONSE_CODE</span>
-<p class="level1">Introduced in 7.10.8
-<p class="level0"><a name="CURLINFORTSPCLIENTCSEQ"></a><span class="nroffip">CURLINFO_RTSP_CLIENT_CSEQ</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLINFORTSPCSEQRECV"></a><span class="nroffip">CURLINFO_RTSP_CSEQ_RECV</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLINFORTSPSERVERCSEQ"></a><span class="nroffip">CURLINFO_RTSP_SERVER_CSEQ</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLINFORTSPSESSIONID"></a><span class="nroffip">CURLINFO_RTSP_SESSION_ID</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLINFOSIZEDOWNLOAD"></a><span class="nroffip">CURLINFO_SIZE_DOWNLOAD</span>
-<p class="level1">Introduced in 7.4.1
-<p class="level0"><a name="CURLINFOSIZEUPLOAD"></a><span class="nroffip">CURLINFO_SIZE_UPLOAD</span>
-<p class="level1">Introduced in 7.4.1
-<p class="level0"><a name="CURLINFOSLIST"></a><span class="nroffip">CURLINFO_SLIST</span>
-<p class="level1">Introduced in 7.12.3
-<p class="level0"><a name="CURLINFOSOCKET"></a><span class="nroffip">CURLINFO_SOCKET</span>
-<p class="level1">Introduced in 7.45.0
-<p class="level0"><a name="CURLINFOSPEEDDOWNLOAD"></a><span class="nroffip">CURLINFO_SPEED_DOWNLOAD</span>
-<p class="level1">Introduced in 7.4.1
-<p class="level0"><a name="CURLINFOSPEEDUPLOAD"></a><span class="nroffip">CURLINFO_SPEED_UPLOAD</span>
-<p class="level1">Introduced in 7.4.1
-<p class="level0"><a name="CURLINFOSSLDATAIN"></a><span class="nroffip">CURLINFO_SSL_DATA_IN</span>
-<p class="level1">Introduced in 7.12.1
-<p class="level0"><a name="CURLINFOSSLDATAOUT"></a><span class="nroffip">CURLINFO_SSL_DATA_OUT</span>
-<p class="level1">Introduced in 7.12.1
-<p class="level0"><a name="CURLINFOSSLENGINES"></a><span class="nroffip">CURLINFO_SSL_ENGINES</span>
-<p class="level1">Introduced in 7.12.3
-<p class="level0"><a name="CURLINFOSSLVERIFYRESULT"></a><span class="nroffip">CURLINFO_SSL_VERIFYRESULT</span>
-<p class="level1">Introduced in 7.5
-<p class="level0"><a name="CURLINFOSTARTTRANSFERTIME"></a><span class="nroffip">CURLINFO_STARTTRANSFER_TIME</span>
-<p class="level1">Introduced in 7.9.2
-<p class="level0"><a name="CURLINFOSTRING"></a><span class="nroffip">CURLINFO_STRING</span>
-<p class="level1">Introduced in 7.4.1
-<p class="level0"><a name="CURLINFOTEXT"></a><span class="nroffip">CURLINFO_TEXT</span>
-<p class="level1">Introduced in 7.9.6
-<p class="level0"><a name="CURLINFOTLSSESSION"></a><span class="nroffip">CURLINFO_TLS_SESSION</span>
-<p class="level1">Introduced in 7.34.0 Deprecated since 7.48.0
-<p class="level0"><a name="CURLINFOTLSSSLPTR"></a><span class="nroffip">CURLINFO_TLS_SSL_PTR</span>
-<p class="level1">Introduced in 7.48.0
-<p class="level0"><a name="CURLINFOTOTALTIME"></a><span class="nroffip">CURLINFO_TOTAL_TIME</span>
-<p class="level1">Introduced in 7.4.1
-<p class="level0"><a name="CURLINFOTYPEMASK"></a><span class="nroffip">CURLINFO_TYPEMASK</span>
-<p class="level1">Introduced in 7.4.1
-<p class="level0"><a name="CURLIOCMDNOP"></a><span class="nroffip">CURLIOCMD_NOP</span>
-<p class="level1">Introduced in 7.12.3
-<p class="level0"><a name="CURLIOCMDRESTARTREAD"></a><span class="nroffip">CURLIOCMD_RESTARTREAD</span>
-<p class="level1">Introduced in 7.12.3
-<p class="level0"><a name="CURLIOEFAILRESTART"></a><span class="nroffip">CURLIOE_FAILRESTART</span>
-<p class="level1">Introduced in 7.12.3
-<p class="level0"><a name="CURLIOEOK"></a><span class="nroffip">CURLIOE_OK</span>
-<p class="level1">Introduced in 7.12.3
-<p class="level0"><a name="CURLIOEUNKNOWNCMD"></a><span class="nroffip">CURLIOE_UNKNOWNCMD</span>
-<p class="level1">Introduced in 7.12.3
-<p class="level0"><a name="CURLKHMATCHMISMATCH"></a><span class="nroffip">CURLKHMATCH_MISMATCH</span>
-<p class="level1">Introduced in 7.19.6
-<p class="level0"><a name="CURLKHMATCHMISSING"></a><span class="nroffip">CURLKHMATCH_MISSING</span>
-<p class="level1">Introduced in 7.19.6
-<p class="level0"><a name="CURLKHMATCHOK"></a><span class="nroffip">CURLKHMATCH_OK</span>
-<p class="level1">Introduced in 7.19.6
-<p class="level0"><a name="CURLKHSTATDEFER"></a><span class="nroffip">CURLKHSTAT_DEFER</span>
-<p class="level1">Introduced in 7.19.6
-<p class="level0"><a name="CURLKHSTATFINE"></a><span class="nroffip">CURLKHSTAT_FINE</span>
-<p class="level1">Introduced in 7.19.6
-<p class="level0"><a name="CURLKHSTATFINEADDTOFILE"></a><span class="nroffip">CURLKHSTAT_FINE_ADD_TO_FILE</span>
-<p class="level1">Introduced in 7.19.6
-<p class="level0"><a name="CURLKHSTATREJECT"></a><span class="nroffip">CURLKHSTAT_REJECT</span>
-<p class="level1">Introduced in 7.19.6
-<p class="level0"><a name="CURLKHTYPEDSS"></a><span class="nroffip">CURLKHTYPE_DSS</span>
-<p class="level1">Introduced in 7.19.6
-<p class="level0"><a name="CURLKHTYPERSA"></a><span class="nroffip">CURLKHTYPE_RSA</span>
-<p class="level1">Introduced in 7.19.6
-<p class="level0"><a name="CURLKHTYPERSA1"></a><span class="nroffip">CURLKHTYPE_RSA1</span>
-<p class="level1">Introduced in 7.19.6
-<p class="level0"><a name="CURLKHTYPEUNKNOWN"></a><span class="nroffip">CURLKHTYPE_UNKNOWN</span>
-<p class="level1">Introduced in 7.19.6
-<p class="level0"><a name="CURLMOPTCHUNKLENGTHPENALTYSIZE"></a><span class="nroffip">CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE</span>
-<p class="level1">Introduced in 7.30.0
-<p class="level0"><a name="CURLMOPTCONTENTLENGTHPENALTYSIZE"></a><span class="nroffip">CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE</span>
-<p class="level1">Introduced in 7.30.0
-<p class="level0"><a name="CURLMOPTMAXCONNECTS"></a><span class="nroffip">CURLMOPT_MAXCONNECTS</span>
-<p class="level1">Introduced in 7.16.3
-<p class="level0"><a name="CURLMOPTMAXHOSTCONNECTIONS"></a><span class="nroffip">CURLMOPT_MAX_HOST_CONNECTIONS</span>
-<p class="level1">Introduced in 7.30.0
-<p class="level0"><a name="CURLMOPTMAXPIPELINELENGTH"></a><span class="nroffip">CURLMOPT_MAX_PIPELINE_LENGTH</span>
-<p class="level1">Introduced in 7.30.0
-<p class="level0"><a name="CURLMOPTMAXTOTALCONNECTIONS"></a><span class="nroffip">CURLMOPT_MAX_TOTAL_CONNECTIONS</span>
-<p class="level1">Introduced in 7.30.0
-<p class="level0"><a name="CURLMOPTPIPELINING"></a><span class="nroffip">CURLMOPT_PIPELINING</span>
-<p class="level1">Introduced in 7.16.0
-<p class="level0"><a name="CURLMOPTPIPELININGSERVERBL"></a><span class="nroffip">CURLMOPT_PIPELINING_SERVER_BL</span>
-<p class="level1">Introduced in 7.30.0
-<p class="level0"><a name="CURLMOPTPIPELININGSITEBL"></a><span class="nroffip">CURLMOPT_PIPELINING_SITE_BL</span>
-<p class="level1">Introduced in 7.30.0
-<p class="level0"><a name="CURLMOPTPUSHDATA"></a><span class="nroffip">CURLMOPT_PUSHDATA</span>
-<p class="level1">Introduced in 7.44.0
-<p class="level0"><a name="CURLMOPTPUSHFUNCTION"></a><span class="nroffip">CURLMOPT_PUSHFUNCTION</span>
-<p class="level1">Introduced in 7.44.0
-<p class="level0"><a name="CURLMOPTSOCKETDATA"></a><span class="nroffip">CURLMOPT_SOCKETDATA</span>
-<p class="level1">Introduced in 7.15.4
-<p class="level0"><a name="CURLMOPTSOCKETFUNCTION"></a><span class="nroffip">CURLMOPT_SOCKETFUNCTION</span>
-<p class="level1">Introduced in 7.15.4
-<p class="level0"><a name="CURLMOPTTIMERDATA"></a><span class="nroffip">CURLMOPT_TIMERDATA</span>
-<p class="level1">Introduced in 7.16.0
-<p class="level0"><a name="CURLMOPTTIMERFUNCTION"></a><span class="nroffip">CURLMOPT_TIMERFUNCTION</span>
-<p class="level1">Introduced in 7.16.0
-<p class="level0"><a name="CURLMSGDONE"></a><span class="nroffip">CURLMSG_DONE</span>
-<p class="level1">Introduced in 7.9.6
-<p class="level0"><a name="CURLMSGNONE"></a><span class="nroffip">CURLMSG_NONE</span>
-<p class="level1">Introduced in 7.9.6
-<p class="level0"><a name="CURLMADDEDALREADY"></a><span class="nroffip">CURLM_ADDED_ALREADY</span>
-<p class="level1">Introduced in 7.32.1
-<p class="level0"><a name="CURLMBADEASYHANDLE"></a><span class="nroffip">CURLM_BAD_EASY_HANDLE</span>
-<p class="level1">Introduced in 7.9.6
-<p class="level0"><a name="CURLMBADHANDLE"></a><span class="nroffip">CURLM_BAD_HANDLE</span>
-<p class="level1">Introduced in 7.9.6
-<p class="level0"><a name="CURLMBADSOCKET"></a><span class="nroffip">CURLM_BAD_SOCKET</span>
-<p class="level1">Introduced in 7.15.4
-<p class="level0"><a name="CURLMCALLMULTIPERFORM"></a><span class="nroffip">CURLM_CALL_MULTI_PERFORM</span>
-<p class="level1">Introduced in 7.9.6
-<p class="level0"><a name="CURLMCALLMULTISOCKET"></a><span class="nroffip">CURLM_CALL_MULTI_SOCKET</span>
-<p class="level1">Introduced in 7.15.5
-<p class="level0"><a name="CURLMINTERNALERROR"></a><span class="nroffip">CURLM_INTERNAL_ERROR</span>
-<p class="level1">Introduced in 7.9.6
-<p class="level0"><a name="CURLMOK"></a><span class="nroffip">CURLM_OK</span>
-<p class="level1">Introduced in 7.9.6
-<p class="level0"><a name="CURLMOUTOFMEMORY"></a><span class="nroffip">CURLM_OUT_OF_MEMORY</span>
-<p class="level1">Introduced in 7.9.6
-<p class="level0"><a name="CURLMUNKNOWNOPTION"></a><span class="nroffip">CURLM_UNKNOWN_OPTION</span>
-<p class="level1">Introduced in 7.15.4
-<p class="level0"><a name="CURLOPTTYPEFUNCTIONPOINT"></a><span class="nroffip">CURLOPTTYPE_FUNCTIONPOINT</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTTYPELONG"></a><span class="nroffip">CURLOPTTYPE_LONG</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTTYPEOBJECTPOINT"></a><span class="nroffip">CURLOPTTYPE_OBJECTPOINT</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTTYPEOFFT"></a><span class="nroffip">CURLOPTTYPE_OFF_T</span>
-<p class="level1">Introduced in 7.11.0
-<p class="level0"><a name="CURLOPTTYPESTRINGPOINT"></a><span class="nroffip">CURLOPTTYPE_STRINGPOINT</span>
-<p class="level1">Introduced in 7.46.0
-<p class="level0"><a name="CURLOPTACCEPTTIMEOUTMS"></a><span class="nroffip">CURLOPT_ACCEPTTIMEOUT_MS</span>
-<p class="level1">Introduced in 7.24.0
-<p class="level0"><a name="CURLOPTACCEPTENCODING"></a><span class="nroffip">CURLOPT_ACCEPT_ENCODING</span>
-<p class="level1">Introduced in 7.21.6
-<p class="level0"><a name="CURLOPTADDRESSSCOPE"></a><span class="nroffip">CURLOPT_ADDRESS_SCOPE</span>
-<p class="level1">Introduced in 7.19.0
-<p class="level0"><a name="CURLOPTAPPEND"></a><span class="nroffip">CURLOPT_APPEND</span>
-<p class="level1">Introduced in 7.17.0
-<p class="level0"><a name="CURLOPTAUTOREFERER"></a><span class="nroffip">CURLOPT_AUTOREFERER</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTBUFFERSIZE"></a><span class="nroffip">CURLOPT_BUFFERSIZE</span>
-<p class="level1">Introduced in 7.10
-<p class="level0"><a name="CURLOPTCAINFO"></a><span class="nroffip">CURLOPT_CAINFO</span>
-<p class="level1">Introduced in 7.4.2
-<p class="level0"><a name="CURLOPTCAPATH"></a><span class="nroffip">CURLOPT_CAPATH</span>
-<p class="level1">Introduced in 7.9.8
-<p class="level0"><a name="CURLOPTCERTINFO"></a><span class="nroffip">CURLOPT_CERTINFO</span>
-<p class="level1">Introduced in 7.19.1
-<p class="level0"><a name="CURLOPTCHUNKBGNFUNCTION"></a><span class="nroffip">CURLOPT_CHUNK_BGN_FUNCTION</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLOPTCHUNKDATA"></a><span class="nroffip">CURLOPT_CHUNK_DATA</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLOPTCHUNKENDFUNCTION"></a><span class="nroffip">CURLOPT_CHUNK_END_FUNCTION</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLOPTCLOSEFUNCTION"></a><span class="nroffip">CURLOPT_CLOSEFUNCTION</span>
-<p class="level1">Introduced in 7.7 Deprecated since 7.11.1 Last used in 7.11.1
-<p class="level0"><a name="CURLOPTCLOSEPOLICY"></a><span class="nroffip">CURLOPT_CLOSEPOLICY</span>
-<p class="level1">Introduced in 7.7 Deprecated since 7.16.1
-<p class="level0"><a name="CURLOPTCLOSESOCKETDATA"></a><span class="nroffip">CURLOPT_CLOSESOCKETDATA</span>
-<p class="level1">Introduced in 7.21.7
-<p class="level0"><a name="CURLOPTCLOSESOCKETFUNCTION"></a><span class="nroffip">CURLOPT_CLOSESOCKETFUNCTION</span>
-<p class="level1">Introduced in 7.21.7
-<p class="level0"><a name="CURLOPTCONNECTTIMEOUT"></a><span class="nroffip">CURLOPT_CONNECTTIMEOUT</span>
-<p class="level1">Introduced in 7.7
-<p class="level0"><a name="CURLOPTCONNECTTIMEOUTMS"></a><span class="nroffip">CURLOPT_CONNECTTIMEOUT_MS</span>
-<p class="level1">Introduced in 7.16.2
-<p class="level0"><a name="CURLOPTCONNECTONLY"></a><span class="nroffip">CURLOPT_CONNECT_ONLY</span>
-<p class="level1">Introduced in 7.15.2
-<p class="level0"><a name="CURLOPTCONNECTTO"></a><span class="nroffip">CURLOPT_CONNECT_TO</span>
-<p class="level1">Introduced in 7.49.0
-<p class="level0"><a name="CURLOPTCONVFROMNETWORKFUNCTION"></a><span class="nroffip">CURLOPT_CONV_FROM_NETWORK_FUNCTION</span>
-<p class="level1">Introduced in 7.15.4
-<p class="level0"><a name="CURLOPTCONVFROMUTF8FUNCTION"></a><span class="nroffip">CURLOPT_CONV_FROM_UTF8_FUNCTION</span>
-<p class="level1">Introduced in 7.15.4
-<p class="level0"><a name="CURLOPTCONVTONETWORKFUNCTION"></a><span class="nroffip">CURLOPT_CONV_TO_NETWORK_FUNCTION</span>
-<p class="level1">Introduced in 7.15.4
-<p class="level0"><a name="CURLOPTCOOKIE"></a><span class="nroffip">CURLOPT_COOKIE</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTCOOKIEFILE"></a><span class="nroffip">CURLOPT_COOKIEFILE</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTCOOKIEJAR"></a><span class="nroffip">CURLOPT_COOKIEJAR</span>
-<p class="level1">Introduced in 7.9
-<p class="level0"><a name="CURLOPTCOOKIELIST"></a><span class="nroffip">CURLOPT_COOKIELIST</span>
-<p class="level1">Introduced in 7.14.1
-<p class="level0"><a name="CURLOPTCOOKIESESSION"></a><span class="nroffip">CURLOPT_COOKIESESSION</span>
-<p class="level1">Introduced in 7.9.7
-<p class="level0"><a name="CURLOPTCOPYPOSTFIELDS"></a><span class="nroffip">CURLOPT_COPYPOSTFIELDS</span>
-<p class="level1">Introduced in 7.17.1
-<p class="level0"><a name="CURLOPTCRLF"></a><span class="nroffip">CURLOPT_CRLF</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTCRLFILE"></a><span class="nroffip">CURLOPT_CRLFILE</span>
-<p class="level1">Introduced in 7.19.0
-<p class="level0"><a name="CURLOPTCUSTOMREQUEST"></a><span class="nroffip">CURLOPT_CUSTOMREQUEST</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTDEBUGDATA"></a><span class="nroffip">CURLOPT_DEBUGDATA</span>
-<p class="level1">Introduced in 7.9.6
-<p class="level0"><a name="CURLOPTDEBUGFUNCTION"></a><span class="nroffip">CURLOPT_DEBUGFUNCTION</span>
-<p class="level1">Introduced in 7.9.6
-<p class="level0"><a name="CURLOPTDEFAULTPROTOCOL"></a><span class="nroffip">CURLOPT_DEFAULT_PROTOCOL</span>
-<p class="level1">Introduced in 7.45.0
-<p class="level0"><a name="CURLOPTDIRLISTONLY"></a><span class="nroffip">CURLOPT_DIRLISTONLY</span>
-<p class="level1">Introduced in 7.17.0
-<p class="level0"><a name="CURLOPTDNSCACHETIMEOUT"></a><span class="nroffip">CURLOPT_DNS_CACHE_TIMEOUT</span>
-<p class="level1">Introduced in 7.9.3
-<p class="level0"><a name="CURLOPTDNSINTERFACE"></a><span class="nroffip">CURLOPT_DNS_INTERFACE</span>
-<p class="level1">Introduced in 7.33.0
-<p class="level0"><a name="CURLOPTDNSLOCALIP4"></a><span class="nroffip">CURLOPT_DNS_LOCAL_IP4</span>
-<p class="level1">Introduced in 7.33.0
-<p class="level0"><a name="CURLOPTDNSLOCALIP6"></a><span class="nroffip">CURLOPT_DNS_LOCAL_IP6</span>
-<p class="level1">Introduced in 7.33.0
-<p class="level0"><a name="CURLOPTDNSSERVERS"></a><span class="nroffip">CURLOPT_DNS_SERVERS</span>
-<p class="level1">Introduced in 7.24.0
-<p class="level0"><a name="CURLOPTDNSUSEGLOBALCACHE"></a><span class="nroffip">CURLOPT_DNS_USE_GLOBAL_CACHE</span>
-<p class="level1">Introduced in 7.9.3 Deprecated since 7.11.1
-<p class="level0"><a name="CURLOPTEGDSOCKET"></a><span class="nroffip">CURLOPT_EGDSOCKET</span>
-<p class="level1">Introduced in 7.7
-<p class="level0"><a name="CURLOPTENCODING"></a><span class="nroffip">CURLOPT_ENCODING</span>
-<p class="level1">Introduced in 7.10
-<p class="level0"><a name="CURLOPTERRORBUFFER"></a><span class="nroffip">CURLOPT_ERRORBUFFER</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTEXPECT100TIMEOUTMS"></a><span class="nroffip">CURLOPT_EXPECT_100_TIMEOUT_MS</span>
-<p class="level1">Introduced in 7.36.0
-<p class="level0"><a name="CURLOPTFAILONERROR"></a><span class="nroffip">CURLOPT_FAILONERROR</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTFILE"></a><span class="nroffip">CURLOPT_FILE</span>
-<p class="level1">Introduced in 7.1 Deprecated since 7.9.7
-<p class="level0"><a name="CURLOPTFILETIME"></a><span class="nroffip">CURLOPT_FILETIME</span>
-<p class="level1">Introduced in 7.5
-<p class="level0"><a name="CURLOPTFNMATCHDATA"></a><span class="nroffip">CURLOPT_FNMATCH_DATA</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLOPTFNMATCHFUNCTION"></a><span class="nroffip">CURLOPT_FNMATCH_FUNCTION</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLOPTFOLLOWLOCATION"></a><span class="nroffip">CURLOPT_FOLLOWLOCATION</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTFORBIDREUSE"></a><span class="nroffip">CURLOPT_FORBID_REUSE</span>
-<p class="level1">Introduced in 7.7
-<p class="level0"><a name="CURLOPTFRESHCONNECT"></a><span class="nroffip">CURLOPT_FRESH_CONNECT</span>
-<p class="level1">Introduced in 7.7
-<p class="level0"><a name="CURLOPTFTPAPPEND"></a><span class="nroffip">CURLOPT_FTPAPPEND</span>
-<p class="level1">Introduced in 7.1 Deprecated since 7.16.4
-<p class="level0"><a name="CURLOPTFTPASCII"></a><span class="nroffip">CURLOPT_FTPASCII</span>
-<p class="level1">Introduced in 7.1 Deprecated since 7.11.1 Last used in 7.11.1
-<p class="level0"><a name="CURLOPTFTPLISTONLY"></a><span class="nroffip">CURLOPT_FTPLISTONLY</span>
-<p class="level1">Introduced in 7.1 Deprecated since 7.16.4
-<p class="level0"><a name="CURLOPTFTPPORT"></a><span class="nroffip">CURLOPT_FTPPORT</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTFTPSSLAUTH"></a><span class="nroffip">CURLOPT_FTPSSLAUTH</span>
-<p class="level1">Introduced in 7.12.2
-<p class="level0"><a name="CURLOPTFTPACCOUNT"></a><span class="nroffip">CURLOPT_FTP_ACCOUNT</span>
-<p class="level1">Introduced in 7.13.0
-<p class="level0"><a name="CURLOPTFTPALTERNATIVETOUSER"></a><span class="nroffip">CURLOPT_FTP_ALTERNATIVE_TO_USER</span>
-<p class="level1">Introduced in 7.15.5
-<p class="level0"><a name="CURLOPTFTPCREATEMISSINGDIRS"></a><span class="nroffip">CURLOPT_FTP_CREATE_MISSING_DIRS</span>
-<p class="level1">Introduced in 7.10.7
-<p class="level0"><a name="CURLOPTFTPFILEMETHOD"></a><span class="nroffip">CURLOPT_FTP_FILEMETHOD</span>
-<p class="level1">Introduced in 7.15.1
-<p class="level0"><a name="CURLOPTFTPRESPONSETIMEOUT"></a><span class="nroffip">CURLOPT_FTP_RESPONSE_TIMEOUT</span>
-<p class="level1">Introduced in 7.10.8
-<p class="level0"><a name="CURLOPTFTPSKIPPASVIP"></a><span class="nroffip">CURLOPT_FTP_SKIP_PASV_IP</span>
-<p class="level1">Introduced in 7.15.0
-<p class="level0"><a name="CURLOPTFTPSSL"></a><span class="nroffip">CURLOPT_FTP_SSL</span>
-<p class="level1">Introduced in 7.11.0 Deprecated since 7.16.4
-<p class="level0"><a name="CURLOPTFTPSSLCCC"></a><span class="nroffip">CURLOPT_FTP_SSL_CCC</span>
-<p class="level1">Introduced in 7.16.1
-<p class="level0"><a name="CURLOPTFTPUSEEPRT"></a><span class="nroffip">CURLOPT_FTP_USE_EPRT</span>
-<p class="level1">Introduced in 7.10.5
-<p class="level0"><a name="CURLOPTFTPUSEEPSV"></a><span class="nroffip">CURLOPT_FTP_USE_EPSV</span>
-<p class="level1">Introduced in 7.9.2
-<p class="level0"><a name="CURLOPTFTPUSEPRET"></a><span class="nroffip">CURLOPT_FTP_USE_PRET</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLOPTGSSAPIDELEGATION"></a><span class="nroffip">CURLOPT_GSSAPI_DELEGATION</span>
-<p class="level1">Introduced in 7.22.0
-<p class="level0"><a name="CURLOPTHEADER"></a><span class="nroffip">CURLOPT_HEADER</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTHEADERDATA"></a><span class="nroffip">CURLOPT_HEADERDATA</span>
-<p class="level1">Introduced in 7.10
-<p class="level0"><a name="CURLOPTHEADERFUNCTION"></a><span class="nroffip">CURLOPT_HEADERFUNCTION</span>
-<p class="level1">Introduced in 7.7.2
-<p class="level0"><a name="CURLOPTHEADEROPT"></a><span class="nroffip">CURLOPT_HEADEROPT</span>
-<p class="level1">Introduced in 7.37.0
-<p class="level0"><a name="CURLOPTHTTP200ALIASES"></a><span class="nroffip">CURLOPT_HTTP200ALIASES</span>
-<p class="level1">Introduced in 7.10.3
-<p class="level0"><a name="CURLOPTHTTPAUTH"></a><span class="nroffip">CURLOPT_HTTPAUTH</span>
-<p class="level1">Introduced in 7.10.6
-<p class="level0"><a name="CURLOPTHTTPGET"></a><span class="nroffip">CURLOPT_HTTPGET</span>
-<p class="level1">Introduced in 7.8.1
-<p class="level0"><a name="CURLOPTHTTPHEADER"></a><span class="nroffip">CURLOPT_HTTPHEADER</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTHTTPPOST"></a><span class="nroffip">CURLOPT_HTTPPOST</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTHTTPPROXYTUNNEL"></a><span class="nroffip">CURLOPT_HTTPPROXYTUNNEL</span>
-<p class="level1">Introduced in 7.3
-<p class="level0"><a name="CURLOPTHTTPREQUEST"></a><span class="nroffip">CURLOPT_HTTPREQUEST</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTHTTPCONTENTDECODING"></a><span class="nroffip">CURLOPT_HTTP_CONTENT_DECODING</span>
-<p class="level1">Introduced in 7.16.2
-<p class="level0"><a name="CURLOPTHTTPTRANSFERDECODING"></a><span class="nroffip">CURLOPT_HTTP_TRANSFER_DECODING</span>
-<p class="level1">Introduced in 7.16.2
-<p class="level0"><a name="CURLOPTHTTPVERSION"></a><span class="nroffip">CURLOPT_HTTP_VERSION</span>
-<p class="level1">Introduced in 7.9.1
-<p class="level0"><a name="CURLOPTIGNORECONTENTLENGTH"></a><span class="nroffip">CURLOPT_IGNORE_CONTENT_LENGTH</span>
-<p class="level1">Introduced in 7.14.1
-<p class="level0"><a name="CURLOPTINFILE"></a><span class="nroffip">CURLOPT_INFILE</span>
-<p class="level1">Introduced in 7.1 Deprecated since 7.9.7
-<p class="level0"><a name="CURLOPTINFILESIZE"></a><span class="nroffip">CURLOPT_INFILESIZE</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTINFILESIZELARGE"></a><span class="nroffip">CURLOPT_INFILESIZE_LARGE</span>
-<p class="level1">Introduced in 7.11.0
-<p class="level0"><a name="CURLOPTINTERFACE"></a><span class="nroffip">CURLOPT_INTERFACE</span>
-<p class="level1">Introduced in 7.3
-<p class="level0"><a name="CURLOPTINTERLEAVEDATA"></a><span class="nroffip">CURLOPT_INTERLEAVEDATA</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLOPTINTERLEAVEFUNCTION"></a><span class="nroffip">CURLOPT_INTERLEAVEFUNCTION</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLOPTIOCTLDATA"></a><span class="nroffip">CURLOPT_IOCTLDATA</span>
-<p class="level1">Introduced in 7.12.3
-<p class="level0"><a name="CURLOPTIOCTLFUNCTION"></a><span class="nroffip">CURLOPT_IOCTLFUNCTION</span>
-<p class="level1">Introduced in 7.12.3
-<p class="level0"><a name="CURLOPTIPRESOLVE"></a><span class="nroffip">CURLOPT_IPRESOLVE</span>
-<p class="level1">Introduced in 7.10.8
-<p class="level0"><a name="CURLOPTISSUERCERT"></a><span class="nroffip">CURLOPT_ISSUERCERT</span>
-<p class="level1">Introduced in 7.19.0
-<p class="level0"><a name="CURLOPTKEYPASSWD"></a><span class="nroffip">CURLOPT_KEYPASSWD</span>
-<p class="level1">Introduced in 7.17.0
-<p class="level0"><a name="CURLOPTKRB4LEVEL"></a><span class="nroffip">CURLOPT_KRB4LEVEL</span>
-<p class="level1">Introduced in 7.3 Deprecated since 7.17.0
-<p class="level0"><a name="CURLOPTKRBLEVEL"></a><span class="nroffip">CURLOPT_KRBLEVEL</span>
-<p class="level1">Introduced in 7.16.4
-<p class="level0"><a name="CURLOPTLOCALPORT"></a><span class="nroffip">CURLOPT_LOCALPORT</span>
-<p class="level1">Introduced in 7.15.2
-<p class="level0"><a name="CURLOPTLOCALPORTRANGE"></a><span class="nroffip">CURLOPT_LOCALPORTRANGE</span>
-<p class="level1">Introduced in 7.15.2
-<p class="level0"><a name="CURLOPTLOGINOPTIONS"></a><span class="nroffip">CURLOPT_LOGIN_OPTIONS</span>
-<p class="level1">Introduced in 7.34.0
-<p class="level0"><a name="CURLOPTLOWSPEEDLIMIT"></a><span class="nroffip">CURLOPT_LOW_SPEED_LIMIT</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTLOWSPEEDTIME"></a><span class="nroffip">CURLOPT_LOW_SPEED_TIME</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTMAILAUTH"></a><span class="nroffip">CURLOPT_MAIL_AUTH</span>
-<p class="level1">Introduced in 7.25.0
-<p class="level0"><a name="CURLOPTMAILFROM"></a><span class="nroffip">CURLOPT_MAIL_FROM</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLOPTMAILRCPT"></a><span class="nroffip">CURLOPT_MAIL_RCPT</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLOPTMAXCONNECTS"></a><span class="nroffip">CURLOPT_MAXCONNECTS</span>
-<p class="level1">Introduced in 7.7
-<p class="level0"><a name="CURLOPTMAXFILESIZE"></a><span class="nroffip">CURLOPT_MAXFILESIZE</span>
-<p class="level1">Introduced in 7.10.8
-<p class="level0"><a name="CURLOPTMAXFILESIZELARGE"></a><span class="nroffip">CURLOPT_MAXFILESIZE_LARGE</span>
-<p class="level1">Introduced in 7.11.0
-<p class="level0"><a name="CURLOPTMAXREDIRS"></a><span class="nroffip">CURLOPT_MAXREDIRS</span>
-<p class="level1">Introduced in 7.5
-<p class="level0"><a name="CURLOPTMAXRECVSPEEDLARGE"></a><span class="nroffip">CURLOPT_MAX_RECV_SPEED_LARGE</span>
-<p class="level1">Introduced in 7.15.5
-<p class="level0"><a name="CURLOPTMAXSENDSPEEDLARGE"></a><span class="nroffip">CURLOPT_MAX_SEND_SPEED_LARGE</span>
-<p class="level1">Introduced in 7.15.5
-<p class="level0"><a name="CURLOPTMUTE"></a><span class="nroffip">CURLOPT_MUTE</span>
-<p class="level1">Introduced in 7.1 Deprecated since 7.8 Last used in 7.8
-<p class="level0"><a name="CURLOPTNETRC"></a><span class="nroffip">CURLOPT_NETRC</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTNETRCFILE"></a><span class="nroffip">CURLOPT_NETRC_FILE</span>
-<p class="level1">Introduced in 7.11.0
-<p class="level0"><a name="CURLOPTNEWDIRECTORYPERMS"></a><span class="nroffip">CURLOPT_NEW_DIRECTORY_PERMS</span>
-<p class="level1">Introduced in 7.16.4
-<p class="level0"><a name="CURLOPTNEWFILEPERMS"></a><span class="nroffip">CURLOPT_NEW_FILE_PERMS</span>
-<p class="level1">Introduced in 7.16.4
-<p class="level0"><a name="CURLOPTNOBODY"></a><span class="nroffip">CURLOPT_NOBODY</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTNOPROGRESS"></a><span class="nroffip">CURLOPT_NOPROGRESS</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTNOPROXY"></a><span class="nroffip">CURLOPT_NOPROXY</span>
-<p class="level1">Introduced in 7.19.4
-<p class="level0"><a name="CURLOPTNOSIGNAL"></a><span class="nroffip">CURLOPT_NOSIGNAL</span>
-<p class="level1">Introduced in 7.10
-<p class="level0"><a name="CURLOPTNOTHING"></a><span class="nroffip">CURLOPT_NOTHING</span>
-<p class="level1">Introduced in 7.1.1 Deprecated since 7.11.1 Last used in 7.11.1
-<p class="level0"><a name="CURLOPTOPENSOCKETDATA"></a><span class="nroffip">CURLOPT_OPENSOCKETDATA</span>
-<p class="level1">Introduced in 7.17.1
-<p class="level0"><a name="CURLOPTOPENSOCKETFUNCTION"></a><span class="nroffip">CURLOPT_OPENSOCKETFUNCTION</span>
-<p class="level1">Introduced in 7.17.1
-<p class="level0"><a name="CURLOPTPASSWDDATA"></a><span class="nroffip">CURLOPT_PASSWDDATA</span>
-<p class="level1">Introduced in 7.4.2 Deprecated since 7.11.1 Last used in 7.11.1
-<p class="level0"><a name="CURLOPTPASSWDFUNCTION"></a><span class="nroffip">CURLOPT_PASSWDFUNCTION</span>
-<p class="level1">Introduced in 7.4.2 Deprecated since 7.11.1 Last used in 7.11.1
-<p class="level0"><a name="CURLOPTPASSWORD"></a><span class="nroffip">CURLOPT_PASSWORD</span>
-<p class="level1">Introduced in 7.19.1
-<p class="level0"><a name="CURLOPTPASVHOST"></a><span class="nroffip">CURLOPT_PASV_HOST</span>
-<p class="level1">Introduced in 7.12.1 Deprecated since 7.16.0 Last used in 7.16.0
-<p class="level0"><a name="CURLOPTPATHASIS"></a><span class="nroffip">CURLOPT_PATH_AS_IS</span>
-<p class="level1">Introduced in 7.42.0
-<p class="level0"><a name="CURLOPTPINNEDPUBLICKEY"></a><span class="nroffip">CURLOPT_PINNEDPUBLICKEY</span>
-<p class="level1">Introduced in 7.39.0
-<p class="level0"><a name="CURLOPTPIPEWAIT"></a><span class="nroffip">CURLOPT_PIPEWAIT</span>
-<p class="level1">Introduced in 7.43.0
-<p class="level0"><a name="CURLOPTPORT"></a><span class="nroffip">CURLOPT_PORT</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTPOST"></a><span class="nroffip">CURLOPT_POST</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTPOST301"></a><span class="nroffip">CURLOPT_POST301</span>
-<p class="level1">Introduced in 7.17.1 Deprecated since 7.19.1
-<p class="level0"><a name="CURLOPTPOSTFIELDS"></a><span class="nroffip">CURLOPT_POSTFIELDS</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTPOSTFIELDSIZE"></a><span class="nroffip">CURLOPT_POSTFIELDSIZE</span>
-<p class="level1">Introduced in 7.2
-<p class="level0"><a name="CURLOPTPOSTFIELDSIZELARGE"></a><span class="nroffip">CURLOPT_POSTFIELDSIZE_LARGE</span>
-<p class="level1">Introduced in 7.11.1
-<p class="level0"><a name="CURLOPTPOSTQUOTE"></a><span class="nroffip">CURLOPT_POSTQUOTE</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTPOSTREDIR"></a><span class="nroffip">CURLOPT_POSTREDIR</span>
-<p class="level1">Introduced in 7.19.1
-<p class="level0"><a name="CURLOPTPREQUOTE"></a><span class="nroffip">CURLOPT_PREQUOTE</span>
-<p class="level1">Introduced in 7.9.5
-<p class="level0"><a name="CURLOPTPRIVATE"></a><span class="nroffip">CURLOPT_PRIVATE</span>
-<p class="level1">Introduced in 7.10.3
-<p class="level0"><a name="CURLOPTPROGRESSDATA"></a><span class="nroffip">CURLOPT_PROGRESSDATA</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTPROGRESSFUNCTION"></a><span class="nroffip">CURLOPT_PROGRESSFUNCTION</span>
-<p class="level1">Introduced in 7.1 Deprecated since 7.32.0
-<p class="level0"><a name="CURLOPTPROTOCOLS"></a><span class="nroffip">CURLOPT_PROTOCOLS</span>
-<p class="level1">Introduced in 7.19.4
-<p class="level0"><a name="CURLOPTPROXY"></a><span class="nroffip">CURLOPT_PROXY</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTPROXYAUTH"></a><span class="nroffip">CURLOPT_PROXYAUTH</span>
-<p class="level1">Introduced in 7.10.7
-<p class="level0"><a name="CURLOPTPROXYHEADER"></a><span class="nroffip">CURLOPT_PROXYHEADER</span>
-<p class="level1">Introduced in 7.37.0
-<p class="level0"><a name="CURLOPTPROXYPASSWORD"></a><span class="nroffip">CURLOPT_PROXYPASSWORD</span>
-<p class="level1">Introduced in 7.19.1
-<p class="level0"><a name="CURLOPTPROXYPORT"></a><span class="nroffip">CURLOPT_PROXYPORT</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTPROXYTYPE"></a><span class="nroffip">CURLOPT_PROXYTYPE</span>
-<p class="level1">Introduced in 7.10
-<p class="level0"><a name="CURLOPTPROXYUSERNAME"></a><span class="nroffip">CURLOPT_PROXYUSERNAME</span>
-<p class="level1">Introduced in 7.19.1
-<p class="level0"><a name="CURLOPTPROXYUSERPWD"></a><span class="nroffip">CURLOPT_PROXYUSERPWD</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTPROXYSERVICENAME"></a><span class="nroffip">CURLOPT_PROXY_SERVICE_NAME</span>
-<p class="level1">Introduced in 7.43.0
-<p class="level0"><a name="CURLOPTPROXYTRANSFERMODE"></a><span class="nroffip">CURLOPT_PROXY_TRANSFER_MODE</span>
-<p class="level1">Introduced in 7.18.0
-<p class="level0"><a name="CURLOPTPUT"></a><span class="nroffip">CURLOPT_PUT</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTQUOTE"></a><span class="nroffip">CURLOPT_QUOTE</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTRANDOMFILE"></a><span class="nroffip">CURLOPT_RANDOM_FILE</span>
-<p class="level1">Introduced in 7.7
-<p class="level0"><a name="CURLOPTRANGE"></a><span class="nroffip">CURLOPT_RANGE</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTREADDATA"></a><span class="nroffip">CURLOPT_READDATA</span>
-<p class="level1">Introduced in 7.9.7
-<p class="level0"><a name="CURLOPTREADFUNCTION"></a><span class="nroffip">CURLOPT_READFUNCTION</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTREDIRPROTOCOLS"></a><span class="nroffip">CURLOPT_REDIR_PROTOCOLS</span>
-<p class="level1">Introduced in 7.19.4
-<p class="level0"><a name="CURLOPTREFERER"></a><span class="nroffip">CURLOPT_REFERER</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTRESOLVE"></a><span class="nroffip">CURLOPT_RESOLVE</span>
-<p class="level1">Introduced in 7.21.3
-<p class="level0"><a name="CURLOPTRESUMEFROM"></a><span class="nroffip">CURLOPT_RESUME_FROM</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTRESUMEFROMLARGE"></a><span class="nroffip">CURLOPT_RESUME_FROM_LARGE</span>
-<p class="level1">Introduced in 7.11.0
-<p class="level0"><a name="CURLOPTRTSPHEADER"></a><span class="nroffip">CURLOPT_RTSPHEADER</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLOPTRTSPCLIENTCSEQ"></a><span class="nroffip">CURLOPT_RTSP_CLIENT_CSEQ</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLOPTRTSPREQUEST"></a><span class="nroffip">CURLOPT_RTSP_REQUEST</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLOPTRTSPSERVERCSEQ"></a><span class="nroffip">CURLOPT_RTSP_SERVER_CSEQ</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLOPTRTSPSESSIONID"></a><span class="nroffip">CURLOPT_RTSP_SESSION_ID</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLOPTRTSPSTREAMURI"></a><span class="nroffip">CURLOPT_RTSP_STREAM_URI</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLOPTRTSPTRANSPORT"></a><span class="nroffip">CURLOPT_RTSP_TRANSPORT</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLOPTSASLIR"></a><span class="nroffip">CURLOPT_SASL_IR</span>
-<p class="level1">Introduced in 7.31.0
-<p class="level0"><a name="CURLOPTSEEKDATA"></a><span class="nroffip">CURLOPT_SEEKDATA</span>
-<p class="level1">Introduced in 7.18.0
-<p class="level0"><a name="CURLOPTSEEKFUNCTION"></a><span class="nroffip">CURLOPT_SEEKFUNCTION</span>
-<p class="level1">Introduced in 7.18.0
-<p class="level0"><a name="CURLOPTSERVERRESPONSETIMEOUT"></a><span class="nroffip">CURLOPT_SERVER_RESPONSE_TIMEOUT</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLOPTSERVICENAME"></a><span class="nroffip">CURLOPT_SERVICE_NAME</span>
-<p class="level1">Introduced in 7.43.0
-<p class="level0"><a name="CURLOPTSHARE"></a><span class="nroffip">CURLOPT_SHARE</span>
-<p class="level1">Introduced in 7.10
-<p class="level0"><a name="CURLOPTSOCKOPTDATA"></a><span class="nroffip">CURLOPT_SOCKOPTDATA</span>
-<p class="level1">Introduced in 7.16.0
-<p class="level0"><a name="CURLOPTSOCKOPTFUNCTION"></a><span class="nroffip">CURLOPT_SOCKOPTFUNCTION</span>
-<p class="level1">Introduced in 7.16.0
-<p class="level0"><a name="CURLOPTSOCKS5GSSAPINEC"></a><span class="nroffip">CURLOPT_SOCKS5_GSSAPI_NEC</span>
-<p class="level1">Introduced in 7.19.4
-<p class="level0"><a name="CURLOPTSOCKS5GSSAPISERVICE"></a><span class="nroffip">CURLOPT_SOCKS5_GSSAPI_SERVICE</span>
-<p class="level1">Introduced in 7.19.4 Deprecated since 7.49.0
-<p class="level0"><a name="CURLOPTSOURCEHOST"></a><span class="nroffip">CURLOPT_SOURCE_HOST</span>
-<p class="level1">Introduced in 7.12.1
-<p class="level0"><a name="CURLOPTSOURCEPATH"></a><span class="nroffip">CURLOPT_SOURCE_PATH</span>
-<p class="level1">Introduced in 7.12.1
-<p class="level0"><a name="CURLOPTSOURCEPORT"></a><span class="nroffip">CURLOPT_SOURCE_PORT</span>
-<p class="level1">Introduced in 7.12.1
-<p class="level0"><a name="CURLOPTSOURCEPOSTQUOTE"></a><span class="nroffip">CURLOPT_SOURCE_POSTQUOTE</span>
-<p class="level1">Introduced in 7.12.1
-<p class="level0"><a name="CURLOPTSOURCEPREQUOTE"></a><span class="nroffip">CURLOPT_SOURCE_PREQUOTE</span>
-<p class="level1">Introduced in 7.12.1
-<p class="level0"><a name="CURLOPTSOURCEQUOTE"></a><span class="nroffip">CURLOPT_SOURCE_QUOTE</span>
-<p class="level1">Introduced in 7.13.0
-<p class="level0"><a name="CURLOPTSOURCEURL"></a><span class="nroffip">CURLOPT_SOURCE_URL</span>
-<p class="level1">Introduced in 7.13.0
-<p class="level0"><a name="CURLOPTSOURCEUSERPWD"></a><span class="nroffip">CURLOPT_SOURCE_USERPWD</span>
-<p class="level1">Introduced in 7.12.1
-<p class="level0"><a name="CURLOPTSSHAUTHTYPES"></a><span class="nroffip">CURLOPT_SSH_AUTH_TYPES</span>
-<p class="level1">Introduced in 7.16.1
-<p class="level0"><a name="CURLOPTSSHHOSTPUBLICKEYMD5"></a><span class="nroffip">CURLOPT_SSH_HOST_PUBLIC_KEY_MD5</span>
-<p class="level1">Introduced in 7.17.1
-<p class="level0"><a name="CURLOPTSSHKEYDATA"></a><span class="nroffip">CURLOPT_SSH_KEYDATA</span>
-<p class="level1">Introduced in 7.19.6
-<p class="level0"><a name="CURLOPTSSHKEYFUNCTION"></a><span class="nroffip">CURLOPT_SSH_KEYFUNCTION</span>
-<p class="level1">Introduced in 7.19.6
-<p class="level0"><a name="CURLOPTSSHKNOWNHOSTS"></a><span class="nroffip">CURLOPT_SSH_KNOWNHOSTS</span>
-<p class="level1">Introduced in 7.19.6
-<p class="level0"><a name="CURLOPTSSHPRIVATEKEYFILE"></a><span class="nroffip">CURLOPT_SSH_PRIVATE_KEYFILE</span>
-<p class="level1">Introduced in 7.16.1
-<p class="level0"><a name="CURLOPTSSHPUBLICKEYFILE"></a><span class="nroffip">CURLOPT_SSH_PUBLIC_KEYFILE</span>
-<p class="level1">Introduced in 7.16.1
-<p class="level0"><a name="CURLOPTSSLCERT"></a><span class="nroffip">CURLOPT_SSLCERT</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTSSLCERTPASSWD"></a><span class="nroffip">CURLOPT_SSLCERTPASSWD</span>
-<p class="level1">Introduced in 7.1.1 Deprecated since 7.17.0
-<p class="level0"><a name="CURLOPTSSLCERTTYPE"></a><span class="nroffip">CURLOPT_SSLCERTTYPE</span>
-<p class="level1">Introduced in 7.9.3
-<p class="level0"><a name="CURLOPTSSLENGINE"></a><span class="nroffip">CURLOPT_SSLENGINE</span>
-<p class="level1">Introduced in 7.9.3
-<p class="level0"><a name="CURLOPTSSLENGINEDEFAULT"></a><span class="nroffip">CURLOPT_SSLENGINE_DEFAULT</span>
-<p class="level1">Introduced in 7.9.3
-<p class="level0"><a name="CURLOPTSSLKEY"></a><span class="nroffip">CURLOPT_SSLKEY</span>
-<p class="level1">Introduced in 7.9.3
-<p class="level0"><a name="CURLOPTSSLKEYPASSWD"></a><span class="nroffip">CURLOPT_SSLKEYPASSWD</span>
-<p class="level1">Introduced in 7.9.3 Deprecated since 7.17.0
-<p class="level0"><a name="CURLOPTSSLKEYTYPE"></a><span class="nroffip">CURLOPT_SSLKEYTYPE</span>
-<p class="level1">Introduced in 7.9.3
-<p class="level0"><a name="CURLOPTSSLVERSION"></a><span class="nroffip">CURLOPT_SSLVERSION</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTSSLCIPHERLIST"></a><span class="nroffip">CURLOPT_SSL_CIPHER_LIST</span>
-<p class="level1">Introduced in 7.9
-<p class="level0"><a name="CURLOPTSSLCTXDATA"></a><span class="nroffip">CURLOPT_SSL_CTX_DATA</span>
-<p class="level1">Introduced in 7.10.6
-<p class="level0"><a name="CURLOPTSSLCTXFUNCTION"></a><span class="nroffip">CURLOPT_SSL_CTX_FUNCTION</span>
-<p class="level1">Introduced in 7.10.6
-<p class="level0"><a name="CURLOPTSSLENABLEALPN"></a><span class="nroffip">CURLOPT_SSL_ENABLE_ALPN</span>
-<p class="level1">Introduced in 7.36.0
-<p class="level0"><a name="CURLOPTSSLENABLENPN"></a><span class="nroffip">CURLOPT_SSL_ENABLE_NPN</span>
-<p class="level1">Introduced in 7.36.0
-<p class="level0"><a name="CURLOPTSSLFALSESTART"></a><span class="nroffip">CURLOPT_SSL_FALSESTART</span>
-<p class="level1">Introduced in 7.42.0
-<p class="level0"><a name="CURLOPTSSLOPTIONS"></a><span class="nroffip">CURLOPT_SSL_OPTIONS</span>
-<p class="level1">Introduced in 7.25.0
-<p class="level0"><a name="CURLOPTSSLSESSIONIDCACHE"></a><span class="nroffip">CURLOPT_SSL_SESSIONID_CACHE</span>
-<p class="level1">Introduced in 7.16.0
-<p class="level0"><a name="CURLOPTSSLVERIFYHOST"></a><span class="nroffip">CURLOPT_SSL_VERIFYHOST</span>
-<p class="level1">Introduced in 7.8.1
-<p class="level0"><a name="CURLOPTSSLVERIFYPEER"></a><span class="nroffip">CURLOPT_SSL_VERIFYPEER</span>
-<p class="level1">Introduced in 7.4.2
-<p class="level0"><a name="CURLOPTSSLVERIFYSTATUS"></a><span class="nroffip">CURLOPT_SSL_VERIFYSTATUS</span>
-<p class="level1">Introduced in 7.41.0
-<p class="level0"><a name="CURLOPTSTDERR"></a><span class="nroffip">CURLOPT_STDERR</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTSTREAMDEPENDS"></a><span class="nroffip">CURLOPT_STREAM_DEPENDS</span>
-<p class="level1">Introduced in 7.46.0
-<p class="level0"><a name="CURLOPTSTREAMDEPENDSE"></a><span class="nroffip">CURLOPT_STREAM_DEPENDS_E</span>
-<p class="level1">Introduced in 7.46.0
-<p class="level0"><a name="CURLOPTSTREAMWEIGHT"></a><span class="nroffip">CURLOPT_STREAM_WEIGHT</span>
-<p class="level1">Introduced in 7.46.0
-<p class="level0"><a name="CURLOPTTCPKEEPALIVE"></a><span class="nroffip">CURLOPT_TCP_KEEPALIVE</span>
-<p class="level1">Introduced in 7.25.0
-<p class="level0"><a name="CURLOPTTCPKEEPIDLE"></a><span class="nroffip">CURLOPT_TCP_KEEPIDLE</span>
-<p class="level1">Introduced in 7.25.0
-<p class="level0"><a name="CURLOPTTCPKEEPINTVL"></a><span class="nroffip">CURLOPT_TCP_KEEPINTVL</span>
-<p class="level1">Introduced in 7.25.0
-<p class="level0"><a name="CURLOPTTCPNODELAY"></a><span class="nroffip">CURLOPT_TCP_NODELAY</span>
-<p class="level1">Introduced in 7.11.2
-<p class="level0"><a name="CURLOPTTCPFASTOPEN"></a><span class="nroffip">CURLOPT_TCP_FASTOPEN</span>
-<p class="level1">Introduced in 7.49.0
-<p class="level0"><a name="CURLOPTTELNETOPTIONS"></a><span class="nroffip">CURLOPT_TELNETOPTIONS</span>
-<p class="level1">Introduced in 7.7
-<p class="level0"><a name="CURLOPTTFTPBLKSIZE"></a><span class="nroffip">CURLOPT_TFTP_BLKSIZE</span>
-<p class="level1">Introduced in 7.19.4
-<p class="level0"><a name="CURLOPTTFTPNOOPTIONS"></a><span class="nroffip">CURLOPT_TFTP_NO_OPTIONS</span>
-<p class="level1">Introduced in 7.48.0
-<p class="level0"><a name="CURLOPTTIMECONDITION"></a><span class="nroffip">CURLOPT_TIMECONDITION</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTTIMEOUT"></a><span class="nroffip">CURLOPT_TIMEOUT</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTTIMEOUTMS"></a><span class="nroffip">CURLOPT_TIMEOUT_MS</span>
-<p class="level1">Introduced in 7.16.2
-<p class="level0"><a name="CURLOPTTIMEVALUE"></a><span class="nroffip">CURLOPT_TIMEVALUE</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTTLSAUTHPASSWORD"></a><span class="nroffip">CURLOPT_TLSAUTH_PASSWORD</span>
-<p class="level1">Introduced in 7.21.4
-<p class="level0"><a name="CURLOPTTLSAUTHTYPE"></a><span class="nroffip">CURLOPT_TLSAUTH_TYPE</span>
-<p class="level1">Introduced in 7.21.4
-<p class="level0"><a name="CURLOPTTLSAUTHUSERNAME"></a><span class="nroffip">CURLOPT_TLSAUTH_USERNAME</span>
-<p class="level1">Introduced in 7.21.4
-<p class="level0"><a name="CURLOPTTRANSFERTEXT"></a><span class="nroffip">CURLOPT_TRANSFERTEXT</span>
-<p class="level1">Introduced in 7.1.1
-<p class="level0"><a name="CURLOPTTRANSFERENCODING"></a><span class="nroffip">CURLOPT_TRANSFER_ENCODING</span>
-<p class="level1">Introduced in 7.21.6
-<p class="level0"><a name="CURLOPTUNIXSOCKETPATH"></a><span class="nroffip">CURLOPT_UNIX_SOCKET_PATH</span>
-<p class="level1">Introduced in 7.40.0
-<p class="level0"><a name="CURLOPTUNRESTRICTEDAUTH"></a><span class="nroffip">CURLOPT_UNRESTRICTED_AUTH</span>
-<p class="level1">Introduced in 7.10.4
-<p class="level0"><a name="CURLOPTUPLOAD"></a><span class="nroffip">CURLOPT_UPLOAD</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTURL"></a><span class="nroffip">CURLOPT_URL</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTUSERAGENT"></a><span class="nroffip">CURLOPT_USERAGENT</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTUSERNAME"></a><span class="nroffip">CURLOPT_USERNAME</span>
-<p class="level1">Introduced in 7.19.1
-<p class="level0"><a name="CURLOPTUSERPWD"></a><span class="nroffip">CURLOPT_USERPWD</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTUSESSL"></a><span class="nroffip">CURLOPT_USE_SSL</span>
-<p class="level1">Introduced in 7.17.0
-<p class="level0"><a name="CURLOPTVERBOSE"></a><span class="nroffip">CURLOPT_VERBOSE</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTWILDCARDMATCH"></a><span class="nroffip">CURLOPT_WILDCARDMATCH</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLOPTWRITEDATA"></a><span class="nroffip">CURLOPT_WRITEDATA</span>
-<p class="level1">Introduced in 7.9.7
-<p class="level0"><a name="CURLOPTWRITEFUNCTION"></a><span class="nroffip">CURLOPT_WRITEFUNCTION</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTWRITEHEADER"></a><span class="nroffip">CURLOPT_WRITEHEADER</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTWRITEINFO"></a><span class="nroffip">CURLOPT_WRITEINFO</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLOPTXFERINFODATA"></a><span class="nroffip">CURLOPT_XFERINFODATA</span>
-<p class="level1">Introduced in 7.32.0
-<p class="level0"><a name="CURLOPTXFERINFOFUNCTION"></a><span class="nroffip">CURLOPT_XFERINFOFUNCTION</span>
-<p class="level1">Introduced in 7.32.0
-<p class="level0"><a name="CURLOPTXOAUTH2BEARER"></a><span class="nroffip">CURLOPT_XOAUTH2_BEARER</span>
-<p class="level1">Introduced in 7.33.0
-<p class="level0"><a name="CURLPAUSEALL"></a><span class="nroffip">CURLPAUSE_ALL</span>
-<p class="level1">Introduced in 7.18.0
-<p class="level0"><a name="CURLPAUSECONT"></a><span class="nroffip">CURLPAUSE_CONT</span>
-<p class="level1">Introduced in 7.18.0
-<p class="level0"><a name="CURLPAUSERECV"></a><span class="nroffip">CURLPAUSE_RECV</span>
-<p class="level1">Introduced in 7.18.0
-<p class="level0"><a name="CURLPAUSERECVCONT"></a><span class="nroffip">CURLPAUSE_RECV_CONT</span>
-<p class="level1">Introduced in 7.18.0
-<p class="level0"><a name="CURLPAUSESEND"></a><span class="nroffip">CURLPAUSE_SEND</span>
-<p class="level1">Introduced in 7.18.0
-<p class="level0"><a name="CURLPAUSESENDCONT"></a><span class="nroffip">CURLPAUSE_SEND_CONT</span>
-<p class="level1">Introduced in 7.18.0
-<p class="level0"><a name="CURLPIPEHTTP1"></a><span class="nroffip">CURLPIPE_HTTP1</span>
-<p class="level1">Introduced in 7.43.0
-<p class="level0"><a name="CURLPIPEMULTIPLEX"></a><span class="nroffip">CURLPIPE_MULTIPLEX</span>
-<p class="level1">Introduced in 7.43.0
-<p class="level0"><a name="CURLPIPENOTHING"></a><span class="nroffip">CURLPIPE_NOTHING</span>
-<p class="level1">Introduced in 7.43.0
-<p class="level0"><a name="CURLPROTOALL"></a><span class="nroffip">CURLPROTO_ALL</span>
-<p class="level1">Introduced in 7.19.4
-<p class="level0"><a name="CURLPROTODICT"></a><span class="nroffip">CURLPROTO_DICT</span>
-<p class="level1">Introduced in 7.19.4
-<p class="level0"><a name="CURLPROTOFILE"></a><span class="nroffip">CURLPROTO_FILE</span>
-<p class="level1">Introduced in 7.19.4
-<p class="level0"><a name="CURLPROTOFTP"></a><span class="nroffip">CURLPROTO_FTP</span>
-<p class="level1">Introduced in 7.19.4
-<p class="level0"><a name="CURLPROTOFTPS"></a><span class="nroffip">CURLPROTO_FTPS</span>
-<p class="level1">Introduced in 7.19.4
-<p class="level0"><a name="CURLPROTOGOPHER"></a><span class="nroffip">CURLPROTO_GOPHER</span>
-<p class="level1">Introduced in 7.21.2
-<p class="level0"><a name="CURLPROTOHTTP"></a><span class="nroffip">CURLPROTO_HTTP</span>
-<p class="level1">Introduced in 7.19.4
-<p class="level0"><a name="CURLPROTOHTTPS"></a><span class="nroffip">CURLPROTO_HTTPS</span>
-<p class="level1">Introduced in 7.19.4
-<p class="level0"><a name="CURLPROTOIMAP"></a><span class="nroffip">CURLPROTO_IMAP</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLPROTOIMAPS"></a><span class="nroffip">CURLPROTO_IMAPS</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLPROTOLDAP"></a><span class="nroffip">CURLPROTO_LDAP</span>
-<p class="level1">Introduced in 7.19.4
-<p class="level0"><a name="CURLPROTOLDAPS"></a><span class="nroffip">CURLPROTO_LDAPS</span>
-<p class="level1">Introduced in 7.19.4
-<p class="level0"><a name="CURLPROTOPOP3"></a><span class="nroffip">CURLPROTO_POP3</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLPROTOPOP3S"></a><span class="nroffip">CURLPROTO_POP3S</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLPROTORTMP"></a><span class="nroffip">CURLPROTO_RTMP</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLPROTORTMPE"></a><span class="nroffip">CURLPROTO_RTMPE</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLPROTORTMPS"></a><span class="nroffip">CURLPROTO_RTMPS</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLPROTORTMPT"></a><span class="nroffip">CURLPROTO_RTMPT</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLPROTORTMPTE"></a><span class="nroffip">CURLPROTO_RTMPTE</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLPROTORTMPTS"></a><span class="nroffip">CURLPROTO_RTMPTS</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLPROTORTSP"></a><span class="nroffip">CURLPROTO_RTSP</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLPROTOSCP"></a><span class="nroffip">CURLPROTO_SCP</span>
-<p class="level1">Introduced in 7.19.4
-<p class="level0"><a name="CURLPROTOSFTP"></a><span class="nroffip">CURLPROTO_SFTP</span>
-<p class="level1">Introduced in 7.19.4
-<p class="level0"><a name="CURLPROTOSMB"></a><span class="nroffip">CURLPROTO_SMB</span>
-<p class="level1">Introduced in 7.40.0
-<p class="level0"><a name="CURLPROTOSMBS"></a><span class="nroffip">CURLPROTO_SMBS</span>
-<p class="level1">Introduced in 7.40.0
-<p class="level0"><a name="CURLPROTOSMTP"></a><span class="nroffip">CURLPROTO_SMTP</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLPROTOSMTPS"></a><span class="nroffip">CURLPROTO_SMTPS</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLPROTOTELNET"></a><span class="nroffip">CURLPROTO_TELNET</span>
-<p class="level1">Introduced in 7.19.4
-<p class="level0"><a name="CURLPROTOTFTP"></a><span class="nroffip">CURLPROTO_TFTP</span>
-<p class="level1">Introduced in 7.19.4
-<p class="level0"><a name="CURLPROXYHTTP"></a><span class="nroffip">CURLPROXY_HTTP</span>
-<p class="level1">Introduced in 7.10
-<p class="level0"><a name="CURLPROXYHTTP10"></a><span class="nroffip">CURLPROXY_HTTP_1_0</span>
-<p class="level1">Introduced in 7.19.4
-<p class="level0"><a name="CURLPROXYSOCKS4"></a><span class="nroffip">CURLPROXY_SOCKS4</span>
-<p class="level1">Introduced in 7.10
-<p class="level0"><a name="CURLPROXYSOCKS4A"></a><span class="nroffip">CURLPROXY_SOCKS4A</span>
-<p class="level1">Introduced in 7.18.0
-<p class="level0"><a name="CURLPROXYSOCKS5"></a><span class="nroffip">CURLPROXY_SOCKS5</span>
-<p class="level1">Introduced in 7.10
-<p class="level0"><a name="CURLPROXYSOCKS5HOSTNAME"></a><span class="nroffip">CURLPROXY_SOCKS5_HOSTNAME</span>
-<p class="level1">Introduced in 7.18.0
-<p class="level0"><a name="CURLSHEBADOPTION"></a><span class="nroffip">CURLSHE_BAD_OPTION</span>
-<p class="level1">Introduced in 7.10.3
-<p class="level0"><a name="CURLSHEINVALID"></a><span class="nroffip">CURLSHE_INVALID</span>
-<p class="level1">Introduced in 7.10.3
-<p class="level0"><a name="CURLSHEINUSE"></a><span class="nroffip">CURLSHE_IN_USE</span>
-<p class="level1">Introduced in 7.10.3
-<p class="level0"><a name="CURLSHENOMEM"></a><span class="nroffip">CURLSHE_NOMEM</span>
-<p class="level1">Introduced in 7.12.0
-<p class="level0"><a name="CURLSHENOTBUILTIN"></a><span class="nroffip">CURLSHE_NOT_BUILT_IN</span>
-<p class="level1">Introduced in 7.23.0
-<p class="level0"><a name="CURLSHEOK"></a><span class="nroffip">CURLSHE_OK</span>
-<p class="level1">Introduced in 7.10.3
-<p class="level0"><a name="CURLSHOPTLOCKFUNC"></a><span class="nroffip">CURLSHOPT_LOCKFUNC</span>
-<p class="level1">Introduced in 7.10.3
-<p class="level0"><a name="CURLSHOPTNONE"></a><span class="nroffip">CURLSHOPT_NONE</span>
-<p class="level1">Introduced in 7.10.3
-<p class="level0"><a name="CURLSHOPTSHARE"></a><span class="nroffip">CURLSHOPT_SHARE</span>
-<p class="level1">Introduced in 7.10.3
-<p class="level0"><a name="CURLSHOPTUNLOCKFUNC"></a><span class="nroffip">CURLSHOPT_UNLOCKFUNC</span>
-<p class="level1">Introduced in 7.10.3
-<p class="level0"><a name="CURLSHOPTUNSHARE"></a><span class="nroffip">CURLSHOPT_UNSHARE</span>
-<p class="level1">Introduced in 7.10.3
-<p class="level0"><a name="CURLSHOPTUSERDATA"></a><span class="nroffip">CURLSHOPT_USERDATA</span>
-<p class="level1">Introduced in 7.10.3
-<p class="level0"><a name="CURLSOCKTYPEACCEPT"></a><span class="nroffip">CURLSOCKTYPE_ACCEPT</span>
-<p class="level1">Introduced in 7.28.0
-<p class="level0"><a name="CURLSOCKTYPEIPCXN"></a><span class="nroffip">CURLSOCKTYPE_IPCXN</span>
-<p class="level1">Introduced in 7.16.0
-<p class="level0"><a name="CURLSSHAUTHAGENT"></a><span class="nroffip">CURLSSH_AUTH_AGENT</span>
-<p class="level1">Introduced in 7.28.0
-<p class="level0"><a name="CURLSSHAUTHANY"></a><span class="nroffip">CURLSSH_AUTH_ANY</span>
-<p class="level1">Introduced in 7.16.1
-<p class="level0"><a name="CURLSSHAUTHDEFAULT"></a><span class="nroffip">CURLSSH_AUTH_DEFAULT</span>
-<p class="level1">Introduced in 7.16.1
-<p class="level0"><a name="CURLSSHAUTHHOST"></a><span class="nroffip">CURLSSH_AUTH_HOST</span>
-<p class="level1">Introduced in 7.16.1
-<p class="level0"><a name="CURLSSHAUTHKEYBOARD"></a><span class="nroffip">CURLSSH_AUTH_KEYBOARD</span>
-<p class="level1">Introduced in 7.16.1
-<p class="level0"><a name="CURLSSHAUTHNONE"></a><span class="nroffip">CURLSSH_AUTH_NONE</span>
-<p class="level1">Introduced in 7.16.1
-<p class="level0"><a name="CURLSSHAUTHPASSWORD"></a><span class="nroffip">CURLSSH_AUTH_PASSWORD</span>
-<p class="level1">Introduced in 7.16.1
-<p class="level0"><a name="CURLSSHAUTHPUBLICKEY"></a><span class="nroffip">CURLSSH_AUTH_PUBLICKEY</span>
-<p class="level1">Introduced in 7.16.1
-<p class="level0"><a name="CURLSSLBACKENDAXTLS"></a><span class="nroffip">CURLSSLBACKEND_AXTLS</span>
-<p class="level1">Introduced in 7.38.0
-<p class="level0"><a name="CURLSSLBACKENDBORINGSSL"></a><span class="nroffip">CURLSSLBACKEND_BORINGSSL</span>
-<p class="level1">Introduced in 7.49.0
-<p class="level0"><a name="CURLSSLBACKENDCYASSL"></a><span class="nroffip">CURLSSLBACKEND_CYASSL</span>
-<p class="level1">Introduced in 7.34.0
-<p class="level0"><a name="CURLSSLBACKENDDARWINSSL"></a><span class="nroffip">CURLSSLBACKEND_DARWINSSL</span>
-<p class="level1">Introduced in 7.34.0
-<p class="level0"><a name="CURLSSLBACKENDGNUTLS"></a><span class="nroffip">CURLSSLBACKEND_GNUTLS</span>
-<p class="level1">Introduced in 7.34.0
-<p class="level0"><a name="CURLSSLBACKENDGSKIT"></a><span class="nroffip">CURLSSLBACKEND_GSKIT</span>
-<p class="level1">Introduced in 7.34.0
-<p class="level0"><a name="CURLSSLBACKENDLIBRESSL"></a><span class="nroffip">CURLSSLBACKEND_LIBRESSL</span>
-<p class="level1">Introduced in 7.49.0
-<p class="level0"><a name="CURLSSLBACKENDMBEDTLS"></a><span class="nroffip">CURLSSLBACKEND_MBEDTLS</span>
-<p class="level1">Introduced in 7.46.0
-<p class="level0"><a name="CURLSSLBACKENDNONE"></a><span class="nroffip">CURLSSLBACKEND_NONE</span>
-<p class="level1">Introduced in 7.34.0
-<p class="level0"><a name="CURLSSLBACKENDNSS"></a><span class="nroffip">CURLSSLBACKEND_NSS</span>
-<p class="level1">Introduced in 7.34.0
-<p class="level0"><a name="CURLSSLBACKENDOPENSSL"></a><span class="nroffip">CURLSSLBACKEND_OPENSSL</span>
-<p class="level1">Introduced in 7.34.0
-<p class="level0"><a name="CURLSSLBACKENDPOLARSSL"></a><span class="nroffip">CURLSSLBACKEND_POLARSSL</span>
-<p class="level1">Introduced in 7.34.0
-<p class="level0"><a name="CURLSSLBACKENDQSOSSL"></a><span class="nroffip">CURLSSLBACKEND_QSOSSL</span>
-<p class="level1">Introduced in 7.34.0
-<p class="level0"><a name="CURLSSLBACKENDSCHANNEL"></a><span class="nroffip">CURLSSLBACKEND_SCHANNEL</span>
-<p class="level1">Introduced in 7.34.0
-<p class="level0"><a name="CURLSSLBACKENDWOLFSSL"></a><span class="nroffip">CURLSSLBACKEND_WOLFSSL</span>
-<p class="level1">Introduced in 7.49.0
-<p class="level0"><a name="CURLSSLOPTALLOWBEAST"></a><span class="nroffip">CURLSSLOPT_ALLOW_BEAST</span>
-<p class="level1">Introduced in 7.25.0
-<p class="level0"><a name="CURLSSLOPTNOREVOKE"></a><span class="nroffip">CURLSSLOPT_NO_REVOKE</span>
-<p class="level1">Introduced in 7.44.0
-<p class="level0"><a name="CURLUSESSLALL"></a><span class="nroffip">CURLUSESSL_ALL</span>
-<p class="level1">Introduced in 7.17.0
-<p class="level0"><a name="CURLUSESSLCONTROL"></a><span class="nroffip">CURLUSESSL_CONTROL</span>
-<p class="level1">Introduced in 7.17.0
-<p class="level0"><a name="CURLUSESSLNONE"></a><span class="nroffip">CURLUSESSL_NONE</span>
-<p class="level1">Introduced in 7.17.0
-<p class="level0"><a name="CURLUSESSLTRY"></a><span class="nroffip">CURLUSESSL_TRY</span>
-<p class="level1">Introduced in 7.17.0
-<p class="level0"><a name="CURLVERSIONFIRST"></a><span class="nroffip">CURLVERSION_FIRST</span>
-<p class="level1">Introduced in 7.10
-<p class="level0"><a name="CURLVERSIONFOURTH"></a><span class="nroffip">CURLVERSION_FOURTH</span>
-<p class="level1">Introduced in 7.16.1
-<p class="level0"><a name="CURLVERSIONNOW"></a><span class="nroffip">CURLVERSION_NOW</span>
-<p class="level1">Introduced in 7.10
-<p class="level0"><a name="CURLVERSIONSECOND"></a><span class="nroffip">CURLVERSION_SECOND</span>
-<p class="level1">Introduced in 7.11.1
-<p class="level0"><a name="CURLVERSIONTHIRD"></a><span class="nroffip">CURLVERSION_THIRD</span>
-<p class="level1">Introduced in 7.12.0
-<p class="level0"><a name="CURLCHUNKBGNFUNCFAIL"></a><span class="nroffip">CURL_CHUNK_BGN_FUNC_FAIL</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLCHUNKBGNFUNCOK"></a><span class="nroffip">CURL_CHUNK_BGN_FUNC_OK</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLCHUNKBGNFUNCSKIP"></a><span class="nroffip">CURL_CHUNK_BGN_FUNC_SKIP</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLCHUNKENDFUNCFAIL"></a><span class="nroffip">CURL_CHUNK_END_FUNC_FAIL</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLCHUNKENDFUNCOK"></a><span class="nroffip">CURL_CHUNK_END_FUNC_OK</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLCSELECTERR"></a><span class="nroffip">CURL_CSELECT_ERR</span>
-<p class="level1">Introduced in 7.16.3
-<p class="level0"><a name="CURLCSELECTIN"></a><span class="nroffip">CURL_CSELECT_IN</span>
-<p class="level1">Introduced in 7.16.3
-<p class="level0"><a name="CURLCSELECTOUT"></a><span class="nroffip">CURL_CSELECT_OUT</span>
-<p class="level1">Introduced in 7.16.3
-<p class="level0"><a name="CURLDIDMEMORYFUNCTYPEDEFS"></a><span class="nroffip">CURL_DID_MEMORY_FUNC_TYPEDEFS</span>
-<p class="level1">Introduced in 7.49.0
-<p class="level0"><a name="CURLEASYNONE"></a><span class="nroffip">CURL_EASY_NONE</span>
-<p class="level1">Introduced in 7.14.0
-<p class="level0"><a name="CURLEASYTIMEOUT"></a><span class="nroffip">CURL_EASY_TIMEOUT</span>
-<p class="level1">Introduced in 7.14.0
-<p class="level0"><a name="CURLERRORSIZE"></a><span class="nroffip">CURL_ERROR_SIZE</span>
-<p class="level1">Introduced in 7.1
-<p class="level0"><a name="CURLFNMATCHFUNCFAIL"></a><span class="nroffip">CURL_FNMATCHFUNC_FAIL</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLFNMATCHFUNCMATCH"></a><span class="nroffip">CURL_FNMATCHFUNC_MATCH</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLFNMATCHFUNCNOMATCH"></a><span class="nroffip">CURL_FNMATCHFUNC_NOMATCH</span>
-<p class="level1">Introduced in 7.21.0
-<p class="level0"><a name="CURLFORMADDDISABLED"></a><span class="nroffip">CURL_FORMADD_DISABLED</span>
-<p class="level1">Introduced in 7.12.1
-<p class="level0"><a name="CURLFORMADDILLEGALARRAY"></a><span class="nroffip">CURL_FORMADD_ILLEGAL_ARRAY</span>
-<p class="level1">Introduced in 7.9.8
-<p class="level0"><a name="CURLFORMADDINCOMPLETE"></a><span class="nroffip">CURL_FORMADD_INCOMPLETE</span>
-<p class="level1">Introduced in 7.9.8
-<p class="level0"><a name="CURLFORMADDMEMORY"></a><span class="nroffip">CURL_FORMADD_MEMORY</span>
-<p class="level1">Introduced in 7.9.8
-<p class="level0"><a name="CURLFORMADDNULL"></a><span class="nroffip">CURL_FORMADD_NULL</span>
-<p class="level1">Introduced in 7.9.8
-<p class="level0"><a name="CURLFORMADDOK"></a><span class="nroffip">CURL_FORMADD_OK</span>
-<p class="level1">Introduced in 7.9.8
-<p class="level0"><a name="CURLFORMADDOPTIONTWICE"></a><span class="nroffip">CURL_FORMADD_OPTION_TWICE</span>
-<p class="level1">Introduced in 7.9.8
-<p class="level0"><a name="CURLFORMADDUNKNOWNOPTION"></a><span class="nroffip">CURL_FORMADD_UNKNOWN_OPTION</span>
-<p class="level1">Introduced in 7.9.8
-<p class="level0"><a name="CURLGLOBALACKEINTR"></a><span class="nroffip">CURL_GLOBAL_ACK_EINTR</span>
-<p class="level1">Introduced in 7.30.0
-<p class="level0"><a name="CURLGLOBALALL"></a><span class="nroffip">CURL_GLOBAL_ALL</span>
-<p class="level1">Introduced in 7.8
-<p class="level0"><a name="CURLGLOBALDEFAULT"></a><span class="nroffip">CURL_GLOBAL_DEFAULT</span>
-<p class="level1">Introduced in 7.8
-<p class="level0"><a name="CURLGLOBALNOTHING"></a><span class="nroffip">CURL_GLOBAL_NOTHING</span>
-<p class="level1">Introduced in 7.8
-<p class="level0"><a name="CURLGLOBALSSL"></a><span class="nroffip">CURL_GLOBAL_SSL</span>
-<p class="level1">Introduced in 7.8
-<p class="level0"><a name="CURLGLOBALWIN32"></a><span class="nroffip">CURL_GLOBAL_WIN32</span>
-<p class="level1">Introduced in 7.8.1
-<p class="level0"><a name="CURLHTTPPOSTBUFFER"></a><span class="nroffip">CURL_HTTPPOST_BUFFER</span>
-<p class="level1">Introduced in 7.46.0
-<p class="level0"><a name="CURLHTTPPOSTCALLBACK"></a><span class="nroffip">CURL_HTTPPOST_CALLBACK</span>
-<p class="level1">Introduced in 7.46.0
-<p class="level0"><a name="CURLHTTPPOSTFILENAME"></a><span class="nroffip">CURL_HTTPPOST_FILENAME</span>
-<p class="level1">Introduced in 7.46.0
-<p class="level0"><a name="CURLHTTPPOSTLARGE"></a><span class="nroffip">CURL_HTTPPOST_LARGE</span>
-<p class="level1">Introduced in 7.46.0
-<p class="level0"><a name="CURLHTTPPOSTPTRBUFFER"></a><span class="nroffip">CURL_HTTPPOST_PTRBUFFER</span>
-<p class="level1">Introduced in 7.46.0
-<p class="level0"><a name="CURLHTTPPOSTPTRCONTENTS"></a><span class="nroffip">CURL_HTTPPOST_PTRCONTENTS</span>
-<p class="level1">Introduced in 7.46.0
-<p class="level0"><a name="CURLHTTPPOSTPTRNAME"></a><span class="nroffip">CURL_HTTPPOST_PTRNAME</span>
-<p class="level1">Introduced in 7.46.0
-<p class="level0"><a name="CURLHTTPPOSTREADFILE"></a><span class="nroffip">CURL_HTTPPOST_READFILE</span>
-<p class="level1">Introduced in 7.46.0
-<p class="level0"><a name="CURLHTTPVERSION10"></a><span class="nroffip">CURL_HTTP_VERSION_1_0</span>
-<p class="level1">Introduced in 7.9.1
-<p class="level0"><a name="CURLHTTPVERSION11"></a><span class="nroffip">CURL_HTTP_VERSION_1_1</span>
-<p class="level1">Introduced in 7.9.1
-<p class="level0"><a name="CURLHTTPVERSION2"></a><span class="nroffip">CURL_HTTP_VERSION_2</span>
-<p class="level1">Introduced in 7.43.0
-<p class="level0"><a name="CURLHTTPVERSION20"></a><span class="nroffip">CURL_HTTP_VERSION_2_0</span>
-<p class="level1">Introduced in 7.33.0
-<p class="level0"><a name="CURLHTTPVERSION2TLS"></a><span class="nroffip">CURL_HTTP_VERSION_2TLS</span>
-<p class="level1">Introduced in 7.47.0
-<p class="level0"><a name="CURLHTTPVERSION2PRIORKNOWLEDGE"></a><span class="nroffip">CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE</span>
-<p class="level1">Introduced in 7.49.0
-<p class="level0"><a name="CURLHTTPVERSIONNONE"></a><span class="nroffip">CURL_HTTP_VERSION_NONE</span>
-<p class="level1">Introduced in 7.9.1
-<p class="level0"><a name="CURLIPRESOLVEV4"></a><span class="nroffip">CURL_IPRESOLVE_V4</span>
-<p class="level1">Introduced in 7.10.8
-<p class="level0"><a name="CURLIPRESOLVEV6"></a><span class="nroffip">CURL_IPRESOLVE_V6</span>
-<p class="level1">Introduced in 7.10.8
-<p class="level0"><a name="CURLIPRESOLVEWHATEVER"></a><span class="nroffip">CURL_IPRESOLVE_WHATEVER</span>
-<p class="level1">Introduced in 7.10.8
-<p class="level0"><a name="CURLLOCKACCESSNONE"></a><span class="nroffip">CURL_LOCK_ACCESS_NONE</span>
-<p class="level1">Introduced in 7.10.3
-<p class="level0"><a name="CURLLOCKACCESSSHARED"></a><span class="nroffip">CURL_LOCK_ACCESS_SHARED</span>
-<p class="level1">Introduced in 7.10.3
-<p class="level0"><a name="CURLLOCKACCESSSINGLE"></a><span class="nroffip">CURL_LOCK_ACCESS_SINGLE</span>
-<p class="level1">Introduced in 7.10.3
-<p class="level0"><a name="CURLLOCKDATACONNECT"></a><span class="nroffip">CURL_LOCK_DATA_CONNECT</span>
-<p class="level1">Introduced in 7.10.3
-<p class="level0"><a name="CURLLOCKDATACOOKIE"></a><span class="nroffip">CURL_LOCK_DATA_COOKIE</span>
-<p class="level1">Introduced in 7.10.3
-<p class="level0"><a name="CURLLOCKDATADNS"></a><span class="nroffip">CURL_LOCK_DATA_DNS</span>
-<p class="level1">Introduced in 7.10.3
-<p class="level0"><a name="CURLLOCKDATANONE"></a><span class="nroffip">CURL_LOCK_DATA_NONE</span>
-<p class="level1">Introduced in 7.10.3
-<p class="level0"><a name="CURLLOCKDATASHARE"></a><span class="nroffip">CURL_LOCK_DATA_SHARE</span>
-<p class="level1">Introduced in 7.10.4
-<p class="level0"><a name="CURLLOCKDATASSLSESSION"></a><span class="nroffip">CURL_LOCK_DATA_SSL_SESSION</span>
-<p class="level1">Introduced in 7.10.3
-<p class="level0"><a name="CURLLOCKTYPECONNECT"></a><span class="nroffip">CURL_LOCK_TYPE_CONNECT</span>
-<p class="level1">Introduced in 7.10
-<p class="level0"><a name="CURLLOCKTYPECOOKIE"></a><span class="nroffip">CURL_LOCK_TYPE_COOKIE</span>
-<p class="level1">Introduced in 7.10
-<p class="level0"><a name="CURLLOCKTYPEDNS"></a><span class="nroffip">CURL_LOCK_TYPE_DNS</span>
-<p class="level1">Introduced in 7.10
-<p class="level0"><a name="CURLLOCKTYPENONE"></a><span class="nroffip">CURL_LOCK_TYPE_NONE</span>
-<p class="level1">Introduced in 7.10
-<p class="level0"><a name="CURLLOCKTYPESSLSESSION"></a><span class="nroffip">CURL_LOCK_TYPE_SSL_SESSION</span>
-<p class="level1">Introduced in 7.10
-<p class="level0"><a name="CURLMAXHTTPHEADER"></a><span class="nroffip">CURL_MAX_HTTP_HEADER</span>
-<p class="level1">Introduced in 7.19.7
-<p class="level0"><a name="CURLMAXWRITESIZE"></a><span class="nroffip">CURL_MAX_WRITE_SIZE</span>
-<p class="level1">Introduced in 7.9.7
-<p class="level0"><a name="CURLNETRCIGNORED"></a><span class="nroffip">CURL_NETRC_IGNORED</span>
-<p class="level1">Introduced in 7.9.8
-<p class="level0"><a name="CURLNETRCOPTIONAL"></a><span class="nroffip">CURL_NETRC_OPTIONAL</span>
-<p class="level1">Introduced in 7.9.8
-<p class="level0"><a name="CURLNETRCREQUIRED"></a><span class="nroffip">CURL_NETRC_REQUIRED</span>
-<p class="level1">Introduced in 7.9.8
-<p class="level0"><a name="CURLPOLLIN"></a><span class="nroffip">CURL_POLL_IN</span>
-<p class="level1">Introduced in 7.14.0
-<p class="level0"><a name="CURLPOLLINOUT"></a><span class="nroffip">CURL_POLL_INOUT</span>
-<p class="level1">Introduced in 7.14.0
-<p class="level0"><a name="CURLPOLLNONE"></a><span class="nroffip">CURL_POLL_NONE</span>
-<p class="level1">Introduced in 7.14.0
-<p class="level0"><a name="CURLPOLLOUT"></a><span class="nroffip">CURL_POLL_OUT</span>
-<p class="level1">Introduced in 7.14.0
-<p class="level0"><a name="CURLPOLLREMOVE"></a><span class="nroffip">CURL_POLL_REMOVE</span>
-<p class="level1">Introduced in 7.14.0
-<p class="level0"><a name="CURLPROGRESSBAR"></a><span class="nroffip">CURL_PROGRESS_BAR</span>
-<p class="level1">Introduced in 7.1.1
-<p class="level0"><a name="CURLPROGRESSSTATS"></a><span class="nroffip">CURL_PROGRESS_STATS</span>
-<p class="level1">Introduced in 7.1.1
-<p class="level0"><a name="CURLPUSHDENY"></a><span class="nroffip">CURL_PUSH_DENY</span>
-<p class="level1">Introduced in 7.44.0
-<p class="level0"><a name="CURLPUSHOK"></a><span class="nroffip">CURL_PUSH_OK</span>
-<p class="level1">Introduced in 7.44.0
-<p class="level0"><a name="CURLREADFUNCABORT"></a><span class="nroffip">CURL_READFUNC_ABORT</span>
-<p class="level1">Introduced in 7.12.1
-<p class="level0"><a name="CURLREADFUNCPAUSE"></a><span class="nroffip">CURL_READFUNC_PAUSE</span>
-<p class="level1">Introduced in 7.18.0
-<p class="level0"><a name="CURLREDIRGETALL"></a><span class="nroffip">CURL_REDIR_GET_ALL</span>
-<p class="level1">Introduced in 7.19.1
-<p class="level0"><a name="CURLREDIRPOST301"></a><span class="nroffip">CURL_REDIR_POST_301</span>
-<p class="level1">Introduced in 7.19.1
-<p class="level0"><a name="CURLREDIRPOST302"></a><span class="nroffip">CURL_REDIR_POST_302</span>
-<p class="level1">Introduced in 7.19.1
-<p class="level0"><a name="CURLREDIRPOST303"></a><span class="nroffip">CURL_REDIR_POST_303</span>
-<p class="level1">Introduced in 7.25.1
-<p class="level0"><a name="CURLREDIRPOSTALL"></a><span class="nroffip">CURL_REDIR_POST_ALL</span>
-<p class="level1">Introduced in 7.19.1
-<p class="level0"><a name="CURLRTSPREQANNOUNCE"></a><span class="nroffip">CURL_RTSPREQ_ANNOUNCE</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLRTSPREQDESCRIBE"></a><span class="nroffip">CURL_RTSPREQ_DESCRIBE</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLRTSPREQGETPARAMETER"></a><span class="nroffip">CURL_RTSPREQ_GET_PARAMETER</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLRTSPREQNONE"></a><span class="nroffip">CURL_RTSPREQ_NONE</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLRTSPREQOPTIONS"></a><span class="nroffip">CURL_RTSPREQ_OPTIONS</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLRTSPREQPAUSE"></a><span class="nroffip">CURL_RTSPREQ_PAUSE</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLRTSPREQPLAY"></a><span class="nroffip">CURL_RTSPREQ_PLAY</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLRTSPREQRECEIVE"></a><span class="nroffip">CURL_RTSPREQ_RECEIVE</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLRTSPREQRECORD"></a><span class="nroffip">CURL_RTSPREQ_RECORD</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLRTSPREQSETUP"></a><span class="nroffip">CURL_RTSPREQ_SETUP</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLRTSPREQSETPARAMETER"></a><span class="nroffip">CURL_RTSPREQ_SET_PARAMETER</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLRTSPREQTEARDOWN"></a><span class="nroffip">CURL_RTSPREQ_TEARDOWN</span>
-<p class="level1">Introduced in 7.20.0
-<p class="level0"><a name="CURLSEEKFUNCCANTSEEK"></a><span class="nroffip">CURL_SEEKFUNC_CANTSEEK</span>
-<p class="level1">Introduced in 7.19.5
-<p class="level0"><a name="CURLSEEKFUNCFAIL"></a><span class="nroffip">CURL_SEEKFUNC_FAIL</span>
-<p class="level1">Introduced in 7.19.5
-<p class="level0"><a name="CURLSEEKFUNCOK"></a><span class="nroffip">CURL_SEEKFUNC_OK</span>
-<p class="level1">Introduced in 7.19.5
-<p class="level0"><a name="CURLSOCKETBAD"></a><span class="nroffip">CURL_SOCKET_BAD</span>
-<p class="level1">Introduced in 7.14.0
-<p class="level0"><a name="CURLSOCKETTIMEOUT"></a><span class="nroffip">CURL_SOCKET_TIMEOUT</span>
-<p class="level1">Introduced in 7.14.0
-<p class="level0"><a name="CURLSOCKOPTALREADYCONNECTED"></a><span class="nroffip">CURL_SOCKOPT_ALREADY_CONNECTED</span>
-<p class="level1">Introduced in 7.21.5
-<p class="level0"><a name="CURLSOCKOPTERROR"></a><span class="nroffip">CURL_SOCKOPT_ERROR</span>
-<p class="level1">Introduced in 7.21.5
-<p class="level0"><a name="CURLSOCKOPTOK"></a><span class="nroffip">CURL_SOCKOPT_OK</span>
-<p class="level1">Introduced in 7.21.5
-<p class="level0"><a name="CURLSTRICTER"></a><span class="nroffip">CURL_STRICTER</span>
-<p class="level1">Introduced in 7.50.2
-<p class="level0"><a name="CURLSSLVERSIONDEFAULT"></a><span class="nroffip">CURL_SSLVERSION_DEFAULT</span>
-<p class="level1">Introduced in 7.9.2
-<p class="level0"><a name="CURLSSLVERSIONSSL"></a><span class="nroffip">CURL_SSLVERSION_SSL</span>
-<p class="level1">Introduced in
-<p class="level0"><a name="CURLSSLVERSIONSSL"></a><span class="nroffip">CURL_SSLVERSION_SSL</span>
-<p class="level1">Introduced in
-<p class="level0"><a name="CURLSSLVERSIONTLS"></a><span class="nroffip">CURL_SSLVERSION_TLS</span>
-<p class="level1">Introduced in
-<p class="level0"><a name="CURLSSLVERSIONTLS"></a><span class="nroffip">CURL_SSLVERSION_TLS</span>
-<p class="level1">Introduced in
-<p class="level0"><a name="CURLSSLVERSIONTLS"></a><span class="nroffip">CURL_SSLVERSION_TLS</span>
-<p class="level1">Introduced in
-<p class="level0"><a name="CURLSSLVERSIONTLS"></a><span class="nroffip">CURL_SSLVERSION_TLS</span>
-<p class="level1">Introduced in
-<p class="level0"><a name="CURLTIMECONDIFMODSINCE"></a><span class="nroffip">CURL_TIMECOND_IFMODSINCE</span>
-<p class="level1">Introduced in 7.9.7
-<p class="level0"><a name="CURLTIMECONDIFUNMODSINCE"></a><span class="nroffip">CURL_TIMECOND_IFUNMODSINCE</span>
-<p class="level1">Introduced in 7.9.7
-<p class="level0"><a name="CURLTIMECONDLASTMOD"></a><span class="nroffip">CURL_TIMECOND_LASTMOD</span>
-<p class="level1">Introduced in 7.9.7
-<p class="level0"><a name="CURLTIMECONDNONE"></a><span class="nroffip">CURL_TIMECOND_NONE</span>
-<p class="level1">Introduced in 7.9.7
-<p class="level0"><a name="CURLTLSAUTHNONE"></a><span class="nroffip">CURL_TLSAUTH_NONE</span>
-<p class="level1">Introduced in 7.21.4
-<p class="level0"><a name="CURLTLSAUTHSRP"></a><span class="nroffip">CURL_TLSAUTH_SRP</span>
-<p class="level1">Introduced in 7.21.4
-<p class="level0"><a name="CURLVERSIONASYNCHDNS"></a><span class="nroffip">CURL_VERSION_ASYNCHDNS</span>
-<p class="level1">Introduced in 7.10.7
-<p class="level0"><a name="CURLVERSIONCONV"></a><span class="nroffip">CURL_VERSION_CONV</span>
-<p class="level1">Introduced in 7.15.4
-<p class="level0"><a name="CURLVERSIONCURLDEBUG"></a><span class="nroffip">CURL_VERSION_CURLDEBUG</span>
-<p class="level1">Introduced in 7.19.6
-<p class="level0"><a name="CURLVERSIONDEBUG"></a><span class="nroffip">CURL_VERSION_DEBUG</span>
-<p class="level1">Introduced in 7.10.6
-<p class="level0"><a name="CURLVERSIONGSSAPI"></a><span class="nroffip">CURL_VERSION_GSSAPI</span>
-<p class="level1">Introduced in 7.38.0
-<p class="level0"><a name="CURLVERSIONGSSNEGOTIATE"></a><span class="nroffip">CURL_VERSION_GSSNEGOTIATE</span>
-<p class="level1">Introduced in 7.10.6 Deprecated since 7.38.0
-<p class="level0"><a name="CURLVERSIONHTTP2"></a><span class="nroffip">CURL_VERSION_HTTP2</span>
-<p class="level1">Introduced in 7.33.0
-<p class="level0"><a name="CURLVERSIONIDN"></a><span class="nroffip">CURL_VERSION_IDN</span>
-<p class="level1">Introduced in 7.12.0
-<p class="level0"><a name="CURLVERSIONIPV6"></a><span class="nroffip">CURL_VERSION_IPV6</span>
-<p class="level1">Introduced in 7.10
-<p class="level0"><a name="CURLVERSIONKERBEROS4"></a><span class="nroffip">CURL_VERSION_KERBEROS4</span>
-<p class="level1">Introduced in 7.10 Deprecated since 7.33.0
-<p class="level0"><a name="CURLVERSIONKERBEROS5"></a><span class="nroffip">CURL_VERSION_KERBEROS5</span>
-<p class="level1">Introduced in 7.40.0
-<p class="level0"><a name="CURLVERSIONLARGEFILE"></a><span class="nroffip">CURL_VERSION_LARGEFILE</span>
-<p class="level1">Introduced in 7.11.1
-<p class="level0"><a name="CURLVERSIONLIBZ"></a><span class="nroffip">CURL_VERSION_LIBZ</span>
-<p class="level1">Introduced in 7.10
-<p class="level0"><a name="CURLVERSIONNTLM"></a><span class="nroffip">CURL_VERSION_NTLM</span>
-<p class="level1">Introduced in 7.10.6
-<p class="level0"><a name="CURLVERSIONNTLMWB"></a><span class="nroffip">CURL_VERSION_NTLM_WB</span>
-<p class="level1">Introduced in 7.22.0
-<p class="level0"><a name="CURLVERSIONPSL"></a><span class="nroffip">CURL_VERSION_PSL</span>
-<p class="level1">Introduced in 7.47.0
-<p class="level0"><a name="CURLVERSIONSPNEGO"></a><span class="nroffip">CURL_VERSION_SPNEGO</span>
-<p class="level1">Introduced in 7.10.8
-<p class="level0"><a name="CURLVERSIONSSL"></a><span class="nroffip">CURL_VERSION_SSL</span>
-<p class="level1">Introduced in 7.10
-<p class="level0"><a name="CURLVERSIONSSPI"></a><span class="nroffip">CURL_VERSION_SSPI</span>
-<p class="level1">Introduced in 7.13.2
-<p class="level0"><a name="CURLVERSIONTLSAUTHSRP"></a><span class="nroffip">CURL_VERSION_TLSAUTH_SRP</span>
-<p class="level1">Introduced in 7.21.4
-<p class="level0"><a name="CURLVERSIONUNIXSOCKETS"></a><span class="nroffip">CURL_VERSION_UNIX_SOCKETS</span>
-<p class="level1">Introduced in 7.40.0
-<p class="level0"><a name="CURLWAITPOLLIN"></a><span class="nroffip">CURL_WAIT_POLLIN</span>
-<p class="level1">Introduced in 7.28.0
-<p class="level0"><a name="CURLWAITPOLLOUT"></a><span class="nroffip">CURL_WAIT_POLLOUT</span>
-<p class="level1">Introduced in 7.28.0
-<p class="level0"><a name="CURLWAITPOLLPRI"></a><span class="nroffip">CURL_WAIT_POLLPRI</span>
-<p class="level1">Introduced in 7.28.0
-<p class="level0"><a name="CURLWRITEFUNCPAUSE"></a><span class="nroffip">CURL_WRITEFUNC_PAUSE</span>
-<p class="level1">Introduced in 7.18.0 <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/libcurl-symbols.pdf b/docs/libcurl/libcurl-symbols.pdf
deleted file mode 100644
index 48fcc3626..000000000
--- a/docs/libcurl/libcurl-symbols.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/libcurl-thread.html b/docs/libcurl/libcurl-thread.html
deleted file mode 100644
index 2e95750db..000000000
--- a/docs/libcurl/libcurl-thread.html
+++ /dev/null
@@ -1,96 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>libcurl-thread man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">libcurl-thread - libcurl thread safety <a name="Multi-threading"></a><h2 class="nroffsh">Multi-threading with libcurl</h2>
-<p class="level0">libcurl is thread safe but has no internal thread synchronization. You may have to provide your own locking should you meet any of the thread safety exceptions below.
-<p class="level0"><span Class="bold">Handles.</span> You must <span Class="bold">never</span> share the same handle in multiple threads. You can pass the handles around among threads, but you must never use a single handle from more than one thread at any given time.
-<p class="level0"><span Class="bold">Shared objects.</span> You can share certain data between multiple handles by using the share interface but you must provide your own locking and set <a Class="emphasis" href="./curl_share_setopt.html">curl_share_setopt</a> CURLSHOPT_LOCKFUNC and CURLSHOPT_UNLOCKFUNC. <a name="TLS"></a><h2 class="nroffsh">TLS</h2>
-<p class="level0">If you are accessing HTTPS or FTPS URLs in a multi-threaded manner, you are then of course using the underlying SSL library multi-threaded and those libs might have their own requirements on this issue. You may need to provide one or two functions to allow it to function properly:
-<p class="level0"><a name="OpenSSL"></a><span class="nroffip">OpenSSL</span>
-<p class="level1">OpenSSL 1.1.0 "can be safely used in multi-threaded applications provided that support for the underlying OS threading API is built-in."
-<p class="level1"><a href="https://www.openssl.org/docs/manmaster/crypto/threads.html&#35;DESCRIPTION">https://www.openssl.org/docs/manmaster/crypto/threads.html&#35;DESCRIPTION</a>
-<p class="level1">OpenSSL &lt;= 1.0.2 the user must set callbacks.
-<p class="level1"><a href="https://www.openssl.org/docs/man1.0.2/crypto/threads.html&#35;DESCRIPTION">https://www.openssl.org/docs/man1.0.2/crypto/threads.html&#35;DESCRIPTION</a>
-<p class="level1"><a href="https://curl.haxx.se/libcurl/c/opensslthreadlock.html">https://curl.haxx.se/libcurl/c/opensslthreadlock.html</a>
-<p class="level1">
-<p class="level0"><a name="GnuTLS"></a><span class="nroffip">GnuTLS</span>
-<p class="level1"><a href="http://gnutls.org/manual/html_node/Thread-safety.html">http://gnutls.org/manual/html_node/Thread-safety.html</a>
-<p class="level0"><a name="NSS"></a><span class="nroffip">NSS</span>
-<p class="level1">thread-safe already without anything required.
-<p class="level0"><a name="PolarSSL"></a><span class="nroffip">PolarSSL</span>
-<p class="level1">Required actions unknown.
-<p class="level0"><a name="yassl"></a><span class="nroffip">yassl</span>
-<p class="level1">Required actions unknown.
-<p class="level0"><a name="axTLS"></a><span class="nroffip">axTLS</span>
-<p class="level1">Required actions unknown.
-<p class="level0"><a name="Secure-Transport"></a><span class="nroffip">Secure-Transport</span>
-<p class="level1">The engine is used by libcurl in a way that is fully thread-safe.
-<p class="level0"><a name="WinSSL"></a><span class="nroffip">WinSSL</span>
-<p class="level1">The engine is used by libcurl in a way that is fully thread-safe.
-<p class="level0"><a name="wolfSSL"></a><span class="nroffip">wolfSSL</span>
-<p class="level1">The engine is used by libcurl in a way that is fully thread-safe.
-<p class="level0"><a name="BoringSSL"></a><span class="nroffip">BoringSSL</span>
-<p class="level1">The engine is used by libcurl in a way that is fully thread-safe. <a name="Other"></a><h2 class="nroffsh">Other areas of caution</h2>
-<p class="level0">
-<p class="level0"><a name="Signals"></a><span class="nroffip">Signals</span>
-<p class="level1">Signals are used for timing out name resolves (during DNS lookup) - when built without using either the c-ares or threaded resolver backends. When using multiple threads you should set the <span Class="emphasis">CURLOPT_NOSIGNAL(3)</span> option to 1L for all handles. Everything will or might work fine except that timeouts are not honored during the DNS lookup - which you can work around by building libcurl with c-ares support. c-ares is a library that provides asynchronous name resolves. On some platforms, libcurl simply will not function properly multi-threaded unless this option is set.
-<p class="level0"><a name="Name"></a><span class="nroffip">Name resolving</span>
-<p class="level1"><span Class="bold">gethostby* functions and other system calls.</span> These functions, provided by your operating system, must be thread safe. It is very important that libcurl can find and use thread safe versions of these and other system calls, as otherwise it can't function fully thread safe. Some operating systems are known to have faulty thread implementations. We have previously received problem reports on *BSD (at least in the past, they may be working fine these days). Some operating systems that are known to have solid and working thread support are Linux, Solaris and Windows.
-<p class="level0"><a name="curlglobal"></a><span class="nroffip">curl_global_* functions</span>
-<p class="level1">These functions are not thread safe. If you are using libcurl with multiple threads it is especially important that before use you call <a Class="emphasis" href="./curl_global_init.html">curl_global_init</a> or <a Class="emphasis" href="./curl_global_init_mem.html">curl_global_init_mem</a> to explicitly initialize the library and its dependents, rather than rely on the "lazy" fail-safe initialization that takes place the first time <a Class="emphasis" href="./curl_easy_init.html">curl_easy_init</a> is called. For an in-depth explanation refer to <a Class="emphasis" href="./libcurl.html">libcurl</a> section <span Class="bold">GLOBAL CONSTANTS</span>.
-<p class="level0"><a name="Memory"></a><span class="nroffip">Memory functions</span>
-<p class="level1">These functions, provided either by your operating system or your own replacements, must be thread safe. You can use <a Class="emphasis" href="./curl_global_init_mem.html">curl_global_init_mem</a> to set your own replacement memory functions.
-<p class="level0"><a name="Non-safe"></a><span class="nroffip">Non-safe functions</span>
-<p class="level1"><span Class="emphasis">CURLOPT_DNS_USE_GLOBAL_CACHE(3)</span> is not thread-safe. <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/libcurl-thread.pdf b/docs/libcurl/libcurl-thread.pdf
deleted file mode 100644
index bbb99f4ba..000000000
--- a/docs/libcurl/libcurl-thread.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/libcurl-tutorial.html b/docs/libcurl/libcurl-tutorial.html
deleted file mode 100644
index b569c450b..000000000
--- a/docs/libcurl/libcurl-tutorial.html
+++ /dev/null
@@ -1,565 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>libcurl-tutorial man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">libcurl-tutorial - libcurl programming tutorial <a name="Objective"></a><h2 class="nroffsh">Objective</h2>
-<p class="level0">This document attempts to describe the general principles and some basic approaches to consider when programming with libcurl. The text will focus mainly on the C interface but might apply fairly well on other interfaces as well as they usually follow the C one pretty closely.
-<p class="level0">This document will refer to 'the user' as the person writing the source code that uses libcurl. That would probably be you or someone in your position. What will be generally referred to as 'the program' will be the collected source code that you write that is using libcurl for transfers. The program is outside libcurl and libcurl is outside of the program.
-<p class="level0">To get more details on all options and functions described herein, please refer to their respective man pages.
-<p class="level0"><a name="Building"></a><h2 class="nroffsh">Building</h2>
-<p class="level0">There are many different ways to build C programs. This chapter will assume a Unix style build process. If you use a different build system, you can still read this to get general information that may apply to your environment as well.
-<p class="level0"><a name="Compiling"></a><span class="nroffip">Compiling the Program</span>
-<p class="level1">Your compiler needs to know where the libcurl headers are located. Therefore you must set your compiler's include path to point to the directory where you installed them. The 'curl-config'[3] tool can be used to get this information:
-<p class="level1">$ curl-config --cflags
-<p class="level1">
-<p class="level0"><a name="Linking"></a><span class="nroffip">Linking the Program with libcurl</span>
-<p class="level1">When having compiled the program, you need to link your object files to create a single executable. For that to succeed, you need to link with libcurl and possibly also with other libraries that libcurl itself depends on. Like the OpenSSL libraries, but even some standard OS libraries may be needed on the command line. To figure out which flags to use, once again the 'curl-config' tool comes to the rescue:
-<p class="level1">$ curl-config --libs
-<p class="level1">
-<p class="level0"><a name="SSL"></a><span class="nroffip">SSL or Not</span>
-<p class="level1">libcurl can be built and customized in many ways. One of the things that varies from different libraries and builds is the support for SSL-based transfers, like HTTPS and FTPS. If a supported SSL library was detected properly at build-time, libcurl will be built with SSL support. To figure out if an installed libcurl has been built with SSL support enabled, use 'curl-config' like this:
-<p class="level1">$ curl-config --feature
-<p class="level1">And if SSL is supported, the keyword 'SSL' will be written to stdout, possibly together with a few other features that could be either on or off on for different libcurls.
-<p class="level1">See also the "Features libcurl Provides" further down.
-<p class="level0"><a name="autoconf"></a><span class="nroffip">autoconf macro</span>
-<p class="level1">When you write your configure script to detect libcurl and setup variables accordingly, we offer a prewritten macro that probably does everything you need in this area. See docs/libcurl/libcurl.m4 file - it includes docs on how to use it.
-<p class="level1"><a name="Portable"></a><h2 class="nroffsh">Portable Code in a Portable World</h2>
-<p class="level0">The people behind libcurl have put a considerable effort to make libcurl work on a large amount of different operating systems and environments.
-<p class="level0">You program libcurl the same way on all platforms that libcurl runs on. There are only very few minor considerations that differ. If you just make sure to write your code portable enough, you may very well create yourself a very portable program. libcurl shouldn't stop you from that.
-<p class="level0"><a name="Global"></a><h2 class="nroffsh">Global Preparation</h2>
-<p class="level0">The program must initialize some of the libcurl functionality globally. That means it should be done exactly once, no matter how many times you intend to use the library. Once for your program's entire life time. This is done using
-<p class="level0">&nbsp;curl_global_init()
-<p class="level0">and it takes one parameter which is a bit pattern that tells libcurl what to initialize. Using <span Class="emphasis">CURL_GLOBAL_ALL</span> will make it initialize all known internal sub modules, and might be a good default option. The current two bits that are specified are:
-<p class="level1">
-<p class="level0"><a name="CURLGLOBALWIN32"></a><span class="nroffip">CURL_GLOBAL_WIN32</span>
-<p class="level1">which only does anything on Windows machines. When used on a Windows machine, it'll make libcurl initialize the win32 socket stuff. Without having that initialized properly, your program cannot use sockets properly. You should only do this once for each application, so if your program already does this or of another library in use does it, you should not tell libcurl to do this as well.
-<p class="level0"><a name="CURLGLOBALSSL"></a><span class="nroffip">CURL_GLOBAL_SSL</span>
-<p class="level1">which only does anything on libcurls compiled and built SSL-enabled. On these systems, this will make libcurl initialize the SSL library properly for this application. This only needs to be done once for each application so if your program or another library already does this, this bit should not be needed.
-<p class="level0">
-<p class="level0">libcurl has a default protection mechanism that detects if <a Class="emphasis" href="./curl_global_init.html">curl_global_init</a> hasn't been called by the time <a Class="emphasis" href="./curl_easy_perform.html">curl_easy_perform</a> is called and if that is the case, libcurl runs the function itself with a guessed bit pattern. Please note that depending solely on this is not considered nice nor very good.
-<p class="level0">When the program no longer uses libcurl, it should call <a Class="emphasis" href="./curl_global_cleanup.html">curl_global_cleanup</a>, which is the opposite of the init call. It will then do the reversed operations to cleanup the resources the <a Class="emphasis" href="./curl_global_init.html">curl_global_init</a> call initialized.
-<p class="level0">Repeated calls to <a Class="emphasis" href="./curl_global_init.html">curl_global_init</a> and <a Class="emphasis" href="./curl_global_cleanup.html">curl_global_cleanup</a> should be avoided. They should only be called once each.
-<p class="level0"><a name="Features"></a><h2 class="nroffsh">Features libcurl Provides</h2>
-<p class="level0">It is considered best-practice to determine libcurl features at run-time rather than at build-time (if possible of course). By calling <a Class="emphasis" href="./curl_version_info.html">curl_version_info</a> and checking out the details of the returned struct, your program can figure out exactly what the currently running libcurl supports.
-<p class="level0"><a name="Two"></a><h2 class="nroffsh">Two Interfaces</h2>
-<p class="level0">libcurl first introduced the so called easy interface. All operations in the easy interface are prefixed with 'curl_easy'. The easy interface lets you do single transfers with a synchronous and blocking function call.
-<p class="level0">libcurl also offers another interface that allows multiple simultaneous transfers in a single thread, the so called multi interface. More about that interface is detailed in a separate chapter further down. You still need to understand the easy interface first, so please continue reading for better understanding. <a name="Handle"></a><h2 class="nroffsh">Handle the Easy libcurl</h2>
-<p class="level0">To use the easy interface, you must first create yourself an easy handle. You need one handle for each easy session you want to perform. Basically, you should use one handle for every thread you plan to use for transferring. You must never share the same handle in multiple threads.
-<p class="level0">Get an easy handle with
-<p class="level0">&nbsp;easyhandle = curl_easy_init();
-<p class="level0">It returns an easy handle. Using that you proceed to the next step: setting up your preferred actions. A handle is just a logic entity for the upcoming transfer or series of transfers.
-<p class="level0">You set properties and options for this handle using <a Class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt</a>. They control how the subsequent transfer or transfers will be made. Options remain set in the handle until set again to something different. They are sticky. Multiple requests using the same handle will use the same options.
-<p class="level0">If you at any point would like to blank all previously set options for a single easy handle, you can call <a Class="emphasis" href="./curl_easy_reset.html">curl_easy_reset</a> and you can also make a clone of an easy handle (with all its set options) using <a Class="emphasis" href="./curl_easy_duphandle.html">curl_easy_duphandle</a>.
-<p class="level0">Many of the options you set in libcurl are "strings", pointers to data terminated with a zero byte. When you set strings with <a Class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt</a>, libcurl makes its own copy so that they don't need to be kept around in your application after being set[4].
-<p class="level0">One of the most basic properties to set in the handle is the URL. You set your preferred URL to transfer with <span Class="emphasis">CURLOPT_URL(3)</span> in a manner similar to:
-<p class="level0"><pre class="level0">
-&nbsp;curl_easy_setopt(handle, CURLOPT_URL, "http://domain.com/");
-</pre>
-
-<p class="level0">
-<p class="level0">Let's assume for a while that you want to receive data as the URL identifies a remote resource you want to get here. Since you write a sort of application that needs this transfer, I assume that you would like to get the data passed to you directly instead of simply getting it passed to stdout. So, you write your own function that matches this prototype:
-<p class="level0">&nbsp;size_t write_data(void *buffer, size_t size, size_t nmemb, void *userp);
-<p class="level0">You tell libcurl to pass all data to this function by issuing a function similar to this:
-<p class="level0">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_WRITEFUNCTION, write_data);
-<p class="level0">You can control what data your callback function gets in the fourth argument by setting another property:
-<p class="level0">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_WRITEDATA, &internal_struct);
-<p class="level0">Using that property, you can easily pass local data between your application and the function that gets invoked by libcurl. libcurl itself won't touch the data you pass with <span Class="emphasis">CURLOPT_WRITEDATA(3)</span>.
-<p class="level0">libcurl offers its own default internal callback that will take care of the data if you don't set the callback with <span Class="emphasis">CURLOPT_WRITEFUNCTION(3)</span>. It will then simply output the received data to stdout. You can have the default callback write the data to a different file handle by passing a 'FILE *' to a file opened for writing with the <span Class="emphasis">CURLOPT_WRITEDATA(3)</span> option.
-<p class="level0">Now, we need to take a step back and have a deep breath. Here's one of those rare platform-dependent nitpicks. Did you spot it? On some platforms[2], libcurl won't be able to operate on files opened by the program. Thus, if you use the default callback and pass in an open file with <span Class="emphasis">CURLOPT_WRITEDATA(3)</span>, it will crash. You should therefore avoid this to make your program run fine virtually everywhere.
-<p class="level0">(<span Class="emphasis">CURLOPT_WRITEDATA(3)</span> was formerly known as <span Class="emphasis">CURLOPT_FILE</span>. Both names still work and do the same thing).
-<p class="level0">If you're using libcurl as a win32 DLL, you MUST use the <span Class="emphasis">CURLOPT_WRITEFUNCTION(3)</span> if you set <span Class="emphasis">CURLOPT_WRITEDATA(3)</span> - or you will experience crashes.
-<p class="level0">There are of course many more options you can set, and we'll get back to a few of them later. Let's instead continue to the actual transfer:
-<p class="level0">&nbsp;success = curl_easy_perform(easyhandle);
-<p class="level0"><a Class="emphasis" href="./curl_easy_perform.html">curl_easy_perform</a> will connect to the remote site, do the necessary commands and receive the transfer. Whenever it receives data, it calls the callback function we previously set. The function may get one byte at a time, or it may get many kilobytes at once. libcurl delivers as much as possible as often as possible. Your callback function should return the number of bytes it "took care of". If that is not the exact same amount of bytes that was passed to it, libcurl will abort the operation and return with an error code.
-<p class="level0">When the transfer is complete, the function returns a return code that informs you if it succeeded in its mission or not. If a return code isn't enough for you, you can use the <span Class="emphasis">CURLOPT_ERRORBUFFER(3)</span> to point libcurl to a buffer of yours where it'll store a human readable error message as well.
-<p class="level0">If you then want to transfer another file, the handle is ready to be used again. Mind you, it is even preferred that you re-use an existing handle if you intend to make another transfer. libcurl will then attempt to re-use the previous connection.
-<p class="level0">For some protocols, downloading a file can involve a complicated process of logging in, setting the transfer mode, changing the current directory and finally transferring the file data. libcurl takes care of all that complication for you. Given simply the URL to a file, libcurl will take care of all the details needed to get the file moved from one machine to another.
-<p class="level0"><a name="Multi-threading"></a><h2 class="nroffsh">Multi-threading Issues</h2>
-<p class="level0">libcurl is thread safe but there are a few exceptions. Refer to <a Class="emphasis" href="./libcurl-thread.html">libcurl-thread</a> for more information.
-<p class="level0"><a name="When"></a><h2 class="nroffsh">When It Doesn't Work</h2>
-<p class="level0">There will always be times when the transfer fails for some reason. You might have set the wrong libcurl option or misunderstood what the libcurl option actually does, or the remote server might return non-standard replies that confuse the library which then confuses your program.
-<p class="level0">There's one golden rule when these things occur: set the <span Class="emphasis">CURLOPT_VERBOSE(3)</span> option to 1. It'll cause the library to spew out the entire protocol details it sends, some internal info and some received protocol data as well (especially when using FTP). If you're using HTTP, adding the headers in the received output to study is also a clever way to get a better understanding why the server behaves the way it does. Include headers in the normal body output with <span Class="emphasis">CURLOPT_HEADER(3)</span> set 1.
-<p class="level0">Of course, there are bugs left. We need to know about them to be able to fix them, so we're quite dependent on your bug reports! When you do report suspected bugs in libcurl, please include as many details as you possibly can: a protocol dump that <span Class="emphasis">CURLOPT_VERBOSE(3)</span> produces, library version, as much as possible of your code that uses libcurl, operating system name and version, compiler name and version etc.
-<p class="level0">If <span Class="emphasis">CURLOPT_VERBOSE(3)</span> is not enough, you increase the level of debug data your application receive by using the <span Class="emphasis">CURLOPT_DEBUGFUNCTION(3)</span>.
-<p class="level0">Getting some in-depth knowledge about the protocols involved is never wrong, and if you're trying to do funny things, you might very well understand libcurl and how to use it better if you study the appropriate RFC documents at least briefly.
-<p class="level0"><a name="Upload"></a><h2 class="nroffsh">Upload Data to a Remote Site</h2>
-<p class="level0">libcurl tries to keep a protocol independent approach to most transfers, thus uploading to a remote FTP site is very similar to uploading data to a HTTP server with a PUT request.
-<p class="level0">Of course, first you either create an easy handle or you re-use one existing one. Then you set the URL to operate on just like before. This is the remote URL, that we now will upload.
-<p class="level0">Since we write an application, we most likely want libcurl to get the upload data by asking us for it. To make it do that, we set the read callback and the custom pointer libcurl will pass to our read callback. The read callback should have a prototype similar to:
-<p class="level0">&nbsp;size_t function(char *bufptr, size_t size, size_t nitems, void *userp);
-<p class="level0">Where bufptr is the pointer to a buffer we fill in with data to upload and size*nitems is the size of the buffer and therefore also the maximum amount of data we can return to libcurl in this call. The 'userp' pointer is the custom pointer we set to point to a struct of ours to pass private data between the application and the callback.
-<p class="level0">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_READFUNCTION, read_function);
-<p class="level0">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_READDATA, &filedata);
-<p class="level0">Tell libcurl that we want to upload:
-<p class="level0">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_UPLOAD, 1L);
-<p class="level0">A few protocols won't behave properly when uploads are done without any prior knowledge of the expected file size. So, set the upload file size using the <span Class="emphasis">CURLOPT_INFILESIZE_LARGE(3)</span> for all known file sizes like this[1]:
-<p class="level0"><pre class="level0">
-&nbsp;/* in this example, file_size must be an curl_off_t variable */
-&nbsp;curl_easy_setopt(easyhandle, CURLOPT_INFILESIZE_LARGE, file_size);
-</pre>
-
-<p class="level0">
-<p class="level0">When you call <a Class="emphasis" href="./curl_easy_perform.html">curl_easy_perform</a> this time, it'll perform all the necessary operations and when it has invoked the upload it'll call your supplied callback to get the data to upload. The program should return as much data as possible in every invoke, as that is likely to make the upload perform as fast as possible. The callback should return the number of bytes it wrote in the buffer. Returning 0 will signal the end of the upload.
-<p class="level0"><a name="Passwords"></a><h2 class="nroffsh">Passwords</h2>
-<p class="level0">Many protocols use or even require that user name and password are provided to be able to download or upload the data of your choice. libcurl offers several ways to specify them.
-<p class="level0">Most protocols support that you specify the name and password in the URL itself. libcurl will detect this and use them accordingly. This is written like this:
-<p class="level0">&nbsp;protocol://user:password@example.com/path/
-<p class="level0">If you need any odd letters in your user name or password, you should enter them URL encoded, as %XX where XX is a two-digit hexadecimal number.
-<p class="level0">libcurl also provides options to set various passwords. The user name and password as shown embedded in the URL can instead get set with the <span Class="emphasis">CURLOPT_USERPWD(3)</span> option. The argument passed to libcurl should be a char * to a string in the format "user:password". In a manner like this:
-<p class="level0">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_USERPWD, "myname:thesecret");
-<p class="level0">Another case where name and password might be needed at times, is for those users who need to authenticate themselves to a proxy they use. libcurl offers another option for this, the <span Class="emphasis">CURLOPT_PROXYUSERPWD(3)</span>. It is used quite similar to the <span Class="emphasis">CURLOPT_USERPWD(3)</span> option like this:
-<p class="level0">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_PROXYUSERPWD, "myname:thesecret");
-<p class="level0">There's a long time Unix "standard" way of storing FTP user names and passwords, namely in the $HOME/.netrc file. The file should be made private so that only the user may read it (see also the "Security Considerations" chapter), as it might contain the password in plain text. libcurl has the ability to use this file to figure out what set of user name and password to use for a particular host. As an extension to the normal functionality, libcurl also supports this file for non-FTP protocols such as HTTP. To make curl use this file, use the <span Class="emphasis">CURLOPT_NETRC(3)</span> option:
-<p class="level0">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_NETRC, 1L);
-<p class="level0">And a very basic example of how such a .netrc file may look like:
-<p class="level0"><pre class="level0">
-&nbsp;machine myhost.mydomain.com
-&nbsp;login userlogin
-&nbsp;password secretword
-</pre>
-
-<p class="level0">
-<p class="level0">All these examples have been cases where the password has been optional, or at least you could leave it out and have libcurl attempt to do its job without it. There are times when the password isn't optional, like when you're using an SSL private key for secure transfers.
-<p class="level0">To pass the known private key password to libcurl:
-<p class="level0">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_KEYPASSWD, "keypassword");
-<p class="level0"><a name="HTTP"></a><h2 class="nroffsh">HTTP Authentication</h2>
-<p class="level0">The previous chapter showed how to set user name and password for getting URLs that require authentication. When using the HTTP protocol, there are many different ways a client can provide those credentials to the server and you can control which way libcurl will (attempt to) use them. The default HTTP authentication method is called 'Basic', which is sending the name and password in clear-text in the HTTP request, base64-encoded. This is insecure.
-<p class="level0">At the time of this writing, libcurl can be built to use: Basic, Digest, NTLM, Negotiate (SPNEGO). You can tell libcurl which one to use with <span Class="emphasis">CURLOPT_HTTPAUTH(3)</span> as in:
-<p class="level0">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST);
-<p class="level0">And when you send authentication to a proxy, you can also set authentication type the same way but instead with <span Class="emphasis">CURLOPT_PROXYAUTH(3)</span>:
-<p class="level0">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_PROXYAUTH, CURLAUTH_NTLM);
-<p class="level0">Both these options allow you to set multiple types (by ORing them together), to make libcurl pick the most secure one out of the types the server/proxy claims to support. This method does however add a round-trip since libcurl must first ask the server what it supports:
-<p class="level0">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_HTTPAUTH, &nbsp;CURLAUTH_DIGEST|CURLAUTH_BASIC);
-<p class="level0">For convenience, you can use the 'CURLAUTH_ANY' define (instead of a list with specific types) which allows libcurl to use whatever method it wants.
-<p class="level0">When asking for multiple types, libcurl will pick the available one it considers "best" in its own internal order of preference.
-<p class="level0"><a name="HTTP"></a><h2 class="nroffsh">HTTP POSTing</h2>
-<p class="level0">We get many questions regarding how to issue HTTP POSTs with libcurl the proper way. This chapter will thus include examples using both different versions of HTTP POST that libcurl supports.
-<p class="level0">The first version is the simple POST, the most common version, that most HTML pages using the &lt;form&gt; tag uses. We provide a pointer to the data and tell libcurl to post it all to the remote site:
-<p class="level0"><pre class="level0">
-&nbsp; char *data="name=daniel&project=curl";
-&nbsp; curl_easy_setopt(easyhandle, CURLOPT_POSTFIELDS, data);
-&nbsp; curl_easy_setopt(easyhandle, CURLOPT_URL, "http://posthere.com/");
-&nbsp;
-&nbsp; curl_easy_perform(easyhandle); /* post away! */
-</pre>
-
-<p class="level0">
-<p class="level0">Simple enough, huh? Since you set the POST options with the <span Class="emphasis">CURLOPT_POSTFIELDS(3)</span>, this automatically switches the handle to use POST in the upcoming request.
-<p class="level0">Ok, so what if you want to post binary data that also requires you to set the Content-Type: header of the post? Well, binary posts prevent libcurl from being able to do strlen() on the data to figure out the size, so therefore we must tell libcurl the size of the post data. Setting headers in libcurl requests are done in a generic way, by building a list of our own headers and then passing that list to libcurl.
-<p class="level0"><pre class="level0">
-&nbsp;struct curl_slist *headers=NULL;
-&nbsp;headers = curl_slist_append(headers, "Content-Type: text/xml");
-&nbsp;
-&nbsp;/* post binary data */
-&nbsp;curl_easy_setopt(easyhandle, CURLOPT_POSTFIELDS, binaryptr);
-&nbsp;
-&nbsp;/* set the size of the postfields data */
-&nbsp;curl_easy_setopt(easyhandle, CURLOPT_POSTFIELDSIZE, 23L);
-&nbsp;
-&nbsp;/* pass our list of custom made headers */
-&nbsp;curl_easy_setopt(easyhandle, CURLOPT_HTTPHEADER, headers);
-&nbsp;
-&nbsp;curl_easy_perform(easyhandle); /* post away! */
-&nbsp;
-&nbsp;curl_slist_free_all(headers); /* free the header list */
-</pre>
-
-<p class="level0">
-<p class="level0">While the simple examples above cover the majority of all cases where HTTP POST operations are required, they don't do multi-part formposts. Multi-part formposts were introduced as a better way to post (possibly large) binary data and were first documented in the <a href="http://www.ietf.org/rfc/rfc1867.txt">RFC 1867</a> (updated in <a href="http://www.ietf.org/rfc/rfc2388.txt">RFC 2388</a>). They're called multi-part because they're built by a chain of parts, each part being a single unit of data. Each part has its own name and contents. You can in fact create and post a multi-part formpost with the regular libcurl POST support described above, but that would require that you build a formpost yourself and provide to libcurl. To make that easier, libcurl provides <a Class="emphasis" href="./curl_formadd.html">curl_formadd</a>. Using this function, you add parts to the form. When you're done adding parts, you post the whole form.
-<p class="level0">The following example sets two simple text parts with plain textual contents, and then a file with binary contents and uploads the whole thing.
-<p class="level0"><pre class="level0">
-&nbsp;struct curl_httppost *post=NULL;
-&nbsp;struct curl_httppost *last=NULL;
-&nbsp;curl_formadd(&post, &last,
-&nbsp; CURLFORM_COPYNAME, "name",
-&nbsp; CURLFORM_COPYCONTENTS, "daniel", CURLFORM_END);
-&nbsp;curl_formadd(&post, &last,
-&nbsp; CURLFORM_COPYNAME, "project",
-&nbsp; CURLFORM_COPYCONTENTS, "curl", CURLFORM_END);
-&nbsp;curl_formadd(&post, &last,
-&nbsp; CURLFORM_COPYNAME, "logotype-image",
-&nbsp; CURLFORM_FILECONTENT, "curl.png", CURLFORM_END);
-&nbsp;
-&nbsp;/* Set the form info */
-&nbsp;curl_easy_setopt(easyhandle, CURLOPT_HTTPPOST, post);
-&nbsp;
-&nbsp;curl_easy_perform(easyhandle); /* post away! */
-&nbsp;
-&nbsp;/* free the post data again */
-&nbsp;curl_formfree(post);
-</pre>
-
-<p class="level0">
-<p class="level0">Multipart formposts are chains of parts using MIME-style separators and headers. It means that each one of these separate parts get a few headers set that describe the individual content-type, size etc. To enable your application to handicraft this formpost even more, libcurl allows you to supply your own set of custom headers to such an individual form part. You can of course supply headers to as many parts as you like, but this little example will show how you set headers to one specific part when you add that to the post handle:
-<p class="level0"><pre class="level0">
-&nbsp;struct curl_slist *headers=NULL;
-&nbsp;headers = curl_slist_append(headers, "Content-Type: text/xml");
-&nbsp;
-&nbsp;curl_formadd(&post, &last,
-&nbsp; CURLFORM_COPYNAME, "logotype-image",
-&nbsp; CURLFORM_FILECONTENT, "curl.xml",
-&nbsp; CURLFORM_CONTENTHEADER, headers,
-&nbsp; CURLFORM_END);
-&nbsp;
-&nbsp;curl_easy_perform(easyhandle); /* post away! */
-&nbsp;
-&nbsp;curl_formfree(post); /* free post */
-&nbsp;curl_slist_free_all(headers); /* free custom header list */
-</pre>
-
-<p class="level0">
-<p class="level0">Since all options on an easyhandle are "sticky", they remain the same until changed even if you do call <a Class="emphasis" href="./curl_easy_perform.html">curl_easy_perform</a>, you may need to tell curl to go back to a plain GET request if you intend to do one as your next request. You force an easyhandle to go back to GET by using the <span Class="emphasis">CURLOPT_HTTPGET(3)</span> option:
-<p class="level0">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_HTTPGET, 1L);
-<p class="level0">Just setting <span Class="emphasis">CURLOPT_POSTFIELDS(3)</span> to "" or NULL will *not* stop libcurl from doing a POST. It will just make it POST without any data to send!
-<p class="level0"><a name="Showing"></a><h2 class="nroffsh">Showing Progress</h2>
-<p class="level0">
-<p class="level0">For historical and traditional reasons, libcurl has a built-in progress meter that can be switched on and then makes it present a progress meter in your terminal.
-<p class="level0">Switch on the progress meter by, oddly enough, setting <span Class="emphasis">CURLOPT_NOPROGRESS(3)</span> to zero. This option is set to 1 by default.
-<p class="level0">For most applications however, the built-in progress meter is useless and what instead is interesting is the ability to specify a progress callback. The function pointer you pass to libcurl will then be called on irregular intervals with information about the current transfer.
-<p class="level0">Set the progress callback by using <span Class="emphasis">CURLOPT_PROGRESSFUNCTION(3)</span>. And pass a pointer to a function that matches this prototype:
-<p class="level0"><pre class="level0">
-&nbsp;int progress_callback(void *clientp,
-&nbsp; double dltotal,
-&nbsp; double dlnow,
-&nbsp; double ultotal,
-&nbsp; double ulnow);
-</pre>
-
-<p class="level0">
-<p class="level0">If any of the input arguments is unknown, a 0 will be passed. The first argument, the 'clientp' is the pointer you pass to libcurl with <span Class="emphasis">CURLOPT_PROGRESSDATA(3)</span>. libcurl won't touch it.
-<p class="level0"><a name="libcurl"></a><h2 class="nroffsh">libcurl with C++</h2>
-<p class="level0">
-<p class="level0">There's basically only one thing to keep in mind when using C++ instead of C when interfacing libcurl:
-<p class="level0">The callbacks CANNOT be non-static class member functions
-<p class="level0">Example C++ code:
-<p class="level0"><pre class="level0">
-class AClass {
-&nbsp; static size_t write_data(void *ptr, size_t size, size_t nmemb,
-&nbsp; void *ourpointer)
-&nbsp; {
-&nbsp; /* do what you want with the data */
-&nbsp; }
-&nbsp;}
-</pre>
-
-<p class="level0">
-<p class="level0"><a name="Proxies"></a><h2 class="nroffsh">Proxies</h2>
-<p class="level0">
-<p class="level0">What "proxy" means according to Merriam-Webster: "a person authorized to act for another" but also "the agency, function, or office of a deputy who acts as a substitute for another".
-<p class="level0">Proxies are exceedingly common these days. Companies often only offer Internet access to employees through their proxies. Network clients or user-agents ask the proxy for documents, the proxy does the actual request and then it returns them.
-<p class="level0">libcurl supports SOCKS and HTTP proxies. When a given URL is wanted, libcurl will ask the proxy for it instead of trying to connect to the actual host identified in the URL.
-<p class="level0">If you're using a SOCKS proxy, you may find that libcurl doesn't quite support all operations through it.
-<p class="level0">For HTTP proxies: the fact that the proxy is a HTTP proxy puts certain restrictions on what can actually happen. A requested URL that might not be a HTTP URL will be still be passed to the HTTP proxy to deliver back to libcurl. This happens transparently, and an application may not need to know. I say "may", because at times it is very important to understand that all operations over a HTTP proxy use the HTTP protocol. For example, you can't invoke your own custom FTP commands or even proper FTP directory listings.
-<p class="level0">
-<p class="level0"><a name="Proxy"></a><span class="nroffip">Proxy Options</span>
-<p class="level1">
-<p class="level1">To tell libcurl to use a proxy at a given port number:
-<p class="level1">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_PROXY, "proxy-host.com:8080");
-<p class="level1">Some proxies require user authentication before allowing a request, and you pass that information similar to this:
-<p class="level1">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_PROXYUSERPWD, "user:password");
-<p class="level1">If you want to, you can specify the host name only in the <span Class="emphasis">CURLOPT_PROXY(3)</span> option, and set the port number separately with <span Class="emphasis">CURLOPT_PROXYPORT(3)</span>.
-<p class="level1">Tell libcurl what kind of proxy it is with <span Class="emphasis">CURLOPT_PROXYTYPE(3)</span> (if not, it will default to assume a HTTP proxy):
-<p class="level1">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS4);
-<p class="level1">
-<p class="level0"><a name="Environment"></a><span class="nroffip">Environment Variables</span>
-<p class="level1">
-<p class="level1">libcurl automatically checks and uses a set of environment variables to know what proxies to use for certain protocols. The names of the variables are following an ancient de facto standard and are built up as "[protocol]_proxy" (note the lower casing). Which makes the variable 'http_proxy' checked for a name of a proxy to use when the input URL is HTTP. Following the same rule, the variable named 'ftp_proxy' is checked for FTP URLs. Again, the proxies are always HTTP proxies, the different names of the variables simply allows different HTTP proxies to be used.
-<p class="level1">The proxy environment variable contents should be in the format "[protocol://][user:password@]machine[:port]". Where the protocol:// part is simply ignored if present (so <a href="http://proxy">http://proxy</a> and bluerk://proxy will do the same) and the optional port number specifies on which port the proxy operates on the host. If not specified, the internal default port number will be used and that is most likely *not* the one you would like it to be.
-<p class="level1">There are two special environment variables. 'all_proxy' is what sets proxy for any URL in case the protocol specific variable wasn't set, and 'no_proxy' defines a list of hosts that should not use a proxy even though a variable may say so. If 'no_proxy' is a plain asterisk ("*") it matches all hosts.
-<p class="level1">To explicitly disable libcurl's checking for and using the proxy environment variables, set the proxy name to "" - an empty string - with <span Class="emphasis">CURLOPT_PROXY(3)</span>.
-<p class="level0"><a name="SSL"></a><span class="nroffip">SSL and Proxies</span>
-<p class="level1">
-<p class="level1">SSL is for secure point-to-point connections. This involves strong encryption and similar things, which effectively makes it impossible for a proxy to operate as a "man in between" which the proxy's task is, as previously discussed. Instead, the only way to have SSL work over a HTTP proxy is to ask the proxy to tunnel trough everything without being able to check or fiddle with the traffic.
-<p class="level1">Opening an SSL connection over a HTTP proxy is therefor a matter of asking the proxy for a straight connection to the target host on a specified port. This is made with the HTTP request CONNECT. ("please mr proxy, connect me to that remote host").
-<p class="level1">Because of the nature of this operation, where the proxy has no idea what kind of data that is passed in and out through this tunnel, this breaks some of the very few advantages that come from using a proxy, such as caching. Many organizations prevent this kind of tunneling to other destination port numbers than 443 (which is the default HTTPS port number).
-<p class="level1">
-<p class="level0"><a name="Tunneling"></a><span class="nroffip">Tunneling Through Proxy</span>
-<p class="level1">As explained above, tunneling is required for SSL to work and often even restricted to the operation intended for SSL; HTTPS.
-<p class="level1">This is however not the only time proxy-tunneling might offer benefits to you or your application.
-<p class="level1">As tunneling opens a direct connection from your application to the remote machine, it suddenly also re-introduces the ability to do non-HTTP operations over a HTTP proxy. You can in fact use things such as FTP upload or FTP custom commands this way.
-<p class="level1">Again, this is often prevented by the administrators of proxies and is rarely allowed.
-<p class="level1">Tell libcurl to use proxy tunneling like this:
-<p class="level1">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_HTTPPROXYTUNNEL, 1L);
-<p class="level1">In fact, there might even be times when you want to do plain HTTP operations using a tunnel like this, as it then enables you to operate on the remote server instead of asking the proxy to do so. libcurl will not stand in the way for such innovative actions either!
-<p class="level1">
-<p class="level0"><a name="Proxy"></a><span class="nroffip">Proxy Auto-Config</span>
-<p class="level1">
-<p class="level1">Netscape first came up with this. It is basically a web page (usually using a .pac extension) with a Javascript that when executed by the browser with the requested URL as input, returns information to the browser on how to connect to the URL. The returned information might be "DIRECT" (which means no proxy should be used), "PROXY host:port" (to tell the browser where the proxy for this particular URL is) or "SOCKS host:port" (to direct the browser to a SOCKS proxy).
-<p class="level1">libcurl has no means to interpret or evaluate Javascript and thus it doesn't support this. If you get yourself in a position where you face this nasty invention, the following advice have been mentioned and used in the past:
-<p class="level1">- Depending on the Javascript complexity, write up a script that translates it to another language and execute that.
-<p class="level1">- Read the Javascript code and rewrite the same logic in another language.
-<p class="level1">- Implement a Javascript interpreter; people have successfully used the Mozilla Javascript engine in the past.
-<p class="level1">- Ask your admins to stop this, for a static proxy setup or similar.
-<p class="level1"><a name="Persistence"></a><h2 class="nroffsh">Persistence Is The Way to Happiness</h2>
-<p class="level0">
-<p class="level0">Re-cycling the same easy handle several times when doing multiple requests is the way to go.
-<p class="level0">After each single <a Class="emphasis" href="./curl_easy_perform.html">curl_easy_perform</a> operation, libcurl will keep the connection alive and open. A subsequent request using the same easy handle to the same host might just be able to use the already open connection! This reduces network impact a lot.
-<p class="level0">Even if the connection is dropped, all connections involving SSL to the same host again, will benefit from libcurl's session ID cache that drastically reduces re-connection time.
-<p class="level0">FTP connections that are kept alive save a lot of time, as the command- response round-trips are skipped, and also you don't risk getting blocked without permission to login again like on many FTP servers only allowing N persons to be logged in at the same time.
-<p class="level0">libcurl caches DNS name resolving results, to make lookups of a previously looked up name a lot faster.
-<p class="level0">Other interesting details that improve performance for subsequent requests may also be added in the future.
-<p class="level0">Each easy handle will attempt to keep the last few connections alive for a while in case they are to be used again. You can set the size of this "cache" with the <span Class="emphasis">CURLOPT_MAXCONNECTS(3)</span> option. Default is 5. There is very seldom any point in changing this value, and if you think of changing this it is often just a matter of thinking again.
-<p class="level0">To force your upcoming request to not use an already existing connection (it will even close one first if there happens to be one alive to the same host you're about to operate on), you can do that by setting <span Class="emphasis">CURLOPT_FRESH_CONNECT(3)</span> to 1. In a similar spirit, you can also forbid the upcoming request to be "lying" around and possibly get re-used after the request by setting <span Class="emphasis">CURLOPT_FORBID_REUSE(3)</span> to 1.
-<p class="level0"><a name="HTTP"></a><h2 class="nroffsh">HTTP Headers Used by libcurl</h2>
-<p class="level0">When you use libcurl to do HTTP requests, it'll pass along a series of headers automatically. It might be good for you to know and understand these. You can replace or remove them by using the <span Class="emphasis">CURLOPT_HTTPHEADER(3)</span> option.
-<p class="level0">
-<p class="level0"><a name="Host"></a><span class="nroffip">Host</span>
-<p class="level1">This header is required by HTTP 1.1 and even many 1.0 servers and should be the name of the server we want to talk to. This includes the port number if anything but default.
-<p class="level1">
-<p class="level0"><a name="Accept"></a><span class="nroffip">Accept</span>
-<p class="level1">"*/*".
-<p class="level1">
-<p class="level0"><a name="Expect"></a><span class="nroffip">Expect</span>
-<p class="level1">When doing POST requests, libcurl sets this header to "100-continue" to ask the server for an "OK" message before it proceeds with sending the data part of the post. If the POSTed data amount is deemed "small", libcurl will not use this header.
-<p class="level1"><a name="Customizing"></a><h2 class="nroffsh">Customizing Operations</h2>
-<p class="level0">There is an ongoing development today where more and more protocols are built upon HTTP for transport. This has obvious benefits as HTTP is a tested and reliable protocol that is widely deployed and has excellent proxy-support.
-<p class="level0">When you use one of these protocols, and even when doing other kinds of programming you may need to change the traditional HTTP (or FTP or...) manners. You may need to change words, headers or various data.
-<p class="level0">libcurl is your friend here too.
-<p class="level0">
-<p class="level0"><a name="CUSTOMREQUEST"></a><span class="nroffip">CUSTOMREQUEST</span>
-<p class="level1">If just changing the actual HTTP request keyword is what you want, like when GET, HEAD or POST is not good enough for you, <span Class="emphasis">CURLOPT_CUSTOMREQUEST(3)</span> is there for you. It is very simple to use:
-<p class="level1">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_CUSTOMREQUEST, "MYOWNREQUEST");
-<p class="level1">When using the custom request, you change the request keyword of the actual request you are performing. Thus, by default you make a GET request but you can also make a POST operation (as described before) and then replace the POST keyword if you want to. You're the boss.
-<p class="level1">
-<p class="level0"><a name="Modify"></a><span class="nroffip">Modify Headers</span>
-<p class="level1">HTTP-like protocols pass a series of headers to the server when doing the request, and you're free to pass any amount of extra headers that you think fit. Adding headers is this easy:
-<p class="level1"><pre class="level1">
-&nbsp;struct curl_slist *headers=NULL; /* init to NULL is important */
-&nbsp;
-&nbsp;headers = curl_slist_append(headers, "Hey-server-hey: how are you?");
-&nbsp;headers = curl_slist_append(headers, "X-silly-content: yes");
-&nbsp;
-&nbsp;/* pass our list of custom made headers */
-&nbsp;curl_easy_setopt(easyhandle, CURLOPT_HTTPHEADER, headers);
-&nbsp;
-&nbsp;curl_easy_perform(easyhandle); /* transfer http */
-&nbsp;
-&nbsp;curl_slist_free_all(headers); /* free the header list */
-</pre>
-
-<p class="level1">
-<p class="level1">... and if you think some of the internally generated headers, such as Accept: or Host: don't contain the data you want them to contain, you can replace them by simply setting them too:
-<p class="level1"><pre class="level1">
-&nbsp;headers = curl_slist_append(headers, "Accept: Agent-007");
-&nbsp;headers = curl_slist_append(headers, "Host: munged.host.line");
-</pre>
-
-<p class="level1">
-<p class="level1">
-<p class="level0"><a name="Delete"></a><span class="nroffip">Delete Headers</span>
-<p class="level1">If you replace an existing header with one with no contents, you will prevent the header from being sent. For instance, if you want to completely prevent the "Accept:" header from being sent, you can disable it with code similar to this:
-<p class="level1">&nbsp;headers = curl_slist_append(headers, "Accept:");
-<p class="level1">Both replacing and canceling internal headers should be done with careful consideration and you should be aware that you may violate the HTTP protocol when doing so.
-<p class="level1">
-<p class="level0"><a name="Enforcing"></a><span class="nroffip">Enforcing chunked transfer-encoding</span>
-<p class="level1">
-<p class="level1">By making sure a request uses the custom header "Transfer-Encoding: chunked" when doing a non-GET HTTP operation, libcurl will switch over to "chunked" upload, even though the size of the data to upload might be known. By default, libcurl usually switches over to chunked upload automatically if the upload data size is unknown.
-<p class="level1">
-<p class="level0"><a name="HTTP"></a><span class="nroffip">HTTP Version</span>
-<p class="level1">
-<p class="level1">All HTTP requests includes the version number to tell the server which version we support. libcurl speaks HTTP 1.1 by default. Some very old servers don't like getting 1.1-requests and when dealing with stubborn old things like that, you can tell libcurl to use 1.0 instead by doing something like this:
-<p class="level1">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
-<p class="level1">
-<p class="level0"><a name="FTP"></a><span class="nroffip">FTP Custom Commands</span>
-<p class="level1">
-<p class="level1">Not all protocols are HTTP-like, and thus the above may not help you when you want to make, for example, your FTP transfers to behave differently.
-<p class="level1">Sending custom commands to a FTP server means that you need to send the commands exactly as the FTP server expects them (RFC959 is a good guide here), and you can only use commands that work on the control-connection alone. All kinds of commands that require data interchange and thus need a data-connection must be left to libcurl's own judgement. Also be aware that libcurl will do its very best to change directory to the target directory before doing any transfer, so if you change directory (with CWD or similar) you might confuse libcurl and then it might not attempt to transfer the file in the correct remote directory.
-<p class="level1">A little example that deletes a given file before an operation:
-<p class="level1"><pre class="level1">
-&nbsp;headers = curl_slist_append(headers, "DELE file-to-remove");
-&nbsp;
-&nbsp;/* pass the list of custom commands to the handle */
-&nbsp;curl_easy_setopt(easyhandle, CURLOPT_QUOTE, headers);
-&nbsp;
-&nbsp;curl_easy_perform(easyhandle); /* transfer ftp data! */
-&nbsp;
-&nbsp;curl_slist_free_all(headers); /* free the header list */
-</pre>
-
-<p class="level1">
-<p class="level1">If you would instead want this operation (or chain of operations) to happen _after_ the data transfer took place the option to <a Class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt</a> would instead be called <span Class="emphasis">CURLOPT_POSTQUOTE(3)</span> and used the exact same way.
-<p class="level1">The custom FTP command will be issued to the server in the same order they are added to the list, and if a command gets an error code returned back from the server, no more commands will be issued and libcurl will bail out with an error code (CURLE_QUOTE_ERROR). Note that if you use <span Class="emphasis">CURLOPT_QUOTE(3)</span> to send commands before a transfer, no transfer will actually take place when a quote command has failed.
-<p class="level1">If you set the <span Class="emphasis">CURLOPT_HEADER(3)</span> to 1, you will tell libcurl to get information about the target file and output "headers" about it. The headers will be in "HTTP-style", looking like they do in HTTP.
-<p class="level1">The option to enable headers or to run custom FTP commands may be useful to combine with <span Class="emphasis">CURLOPT_NOBODY(3)</span>. If this option is set, no actual file content transfer will be performed.
-<p class="level1">
-<p class="level0"><a name="FTP"></a><span class="nroffip">FTP Custom CUSTOMREQUEST</span>
-<p class="level1">If you do want to list the contents of a FTP directory using your own defined FTP command, <span Class="emphasis">CURLOPT_CUSTOMREQUEST(3)</span> will do just that. "NLST" is the default one for listing directories but you're free to pass in your idea of a good alternative.
-<p class="level1"><a name="Cookies"></a><h2 class="nroffsh">Cookies Without Chocolate Chips</h2>
-<p class="level0">In the HTTP sense, a cookie is a name with an associated value. A server sends the name and value to the client, and expects it to get sent back on every subsequent request to the server that matches the particular conditions set. The conditions include that the domain name and path match and that the cookie hasn't become too old.
-<p class="level0">In real-world cases, servers send new cookies to replace existing ones to update them. Server use cookies to "track" users and to keep "sessions".
-<p class="level0">Cookies are sent from server to clients with the header Set-Cookie: and they're sent from clients to servers with the Cookie: header.
-<p class="level0">To just send whatever cookie you want to a server, you can use <span Class="emphasis">CURLOPT_COOKIE(3)</span> to set a cookie string like this:
-<p class="level0">&nbsp;curl_easy_setopt(easyhandle, CURLOPT_COOKIE, "name1=var1; name2=var2;");
-<p class="level0">In many cases, that is not enough. You might want to dynamically save whatever cookies the remote server passes to you, and make sure those cookies are then used accordingly on later requests.
-<p class="level0">One way to do this, is to save all headers you receive in a plain file and when you make a request, you tell libcurl to read the previous headers to figure out which cookies to use. Set the header file to read cookies from with <span Class="emphasis">CURLOPT_COOKIEFILE(3)</span>.
-<p class="level0">The <span Class="emphasis">CURLOPT_COOKIEFILE(3)</span> option also automatically enables the cookie parser in libcurl. Until the cookie parser is enabled, libcurl will not parse or understand incoming cookies and they will just be ignored. However, when the parser is enabled the cookies will be understood and the cookies will be kept in memory and used properly in subsequent requests when the same handle is used. Many times this is enough, and you may not have to save the cookies to disk at all. Note that the file you specify to <span Class="emphasis">CURLOPT_COOKIEFILE(3)</span> doesn't have to exist to enable the parser, so a common way to just enable the parser and not read any cookies is to use the name of a file you know doesn't exist.
-<p class="level0">If you would rather use existing cookies that you've previously received with your Netscape or Mozilla browsers, you can make libcurl use that cookie file as input. The <span Class="emphasis">CURLOPT_COOKIEFILE(3)</span> is used for that too, as libcurl will automatically find out what kind of file it is and act accordingly.
-<p class="level0">Perhaps the most advanced cookie operation libcurl offers, is saving the entire internal cookie state back into a Netscape/Mozilla formatted cookie file. We call that the cookie-jar. When you set a file name with <span Class="emphasis">CURLOPT_COOKIEJAR(3)</span>, that file name will be created and all received cookies will be stored in it when <a Class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup</a> is called. This enables cookies to get passed on properly between multiple handles without any information getting lost.
-<p class="level0"><a name="FTP"></a><h2 class="nroffsh">FTP Peculiarities We Need</h2>
-<p class="level0">
-<p class="level0">FTP transfers use a second TCP/IP connection for the data transfer. This is usually a fact you can forget and ignore but at times this fact will come back to haunt you. libcurl offers several different ways to customize how the second connection is being made.
-<p class="level0">libcurl can either connect to the server a second time or tell the server to connect back to it. The first option is the default and it is also what works best for all the people behind firewalls, NATs or IP-masquerading setups. libcurl then tells the server to open up a new port and wait for a second connection. This is by default attempted with EPSV first, and if that doesn't work it tries PASV instead. (EPSV is an extension to the original FTP spec and does not exist nor work on all FTP servers.)
-<p class="level0">You can prevent libcurl from first trying the EPSV command by setting <span Class="emphasis">CURLOPT_FTP_USE_EPSV(3)</span> to zero.
-<p class="level0">In some cases, you will prefer to have the server connect back to you for the second connection. This might be when the server is perhaps behind a firewall or something and only allows connections on a single port. libcurl then informs the remote server which IP address and port number to connect to. This is made with the <span Class="emphasis">CURLOPT_FTPPORT(3)</span> option. If you set it to "-", libcurl will use your system's "default IP address". If you want to use a particular IP, you can set the full IP address, a host name to resolve to an IP address or even a local network interface name that libcurl will get the IP address from.
-<p class="level0">When doing the "PORT" approach, libcurl will attempt to use the EPRT and the LPRT before trying PORT, as they work with more protocols. You can disable this behavior by setting <span Class="emphasis">CURLOPT_FTP_USE_EPRT(3)</span> to zero.
-<p class="level0"><a name="Headers"></a><h2 class="nroffsh">Headers Equal Fun</h2>
-<p class="level0">
-<p class="level0">Some protocols provide "headers", meta-data separated from the normal data. These headers are by default not included in the normal data stream, but you can make them appear in the data stream by setting <span Class="emphasis">CURLOPT_HEADER(3)</span> to 1.
-<p class="level0">What might be even more useful, is libcurl's ability to separate the headers from the data and thus make the callbacks differ. You can for example set a different pointer to pass to the ordinary write callback by setting <span Class="emphasis">CURLOPT_HEADERDATA(3)</span>.
-<p class="level0">Or, you can set an entirely separate function to receive the headers, by using <span Class="emphasis">CURLOPT_HEADERFUNCTION(3)</span>.
-<p class="level0">The headers are passed to the callback function one by one, and you can depend on that fact. It makes it easier for you to add custom header parsers etc.
-<p class="level0">"Headers" for FTP transfers equal all the FTP server responses. They aren't actually true headers, but in this case we pretend they are! ;-)
-<p class="level0"><a name="Post"></a><h2 class="nroffsh">Post Transfer Information</h2>
-<p class="level0">
-<p class="level0">&nbsp;[ curl_easy_getinfo ]
-<p class="level0"><a name="Security"></a><h2 class="nroffsh">Security Considerations</h2>
-<p class="level0">
-<p class="level0">The libcurl project takes security seriously. The library is written with caution and precautions are taken to mitigate many kinds of risks encountered while operating with potentially malicious servers on the Internet. It is a powerful library, however, which allows application writers to make trade offs between ease of writing and exposure to potential risky operations. If used the right way, you can use libcurl to transfer data pretty safely.
-<p class="level0">Many applications are used in closed networks where users and servers can be trusted, but many others are used on arbitrary servers and are fed input from potentially untrusted users. Following is a discussion about some risks in the ways in which applications commonly use libcurl and potential mitigations of those risks. It is by no means comprehensive, but shows classes of attacks that robust applications should consider. The Common Weakness Enumeration project at <a href="https://cwe.mitre.org/">https://cwe.mitre.org/</a> is a good reference for many of these and similar types of weaknesses of which application writers should be aware.
-<p class="level0">
-<p class="level0"><a name="Command"></a><span class="nroffip">Command Lines</span>
-<p class="level1">If you use a command line tool (such as curl) that uses libcurl, and you give options to the tool on the command line those options can very likely get read by other users of your system when they use 'ps' or other tools to list currently running processes.
-<p class="level1">To avoid this problem, never feed sensitive things to programs using command line options. Write them to a protected file and use the -K option to avoid this.
-<p class="level1">
-<p class="level0"><a name="netrc"></a><span class="nroffip">.netrc</span>
-<p class="level1">.netrc is a pretty handy file/feature that allows you to login quickly and automatically to frequently visited sites. The file contains passwords in clear text and is a real security risk. In some cases, your .netrc is also stored in a home directory that is NFS mounted or used on another network based file system, so the clear text password will fly through your network every time anyone reads that file!
-<p class="level1">To avoid this problem, don't use .netrc files and never store passwords in plain text anywhere.
-<p class="level1">
-<p class="level0"><a name="Clear"></a><span class="nroffip">Clear Text Passwords</span>
-<p class="level1">Many of the protocols libcurl supports send name and password unencrypted as clear text (HTTP Basic authentication, FTP, TELNET etc). It is very easy for anyone on your network or a network nearby yours to just fire up a network analyzer tool and eavesdrop on your passwords. Don't let the fact that HTTP Basic uses base64 encoded passwords fool you. They may not look readable at a first glance, but they very easily "deciphered" by anyone within seconds.
-<p class="level1">To avoid this problem, use an authentication mechanism or other protocol that doesn't let snoopers see your password: Digest, CRAM-MD5, Kerberos, SPNEGO or NTLM authentication, HTTPS, FTPS, SCP and SFTP are a few examples.
-<p class="level1">
-<p class="level0"><a name="Redirects"></a><span class="nroffip">Redirects</span>
-<p class="level1">The <span Class="emphasis">CURLOPT_FOLLOWLOCATION(3)</span> option automatically follows HTTP redirects sent by a remote server. These redirects can refer to any kind of URL, not just HTTP. By default libcurl will allow all protocols on redirect except several disabled for security reasons: Since 7.19.4 FILE and SCP are disabled, and since 7.40.0 SMB and SMBS are also disabled.
-<p class="level1">A redirect to a file: URL would cause the libcurl to read (or write) arbitrary files from the local filesystem. If the application returns the data back to the user (as would happen in some kinds of CGI scripts), an attacker could leverage this to read otherwise forbidden data (e.g. file://localhost/etc/passwd).
-<p class="level1">If authentication credentials are stored in the ~/.netrc file, or Kerberos is in use, any other URL type (not just file:) that requires authentication is also at risk. A redirect such as <a href="ftp://some-internal-server/private-file">ftp://some-internal-server/private-file</a> would then return data even when the server is password protected.
-<p class="level1">In the same way, if an unencrypted SSH private key has been configured for the user running the libcurl application, SCP: or SFTP: URLs could access password or private-key protected resources, e.g. sftp://user@some-internal-server/etc/passwd
-<p class="level1">The <span Class="emphasis">CURLOPT_REDIR_PROTOCOLS(3)</span> and <span Class="emphasis">CURLOPT_NETRC(3)</span> options can be used to mitigate against this kind of attack.
-<p class="level1">A redirect can also specify a location available only on the machine running libcurl, including servers hidden behind a firewall from the attacker. e.g. <a href="http://127.0.0.1/">http://127.0.0.1/</a> or <a href="http://intranet/delete-stuff.cgi?delete=all">http://intranet/delete-stuff.cgi?delete=all</a> or tftp://bootp-server/pc-config-data
-<p class="level1">Apps can mitigate against this by disabling <span Class="emphasis">CURLOPT_FOLLOWLOCATION(3)</span> and handling redirects itself, sanitizing URLs as necessary. Alternately, an app could leave <span Class="emphasis">CURLOPT_FOLLOWLOCATION(3)</span> enabled but set <span Class="emphasis">CURLOPT_REDIR_PROTOCOLS(3)</span> and install a <span Class="emphasis">CURLOPT_OPENSOCKETFUNCTION(3)</span> callback function in which addresses are sanitized before use.
-<p class="level1">
-<p class="level0"><a name="Private"></a><span class="nroffip">Private Resources</span>
-<p class="level1">A user who can control the DNS server of a domain being passed in within a URL can change the address of the host to a local, private address which a server-side libcurl-using application could then use. e.g. the innocuous URL <a href="http://fuzzybunnies.example.com/">http://fuzzybunnies.example.com/</a> could actually resolve to the IP address of a server behind a firewall, such as 127.0.0.1 or 10.1.2.3. Apps can mitigate against this by setting a <span Class="emphasis">CURLOPT_OPENSOCKETFUNCTION(3)</span> and checking the address before a connection.
-<p class="level1">All the malicious scenarios regarding redirected URLs apply just as well to non-redirected URLs, if the user is allowed to specify an arbitrary URL that could point to a private resource. For example, a web app providing a translation service might happily translate file://localhost/etc/passwd and display the result. Apps can mitigate against this with the <span Class="emphasis">CURLOPT_PROTOCOLS(3)</span> option as well as by similar mitigation techniques for redirections.
-<p class="level1">A malicious FTP server could in response to the PASV command return an IP address and port number for a server local to the app running libcurl but behind a firewall. Apps can mitigate against this by using the <span Class="emphasis">CURLOPT_FTP_SKIP_PASV_IP(3)</span> option or <span Class="emphasis">CURLOPT_FTPPORT(3)</span>.
-<p class="level1">
-<p class="level0"><a name="IPv6"></a><span class="nroffip">IPv6 Addresses</span>
-<p class="level1">libcurl will normally handle IPv6 addresses transparently and just as easily as IPv4 addresses. That means that a sanitizing function that filters out addressses like 127.0.0.1 isn't sufficient--the equivalent IPv6 addresses ::1, ::, 0:00::0:1, ::127.0.0.1 and ::ffff:7f00:1 supplied somehow by an attacker would all bypass a naive filter and could allow access to undesired local resources. IPv6 also has special address blocks like link-local and site-local that generally shouldn't be accessed by a server-side libcurl-using application. A poorly-configured firewall installed in a data center, organization or server may also be configured to limit IPv4 connections but leave IPv6 connections wide open. In some cases, the CURL_IPRESOLVE_V4 option can be used to limit resolved addresses to IPv4 only and bypass these issues.
-<p class="level1">
-<p class="level0"><a name="Uploads"></a><span class="nroffip">Uploads</span>
-<p class="level1">When uploading, a redirect can cause a local (or remote) file to be overwritten. Apps must not allow any unsanitized URL to be passed in for uploads. Also, <span Class="emphasis">CURLOPT_FOLLOWLOCATION(3)</span> should not be used on uploads. Instead, the app should handle redirects itself, sanitizing each URL first.
-<p class="level1">
-<p class="level0"><a name="Authentication"></a><span class="nroffip">Authentication</span>
-<p class="level1">Use of <span Class="emphasis">CURLOPT_UNRESTRICTED_AUTH(3)</span> could cause authentication information to be sent to an unknown second server. Apps can mitigate against this by disabling <span Class="emphasis">CURLOPT_FOLLOWLOCATION(3)</span> and handling redirects itself, sanitizing where necessary.
-<p class="level1">Use of the CURLAUTH_ANY option to <span Class="emphasis">CURLOPT_HTTPAUTH(3)</span> could result in user name and password being sent in clear text to an HTTP server. Instead, use CURLAUTH_ANYSAFE which ensures that the password is encrypted over the network, or else fail the request.
-<p class="level1">Use of the CURLUSESSL_TRY option to <span Class="emphasis">CURLOPT_USE_SSL(3)</span> could result in user name and password being sent in clear text to an FTP server. Instead, use CURLUSESSL_CONTROL to ensure that an encrypted connection is used or else fail the request.
-<p class="level1">
-<p class="level0"><a name="Cookies"></a><span class="nroffip">Cookies</span>
-<p class="level1">If cookies are enabled and cached, then a user could craft a URL which performs some malicious action to a site whose authentication is already stored in a cookie. e.g. <a href="http://mail.example.com/delete-stuff.cgi?delete=all">http://mail.example.com/delete-stuff.cgi?delete=all</a> Apps can mitigate against this by disabling cookies or clearing them between requests.
-<p class="level1">
-<p class="level0"><a name="Dangerous"></a><span class="nroffip">Dangerous URLs</span>
-<p class="level1">SCP URLs can contain raw commands within the scp: URL, which is a side effect of how the SCP protocol is designed. e.g. scp://user:pass@host/a;date &gt;/tmp/test; Apps must not allow unsanitized SCP: URLs to be passed in for downloads.
-<p class="level1">
-<p class="level0"><a name="Denial"></a><span class="nroffip">Denial of Service</span>
-<p class="level1">A malicious server could cause libcurl to effectively hang by sending a trickle of data through, or even no data at all but just keeping the TCP connection open. This could result in a denial-of-service attack. The <span Class="emphasis">CURLOPT_TIMEOUT(3)</span> and/or <span Class="emphasis">CURLOPT_LOW_SPEED_LIMIT(3)</span> options can be used to mitigate against this.
-<p class="level1">A malicious server could cause libcurl to effectively hang by starting to send data, then severing the connection without cleanly closing the TCP connection. The app could install a <span Class="emphasis">CURLOPT_SOCKOPTFUNCTION(3)</span> callback function and set the TCP SO_KEEPALIVE option to mitigate against this. Setting one of the timeout options would also work against this attack.
-<p class="level1">A malicious server could cause libcurl to download an infinite amount of data, potentially causing all of memory or disk to be filled. Setting the <span Class="emphasis">CURLOPT_MAXFILESIZE_LARGE(3)</span> option is not sufficient to guard against this. Instead, the app should monitor the amount of data received within the write or progress callback and abort once the limit is reached.
-<p class="level1">A malicious HTTP server could cause an infinite redirection loop, causing a denial-of-service. This can be mitigated by using the <span Class="emphasis">CURLOPT_MAXREDIRS(3)</span> option.
-<p class="level1">
-<p class="level0"><a name="Arbitrary"></a><span class="nroffip">Arbitrary Headers</span>
-<p class="level1">User-supplied data must be sanitized when used in options like <span Class="emphasis">CURLOPT_USERAGENT(3)</span>, <span Class="emphasis">CURLOPT_HTTPHEADER(3)</span>, <span Class="emphasis">CURLOPT_POSTFIELDS(3)</span> and others that are used to generate structured data. Characters like embedded carriage returns or ampersands could allow the user to create additional headers or fields that could cause malicious transactions.
-<p class="level1">
-<p class="level0"><a name="Server-supplied"></a><span class="nroffip">Server-supplied Names</span>
-<p class="level1">A server can supply data which the application may, in some cases, use as a file name. The curl command-line tool does this with --remote-header-name, using the Content-disposition: header to generate a file name. An application could also use CURLINFO_EFFECTIVE_URL to generate a file name from a server-supplied redirect URL. Special care must be taken to sanitize such names to avoid the possibility of a malicious server supplying one like "/etc/passwd", "\autoexec.bat", "prn:" or even ".bashrc".
-<p class="level1">
-<p class="level0"><a name="Server"></a><span class="nroffip">Server Certificates</span>
-<p class="level1">A secure application should never use the <span Class="emphasis">CURLOPT_SSL_VERIFYPEER(3)</span> option to disable certificate validation. There are numerous attacks that are enabled by apps that fail to properly validate server TLS/SSL certificates, thus enabling a malicious server to spoof a legitimate one. HTTPS without validated certificates is potentially as insecure as a plain HTTP connection.
-<p class="level1">
-<p class="level0"><a name="Showing"></a><span class="nroffip">Showing What You Do</span>
-<p class="level1">On a related issue, be aware that even in situations like when you have problems with libcurl and ask someone for help, everything you reveal in order to get best possible help might also impose certain security related risks. Host names, user names, paths, operating system specifics, etc. (not to mention passwords of course) may in fact be used by intruders to gain additional information of a potential target.
-<p class="level1">Be sure to limit access to application logs if they could hold private or security-related data. Besides the obvious candidates like user names and passwords, things like URLs, cookies or even file names could also hold sensitive data.
-<p class="level1">To avoid this problem, you must of course use your common sense. Often, you can just edit out the sensitive data or just search/replace your true information with faked data.
-<p class="level1"><a name="The"></a><h2 class="nroffsh">The multi Interface</h2>
-<p class="level0">The easy interface as described in detail in this document is a synchronous interface that transfers one file at a time and doesn't return until it is done.
-<p class="level0">The multi interface, on the other hand, allows your program to transfer multiple files in both directions at the same time, without forcing you to use multiple threads. The name might make it seem that the multi interface is for multi-threaded programs, but the truth is almost the reverse. The multi interface allows a single-threaded application to perform the same kinds of multiple, simultaneous transfers that multi-threaded programs can perform. It allows many of the benefits of multi-threaded transfers without the complexity of managing and synchronizing many threads.
-<p class="level0">To complicate matters somewhat more, there are even two versions of the multi interface. The event based one, also called multi_socket and the "normal one" designed for using with select(). See the libcurl-multi.3 man page for details on the multi_socket event based API, this description here is for the select() oriented one.
-<p class="level0">To use this interface, you are better off if you first understand the basics of how to use the easy interface. The multi interface is simply a way to make multiple transfers at the same time by adding up multiple easy handles into a "multi stack".
-<p class="level0">You create the easy handles you want, one for each concurrent transfer, and you set all the options just like you learned above, and then you create a multi handle with <a Class="emphasis" href="./curl_multi_init.html">curl_multi_init</a> and add all those easy handles to that multi handle with <a Class="emphasis" href="./curl_multi_add_handle.html">curl_multi_add_handle</a>.
-<p class="level0">When you've added the handles you have for the moment (you can still add new ones at any time), you start the transfers by calling <a Class="emphasis" href="./curl_multi_perform.html">curl_multi_perform</a>.
-<p class="level0"><a Class="emphasis" href="./curl_multi_perform.html">curl_multi_perform</a> is asynchronous. It will only perform what can be done now and then return back control to your program. It is designed to never block. You need to keep calling the function until all transfers are completed.
-<p class="level0">The best usage of this interface is when you do a select() on all possible file descriptors or sockets to know when to call libcurl again. This also makes it easy for you to wait and respond to actions on your own application's sockets/handles. You figure out what to select() for by using <a Class="emphasis" href="./curl_multi_fdset.html">curl_multi_fdset</a>, that fills in a set of fd_set variables for you with the particular file descriptors libcurl uses for the moment.
-<p class="level0">When you then call select(), it'll return when one of the file handles signal action and you then call <a Class="emphasis" href="./curl_multi_perform.html">curl_multi_perform</a> to allow libcurl to do what it wants to do. Take note that libcurl does also feature some time-out code so we advise you to never use very long timeouts on select() before you call <a Class="emphasis" href="./curl_multi_perform.html">curl_multi_perform</a> again. <a Class="emphasis" href="./curl_multi_timeout.html">curl_multi_timeout</a> is provided to help you get a suitable timeout period.
-<p class="level0">Another precaution you should use: always call <a Class="emphasis" href="./curl_multi_fdset.html">curl_multi_fdset</a> immediately before the select() call since the current set of file descriptors may change in any curl function invoke.
-<p class="level0">If you want to stop the transfer of one of the easy handles in the stack, you can use <a Class="emphasis" href="./curl_multi_remove_handle.html">curl_multi_remove_handle</a> to remove individual easy handles. Remember that easy handles should be <a Class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup</a>ed.
-<p class="level0">When a transfer within the multi stack has finished, the counter of running transfers (as filled in by <a Class="emphasis" href="./curl_multi_perform.html">curl_multi_perform</a>) will decrease. When the number reaches zero, all transfers are done.
-<p class="level0"><a Class="emphasis" href="./curl_multi_info_read.html">curl_multi_info_read</a> can be used to get information about completed transfers. It then returns the CURLcode for each easy transfer, to allow you to figure out success on each individual transfer.
-<p class="level0"><a name="SSL"></a><h2 class="nroffsh">SSL, Certificates and Other Tricks</h2>
-<p class="level0">
-<p class="level0">&nbsp;[ seeding, passwords, keys, certificates, ENGINE, ca certs ]
-<p class="level0"><a name="Sharing"></a><h2 class="nroffsh">Sharing Data Between Easy Handles</h2>
-<p class="level0">You can share some data between easy handles when the easy interface is used, and some data is share automatically when you use the multi interface.
-<p class="level0">When you add easy handles to a multi handle, these easy handles will automatically share a lot of the data that otherwise would be kept on a per-easy handle basis when the easy interface is used.
-<p class="level0">The DNS cache is shared between handles within a multi handle, making subsequent name resolving faster, and the connection pool that is kept to better allow persistent connections and connection re-use is also shared. If you're using the easy interface, you can still share these between specific easy handles by using the share interface, see <a Class="emphasis" href="./libcurl-share.html">libcurl-share</a>.
-<p class="level0">Some things are never shared automatically, not within multi handles, like for example cookies so the only way to share that is with the share interface. <a name="Footnotes"></a><h2 class="nroffsh">Footnotes</h2>
-<p class="level0">
-<p class="level0">
-<p class="level0"><a name="1"></a><span class="nroffip">[1]</span>
-<p class="level1">libcurl 7.10.3 and later have the ability to switch over to chunked Transfer-Encoding in cases where HTTP uploads are done with data of an unknown size.
-<p class="level0"><a name="2"></a><span class="nroffip">[2]</span>
-<p class="level1">This happens on Windows machines when libcurl is built and used as a DLL. However, you can still do this on Windows if you link with a static library.
-<p class="level0"><a name="3"></a><span class="nroffip">[3]</span>
-<p class="level1">The curl-config tool is generated at build-time (on Unix-like systems) and should be installed with the 'make install' or similar instruction that installs the library, header files, man pages etc.
-<p class="level0"><a name="4"></a><span class="nroffip">[4]</span>
-<p class="level1">This behavior was different in versions before 7.17.0, where strings had to remain valid past the end of the <a Class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt</a> call. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./libcurl-errors.html">libcurl-errors</a>, <a Class="manpage" href="./libcurl-multi.html">libcurl-multi</a>, <a Class="manpage" href="./libcurl-easy.html">libcurl-easy</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/libcurl-tutorial.pdf b/docs/libcurl/libcurl-tutorial.pdf
deleted file mode 100644
index 55d3a78c8..000000000
--- a/docs/libcurl/libcurl-tutorial.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/libcurl.html b/docs/libcurl/libcurl.html
deleted file mode 100644
index d459a0147..000000000
--- a/docs/libcurl/libcurl.html
+++ /dev/null
@@ -1,110 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>libcurl man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">libcurl - client-side URL transfers <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This is a short overview on how to use libcurl in your C programs. There are specific man pages for each function mentioned in here. There are also the <a Class="emphasis" href="./libcurl-easy.html">libcurl-easy</a> man page, the <a Class="emphasis" href="./libcurl-multi.html">libcurl-multi</a> man page, the <a Class="emphasis" href="./libcurl-share.html">libcurl-share</a> man page and the <a Class="emphasis" href="./libcurl-tutorial.html">libcurl-tutorial</a> man page for in-depth understanding on how to program with libcurl.
-<p class="level0">There are many bindings available that bring libcurl access to your favourite language. Look elsewhere for documentation on those.
-<p class="level0">libcurl has a global constant environment that you must set up and maintain while using libcurl. This essentially means you call <a Class="emphasis" href="./curl_global_init.html">curl_global_init</a> at the start of your program and <a Class="emphasis" href="./curl_global_cleanup.html">curl_global_cleanup</a> at the end. See <a class="bold" href="#GLOBAL">GLOBAL CONSTANTS</a> below for details.
-<p class="level0">To transfer files, you create an "easy handle" using <a Class="emphasis" href="./curl_easy_init.html">curl_easy_init</a> for a single individual transfer (in either direction). You then set your desired set of options in that handle with <a Class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt</a>. Options you set with <a Class="emphasis" href="./curl_easy_setopt.html">curl_easy_setopt</a> stick. They will be used on every repeated use of this handle until you either change the option, or you reset them all with <a Class="emphasis" href="./curl_easy_reset.html">curl_easy_reset</a>.
-<p class="level0">To actually transfer data you have the option of using the "easy" interface, or the "multi" interface.
-<p class="level0">The easy interface is a synchronous interface with which you call <a Class="emphasis" href="./curl_easy_perform.html">curl_easy_perform</a> and let it perform the transfer. When it is completed, the function returns and you can continue. More details are found in the <a Class="emphasis" href="./libcurl-easy.html">libcurl-easy</a> man page.
-<p class="level0">The multi interface on the other hand is an asynchronous interface, that you call and that performs only a little piece of the transfer on each invoke. It is perfect if you want to do things while the transfer is in progress, or similar. The multi interface allows you to select() on libcurl action, and even to easily download multiple files simultaneously using a single thread. See further details in the <a Class="emphasis" href="./libcurl-multi.html">libcurl-multi</a> man page.
-<p class="level0">You can have multiple easy handles share certain data, even if they are used in different threads. This magic is setup using the share interface, as described in the <a Class="emphasis" href="./libcurl-share.html">libcurl-share</a> man page.
-<p class="level0">There is also a series of other helpful functions to use, including these:
-<p class="level1">
-<p class="level0"><a name="curlversioninfo"></a><span class="nroffip">curl_version_info()</span>
-<p class="level1">gets detailed libcurl (and other used libraries) version info
-<p class="level0"><a name="curlgetdate"></a><span class="nroffip">curl_getdate()</span>
-<p class="level1">converts a date string to time_t
-<p class="level0"><a name="curleasygetinfo"></a><span class="nroffip">curl_easy_getinfo()</span>
-<p class="level1">get information about a performed transfer
-<p class="level0"><a name="curlformadd"></a><span class="nroffip">curl_formadd()</span>
-<p class="level1">helps building an HTTP form POST
-<p class="level0"><a name="curlformfree"></a><span class="nroffip">curl_formfree()</span>
-<p class="level1">free a list built with <a Class="emphasis" href="./curl_formadd.html">curl_formadd</a>
-<p class="level0"><a name="curlslistappend"></a><span class="nroffip">curl_slist_append()</span>
-<p class="level1">builds a linked list
-<p class="level0"><a name="curlslistfreeall"></a><span class="nroffip">curl_slist_free_all()</span>
-<p class="level1">frees a whole curl_slist
-<p class="level0">
-<p class="level0"><a name="LINKING"></a><h2 class="nroffsh">LINKING WITH LIBCURL</h2>
-<p class="level0">On unix-like machines, there's a tool named curl-config that gets installed with the rest of the curl stuff when 'make install' is performed.
-<p class="level0">curl-config is added to make it easier for applications to link with libcurl and developers to learn about libcurl and how to use it.
-<p class="level0">Run 'curl-config --libs' to get the (additional) linker options you need to link with the particular version of libcurl you've installed. See the <span Class="emphasis">curl-config(1)</span> man page for further details.
-<p class="level0">Unix-like operating system that ship libcurl as part of their distributions often don't provide the curl-config tool, but simply install the library and headers in the common path for this purpose.
-<p class="level0">Many Linux and similar systems use pkg-config to provide build and link options about libraries and libcurl supports that as well. <a name="LIBCURL"></a><h2 class="nroffsh">LIBCURL SYMBOL NAMES</h2>
-<p class="level0">All public functions in the libcurl interface are prefixed with 'curl_' (with a lowercase c). You can find other functions in the library source code, but other prefixes indicate that the functions are private and may change without further notice in the next release.
-<p class="level0">Only use documented functions and functionality! <a name="PORTABILITY"></a><h2 class="nroffsh">PORTABILITY</h2>
-<p class="level0">libcurl works <span Class="bold">exactly</span> the same, on any of the platforms it compiles and builds on. <a name="THREADS"></a><h2 class="nroffsh">THREADS</h2>
-<p class="level0">libcurl is thread safe but there are a few exceptions. Refer to <a Class="emphasis" href="./libcurl-thread.html">libcurl-thread</a> for more information.
-<p class="level0"><a name="PERSISTENT"></a><h2 class="nroffsh">PERSISTENT CONNECTIONS</h2>
-<p class="level0">Persistent connections means that libcurl can re-use the same connection for several transfers, if the conditions are right.
-<p class="level0">libcurl will <span Class="bold">always</span> attempt to use persistent connections. Whenever you use <a Class="emphasis" href="./curl_easy_perform.html">curl_easy_perform</a> or <a Class="emphasis" href="./curl_multi_perform.html">curl_multi_perform</a> etc, libcurl will attempt to use an existing connection to do the transfer, and if none exists it'll open a new one that will be subject for re-use on a possible following call to <a Class="emphasis" href="./curl_easy_perform.html">curl_easy_perform</a> or <a Class="emphasis" href="./curl_multi_perform.html">curl_multi_perform</a>.
-<p class="level0">To allow libcurl to take full advantage of persistent connections, you should do as many of your file transfers as possible using the same handle.
-<p class="level0">If you use the easy interface, and you call <a Class="emphasis" href="./curl_easy_cleanup.html">curl_easy_cleanup</a>, all the possibly open connections held by libcurl will be closed and forgotten.
-<p class="level0">When you've created a multi handle and are using the multi interface, the connection pool is instead kept in the multi handle so closing and creating new easy handles to do transfers will not affect them. Instead all added easy handles can take advantage of the single shared pool. <a name="GLOBAL"></a><h2 class="nroffsh">GLOBAL CONSTANTS</h2>
-<p class="level0">There are a variety of constants that libcurl uses, mainly through its internal use of other libraries, which are too complicated for the library loader to set up. Therefore, a program must call a library function after the program is loaded and running to finish setting up the library code. For example, when libcurl is built for SSL capability via the GNU TLS library, there is an elaborate tree inside that library that describes the SSL protocol.
-<p class="level0"><a Class="emphasis" href="./curl_global_init.html">curl_global_init</a> is the function that you must call. This may allocate resources (e.g. the memory for the GNU TLS tree mentioned above), so the companion function <a Class="emphasis" href="./curl_global_cleanup.html">curl_global_cleanup</a> releases them.
-<p class="level0">The basic rule for constructing a program that uses libcurl is this: Call <a Class="emphasis" href="./curl_global_init.html">curl_global_init</a>, with a <span Class="emphasis">CURL_GLOBAL_ALL</span> argument, immediately after the program starts, while it is still only one thread and before it uses libcurl at all. Call <a Class="emphasis" href="./curl_global_cleanup.html">curl_global_cleanup</a> immediately before the program exits, when the program is again only one thread and after its last use of libcurl.
-<p class="level0">You can call both of these multiple times, as long as all calls meet these requirements and the number of calls to each is the same.
-<p class="level0">It isn't actually required that the functions be called at the beginning and end of the program -- that's just usually the easiest way to do it. It <span Class="emphasis">is</span> required that the functions be called when no other thread in the program is running.
-<p class="level0">These global constant functions are <span Class="emphasis">not thread safe</span>, so you must not call them when any other thread in the program is running. It isn't good enough that no other thread is using libcurl at the time, because these functions internally call similar functions of other libraries, and those functions are similarly thread-unsafe. You can't generally know what these libraries are, or whether other threads are using them.
-<p class="level0">The global constant situation merits special consideration when the code you are writing to use libcurl is not the main program, but rather a modular piece of a program, e.g. another library. As a module, your code doesn't know about other parts of the program -- it doesn't know whether they use libcurl or not. And its code doesn't necessarily run at the start and end of the whole program.
-<p class="level0">A module like this must have global constant functions of its own, just like <a Class="emphasis" href="./curl_global_init.html">curl_global_init</a> and <a Class="emphasis" href="./curl_global_cleanup.html">curl_global_cleanup</a>. The module thus has control at the beginning and end of the program and has a place to call the libcurl functions. Note that if multiple modules in the program use libcurl, they all will separately call the libcurl functions, and that's OK because only the first <a Class="emphasis" href="./curl_global_init.html">curl_global_init</a> and the last <a Class="emphasis" href="./curl_global_cleanup.html">curl_global_cleanup</a> in a program change anything. (libcurl uses a reference count in static memory).
-<p class="level0">In a C++ module, it is common to deal with the global constant situation by defining a special class that represents the global constant environment of the module. A program always has exactly one object of the class, in static storage. That way, the program automatically calls the constructor of the object as the program starts up and the destructor as it terminates. As the author of this libcurl-using module, you can make the constructor call <a Class="emphasis" href="./curl_global_init.html">curl_global_init</a> and the destructor call <a Class="emphasis" href="./curl_global_cleanup.html">curl_global_cleanup</a> and satisfy libcurl's requirements without your user having to think about it. (Caveat: 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.)
-<p class="level0"><a Class="emphasis" href="./curl_global_init.html">curl_global_init</a> has an argument that tells what particular parts of the global constant environment to set up. In order to successfully use any value except <span Class="emphasis">CURL_GLOBAL_ALL</span> (which says to set up the whole thing), you must have specific knowledge of internal workings of libcurl and all other parts of the program of which it is part.
-<p class="level0">A special part of the global constant environment is the identity of the memory allocator. <a Class="emphasis" href="./curl_global_init.html">curl_global_init</a> selects the system default memory allocator, but you can use <a Class="emphasis" href="./curl_global_init_mem.html">curl_global_init_mem</a> to supply one of your own. However, there is no way to use <a Class="emphasis" href="./curl_global_init_mem.html">curl_global_init_mem</a> in a modular program -- all modules in the program that might use libcurl would have to agree on one allocator.
-<p class="level0">There is a failsafe in libcurl that makes it usable in simple situations without you having to worry about the global constant environment at all: <a Class="emphasis" href="./curl_easy_init.html">curl_easy_init</a> sets up the environment itself if it hasn't been done yet. The resources it acquires to do so get released by the operating system automatically when the program exits.
-<p class="level0">This failsafe feature exists mainly for backward compatibility because there was a time when the global functions didn't exist. Because it is sufficient only in the simplest of programs, it is not recommended for any program to rely on it. <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/libcurl.pdf b/docs/libcurl/libcurl.pdf
deleted file mode 100644
index 9b8f25f62..000000000
--- a/docs/libcurl/libcurl.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_ACTIVESOCKET.html b/docs/libcurl/opts/CURLINFO_ACTIVESOCKET.html
deleted file mode 100644
index 83294c901..000000000
--- a/docs/libcurl/opts/CURLINFO_ACTIVESOCKET.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_ACTIVESOCKET man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_ACTIVESOCKET - get the active socket <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_ACTIVESOCKET, &nbsp; curl_socket_t *socket); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a curl_socket_t to receive the active socket used by this curl session. If the socket is no longer valid, <span Class="emphasis">CURL_SOCKET_BAD</span> is returned. When you finish working with the socket, you must call <span Class="emphasis">curl_easy_cleanup(3)</span> as usual on the easy handle and let libcurl close the socket and cleanup other resources associated with the handle. This is typically used in combination with <a Class="emphasis" href="./CURLOPT_CONNECT_ONLY.html">CURLOPT_CONNECT_ONLY</a>.
-<p class="level0">This option was added as a replacement for <a Class="emphasis" href="./CURLINFO_LASTSOCKET.html">CURLINFO_LASTSOCKET</a> since that one isn't working on all platforms. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.45.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span>, <a Class="manpage" href="./CURLINFO_LASTSOCKET.html">CURLINFO_LASTSOCKET</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_ACTIVESOCKET.pdf b/docs/libcurl/opts/CURLINFO_ACTIVESOCKET.pdf
deleted file mode 100644
index a2b7a6187..000000000
--- a/docs/libcurl/opts/CURLINFO_ACTIVESOCKET.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.html b/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.html
deleted file mode 100644
index 6c6b46b58..000000000
--- a/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_APPCONNECT_TIME man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_APPCONNECT_TIME - get the time until the SSL/SSH handshake is completed <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_APPCONNECT_TIME, double *timep); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a double to receive the time, in seconds, it took from the start until the SSL/SSH connect/handshake to the remote host was completed. This time is most often very near to the <a Class="emphasis" href="./CURLINFO_PRETRANSFER_TIME.html">CURLINFO_PRETRANSFER_TIME</a> time, except for cases such as HTTP pipelining where the pretransfer time can be delayed due to waits in line for the pipeline and more.
-<p class="level0">See also the TIMES overview in the <span Class="emphasis">curl_easy_getinfo(3)</span> man page. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.19.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.pdf b/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.pdf
deleted file mode 100644
index de03407ac..000000000
--- a/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_CERTINFO.html b/docs/libcurl/opts/CURLINFO_CERTINFO.html
deleted file mode 100644
index 822eda29e..000000000
--- a/docs/libcurl/opts/CURLINFO_CERTINFO.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_CERTINFO man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_CERTINFO - get the TLS certificate chain <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CERTINFO, &nbsp; struct curl_certinfo *chainp); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a 'struct curl_certinfo *' and you'll get it set to point to struct that holds a number of linked lists with info about the certificate chain, assuming you had <a Class="emphasis" href="./CURLOPT_CERTINFO.html">CURLOPT_CERTINFO</a> enabled when the request was made. The struct reports how many certs it found and then you can extract info for each of those certs by following the linked lists. The info chain is provided in a series of data in the format "name:content" where the content is for the specific named data. See also the certinfo.c example. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All TLS-based <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This option is only working in libcurl built with OpenSSL, NSS, schannel or GSKit support. schannel support added in 7.50.0
-<p class="level0">Added in 7.19.1 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_CERTINFO.pdf b/docs/libcurl/opts/CURLINFO_CERTINFO.pdf
deleted file mode 100644
index 3e5a011f9..000000000
--- a/docs/libcurl/opts/CURLINFO_CERTINFO.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_CONDITION_UNMET.html b/docs/libcurl/opts/CURLINFO_CONDITION_UNMET.html
deleted file mode 100644
index ea7f8c0d5..000000000
--- a/docs/libcurl/opts/CURLINFO_CONDITION_UNMET.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_CONDITION_UNMET man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_CONDITION_UNMET - get info on unmet time conditional <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONDITION_UNMET, long *unmet); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a long to receive the number 1 if the condition provided in the previous request didn't match (see <a Class="emphasis" href="./CURLOPT_TIMECONDITION.html">CURLOPT_TIMECONDITION</a>). Alas, if this returns a 1 you know that the reason you didn't get data in return is because it didn't fulfill the condition. The long ths argument points to will get a zero stored if the condition instead was met. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP and some <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.19.4 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_CONDITION_UNMET.pdf b/docs/libcurl/opts/CURLINFO_CONDITION_UNMET.pdf
deleted file mode 100644
index 89e2a4c70..000000000
--- a/docs/libcurl/opts/CURLINFO_CONDITION_UNMET.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_CONNECT_TIME.html b/docs/libcurl/opts/CURLINFO_CONNECT_TIME.html
deleted file mode 100644
index af33c42d3..000000000
--- a/docs/libcurl/opts/CURLINFO_CONNECT_TIME.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_CONNECT_TIME man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_CONNECT_TIME - get the time until connect <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONNECT_TIME, double *timep); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a double to receive the total time in seconds from the start until the connection to the remote host (or proxy) was completed.
-<p class="level0">See also the TIMES overview in the <span Class="emphasis">curl_easy_getinfo(3)</span> man page. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.4.1 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_CONNECT_TIME.pdf b/docs/libcurl/opts/CURLINFO_CONNECT_TIME.pdf
deleted file mode 100644
index 1b750dcfe..000000000
--- a/docs/libcurl/opts/CURLINFO_CONNECT_TIME.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.html b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.html
deleted file mode 100644
index f4438e02e..000000000
--- a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_CONTENT_LENGTH_DOWNLOAD man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_CONTENT_LENGTH_DOWNLOAD - get content-length of download <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_LENGTH_DOWNLOAD, &nbsp; double *content_length); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a double to receive the content-length of the download. This is the value read from the Content-Length: field. Since 7.19.4, this returns -1 if the size isn't known. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP(S) <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.6.1 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span>, <a Class="manpage" href="./CURLINFO_CONTENT_LENGTH_UPLOAD.html">CURLINFO_CONTENT_LENGTH_UPLOAD</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.pdf b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.pdf
deleted file mode 100644
index f51205b94..000000000
--- a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.html b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.html
deleted file mode 100644
index 5cccc53bb..000000000
--- a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_CONTENT_LENGTH_UPLOAD man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_CONTENT_LENGTH_UPLOAD - get the specified size of the upload <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_LENGTH_UPLOAD, &nbsp; double *content_length); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a double to receive the specified size of the upload. Since 7.19.4, this returns -1 if the size isn't known. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.6.1 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.pdf b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.pdf
deleted file mode 100644
index d55402482..000000000
--- a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_CONTENT_TYPE.html b/docs/libcurl/opts/CURLINFO_CONTENT_TYPE.html
deleted file mode 100644
index 94ca6cf48..000000000
--- a/docs/libcurl/opts/CURLINFO_CONTENT_TYPE.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_CONTENT_TYPE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_CONTENT_TYPE - get Content-Type <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_TYPE, char **ct); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a char pointer to receive the content-type of the downloaded object. This is the value read from the Content-Type: field. If you get NULL, it means that the server didn't send a valid Content-Type header or that the protocol used doesn't support this.
-<p class="level0">The <span Class="bold">ct</span> pointer will be NULL or pointing to private memory you MUST NOT free it - it gets freed when you call <span Class="emphasis">curl_easy_cleanup(3)</span> on the corresponding CURL handle. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP(S) <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.9.4 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_CONTENT_TYPE.pdf b/docs/libcurl/opts/CURLINFO_CONTENT_TYPE.pdf
deleted file mode 100644
index 2e13ce29c..000000000
--- a/docs/libcurl/opts/CURLINFO_CONTENT_TYPE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_COOKIELIST.3 b/docs/libcurl/opts/CURLINFO_COOKIELIST.3
index 961fd9828..b9f75f4db 100644
--- a/docs/libcurl/opts/CURLINFO_COOKIELIST.3
+++ b/docs/libcurl/opts/CURLINFO_COOKIELIST.3
@@ -30,7 +30,7 @@ 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
+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.
diff --git a/docs/libcurl/opts/CURLINFO_COOKIELIST.html b/docs/libcurl/opts/CURLINFO_COOKIELIST.html
deleted file mode 100644
index 50373471d..000000000
--- a/docs/libcurl/opts/CURLINFO_COOKIELIST.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_COOKIELIST man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_COOKIELIST - get all known cookies <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_COOKIELIST, &nbsp; struct curl_slist **cookies); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">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 <span Class="emphasis">curl_slist_free_all(3)</span> 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.
-<p class="level0">Since 7.43.0 cookies that were imported in the Set-Cookie format without a domain name are not exported by this option. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP(S) <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.14.1 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span>, <a Class="manpage" href="./CURLOPT_COOKIELIST.html">CURLOPT_COOKIELIST</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_COOKIELIST.pdf b/docs/libcurl/opts/CURLINFO_COOKIELIST.pdf
deleted file mode 100644
index e4f032288..000000000
--- a/docs/libcurl/opts/CURLINFO_COOKIELIST.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.html b/docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.html
deleted file mode 100644
index 207185749..000000000
--- a/docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_EFFECTIVE_URL man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_EFFECTIVE_URL - get the last used URL <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_EFFECTIVE_URL, char **urlp); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass in a pointer to a char pointer and get the last used effective URL.
-<p class="level0">In cases when you've asked libcurl to follow redirects, it may very well not be the same value you set with <a Class="emphasis" href="./CURLOPT_URL.html">CURLOPT_URL</a>.
-<p class="level0">The <span Class="bold">urlp</span> pointer will be NULL or pointing to private memory you MUST NOT free - it gets freed when you call <span Class="emphasis">curl_easy_cleanup(3)</span> on the corresponding CURL handle. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP(S) <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.4 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.pdf b/docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.pdf
deleted file mode 100644
index 577d84cfe..000000000
--- a/docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_FILETIME.html b/docs/libcurl/opts/CURLINFO_FILETIME.html
deleted file mode 100644
index bbc3a25ee..000000000
--- a/docs/libcurl/opts/CURLINFO_FILETIME.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_FILETIME man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_FILETIME - get the remote time of the retrieved document <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_FILETIME, long *timep); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a long 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.
-<p class="level0">Note that you must tell the server to collect this information before the transfer is made, by using the <a Class="emphasis" href="./CURLOPT_FILETIME.html">CURLOPT_FILETIME</a> option to <span Class="emphasis">curl_easy_setopt(3)</span> or you will unconditionally get a -1 back. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP(S), FTP(S), SFTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.5 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_FILETIME.pdf b/docs/libcurl/opts/CURLINFO_FILETIME.pdf
deleted file mode 100644
index ebf1386af..000000000
--- a/docs/libcurl/opts/CURLINFO_FILETIME.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.html b/docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.html
deleted file mode 100644
index 7d3010e68..000000000
--- a/docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_FTP_ENTRY_PATH man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_FTP_ENTRY_PATH - get entry path in FTP server <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_FTP_ENTRY_PATH, char **path); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a char pointer to receive a pointer to a string holding the path of the entry path. That is the initial path libcurl ended up in when logging on to the remote FTP server. This stores a NULL as pointer if something is wrong.
-<p class="level0">The <span Class="bold">path</span> pointer will be NULL or pointing to private memory you MUST NOT free - it gets freed when you call <span Class="emphasis">curl_easy_cleanup(3)</span> on the corresponding CURL handle. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">FTP(S) and SFTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.15.4. Works for SFTP since 7.21.4 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.pdf b/docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.pdf
deleted file mode 100644
index bab68b5a3..000000000
--- a/docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_HEADER_SIZE.html b/docs/libcurl/opts/CURLINFO_HEADER_SIZE.html
deleted file mode 100644
index 3ef7b18d5..000000000
--- a/docs/libcurl/opts/CURLINFO_HEADER_SIZE.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_HEADER_SIZE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_HEADER_SIZE - get size of retrieved headers <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_HEADER_SIZE, long *sizep); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a long to receive the total size of all the headers received. Measured in number of bytes. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.4.1 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span>, <a Class="manpage" href="./CURLINFO_REQUEST_SIZE.html">CURLINFO_REQUEST_SIZE</a>, <a Class="manpage" href="./CURLINFO_SIZE_DOWNLOAD.html">CURLINFO_SIZE_DOWNLOAD</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_HEADER_SIZE.pdf b/docs/libcurl/opts/CURLINFO_HEADER_SIZE.pdf
deleted file mode 100644
index 184b2e80d..000000000
--- a/docs/libcurl/opts/CURLINFO_HEADER_SIZE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.html b/docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.html
deleted file mode 100644
index 688b9d73b..000000000
--- a/docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_HTTPAUTH_AVAIL man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_HTTPAUTH_AVAIL - get available HTTP authentication methods <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_HTTPAUTH_AVAIL, long *authp); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a long to receive a bitmask indicating the authentication method(s) available according to the previous response. The meaning of the bits is explained in the <a Class="emphasis" href="./CURLOPT_HTTPAUTH.html">CURLOPT_HTTPAUTH</a> option for <span Class="emphasis">curl_easy_setopt(3)</span>. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP(S) <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.10.8 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.pdf b/docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.pdf
deleted file mode 100644
index 2796830ad..000000000
--- a/docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.html b/docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.html
deleted file mode 100644
index 7acbe20fd..000000000
--- a/docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_HTTP_CONNECTCODE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_HTTP_CONNECTCODE - get the CONNECT response code <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_HTTP_CONNECTCODE, long *p); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a long to receive the last received HTTP proxy response code to a CONNECT request. The returned value will be zero if no such response code was available. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.10.7 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLINFO_RESPONSE_CODE.html">CURLINFO_RESPONSE_CODE</a>, <span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.pdf b/docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.pdf
deleted file mode 100644
index e6ef24d3d..000000000
--- a/docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_LASTSOCKET.html b/docs/libcurl/opts/CURLINFO_LASTSOCKET.html
deleted file mode 100644
index abe8121f4..000000000
--- a/docs/libcurl/opts/CURLINFO_LASTSOCKET.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_LASTSOCKET man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_LASTSOCKET - get the last socket used <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_LASTSOCKET, long *socket); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Deprecated since 7.45.0. Use <a Class="emphasis" href="./CURLINFO_ACTIVESOCKET.html">CURLINFO_ACTIVESOCKET</a> instead.
-<p class="level0">Pass a pointer to a long to receive the last socket used by this curl session. If the socket is no longer valid, -1 is returned. When you finish working with the socket, you must call curl_easy_cleanup() as usual and let libcurl close the socket and cleanup other resources associated with the handle. This is typically used in combination with <a Class="emphasis" href="./CURLOPT_CONNECT_ONLY.html">CURLOPT_CONNECT_ONLY</a>.
-<p class="level0">NOTE: this API is deprecated since it is not working on win64 where the SOCKET type is 64 bits large while its 'long' is 32 bits. Use the <a Class="emphasis" href="./CURLINFO_ACTIVESOCKET.html">CURLINFO_ACTIVESOCKET</a> instead, if possible. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.15.2 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span>, <a Class="manpage" href="./CURLINFO_ACTIVESOCKET.html">CURLINFO_ACTIVESOCKET</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_LASTSOCKET.pdf b/docs/libcurl/opts/CURLINFO_LASTSOCKET.pdf
deleted file mode 100644
index 43db00239..000000000
--- a/docs/libcurl/opts/CURLINFO_LASTSOCKET.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_LOCAL_IP.html b/docs/libcurl/opts/CURLINFO_LOCAL_IP.html
deleted file mode 100644
index a650f84b6..000000000
--- a/docs/libcurl/opts/CURLINFO_LOCAL_IP.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_LOCAL_IP man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_LOCAL_IP - get local IP address of last connection <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_LOCAL_IP, char **ip); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a char pointer to receive the pointer to a zero-terminated string holding the IP address of the local end of most recent connection done with this <span Class="bold">curl</span> handle. This string may be IPv6 when that is enabled. Note that you get a pointer to a memory area that will be re-used at next request so you need to copy the string if you want to keep the information.
-<p class="level0">The <span Class="bold">ip</span> pointer will be NULL or pointing to private memory you MUST NOT free - it gets freed when you call <span Class="emphasis">curl_easy_cleanup(3)</span> on the corresponding CURL handle. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.21.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span>, <a Class="manpage" href="./CURLINFO_PRIMARY_IP.html">CURLINFO_PRIMARY_IP</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_LOCAL_IP.pdf b/docs/libcurl/opts/CURLINFO_LOCAL_IP.pdf
deleted file mode 100644
index 6f692937f..000000000
--- a/docs/libcurl/opts/CURLINFO_LOCAL_IP.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_LOCAL_PORT.html b/docs/libcurl/opts/CURLINFO_LOCAL_PORT.html
deleted file mode 100644
index 4438a0194..000000000
--- a/docs/libcurl/opts/CURLINFO_LOCAL_PORT.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_LOCAL_PORT man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_LOCAL_PORT - get the latest local port number <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_LOCAL_PORT, long *portp); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a long to receive the local port number of the most recent connection done with this <span Class="bold">curl</span> handle. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.21.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span>, <a Class="manpage" href="./CURLINFO_PRIMARY_PORT.html">CURLINFO_PRIMARY_PORT</a>, <a Class="manpage" href="./CURLINFO_LOCAL_IP.html">CURLINFO_LOCAL_IP</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_LOCAL_PORT.pdf b/docs/libcurl/opts/CURLINFO_LOCAL_PORT.pdf
deleted file mode 100644
index b28367782..000000000
--- a/docs/libcurl/opts/CURLINFO_LOCAL_PORT.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.html b/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.html
deleted file mode 100644
index 536e80ac4..000000000
--- a/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_NAMELOOKUP_TIME man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_NAMELOOKUP_TIME - get the name lookup time <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_NAMELOOKUP_TIME, double *timep); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a double to receive the total time in seconds from the start until the name resolving was completed.
-<p class="level0">See also the TIMES overview in the <span Class="emphasis">curl_easy_getinfo(3)</span> man page. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.4.1 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.pdf b/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.pdf
deleted file mode 100644
index ffd44c77c..000000000
--- a/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_NUM_CONNECTS.html b/docs/libcurl/opts/CURLINFO_NUM_CONNECTS.html
deleted file mode 100644
index 9afd215c6..000000000
--- a/docs/libcurl/opts/CURLINFO_NUM_CONNECTS.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_NUM_CONNECTS man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_NUM_CONNECTS - get number of created connections <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_NUM_CONNECTS, long *nump); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a long to receive how many new connections libcurl had to create to achieve the previous transfer (only the successful connects are counted). Combined with <a Class="emphasis" href="./CURLINFO_REDIRECT_COUNT.html">CURLINFO_REDIRECT_COUNT</a> you are able to know how many times libcurl successfully reused existing connection(s) or not. See the connection options of <span Class="emphasis">curl_easy_setopt(3)</span> to see how libcurl tries to make persistent connections to save time. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.12.3 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_NUM_CONNECTS.pdf b/docs/libcurl/opts/CURLINFO_NUM_CONNECTS.pdf
deleted file mode 100644
index b6149c083..000000000
--- a/docs/libcurl/opts/CURLINFO_NUM_CONNECTS.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_OS_ERRNO.html b/docs/libcurl/opts/CURLINFO_OS_ERRNO.html
deleted file mode 100644
index e58fe9118..000000000
--- a/docs/libcurl/opts/CURLINFO_OS_ERRNO.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_OS_ERRNO man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_OS_ERRNO - get errno number from last connect failure <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_OS_ERRNO, long *errnop); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a long to receive the errno variable from a connect failure. Note that the value is only set on failure, it is not reset upon a successful operation. The number is OS and system specific. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.12.2 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_OS_ERRNO.pdf b/docs/libcurl/opts/CURLINFO_OS_ERRNO.pdf
deleted file mode 100644
index 0d55a7a23..000000000
--- a/docs/libcurl/opts/CURLINFO_OS_ERRNO.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.html b/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.html
deleted file mode 100644
index fc47944ac..000000000
--- a/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_PRETRANSFER_TIME man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_PRETRANSFER_TIME - get the time until the file transfer start <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRETRANSFER_TIME, double *timep); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a double to receive the time, in seconds, it took from the start until the file transfer is just about to begin. This includes all pre-transfer commands and negotiations that are specific to the particular protocol(s) involved. It does <span Class="emphasis">not</span> involve the sending of the protocol- specific request that triggers a transfer.
-<p class="level0">See also the TIMES overview in the <span Class="emphasis">curl_easy_getinfo(3)</span> man page. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.4.1 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.pdf b/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.pdf
deleted file mode 100644
index 8c3fcbe4f..000000000
--- a/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_PRIMARY_IP.html b/docs/libcurl/opts/CURLINFO_PRIMARY_IP.html
deleted file mode 100644
index 9024b263b..000000000
--- a/docs/libcurl/opts/CURLINFO_PRIMARY_IP.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_PRIMARY_IP man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_PRIMARY_IP - get IP address of last connection <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRIMARY_IP, char **ip); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a char pointer to receive the pointer to a zero-terminated string holding the IP address of the most recent connection done with this <span Class="bold">curl</span> handle. This string may be IPv6 when that is enabled. Note that you get a pointer to a memory area that will be re-used at next request so you need to copy the string if you want to keep the information.
-<p class="level0">The <span Class="bold">ip</span> pointer will be NULL or pointing to private memory you MUST NOT free - it gets freed when you call <span Class="emphasis">curl_easy_cleanup(3)</span> on the corresponding CURL handle. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0"><a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.19.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span>, <a Class="manpage" href="./CURLINFO_PRIMARY_PORT.html">CURLINFO_PRIMARY_PORT</a>, <a Class="manpage" href="./CURLINFO_LOCAL_IP.html">CURLINFO_LOCAL_IP</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_PRIMARY_IP.pdf b/docs/libcurl/opts/CURLINFO_PRIMARY_IP.pdf
deleted file mode 100644
index 5b1398626..000000000
--- a/docs/libcurl/opts/CURLINFO_PRIMARY_IP.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_PRIMARY_PORT.html b/docs/libcurl/opts/CURLINFO_PRIMARY_PORT.html
deleted file mode 100644
index 9198af2cf..000000000
--- a/docs/libcurl/opts/CURLINFO_PRIMARY_PORT.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_PRIMARY_PORT man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_PRIMARY_PORT - get the latest destination port number <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRIMARY_PORT, long *portp); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a long to receive the destination port of the most recent connection done with this <span Class="bold">curl</span> handle. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.21.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_PRIMARY_PORT.pdf b/docs/libcurl/opts/CURLINFO_PRIMARY_PORT.pdf
deleted file mode 100644
index 2dbed115a..000000000
--- a/docs/libcurl/opts/CURLINFO_PRIMARY_PORT.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_PRIVATE.html b/docs/libcurl/opts/CURLINFO_PRIVATE.html
deleted file mode 100644
index 6ee3942b0..000000000
--- a/docs/libcurl/opts/CURLINFO_PRIVATE.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_PRIVATE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_PRIVATE - get the private pointer <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRIVATE, char **private); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a char pointer to receive the pointer to the private data associated with the curl handle (set with the <a Class="emphasis" href="./CURLOPT_PRIVATE.html">CURLOPT_PRIVATE</a>). Please note that for internal reasons, the value is returned as a char pointer, although effectively being a 'void *'. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.10.3 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span>, <a Class="manpage" href="./CURLOPT_PRIVATE.html">CURLOPT_PRIVATE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_PRIVATE.pdf b/docs/libcurl/opts/CURLINFO_PRIVATE.pdf
deleted file mode 100644
index 1356aaf03..000000000
--- a/docs/libcurl/opts/CURLINFO_PRIVATE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_PROTOCOL.3 b/docs/libcurl/opts/CURLINFO_PROTOCOL.3
new file mode 100644
index 000000000..b82111876
--- /dev/null
+++ b/docs/libcurl/opts/CURLINFO_PROTOCOL.3
@@ -0,0 +1,55 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, 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>
+
+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.
+.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 --git a/docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.html b/docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.html
deleted file mode 100644
index 18f98b5a3..000000000
--- a/docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_PROXYAUTH_AVAIL man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_PROXYAUTH_AVAIL - get available HTTP proxy authentication methods <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PROXYAUTH_AVAIL, long *authp); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a long to receive a bitmask indicating the authentication method(s) available according to the previous response. The meaning of the bits is explained in the <a Class="emphasis" href="./CURLOPT_PROXYAUTH.html">CURLOPT_PROXYAUTH</a> option for <span Class="emphasis">curl_easy_setopt(3)</span>. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP(S) <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.10.8 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.pdf b/docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.pdf
deleted file mode 100644
index f5cd5934b..000000000
--- a/docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_PROXY_SSL_VERIFYRESULT.3 b/docs/libcurl/opts/CURLINFO_PROXY_SSL_VERIFYRESULT.3
new file mode 100644
index 000000000..3a80f978f
--- /dev/null
+++ b/docs/libcurl/opts/CURLINFO_PROXY_SSL_VERIFYRESULT.3
@@ -0,0 +1,43 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, 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>
+
+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.
+.SH PROTOCOLS
+All
+.SH EXAMPLE
+TODO
+.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 --git a/docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.html b/docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.html
deleted file mode 100644
index 8cc20c1a9..000000000
--- a/docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_REDIRECT_COUNT man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_REDIRECT_COUNT - get the number of redirects <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REDIRECT_COUNT, long *countp); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a long to receive the total number of redirections that were actually followed. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP(S) <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.9.7 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.pdf b/docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.pdf
deleted file mode 100644
index 935e843de..000000000
--- a/docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_REDIRECT_TIME.html b/docs/libcurl/opts/CURLINFO_REDIRECT_TIME.html
deleted file mode 100644
index 2b5c2ca8c..000000000
--- a/docs/libcurl/opts/CURLINFO_REDIRECT_TIME.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_REDIRECT_TIME man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_REDIRECT_TIME - get the time for all redirection steps <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REDIRECT_TIME, double *timep); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a double to receive the total time, in seconds, it took for all redirection steps include name lookup, connect, pretransfer and transfer before final transaction was started. CURLINFO_REDIRECT_TIME contains the complete execution time for multiple redirections.
-<p class="level0">See also the TIMES overview in the <span Class="emphasis">curl_easy_getinfo(3)</span> man page. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.9.7 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_REDIRECT_TIME.pdf b/docs/libcurl/opts/CURLINFO_REDIRECT_TIME.pdf
deleted file mode 100644
index 69dbedca4..000000000
--- a/docs/libcurl/opts/CURLINFO_REDIRECT_TIME.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_REDIRECT_URL.html b/docs/libcurl/opts/CURLINFO_REDIRECT_URL.html
deleted file mode 100644
index a84af8748..000000000
--- a/docs/libcurl/opts/CURLINFO_REDIRECT_URL.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_REDIRECT_URL man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_REDIRECT_URL - get the URL a redirect would go to <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REDIRECT_URL, char **urlp); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a char pointer to receive the URL a redirect <span Class="emphasis">would</span> take you to if you would enable <a Class="emphasis" href="./CURLOPT_FOLLOWLOCATION.html">CURLOPT_FOLLOWLOCATION</a>. This can come very handy if you think using the built-in libcurl redirect logic isn't good enough for you but you would still prefer to avoid implementing all the magic of figuring out the new URL. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP(S) <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.18.2 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_REDIRECT_URL.pdf b/docs/libcurl/opts/CURLINFO_REDIRECT_URL.pdf
deleted file mode 100644
index 4f07d426d..000000000
--- a/docs/libcurl/opts/CURLINFO_REDIRECT_URL.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_REQUEST_SIZE.html b/docs/libcurl/opts/CURLINFO_REQUEST_SIZE.html
deleted file mode 100644
index 2a799c982..000000000
--- a/docs/libcurl/opts/CURLINFO_REQUEST_SIZE.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_REQUEST_SIZE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_REQUEST_SIZE - get size of sent request <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REQUEST_SIZE, long *sizep); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a long to receive the total size of the issued requests. This is so far only for HTTP requests. Note that this may be more than one request if <a Class="emphasis" href="./CURLOPT_FOLLOWLOCATION.html">CURLOPT_FOLLOWLOCATION</a> is enabled. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.4.1 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span>, <a Class="manpage" href="./CURLINFO_HEADER_SIZE.html">CURLINFO_HEADER_SIZE</a>, <a Class="manpage" href="./CURLINFO_SIZE_DOWNLOAD.html">CURLINFO_SIZE_DOWNLOAD</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_REQUEST_SIZE.pdf b/docs/libcurl/opts/CURLINFO_REQUEST_SIZE.pdf
deleted file mode 100644
index 7f0013aa6..000000000
--- a/docs/libcurl/opts/CURLINFO_REQUEST_SIZE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_RESPONSE_CODE.html b/docs/libcurl/opts/CURLINFO_RESPONSE_CODE.html
deleted file mode 100644
index 152235f9f..000000000
--- a/docs/libcurl/opts/CURLINFO_RESPONSE_CODE.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_RESPONSE_CODE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_RESPONSE_CODE - get the last response code <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RESPONSE_CODE, long *codep); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a long to receive the last received HTTP, FTP or SMTP response code. This option was previously known as CURLINFO_HTTP_CODE in libcurl 7.10.7 and earlier. The stored value will be zero if no server response code has been received. Note that a proxy's CONNECT response should be read with <a Class="emphasis" href="./CURLINFO_HTTP_CONNECTCODE.html">CURLINFO_HTTP_CONNECTCODE</a> and not this.
-<p class="level0">Support for SMTP responses added in 7.25.0. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP, FTP and SMTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; CURLcode res;
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp; res = curl_easy_perform(curl);
-&nbsp; if(res == CURLE_OK) {
-&nbsp; long response_code;
-&nbsp; curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response_code);
-&nbsp; }
-&nbsp; curl_easy_cleanup(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.10.8. CURLINFO_HTTP_CODE was added in 7.4.1. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span>, <a Class="manpage" href="./CURLINFO_HTTP_CONNECTCODE.html">CURLINFO_HTTP_CONNECTCODE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_RESPONSE_CODE.pdf b/docs/libcurl/opts/CURLINFO_RESPONSE_CODE.pdf
deleted file mode 100644
index 8b14028f2..000000000
--- a/docs/libcurl/opts/CURLINFO_RESPONSE_CODE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.html b/docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.html
deleted file mode 100644
index 65d159c50..000000000
--- a/docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_RTSP_CLIENT_CSEQ man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_RTSP_CLIENT_CSEQ - get the next RTSP client CSeq <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RTSP_CLIENT_CSEQ, long *cseq); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a long to receive the next CSeq that will be used by the application. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">RTSP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.20.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.pdf b/docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.pdf
deleted file mode 100644
index 89c5ae292..000000000
--- a/docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.html b/docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.html
deleted file mode 100644
index 69091e59c..000000000
--- a/docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_RTSP_CSEQ_RECV man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_RTSP_CSEQ_RECV - get the recently received CSeq <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RTSP_CSEQ_RECV, long *cseq); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a long to receive the most recently received CSeq from the server. If your application encounters a <span Class="emphasis">CURLE_RTSP_CSEQ_ERROR</span> then you may wish to troubleshoot and/or fix the CSeq mismatch by peeking at this value. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">RTSP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.20.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.pdf b/docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.pdf
deleted file mode 100644
index c6f16abc2..000000000
--- a/docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.html b/docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.html
deleted file mode 100644
index befea829b..000000000
--- a/docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_RTSP_SERVER_CSEQ man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_RTSP_SERVER_CSEQ - get the next RTSP server CSeq <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RTSP_SERVER_CSEQ, long *cseq); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a long to receive the next CSeq that will be expected by the application.
-<p class="level0">Llistening for server initiated requests is currently unimplemented!
-<p class="level0">Applications wishing to resume an RTSP session on another connection should retrieve this info before closing the active connection. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">RTSP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.20.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.pdf b/docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.pdf
deleted file mode 100644
index b0e7b487c..000000000
--- a/docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.html b/docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.html
deleted file mode 100644
index e16228086..000000000
--- a/docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_RTSP_SESSION_ID man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_RTSP_SESSION_ID - get RTSP session ID <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RTSP_SESSION_ID, char **id); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a char pointer to receive a pointer to a string holding the most recent RTSP Session ID.
-<p class="level0">Applications wishing to resume an RTSP session on another connection should retrieve this info before closing the active connection.
-<p class="level0">The <span Class="bold">id</span> pointer will be NULL or pointing to private memory you MUST NOT free - it gets freed when you call <span Class="emphasis">curl_easy_cleanup(3)</span> on the corresponding CURL handle. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">RTSP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.20.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.pdf b/docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.pdf
deleted file mode 100644
index 24f6f2ab0..000000000
--- a/docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_SCHEME.3 b/docs/libcurl/opts/CURLINFO_SCHEME.3
new file mode 100644
index 000000000..78c3d6886
--- /dev/null
+++ b/docs/libcurl/opts/CURLINFO_SCHEME.3
@@ -0,0 +1,59 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, 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>
+
+CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SCHEME, long *p);
+.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
+\fBcurl\fP handle.
+
+The \fBid\fP pointer will be NULL or pointing to private read-only memory you
+MUST NOT free or modify.
+.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;
+ curl_easy_getinfo(curl, CURLINFO_SCHEME, &scheme);
+ }
+ 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 --git a/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.html b/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.html
deleted file mode 100644
index db37411cd..000000000
--- a/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_SIZE_DOWNLOAD man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_SIZE_DOWNLOAD - get the number of downloaded bytes <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SIZE_DOWNLOAD, double *dlp); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a double 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. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.4.1 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.pdf b/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.pdf
deleted file mode 100644
index 8d34cb194..000000000
--- a/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.html b/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.html
deleted file mode 100644
index 55fdb44ce..000000000
--- a/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_SIZE_UPLOAD man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_SIZE_UPLOAD - get the number of uploaded bytes <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SIZE_UPLOAD, double *uploadp); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a double to receive the total amount of bytes that were uploaded. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.4.1 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.pdf b/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.pdf
deleted file mode 100644
index 560fe29b2..000000000
--- a/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.html b/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.html
deleted file mode 100644
index 2ed74db1f..000000000
--- a/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_SPEED_DOWNLOAD man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_SPEED_DOWNLOAD - get download speed <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SPEED_DOWNLOAD, double *speed); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a double to receive the average download speed that curl measured for the complete download. Measured in bytes/second. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0"><a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.4.1 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span>, <a Class="manpage" href="./CURLINFO_SPEED_UPLOAD.html">CURLINFO_SPEED_UPLOAD</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.pdf b/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.pdf
deleted file mode 100644
index 46b561bbf..000000000
--- a/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.html b/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.html
deleted file mode 100644
index 6309cac49..000000000
--- a/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_SPEED_UPLOAD man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_SPEED_UPLOAD - get upload speed <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SPEED_UPLOAD, double *speed); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a double to receive the average upload speed that curl measured for the complete upload. Measured in bytes/second. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0"><a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span>, <a Class="manpage" href="./CURLINFO_SPEED_DOWNLOAD.html">CURLINFO_SPEED_DOWNLOAD</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.pdf b/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.pdf
deleted file mode 100644
index 921a19ee7..000000000
--- a/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_SSL_ENGINES.html b/docs/libcurl/opts/CURLINFO_SSL_ENGINES.html
deleted file mode 100644
index 9ca91435d..000000000
--- a/docs/libcurl/opts/CURLINFO_SSL_ENGINES.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_SSL_ENGINES man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_SSL_ENGINES - get an slist of OpenSSL crypto-engines <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SSL_ENGINES, &nbsp; struct curl_slist **engine_list); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass the address of a 'struct curl_slist *' to receive a linked-list of OpenSSL crypto-engines supported. Note that engines are normally implemented in separate dynamic libraries. Hence not all the returned engines may be available at run-time. <span Class="bold">NOTE:</span> you must call <span Class="emphasis">curl_slist_free_all(3)</span> on the list pointer once you're done with it, as libcurl will not free the data for you. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All TLS based ones. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.12.3. Available in OpenSSL builds with "engine" support. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_SSL_ENGINES.pdf b/docs/libcurl/opts/CURLINFO_SSL_ENGINES.pdf
deleted file mode 100644
index 58ff8dab8..000000000
--- a/docs/libcurl/opts/CURLINFO_SSL_ENGINES.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.3 b/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.3
index a87ccfe0a..1651a9bd7 100644
--- a/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.3
+++ b/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -22,13 +22,13 @@
.\"
.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 certification verification
+CURLINFO_SSL_VERIFYRESULT \- get the result of the certificate verification
.SH SYNOPSIS
#include <curl/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 certification
+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.
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.html b/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.html
deleted file mode 100644
index 836598212..000000000
--- a/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_SSL_VERIFYRESULT man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_SSL_VERIFYRESULT - get the result of the certification verification <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SSL_VERIFYRESULT, long *result); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a long to receive the result of the certification verification that was requested (using the <a Class="emphasis" href="./CURLOPT_SSL_VERIFYPEER.html">CURLOPT_SSL_VERIFYPEER</a> option. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All using TLS <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.5 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.pdf b/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.pdf
deleted file mode 100644
index 2344dacd8..000000000
--- a/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.html b/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.html
deleted file mode 100644
index e46c3697a..000000000
--- a/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_STARTTRANSFER_TIME man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_STARTTRANSFER_TIME - get the time until the first byte is received <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_STARTTRANSFER_TIME, double *timep); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a double to receive the time, in seconds, it took from the start until the first byte is received by libcurl. This includes <a Class="emphasis" href="./CURLINFO_PRETRANSFER_TIME.html">CURLINFO_PRETRANSFER_TIME</a> and also the time the server needs to calculate the result.
-<p class="level0">See also the TIMES overview in the <span Class="emphasis">curl_easy_getinfo(3)</span> man page. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.9.2 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.pdf b/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.pdf
deleted file mode 100644
index 269ccd8ec..000000000
--- a/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_TLS_SESSION.html b/docs/libcurl/opts/CURLINFO_TLS_SESSION.html
deleted file mode 100644
index 8f2f630df..000000000
--- a/docs/libcurl/opts/CURLINFO_TLS_SESSION.html
+++ /dev/null
@@ -1,73 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_TLS_SESSION man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_TLS_SESSION - get TLS session info <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_TLS_SESSION,
-&nbsp; struct curl_tlssessioninfo **session);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0"><span Class="bold">This option has been superseded</span> by <a Class="emphasis" href="./CURLINFO_TLS_SSL_PTR.html">CURLINFO_TLS_SSL_PTR</a> which was added in 7.48.0. The only reason you would use this option instead is if you could be using a version of libcurl earlier than 7.48.0.
-<p class="level0">This option is exactly the same as <a Class="emphasis" href="./CURLINFO_TLS_SSL_PTR.html">CURLINFO_TLS_SSL_PTR</a> except in the case of OpenSSL. If the session <span Class="emphasis">backend</span> is CURLSSLBACKEND_OPENSSL the session <span Class="emphasis">internals</span> pointer varies depending on the option:
-<p class="level0">CURLINFO_TLS_SESSION OpenSSL session <span Class="emphasis">internals</span> is SSL_CTX *.
-<p class="level0">CURLINFO_TLS_SSL_PTR OpenSSL session <span Class="emphasis">internals</span> is SSL *.
-<p class="level0">You can obtain an SSL_CTX pointer from an SSL pointer using OpenSSL function SSL_get_SSL_CTX. Therefore unless you need compatibility with older versions of libcurl use <a Class="emphasis" href="./CURLINFO_TLS_SSL_PTR.html">CURLINFO_TLS_SSL_PTR</a>. Refer to that document for more information. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All TLS-based <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.34.0, and supported OpenSSL, GnuTLS, NSS and gskit only up until 7.48.0 was released. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span>, <a Class="manpage" href="./CURLINFO_TLS_SSL_PTR.html">CURLINFO_TLS_SSL_PTR</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_TLS_SESSION.pdf b/docs/libcurl/opts/CURLINFO_TLS_SESSION.pdf
deleted file mode 100644
index 276b9d5c3..000000000
--- a/docs/libcurl/opts/CURLINFO_TLS_SESSION.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_TLS_SSL_PTR.html b/docs/libcurl/opts/CURLINFO_TLS_SSL_PTR.html
deleted file mode 100644
index 05e7bd73d..000000000
--- a/docs/libcurl/opts/CURLINFO_TLS_SSL_PTR.html
+++ /dev/null
@@ -1,119 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_TLS_SSL_PTR man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_TLS_SESSION, CURLINFO_TLS_SSL_PTR - get TLS session info <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_TLS_SSL_PTR,
-&nbsp; struct curl_tlssessioninfo **session);
-&nbsp;
-/* if you need compatibility with libcurl &lt; 7.48.0 use
-&nbsp; CURLINFO_TLS_SESSION instead: */
-&nbsp;
-CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_TLS_SESSION,
-&nbsp; struct curl_tlssessioninfo **session);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a 'struct curl_tlssessioninfo *'. The pointer will be initialized to refer to a 'struct curl_tlssessioninfo *' that will contain an enum indicating the SSL library used for the handshake and a pointer to the respective internal TLS session structure of this underlying SSL library.
-<p class="level0">This option may be useful for example to extract certificate information in a format convenient for further processing, such as manual validation. Refer to the <a class="bold" href="#LIMITATIONS">LIMITATIONS</a> section.
-<p class="level0"><pre class="level0">
-struct curl_tlssessioninfo {
-&nbsp; curl_sslbackend backend;
-&nbsp; void *internals;
-};
-</pre>
-
-<p class="level0">
-<p class="level0">The <span Class="emphasis">backend</span> struct member is one of the defines in the CURLSSLBACKEND_* series: CURLSSLBACKEND_NONE (when built without TLS support), CURLSSLBACKEND_AXTLS, CURLSSLBACKEND_CYASSL, CURLSSLBACKEND_DARWINSSL, CURLSSLBACKEND_GNUTLS, CURLSSLBACKEND_GSKIT, CURLSSLBACKEND_MBEDTLS, CURLSSLBACKEND_NSS, CURLSSLBACKEND_OPENSSL, CURLSSLBACKEND_POLARSSL or CURLSSLBACKEND_SCHANNEL. (Note that the OpenSSL forks are all reported as just OpenSSL here.)
-<p class="level0">The <span Class="emphasis">internals</span> struct member will point to a TLS library specific pointer for the active ("in use") SSL connection, with the following underlying types:
-<p class="level1">
-<p class="level0"><a name="GnuTLS"></a><span class="nroffip">GnuTLS</span>
-<p class="level1">gnutls_session_t
-<p class="level0"><a name="gskit"></a><span class="nroffip">gskit</span>
-<p class="level1">gsk_handle
-<p class="level0"><a name="NSS"></a><span class="nroffip">NSS</span>
-<p class="level1">PRFileDesc *
-<p class="level0"><a name="OpenSSL"></a><span class="nroffip">OpenSSL</span>
-<p class="level1">CURLINFO_TLS_SESSION: SSL_CTX *
-<p class="level1">CURLINFO_TLS_SSL_PTR: SSL *
-<p class="level0">Since 7.48.0 the <span Class="emphasis">internals</span> member can point to these other SSL backends as well:
-<p class="level1">
-<p class="level0"><a name="axTLS"></a><span class="nroffip">axTLS</span>
-<p class="level1">SSL *
-<p class="level0"><a name="mbedTLS"></a><span class="nroffip">mbedTLS</span>
-<p class="level1">mbedtls_ssl_context *
-<p class="level0"><a name="PolarSSL"></a><span class="nroffip">PolarSSL</span>
-<p class="level1">ssl_context *
-<p class="level0"><a name="Secure"></a><span class="nroffip">Secure Channel (WinSSL)</span>
-<p class="level1">CtxtHandle *
-<p class="level0"><a name="Secure"></a><span class="nroffip">Secure Transport (DarwinSSL)</span>
-<p class="level1">SSLContext *
-<p class="level0"><a name="WolfSSL"></a><span class="nroffip">WolfSSL (formerly CyaSSL)</span>
-<p class="level1">SSL *
-<p class="level0">
-<p class="level0">If the <span Class="emphasis">internals</span> pointer is NULL then either the SSL backend is not supported, an SSL session has not yet been established or the connection is no longer associated with the easy handle (eg curl_easy_perform has returned). <a name="LIMITATIONS"></a><h2 class="nroffsh">LIMITATIONS</h2>
-<p class="level0"><span class="bold">This option has some limitations that could make it unsafe when it comes to the manual verification of certificates.</span>
-<p class="level0">This option only retrieves the first in-use SSL session pointer for your easy handle, however your easy handle may have more than one in-use SSL session if using FTP over SSL. That is because the FTP protocol has a control channel and a data channel and one or both may be over SSL. <span class="bold">Currently there is no way to retrieve a second in-use SSL session associated with an easy handle.</span>
-<p class="level0">This option has not been thoroughly tested with plaintext protocols that can be upgraded/downgraded to/from SSL: FTP, SMTP, POP3, IMAP when used with <a Class="emphasis" href="./CURLOPT_USE_SSL.html">CURLOPT_USE_SSL</a>. Though you will be able to retrieve the SSL pointer, it's possible that before you can do that <span class="bold">data (including auth) may have already been sent over a connection after it was upgraded.</span>
-<p class="level0">Renegotiation. If unsafe renegotiation or renegotiation in a way that the certificate is allowed to change is allowed by your SSL library this may occur and the certificate may change, and <span class="bold">data may continue to be sent or received after renegotiation but before you are able to get the (possibly) changed SSL pointer,</span> with the (possibly) changed certificate information.
-<p class="level0">If you are using OpenSSL or wolfSSL then <a Class="emphasis" href="./CURLOPT_SSL_CTX_FUNCTION.html">CURLOPT_SSL_CTX_FUNCTION</a> can be used to set a certificate verification callback in the CTX. That is safer than using this option to poll for certificate changes and doesn't suffer from any of the problems above. There is currently no way in libcurl to set a verification callback for the other SSL backends.
-<p class="level0">How are you using this option? Are you affected by any of these limitations? Please let us know by making a comment at <a href="https://github.com/curl/curl/issues/685">https://github.com/curl/curl/issues/685</a> <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All TLS-based <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.48.0.
-<p class="level0">This option supersedes <a Class="emphasis" href="./CURLINFO_TLS_SESSION.html">CURLINFO_TLS_SESSION</a> which was added in 7.34.0. This option is exactly the same as that option except in the case of OpenSSL. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span>, <a Class="manpage" href="./CURLINFO_TLS_SESSION.html">CURLINFO_TLS_SESSION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_TLS_SSL_PTR.pdf b/docs/libcurl/opts/CURLINFO_TLS_SSL_PTR.pdf
deleted file mode 100644
index 72c516ad2..000000000
--- a/docs/libcurl/opts/CURLINFO_TLS_SSL_PTR.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLINFO_TOTAL_TIME.html b/docs/libcurl/opts/CURLINFO_TOTAL_TIME.html
deleted file mode 100644
index 368e4df91..000000000
--- a/docs/libcurl/opts/CURLINFO_TOTAL_TIME.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLINFO_TOTAL_TIME man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLINFO_TOTAL_TIME - get total time of previous transfer <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_TOTAL_TIME, double *timep); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a double to receive the total time in seconds for the previous transfer, including name resolving, TCP connect etc. The double represents the time in seconds, including fractions.
-<p class="level0">See also the TIMES overview in the <span Class="emphasis">curl_easy_getinfo(3)</span> man page. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.4.1 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span>, <span Class="manpage">curl_easy_setopt (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLINFO_TOTAL_TIME.pdf b/docs/libcurl/opts/CURLINFO_TOTAL_TIME.pdf
deleted file mode 100644
index c8cb4cb85..000000000
--- a/docs/libcurl/opts/CURLINFO_TOTAL_TIME.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.html b/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.html
deleted file mode 100644
index 5c2aaf74c..000000000
--- a/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE - chunk length threshold for pipelining <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, long size); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long with a <span Class="bold">size</span> in bytes. If a pipelined connection is currently processing a chunked (Transfer-encoding: chunked) request with a current chunk length larger than <a Class="emphasis" href="./CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.html">CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE</a>, that pipeline will not be considered for additional requests, even if it is shorter than <a Class="emphasis" href="./CURLMOPT_MAX_PIPELINE_LENGTH.html">CURLMOPT_MAX_PIPELINE_LENGTH</a>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">The default value is 0, which means that the penalization is inactive. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP(S) <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.30.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLMOPT_PIPELINING.html">CURLMOPT_PIPELINING</a>, <a Class="manpage" href="./CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.html">CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE</a>, <a Class="manpage" href="./CURLMOPT_MAX_PIPELINE_LENGTH.html">CURLMOPT_MAX_PIPELINE_LENGTH</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.pdf b/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.pdf
deleted file mode 100644
index 4648ccd80..000000000
--- a/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.html b/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.html
deleted file mode 100644
index 642a6dbde..000000000
--- a/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE - size threshold for pipelining penalty <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, long size); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long with a <span Class="bold">size</span> in bytes. If a pipelined connection is currently processing a request with a Content-Length larger than this <a Class="emphasis" href="./CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.html">CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE</a>, that pipeline will then not be considered for additional requests, even if it is shorter than <a Class="emphasis" href="./CURLMOPT_MAX_PIPELINE_LENGTH.html">CURLMOPT_MAX_PIPELINE_LENGTH</a>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">The default value is 0, which means that the size penalization is inactive. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP(S) <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.30.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLMOPT_PIPELINING.html">CURLMOPT_PIPELINING</a>, <a Class="manpage" href="./CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.html">CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.pdf b/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.pdf
deleted file mode 100644
index c1b30bc20..000000000
--- a/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.html b/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.html
deleted file mode 100644
index fdca60d51..000000000
--- a/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLMOPT_MAXCONNECTS man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLMOPT_MAXCONNECTS - set size of connection cache <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAXCONNECTS, long max); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long indicating the <span Class="bold">max</span>. The set number will be used as the maximum amount of simultaneously open connections that libcurl may keep in its connection cache after completed use. By default libcurl will enlarge the size for each added easy handle to make it fit 4 times the number of added easy handles.
-<p class="level0">By setting this option, you can prevent the cache size from growing beyond the limit set by you.
-<p class="level0">When the cache is full, curl closes the oldest one in the cache to prevent the number of open connections from increasing.
-<p class="level0">This option is for the multi handle's use only, when using the easy interface you should instead use the <a Class="emphasis" href="./CURLOPT_MAXCONNECTS.html">CURLOPT_MAXCONNECTS</a> option.
-<p class="level0">See <a Class="emphasis" href="./CURLMOPT_MAX_TOTAL_CONNECTIONS.html">CURLMOPT_MAX_TOTAL_CONNECTIONS</a> for limiting the number of active connections.
-<p class="level0"><a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">See DESCRIPTION <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.16.3 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLMOPT_MAX_HOST_CONNECTIONS.html">CURLMOPT_MAX_HOST_CONNECTIONS</a>, <a Class="manpage" href="./CURLOPT_MAXCONNECTS.html">CURLOPT_MAXCONNECTS</a>
-<p class="level0"><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.pdf b/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.pdf
deleted file mode 100644
index 1f37bbf10..000000000
--- a/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.html b/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.html
deleted file mode 100644
index 1c3e7f256..000000000
--- a/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLMOPT_MAX_HOST_CONNECTIONS man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLMOPT_MAX_HOST_CONNECTIONS - set max number of connections to a single host <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAX_HOST_CONNECTIONS, long max); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long to indicate <span Class="bold">max</span>. The set number will be used as the maximum amount of simultaneously open connections to a single host (a host being the same as a host name + port number pair). For each new session to a host, libcurl will open a new connection up to the limit set by <a Class="emphasis" href="./CURLMOPT_MAX_HOST_CONNECTIONS.html">CURLMOPT_MAX_HOST_CONNECTIONS</a>. When the limit is reached, the sessions will be pending until a connection becomes available. If <a Class="emphasis" href="./CURLMOPT_PIPELINING.html">CURLMOPT_PIPELINING</a> is enabled, libcurl will try to pipeline if the host is capable of it.
-<p class="level0">The default <span Class="bold">max</span> value is 0, unlimited. However, for backwards compatibility, setting it to 0 when <a Class="emphasis" href="./CURLMOPT_PIPELINING.html">CURLMOPT_PIPELINING</a> is 1 will not be treated as unlimited. Instead it will open only 1 connection and try to pipeline on it.
-<p class="level0">This set limit is also used for proxy connections, and then the proxy is considered to be the host for which this limit counts. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP(S) <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.30.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLMOPT_MAXCONNECTS.html">CURLMOPT_MAXCONNECTS</a>, <a Class="manpage" href="./CURLMOPT_MAX_TOTAL_CONNECTIONS.html">CURLMOPT_MAX_TOTAL_CONNECTIONS</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.pdf b/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.pdf
deleted file mode 100644
index 3cf0bfd93..000000000
--- a/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.3 b/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.3
index cac3c7193..1204a0f9d 100644
--- a/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.3
+++ b/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.3
@@ -29,8 +29,8 @@ CURLMOPT_MAX_PIPELINE_LENGTH \- maximum number of requests in a pipeline
CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAX_PIPELINE_LENGTH, long max);
.SH DESCRIPTION
Pass a long. The set \fBmax\fP number will be used as the maximum amount of
-outstanding requests in a pipelined connection. Only used if pipelining is
-enabled.
+outstanding requests in an HTTP/1.1 pipelined connection. This option is only
+used for HTTP/1.1 pipelining, not for HTTP/2 multiplexing.
When this limit is reached, libcurl will use another connection to the same
host (see \fICURLMOPT_MAX_HOST_CONNECTIONS(3)\fP), or queue the request until
diff --git a/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.html b/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.html
deleted file mode 100644
index b7fa9fb59..000000000
--- a/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLMOPT_MAX_PIPELINE_LENGTH man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLMOPT_MAX_PIPELINE_LENGTH - maximum number of requests in a pipeline <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAX_PIPELINE_LENGTH, long max); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long. The set <span Class="bold">max</span> number will be used as the maximum amount of outstanding requests in a pipelined connection. Only used if pipelining is enabled.
-<p class="level0">When this limit is reached, libcurl will use another connection to the same host (see <a Class="emphasis" href="./CURLMOPT_MAX_HOST_CONNECTIONS.html">CURLMOPT_MAX_HOST_CONNECTIONS</a>), or queue the request until one of the pipelines to the host is ready to accept a request. Thus, the total number of requests in-flight is <a Class="emphasis" href="./CURLMOPT_MAX_HOST_CONNECTIONS.html">CURLMOPT_MAX_HOST_CONNECTIONS</a> * <a Class="emphasis" href="./CURLMOPT_MAX_PIPELINE_LENGTH.html">CURLMOPT_MAX_PIPELINE_LENGTH</a>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">5 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP(S) <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.30.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLMOPT_PIPELINING.html">CURLMOPT_PIPELINING</a>, <a Class="manpage" href="./CURLMOPT_MAX_HOST_CONNECTIONS.html">CURLMOPT_MAX_HOST_CONNECTIONS</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.pdf b/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.pdf
deleted file mode 100644
index e96cd70f7..000000000
--- a/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.html b/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.html
deleted file mode 100644
index 6dcf0d43d..000000000
--- a/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLMOPT_MAX_TOTAL_CONNECTIONS man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLMOPT_MAX_TOTAL_CONNECTIONS - max simultaneously open connections <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAX_TOTAL_CONNECTIONS, long amount); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long for the <span Class="bold">amount</span>. The set number will be used as the maximum number of simultaneously open connections in total using this multi handle. For each new session, libcurl will open a new connection up to the limit set by <a Class="emphasis" href="./CURLMOPT_MAX_TOTAL_CONNECTIONS.html">CURLMOPT_MAX_TOTAL_CONNECTIONS</a>. When the limit is reached, the sessions will be pending until there are available connections. If <a Class="emphasis" href="./CURLMOPT_PIPELINING.html">CURLMOPT_PIPELINING</a> is enabled, libcurl will try to pipeline or use multiplexing if the host is capable of it. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">The default value is 0, which means that there is no limit. It is then simply controlled by the number of easy handles added. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.30.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLMOPT_MAXCONNECTS.html">CURLMOPT_MAXCONNECTS</a>, <a Class="manpage" href="./CURLMOPT_MAX_HOST_CONNECTIONS.html">CURLMOPT_MAX_HOST_CONNECTIONS</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.pdf b/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.pdf
deleted file mode 100644
index ec4f842c0..000000000
--- a/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLMOPT_PIPELINING.html b/docs/libcurl/opts/CURLMOPT_PIPELINING.html
deleted file mode 100644
index 8a1da62b3..000000000
--- a/docs/libcurl/opts/CURLMOPT_PIPELINING.html
+++ /dev/null
@@ -1,77 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLMOPT_PIPELINING man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLMOPT_PIPELINING - enable HTTP pipelining and multiplexing <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PIPELINING, long bitmask); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass in the <span Class="bold">bitmask</span> parameter to instruct libcurl to enable HTTP pipelining and/or HTTP/2 multiplexing for this multi handle.
-<p class="level0">When enabled, libcurl will attempt to use those protocol features when doing parallel requests to the same hosts.
-<p class="level0">For pipelining, this means that if you add a second request that can use an already existing connection, the second request will be "piped" on the same connection rather than being executed in parallel.
-<p class="level0">For multiplexing, this means that follow-up requests can re-use an existing connection and send the new request multiplexed over that at the same time as other transfers are already using that single connection.
-<p class="level0">There are several other related options that are interesting to tweak and adjust to alter how libcurl spreads out requests on different connections or not etc.
-<p class="level0">Before 7.43.0, this option was set to 1 and 0 to enable and disable HTTP/1.1 pipelining.
-<p class="level0">Starting in 7.43.0, <span Class="bold">bitmask</span>'s second bit also has a meaning, and you can ask for pipelining and multiplexing independently of each other by toggling the correct bits.
-<p class="level0"><a name="CURLPIPENOTHING"></a><span class="nroffip">CURLPIPE_NOTHING (0)</span>
-<p class="level1">Default, which means doing no attempts at pipelining or multiplexing.
-<p class="level0"><a name="CURLPIPEHTTP1"></a><span class="nroffip">CURLPIPE_HTTP1 (1)</span>
-<p class="level1">If this bit is set, libcurl will try to pipeline HTTP/1.1 requests on connections that are already established and in use to hosts.
-<p class="level0"><a name="CURLPIPEMULTIPLEX"></a><span class="nroffip">CURLPIPE_MULTIPLEX (2)</span>
-<p class="level1">If this bit is set, libcurl will try to multiplex the new transfer over an existing connection if possible. This requires HTTP/2. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 (both pipeline and multiplexing are off) <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP(S) <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.16.0. Multiplex support bit added in 7.43.0. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLMOPT_MAX_PIPELINE_LENGTH.html">CURLMOPT_MAX_PIPELINE_LENGTH</a>, <a Class="manpage" href="./CURLMOPT_PIPELINING_SITE_BL.html">CURLMOPT_PIPELINING_SITE_BL</a>, <a Class="manpage" href="./CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.html">CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE</a>, <a Class="manpage" href="./CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.html">CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE</a>, <a Class="manpage" href="./CURLMOPT_MAX_HOST_CONNECTIONS.html">CURLMOPT_MAX_HOST_CONNECTIONS</a>, <a Class="manpage" href="./CURLMOPT_MAXCONNECTS.html">CURLMOPT_MAXCONNECTS</a>, <a Class="manpage" href="./CURLMOPT_MAX_HOST_CONNECTIONS.html">CURLMOPT_MAX_HOST_CONNECTIONS</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLMOPT_PIPELINING.pdf b/docs/libcurl/opts/CURLMOPT_PIPELINING.pdf
deleted file mode 100644
index 48cf8918c..000000000
--- a/docs/libcurl/opts/CURLMOPT_PIPELINING.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.html b/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.html
deleted file mode 100644
index 3c39cc32f..000000000
--- a/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLMOPT_PIPELINING_SERVER_BL man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLMOPT_PIPELINING_SERVER_BL - pipelining server blacklist <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PIPELINING_SERVER_BL, char **servers); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a <span Class="bold">servers</span> array of char *, ending with a NULL entry. This is a list of server types prefixes (in the Server: HTTP header) that are blacklisted from pipelining, i.e server types that are known to not support HTTP pipelining. The array is copied by libcurl.
-<p class="level0">Note that the comparison matches if the Server: header begins with the string in the blacklist, i.e "Server: Ninja 1.2.3" and "Server: Ninja 1.4.0" can both be blacklisted by having "Ninja" in the backlist.
-<p class="level0">Pass a NULL pointer to clear the blacklist. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">The default value is NULL, which means that there is no blacklist. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0"><a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-&nbsp; server_blacklist[] =
-&nbsp; {
-&nbsp; "Microsoft-IIS/6.0",
-&nbsp; "nginx/0.8.54",
-&nbsp; NULL
-&nbsp; };
-&nbsp;
-&nbsp; curl_multi_setopt(m, CURLMOPT_PIPELINING_SERVER_BL, server_blacklist);
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.30.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLMOPT_PIPELINING.html">CURLMOPT_PIPELINING</a>, <a Class="manpage" href="./CURLMOPT_PIPELINING_SITE_BL.html">CURLMOPT_PIPELINING_SITE_BL</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.pdf b/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.pdf
deleted file mode 100644
index 66ffc8596..000000000
--- a/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.html b/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.html
deleted file mode 100644
index f74d54156..000000000
--- a/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.html
+++ /dev/null
@@ -1,77 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLMOPT_PIPELINING_SITE_BL man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLMOPT_PIPELINING_SITE_BL - pipelining host blacklist <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PIPELINING_SITE_BL, char **hosts); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a <span Class="bold">hosts</span> array of char *, ending with a NULL entry. This is a list of sites that are blacklisted from pipelining, i.e sites that are known to not support HTTP pipelining. The array is copied by libcurl.
-<p class="level0">Pass a NULL pointer to clear the blacklist. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">The default value is NULL, which means that there is no blacklist. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP(S) <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-&nbsp; site_blacklist[] =
-&nbsp; {
-&nbsp; "www.haxx.se",
-&nbsp; "www.example.com:1234",
-&nbsp; NULL
-&nbsp; };
-&nbsp;
-&nbsp; curl_multi_setopt(m, CURLMOPT_PIPELINING_SITE_BL, site_blacklist);
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.30.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLMOPT_PIPELINING.html">CURLMOPT_PIPELINING</a>, <a Class="manpage" href="./CURLMOPT_PIPELINING_SERVER_BL.html">CURLMOPT_PIPELINING_SERVER_BL</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.pdf b/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.pdf
deleted file mode 100644
index 91d1832b1..000000000
--- a/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLMOPT_PUSHDATA.html b/docs/libcurl/opts/CURLMOPT_PUSHDATA.html
deleted file mode 100644
index 9bf29b098..000000000
--- a/docs/libcurl/opts/CURLMOPT_PUSHDATA.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLMOPT_PUSHDATA man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLMOPT_PUSHDATA - pointer to pass to push callback <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PUSHDATA, void *pointer);
-</pre>
-
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Set <span Class="emphasis">pointer</span> to pass as the last argument to the <a Class="emphasis" href="./CURLMOPT_PUSHFUNCTION.html">CURLMOPT_PUSHFUNCTION</a> callback. The pointer will not be touched or used by libcurl itself, only passed on to the callback function. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP(S) <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.44.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLMOPT_PUSHFUNCTION.html">CURLMOPT_PUSHFUNCTION</a>, <a Class="manpage" href="./CURLMOPT_PIPELINING.html">CURLMOPT_PIPELINING</a>, <a Class="manpage" href="./CURLOPT_PIPEWAIT.html">CURLOPT_PIPEWAIT</a>, <span Class="manpage">RFC 7540</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLMOPT_PUSHDATA.pdf b/docs/libcurl/opts/CURLMOPT_PUSHDATA.pdf
deleted file mode 100644
index 16b1d072c..000000000
--- a/docs/libcurl/opts/CURLMOPT_PUSHDATA.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.html b/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.html
deleted file mode 100644
index 2bdd3be61..000000000
--- a/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.html
+++ /dev/null
@@ -1,131 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLMOPT_PUSHFUNCTION man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLMOPT_PUSHFUNCTION - callback that approves or denies server pushes <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-char *curl_pushheader_bynum(struct curl_pushheaders *h, size_t num);
-char *curl_pushheader_byname(struct curl_pushheaders *h, const char *name);
-&nbsp;
-int curl_push_callback(CURL *parent,
-&nbsp; CURL *easy,
-&nbsp; size_t num_headers,
-&nbsp; struct curl_pushheaders *headers,
-&nbsp; void *userp);
-&nbsp;
-CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PUSHFUNCTION,
-&nbsp; curl_push_callback func);
-</pre>
-
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This callback gets called when a new HTTP/2 stream is being pushed by the server (using the PUSH_PROMISE frame). If no push callback is set, all offered pushes will be denied automatically. <a name="CALLBACK"></a><h2 class="nroffsh">CALLBACK DESCRIPTION</h2>
-<p class="level0">The callback gets its arguments like this:
-<p class="level0"><span Class="emphasis">parent</span> is the handle of the stream on which this push arrives. The new handle has been duphandle()d from the parent, meaning that it has gotten all its options inherited. It is then up to the application to alter any options if desired.
-<p class="level0"><span Class="emphasis">easy</span> is a newly created handle that represents this upcoming transfer.
-<p class="level0"><span Class="emphasis">num_headers</span> is the number of name+value pairs that was received and can be accessed
-<p class="level0"><span Class="emphasis">headers</span> is a handle used to access push headers using the accessor functions described below. This only accesses and provides the PUSH_PROMISE headers, the normal response headers will be provided in the header callback as usual.
-<p class="level0"><span Class="emphasis">userp</span> is the pointer set with <a Class="emphasis" href="./CURLMOPT_PUSHDATA.html">CURLMOPT_PUSHDATA</a>
-<p class="level0">If the callback returns CURL_PUSH_OK, the 'easy' handle will be added to the multi handle, the callback must not do that by itself.
-<p class="level0">The callback can access PUSH_PROMISE headers with two accessor functions. These functions can only be used from within this callback and they can only access the PUSH_PROMISE headers. The normal response headers will be passed to the header callback for pushed streams just as for normal streams.
-<p class="level0"><a name="curlpushheaderbynum"></a><span class="nroffip">curl_pushheader_bynum</span>
-<p class="level1">Returns the header at index 'num' (or NULL). The returned pointer points to a "name:value" string that will be freed when this callback returns.
-<p class="level0"><a name="curlpushheaderbyname"></a><span class="nroffip">curl_pushheader_byname</span>
-<p class="level1">Returns the value for the given header name (or NULL). This is a shortcut so that the application doesn't have to loop through all headers to find the one it is interested in. The data pointed will be freed when this callback returns. If more than one header field use the same name, this returns only the first one. <a name="CALLBACK"></a><h2 class="nroffsh">CALLBACK RETURN VALUE</h2>
-<p class="level0">
-<p class="level0"><a name="CURLPUSHOK"></a><span class="nroffip">CURL_PUSH_OK (0)</span>
-<p class="level1">The application has accepted the stream and it can now start receiving data, the ownership of the CURL handle has been taken over by the application.
-<p class="level0"><a name="CURLPUSHDENY"></a><span class="nroffip">CURL_PUSH_DENY (1)</span>
-<p class="level1">The callback denies the stream and no data for this will reach the application, the easy handle will be destroyed by libcurl.
-<p class="level0"><a name=""></a><span class="nroffip">*</span>
-<p class="level1">All other return codes are reserved for future use. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL, no callback <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP(S) (HTTP/2 only) <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-/* only allow pushes for file names starting with "push-" */
-int push_callback(CURL *parent,
-&nbsp; CURL *easy,
-&nbsp; size_t num_headers,
-&nbsp; struct curl_pushheaders *headers,
-&nbsp; void *userp)
-{
-&nbsp; char *headp;
-&nbsp; int *transfers = (int *)userp;
-&nbsp; FILE *out;
-&nbsp; headp = curl_pushheader_byname(headers, ":path");
-&nbsp; if(headp && !strncmp(headp, "/push-", 6)) {
-&nbsp; fprintf(stderr, "The PATH is %s\n", headp);
-&nbsp;
-&nbsp; /* save the push here */
-&nbsp; out = fopen("pushed-stream", "wb");
-&nbsp;
-&nbsp; /* write to this file */
-&nbsp; curl_easy_setopt(easy, CURLOPT_WRITEDATA, out);
-&nbsp;
-&nbsp; (*transfers)++; /* one more */
-&nbsp;
-&nbsp; return CURL_PUSH_OK;
-&nbsp; }
-&nbsp; return CURL_PUSH_DENY;
-}
-&nbsp;
-curl_multi_setopt(multi, CURLMOPT_PUSHFUNCTION, push_callback);
-curl_multi_setopt(multi, CURLMOPT_PUSHDATA, &counter);
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.44.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLMOPT_PUSHDATA.html">CURLMOPT_PUSHDATA</a>, <a Class="manpage" href="./CURLMOPT_PIPELINING.html">CURLMOPT_PIPELINING</a>, <a Class="manpage" href="./CURLOPT_PIPEWAIT.html">CURLOPT_PIPEWAIT</a>, <span Class="manpage">RFC 7540</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.pdf b/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.pdf
deleted file mode 100644
index 4cdac4637..000000000
--- a/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLMOPT_SOCKETDATA.html b/docs/libcurl/opts/CURLMOPT_SOCKETDATA.html
deleted file mode 100644
index 40e23362d..000000000
--- a/docs/libcurl/opts/CURLMOPT_SOCKETDATA.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLMOPT_SOCKETDATA man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLMOPT_SOCKETDATA - custom pointer passed to the socket callback <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_SOCKETDATA, void *pointer);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">A data <span Class="emphasis">pointer</span> to pass to the socket callback set with the <a Class="emphasis" href="./CURLMOPT_SOCKETFUNCTION.html">CURLMOPT_SOCKETFUNCTION</a> option.
-<p class="level0">This pointer will not be touched by libcurl but will only be passed in to the socket callbacks's <span Class="bold">userp</span> argument. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.15.4 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLM_OK. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLMOPT_SOCKETFUNCTION.html">CURLMOPT_SOCKETFUNCTION</a>, <span Class="manpage">curl_multi_socket_action (3)</span>, <a Class="manpage" href="./CURLMOPT_TIMERFUNCTION.html">CURLMOPT_TIMERFUNCTION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLMOPT_SOCKETDATA.pdf b/docs/libcurl/opts/CURLMOPT_SOCKETDATA.pdf
deleted file mode 100644
index 404f345bc..000000000
--- a/docs/libcurl/opts/CURLMOPT_SOCKETDATA.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.html b/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.html
deleted file mode 100644
index 5ec5e3890..000000000
--- a/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLMOPT_SOCKETFUNCTION man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLMOPT_SOCKETFUNCTION - callback informed about what to wait for <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-int socket_callback(CURL *easy, /* easy handle */
-&nbsp; curl_socket_t s, /* socket */
-&nbsp; int what, /* describes the socket */
-&nbsp; void *userp, /* private callback pointer */
-&nbsp; void *socketp); /* private socket pointer */
-&nbsp;
-CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_SOCKETFUNCTION, socket_callback);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to your callback function, which should match the prototype shown above.
-<p class="level0">When the <span Class="emphasis">curl_multi_socket_action(3)</span> function runs, it informs the application about updates in the socket (file descriptor) status by doing none, one, or multiple calls to the <span Class="bold">socket_callback</span>. The callback gets status updates with changes since the previous time the callback was called. If the given callback pointer is NULL, no callback will be called. Set the callback's <span Class="bold">userp</span> argument with <a Class="emphasis" href="./CURLMOPT_SOCKETDATA.html">CURLMOPT_SOCKETDATA</a>. See <span Class="emphasis">curl_multi_socket_action(3)</span> for more details on how the callback is used and should work.
-<p class="level0">The <span Class="bold">what</span> parameter informs the callback on the status of the given socket. It can hold one of these values:
-<p class="level0"><a name="CURLPOLLIN"></a><span class="nroffip">CURL_POLL_IN</span>
-<p class="level1">Wait for incoming data. For the socket to become readable.
-<p class="level0"><a name="CURLPOLLOUT"></a><span class="nroffip">CURL_POLL_OUT</span>
-<p class="level1">Wait for outgoing data. For the socket to become writable.
-<p class="level0"><a name="CURLPOLLINOUT"></a><span class="nroffip">CURL_POLL_INOUT</span>
-<p class="level1">Wait for incoming and outgoing data. For the socket to become readable or writable.
-<p class="level0"><a name="CURLPOLLREMOVE"></a><span class="nroffip">CURL_POLL_REMOVE</span>
-<p class="level1">The specified socket/file descriptor is no longer used by libcurl. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL (no callback) <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.15.4 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLM_OK. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLMOPT_SOCKETDATA.html">CURLMOPT_SOCKETDATA</a>, <span Class="manpage">curl_multi_socket_action (3)</span>, <a Class="manpage" href="./CURLMOPT_TIMERFUNCTION.html">CURLMOPT_TIMERFUNCTION</a>
-<p class="level0"><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.pdf b/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.pdf
deleted file mode 100644
index 57ff6475a..000000000
--- a/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLMOPT_TIMERDATA.html b/docs/libcurl/opts/CURLMOPT_TIMERDATA.html
deleted file mode 100644
index 4cb6e27ad..000000000
--- a/docs/libcurl/opts/CURLMOPT_TIMERDATA.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLMOPT_TIMERDATA man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLMOPT_TIMERDATA - custom pointer to pass to timer callback <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_TIMERDATA, void *pointer);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">A data <span Class="bold">pointer</span> to pass to the timer callback set with the <a Class="emphasis" href="./CURLMOPT_TIMERFUNCTION.html">CURLMOPT_TIMERFUNCTION</a> option.
-<p class="level0">This pointer will not be touched by libcurl but will only be passed in to the timer callbacks's <span Class="bold">userp</span> argument. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.16.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLMOPT_TIMERFUNCTION.html">CURLMOPT_TIMERFUNCTION</a>, <a Class="manpage" href="./CURLMOPT_SOCKETFUNCTION.html">CURLMOPT_SOCKETFUNCTION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLMOPT_TIMERDATA.pdf b/docs/libcurl/opts/CURLMOPT_TIMERDATA.pdf
deleted file mode 100644
index 91aaeeb7a..000000000
--- a/docs/libcurl/opts/CURLMOPT_TIMERDATA.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.html b/docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.html
deleted file mode 100644
index abcc40777..000000000
--- a/docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.html
+++ /dev/null
@@ -1,113 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLMOPT_TIMERFUNCTION man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLMOPT_TIMERFUNCTION - set callback to receive timeout values <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-int timer_callback(CURLM *multi, /* multi handle */
-&nbsp; long timeout_ms, /* see above */
-&nbsp; void *userp); /* private callback pointer */
-&nbsp;
-CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_TIMERFUNCTION, timer_callback);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to your callback function, which should match the prototype shown above.
-<p class="level0">Certain features, such as timeouts and retries, require you to call libcurl even when there is no activity on the file descriptors.
-<p class="level0">Your callback function <span Class="bold">timer_callback</span> should install a non-repeating timer with an interval of <span Class="bold">timeout_ms</span>. Each time that timer fires, call either <span Class="emphasis">curl_multi_socket_action(3)</span> or <span Class="emphasis">curl_multi_perform(3)</span>, depending on which interface you use.
-<p class="level0">A <span Class="bold">timeout_ms</span> value of -1 means you should delete your timer.
-<p class="level0">A <span Class="bold">timeout_ms</span> value of 0 means you should call <span Class="emphasis">curl_multi_socket_action(3)</span> or <span Class="emphasis">curl_multi_perform(3)</span> (once) as soon as possible.
-<p class="level0"><span Class="bold">timer_callback</span> will only be called when the <span Class="bold">timeout_ms</span> changes.
-<p class="level0">The <span Class="bold">userp</span> pointer is set with <a Class="emphasis" href="./CURLMOPT_TIMERDATA.html">CURLMOPT_TIMERDATA</a>.
-<p class="level0">The timer callback should return 0 on success, and -1 on error. This callback can be used instead of, or in addition to, <span Class="emphasis">curl_multi_timeout(3)</span>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-static gboolean timeout_cb(gpointer user_data) {
-&nbsp; if (user_data) {
-&nbsp; g_free(user_data);
-&nbsp; curl_multi_setopt(curl_handle, CURLMOPT_TIMERDATA, NULL);
-&nbsp; }
-&nbsp; int running;
-&nbsp; curl_multi_socket_action(multi, CURL_SOCKET_TIMEOUT, 0, &running);
-&nbsp; return G_SOURCE_REMOVE;
-}
-&nbsp;
-static int timerfunc(CURLM *multi, long timeout_ms, void *userp) {
-&nbsp; guint *id = userp;
-&nbsp;
-&nbsp; if (id)
-&nbsp; g_source_remove(*id);
-&nbsp;
-&nbsp; // -1 means we should just delete our timer.
-&nbsp; if (timeout_ms == -1) {
-&nbsp; g_free(id);
-&nbsp; id = NULL;
-&nbsp; } else {
-&nbsp; if (!id)
-&nbsp; id = g_new(guint, 1);
-&nbsp; *id = g_timeout_add(timeout_ms, timeout_cb, id);
-&nbsp; }
-&nbsp; curl_multi_setopt(multi, CURLMOPT_TIMERDATA, id);
-&nbsp; return 0;
-}
-&nbsp;
-curl_multi_setopt(multi, CURLMOPT_TIMERFUNCTION, timerfunc);
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.16.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLMOPT_TIMERDATA.html">CURLMOPT_TIMERDATA</a>, <a Class="manpage" href="./CURLMOPT_SOCKETFUNCTION.html">CURLMOPT_SOCKETFUNCTION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.pdf b/docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.pdf
deleted file mode 100644
index 30d5b1f8b..000000000
--- a/docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_ABSTRACT_UNIX_SOCKET.3 b/docs/libcurl/opts/CURLOPT_ABSTRACT_UNIX_SOCKET.3
new file mode 100644
index 000000000..8b61854c0
--- /dev/null
+++ b/docs/libcurl/opts/CURLOPT_ABSTRACT_UNIX_SOCKET.3
@@ -0,0 +1,58 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, 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>
+
+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 --git a/docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.html b/docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.html
deleted file mode 100644
index e303e9cde..000000000
--- a/docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.html
+++ /dev/null
@@ -1,77 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_ACCEPTTIMEOUT_MS man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_ACCEPTTIMEOUT_MS - timeout waiting for FTP server to connect back <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ACCEPTTIMEOUT_MS, long ms); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long telling libcurl the maximum number of milliseconds to wait for a server to connect back to libcurl when an active FTP connection is used. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">60000 milliseconds <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">FTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/path/file");
-&nbsp;
-&nbsp; /* wait no more than 5 seconds for FTP server responses */
-&nbsp; curl_easy_setopt(curl, CURLOPT_ACCEPTTIMEOUT_MS, 5000L);
-&nbsp;
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.24.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_STDERR.html">CURLOPT_STDERR</a>, <a Class="manpage" href="./CURLOPT_DEBUGFUNCTION.html">CURLOPT_DEBUGFUNCTION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.pdf b/docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.pdf
deleted file mode 100644
index 46627306e..000000000
--- a/docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.3 b/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.3
index c31263139..3a5fc166d 100644
--- a/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.3
+++ b/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.3
@@ -58,6 +58,9 @@ 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
diff --git a/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.html b/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.html
deleted file mode 100644
index f1faded28..000000000
--- a/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.html
+++ /dev/null
@@ -1,85 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_ACCEPT_ENCODING man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_ACCEPT_ENCODING - enables automatic decompression of HTTP downloads <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ACCEPT_ENCODING, char *enc); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * argument specifying what encoding you'd like.
-<p class="level0">Sets the contents of the Accept-Encoding: header sent in a HTTP request, and enables decoding of a response when a Content-Encoding: header is received. Three encodings are supported: <span Class="emphasis">identity</span>, meaning non-compressed, <span Class="emphasis">deflate</span> which requests the server to compress its response using the zlib algorithm, and <span Class="emphasis">gzip</span> which requests the gzip algorithm.
-<p class="level0">If a zero-length string is set like "", then an Accept-Encoding: header containing all built-in supported encodings is sent.
-<p class="level0">Set this option to NULL to explicitly disable it, which makes libcurl not send an Accept-Encoding: header and not decompress contents automatically.
-<p class="level0">You can also opt to just include the Accept-Encoding: header in your request with <a Class="emphasis" href="./CURLOPT_HTTPHEADER.html">CURLOPT_HTTPHEADER</a> but then there will be no automatic decompressing when receiving data.
-<p class="level0">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.
-<p class="level0">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.
-<p class="level0">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). <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; /* enable all supported built-in compressions */
-&nbsp; curl_easy_setopt(curl, CURLOPT_ACCEPT_ENCODING, "");
-&nbsp;
-&nbsp; /* Perform the request */
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This option was called CURLOPT_ENCODING before 7.21.6 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_TRANSFER_ENCODING.html">CURLOPT_TRANSFER_ENCODING</a>, <a Class="manpage" href="./CURLOPT_HTTPHEADER.html">CURLOPT_HTTPHEADER</a>, <a Class="manpage" href="./CURLOPT_HTTP_CONTENT_DECODING.html">CURLOPT_HTTP_CONTENT_DECODING</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.pdf b/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.pdf
deleted file mode 100644
index 6f00dbed1..000000000
--- a/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.html b/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.html
deleted file mode 100644
index b84aeded5..000000000
--- a/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_ADDRESS_SCOPE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_ADDRESS_SCOPE - set scope for local IPv6 addresses <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ADDRESS_SCOPE, long scope); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long specifying the scope_id value to use when connecting to IPv6 link-local or site-local addresses. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All, when using IPv6 <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.19.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_STDERR.html">CURLOPT_STDERR</a>, <a Class="manpage" href="./CURLOPT_DEBUGFUNCTION.html">CURLOPT_DEBUGFUNCTION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.pdf b/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.pdf
deleted file mode 100644
index c0ffbb332..000000000
--- a/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_APPEND.html b/docs/libcurl/opts/CURLOPT_APPEND.html
deleted file mode 100644
index 274e6d039..000000000
--- a/docs/libcurl/opts/CURLOPT_APPEND.html
+++ /dev/null
@@ -1,77 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_APPEND man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_APPEND - enable appending to the remote file <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_APPEND, long append); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">A long parameter set to 1 tells the library to append to the remote file instead of overwrite it. This is only useful when uploading to an FTP site. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 (disabled) <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">FTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp;
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/dir/to/newfile");
-&nbsp; curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
-&nbsp; curl_easy_setopt(curl, CURLOPT_APPEND, 1L);
-&nbsp;
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This option was known as CURLOPT_FTPAPPEND up to 7.16.4 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_DIRLISTONLY.html">CURLOPT_DIRLISTONLY</a>, <a Class="manpage" href="./CURLOPT_RESUME_FROM.html">CURLOPT_RESUME_FROM</a>, <a Class="manpage" href="./CURLOPT_UPLOAD.html">CURLOPT_UPLOAD</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_APPEND.pdf b/docs/libcurl/opts/CURLOPT_APPEND.pdf
deleted file mode 100644
index 9a4727e5d..000000000
--- a/docs/libcurl/opts/CURLOPT_APPEND.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_AUTOREFERER.html b/docs/libcurl/opts/CURLOPT_AUTOREFERER.html
deleted file mode 100644
index 6ce41a32c..000000000
--- a/docs/libcurl/opts/CURLOPT_AUTOREFERER.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_AUTOREFERER man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_AUTOREFERER - automatically update the referer header <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_AUTOREFERER, long autorefer); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a parameter set to 1 to enable this. When enabled, libcurl will automatically set the Referer: header field in HTTP requests where it follows a Location: redirect. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0, disabled <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Along with HTTP <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_REFERER.html">CURLOPT_REFERER</a>, <a Class="manpage" href="./CURLOPT_FOLLOWLOCATION.html">CURLOPT_FOLLOWLOCATION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_AUTOREFERER.pdf b/docs/libcurl/opts/CURLOPT_AUTOREFERER.pdf
deleted file mode 100644
index 5afb9cb05..000000000
--- a/docs/libcurl/opts/CURLOPT_AUTOREFERER.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_BUFFERSIZE.3 b/docs/libcurl/opts/CURLOPT_BUFFERSIZE.3
index 113118e73..dc5bf74f2 100644
--- a/docs/libcurl/opts/CURLOPT_BUFFERSIZE.3
+++ b/docs/libcurl/opts/CURLOPT_BUFFERSIZE.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -30,20 +30,22 @@ CURLcode curl_easy_setopt(CURL *handle, CURLOPT_BUFFERSIZE, long size);
.SH DESCRIPTION
Pass a long specifying your preferred \fIsize\fP (in bytes) for the receive
buffer in libcurl. The main point of this would be that the write callback
-gets called more often and with smaller chunks. This is just treated as a
-request, not an order. You cannot be guaranteed to actually get the given
-size.
+gets called more often and with smaller chunks. Secondly, for some protocols,
+there's a benefit of having a larger buffer for performance.
-This size is by default set as big as possible (\fICURL_MAX_WRITE_SIZE\fP), so
-it only makes sense to use this option if you want it smaller.
+This is just treated as a request, not an order. You cannot be guaranteed to
+actually get the given size.
+
+This buffer size is by default \fICURL_MAX_WRITE_SIZE\fP (16kB). The maximum
+buffer size allowed to set is \fICURL_MAX_READ_SIZE\fP (512kB).
.SH DEFAULT
-CURL_MAX_WRITE_SIZE
+CURL_MAX_WRITE_SIZE (16kB)
.SH PROTOCOLS
All
.SH EXAMPLE
TODO
.SH AVAILABILITY
-Added in 7.10
+Added in 7.10. Growing the buffer was added in 7.53.0.
.SH RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
.SH "SEE ALSO"
diff --git a/docs/libcurl/opts/CURLOPT_BUFFERSIZE.html b/docs/libcurl/opts/CURLOPT_BUFFERSIZE.html
deleted file mode 100644
index 793aa67e4..000000000
--- a/docs/libcurl/opts/CURLOPT_BUFFERSIZE.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_BUFFERSIZE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_BUFFERSIZE - set preferred receive buffer size <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_BUFFERSIZE, long size); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long specifying your preferred <span Class="emphasis">size</span> (in bytes) for the receive buffer in libcurl. The main point of this would be that the write callback gets called more often and with smaller chunks. This is just treated as a request, not an order. You cannot be guaranteed to actually get the given size.
-<p class="level0">This size is by default set as big as possible (<span Class="emphasis">CURL_MAX_WRITE_SIZE</span>), so it only makes sense to use this option if you want it smaller. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">CURL_MAX_WRITE_SIZE <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.10 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_MAX_RECV_SPEED_LARGE.html">CURLOPT_MAX_RECV_SPEED_LARGE</a>, <a Class="manpage" href="./CURLOPT_WRITEFUNCTION.html">CURLOPT_WRITEFUNCTION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_BUFFERSIZE.pdf b/docs/libcurl/opts/CURLOPT_BUFFERSIZE.pdf
deleted file mode 100644
index 6e6adb89c..000000000
--- a/docs/libcurl/opts/CURLOPT_BUFFERSIZE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CAINFO.3 b/docs/libcurl/opts/CURLOPT_CAINFO.3
index 7db50a8fa..127b90443 100644
--- a/docs/libcurl/opts/CURLOPT_CAINFO.3
+++ b/docs/libcurl/opts/CURLOPT_CAINFO.3
@@ -46,6 +46,9 @@ 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
diff --git a/docs/libcurl/opts/CURLOPT_CAINFO.html b/docs/libcurl/opts/CURLOPT_CAINFO.html
deleted file mode 100644
index 74a7d8382..000000000
--- a/docs/libcurl/opts/CURLOPT_CAINFO.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_CAINFO man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_CAINFO - path to Certificate Authority (CA) bundle <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CAINFO, char *path); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * to a zero terminated string naming a file holding one or more certificates to verify the peer with.
-<p class="level0">If <a Class="emphasis" href="./CURLOPT_SSL_VERIFYPEER.html">CURLOPT_SSL_VERIFYPEER</a> is zero and you avoid verifying the server's certificate, <a Class="emphasis" href="./CURLOPT_CAINFO.html">CURLOPT_CAINFO</a> need not even indicate an accessible file.
-<p class="level0">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.
-<p class="level0">If curl is built against the NSS SSL library, the NSS PEM PKCS&#35;11 module (libnsspem.so) needs to be available for this option to work properly.
-<p class="level0">(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. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">Built-in system specific <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">For SSL engines that don't support certificate files the CURLOPT_CAINFO option is ignored. Refer to <a href="https://curl.haxx.se/docs/ssl-compared.html">https://curl.haxx.se/docs/ssl-compared.html</a> <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_CAPATH.html">CURLOPT_CAPATH</a>, <a Class="manpage" href="./CURLOPT_SSL_VERIFYPEER.html">CURLOPT_SSL_VERIFYPEER</a>, <a Class="manpage" href="./CURLOPT_SSL_VERIFYHOST.html">CURLOPT_SSL_VERIFYHOST</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_CAINFO.pdf b/docs/libcurl/opts/CURLOPT_CAINFO.pdf
deleted file mode 100644
index ae8de1133..000000000
--- a/docs/libcurl/opts/CURLOPT_CAINFO.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CAPATH.3 b/docs/libcurl/opts/CURLOPT_CAPATH.3
index 0369f8910..b19994b50 100644
--- a/docs/libcurl/opts/CURLOPT_CAPATH.3
+++ b/docs/libcurl/opts/CURLOPT_CAPATH.3
@@ -36,6 +36,9 @@ This makes sense only when used in combination with the
The \fICURLOPT_CAPATH(3)\fP function apparently does not work in Windows due
to some limitation in openssl.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
NULL
.SH PROTOCOLS
@@ -46,8 +49,13 @@ TODO
This option is supported by the OpenSSL, GnuTLS and PolarSSL backends. The NSS
backend provides the option only for backward compatibility.
.SH RETURN VALUE
-Returns CURLE_OK if TLS enabled, and CURLE_UNKNOWN_OPTION if not, or
-CURLE_OUT_OF_MEMORY if there was insufficient heap space.
+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_CAINFO "(3), "
.BR CURLOPT_STDERR "(3), " CURLOPT_DEBUGFUNCTION "(3), "
diff --git a/docs/libcurl/opts/CURLOPT_CAPATH.html b/docs/libcurl/opts/CURLOPT_CAPATH.html
deleted file mode 100644
index 808387248..000000000
--- a/docs/libcurl/opts/CURLOPT_CAPATH.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_CAPATH man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_CAPATH - specify directory holding CA certificates <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CAPATH, char *capath); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * to a zero terminated string naming a directory holding multiple CA certificates to verify the peer with. If libcurl is built against OpenSSL, the certificate directory must be prepared using the openssl c_rehash utility. This makes sense only when used in combination with the <a Class="emphasis" href="./CURLOPT_SSL_VERIFYPEER.html">CURLOPT_SSL_VERIFYPEER</a> option.
-<p class="level0">The <a Class="emphasis" href="./CURLOPT_CAPATH.html">CURLOPT_CAPATH</a> function apparently does not work in Windows due to some limitation in openssl. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This option is supported by the OpenSSL, GnuTLS and PolarSSL backends. The NSS backend provides the option only for backward compatibility. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if TLS enabled, and CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_CAINFO.html">CURLOPT_CAINFO</a>, <a Class="manpage" href="./CURLOPT_STDERR.html">CURLOPT_STDERR</a>, <a Class="manpage" href="./CURLOPT_DEBUGFUNCTION.html">CURLOPT_DEBUGFUNCTION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_CAPATH.pdf b/docs/libcurl/opts/CURLOPT_CAPATH.pdf
deleted file mode 100644
index 2af7bd7eb..000000000
--- a/docs/libcurl/opts/CURLOPT_CAPATH.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CERTINFO.html b/docs/libcurl/opts/CURLOPT_CERTINFO.html
deleted file mode 100644
index ecf4d5177..000000000
--- a/docs/libcurl/opts/CURLOPT_CERTINFO.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_CERTINFO man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_CERTINFO - request SSL certificate information <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CERTINFO, long certinfo); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long set to 1 to enable libcurl's certificate chain info gatherer. With this enabled, libcurl will extract lots of information and data about the certificates in the certificate chain used in the SSL connection. This data may then be retrieved after a transfer using <span Class="emphasis">curl_easy_getinfo(3)</span> and its option <a Class="emphasis" href="./CURLINFO_CERTINFO.html">CURLINFO_CERTINFO</a>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All TLS-based <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This option is supported by the OpenSSL, GnuTLS, NSS and GSKit backends. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_CAINFO.html">CURLOPT_CAINFO</a>, <a Class="manpage" href="./CURLOPT_SSL_VERIFYPEER.html">CURLOPT_SSL_VERIFYPEER</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_CERTINFO.pdf b/docs/libcurl/opts/CURLOPT_CERTINFO.pdf
deleted file mode 100644
index 77f448cf3..000000000
--- a/docs/libcurl/opts/CURLOPT_CERTINFO.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.html b/docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.html
deleted file mode 100644
index 2fd952618..000000000
--- a/docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_CHUNK_BGN_FUNCTION man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_CHUNK_BGN_FUNCTION - callback before a transfer with FTP wildcardmatch <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-long chunk_bgn_callback(const void *transfer_info, void *ptr,
-&nbsp; int remains);
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CHUNK_BGN_FUNCTION,
-&nbsp; chunk_bgn_callback);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to your callback function, which should match the prototype shown above.
-<p class="level0">This callback function gets called by libcurl before a part of the stream is going to be transferred (if the transfer supports chunks).
-<p class="level0">The <span Class="emphasis">transfer_info</span> pointer will point to a struct curl_fileinfo with details about the file that is about to get transferred.
-<p class="level0">This callback makes sense only when using the <a Class="emphasis" href="./CURLOPT_WILDCARDMATCH.html">CURLOPT_WILDCARDMATCH</a> option for now.
-<p class="level0">The target of transfer_info parameter is a "feature depended" structure. For the FTP wildcard download, the target is curl_fileinfo structure (see <span Class="emphasis">curl/curl.h</span>). The parameter <span Class="emphasis">ptr</span> is a pointer given by <a Class="emphasis" href="./CURLOPT_CHUNK_DATA.html">CURLOPT_CHUNK_DATA</a>. The parameter remains contains number of chunks remaining per the transfer. If the feature is not available, the parameter has zero value.
-<p class="level0">Return <span Class="emphasis">CURL_CHUNK_BGN_FUNC_OK</span> if everything is fine, <span Class="emphasis">CURL_CHUNK_BGN_FUNC_SKIP</span> if you want to skip the concrete chunk or <span Class="emphasis">CURL_CHUNK_BGN_FUNC_FAIL</span> to tell libcurl to stop if some error occurred. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">FTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This was added in 7.21.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_CHUNK_END_FUNCTION.html">CURLOPT_CHUNK_END_FUNCTION</a>, <a Class="manpage" href="./CURLOPT_WILDCARDMATCH.html">CURLOPT_WILDCARDMATCH</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.pdf b/docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.pdf
deleted file mode 100644
index 2c9ed44d6..000000000
--- a/docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CHUNK_DATA.html b/docs/libcurl/opts/CURLOPT_CHUNK_DATA.html
deleted file mode 100644
index f86939c82..000000000
--- a/docs/libcurl/opts/CURLOPT_CHUNK_DATA.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_CHUNK_DATA man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_CHUNK_DATA - custom pointer to the FTP chunk callbacks <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CHUNK_DATA, void *pointer); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a <span Class="emphasis">pointer</span> that will be untouched by libcurl and passed as the ptr argument to the <a Class="emphasis" href="./CURLOPT_CHUNK_BGN_FUNCTION.html">CURLOPT_CHUNK_BGN_FUNCTION</a> and <a Class="emphasis" href="./CURLOPT_CHUNK_END_FUNCTION.html">CURLOPT_CHUNK_END_FUNCTION</a>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">FTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.21.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_CHUNK_BGN_FUNCTION.html">CURLOPT_CHUNK_BGN_FUNCTION</a>, <a Class="manpage" href="./CURLOPT_WILDCARDMATCH.html">CURLOPT_WILDCARDMATCH</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_CHUNK_DATA.pdf b/docs/libcurl/opts/CURLOPT_CHUNK_DATA.pdf
deleted file mode 100644
index d07f0af4d..000000000
--- a/docs/libcurl/opts/CURLOPT_CHUNK_DATA.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.html b/docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.html
deleted file mode 100644
index e2e009397..000000000
--- a/docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.html
+++ /dev/null
@@ -1,74 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_CHUNK_END_FUNCTION man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_CHUNK_END_FUNCTION - callback after a transfer with FTP wildcardmatch <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-long chunk_end_callback(void *ptr);
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CHUNK_END_FUNCTION,
-&nbsp; chunk_end_callback);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to your callback function, which should match the prototype shown above.
-<p class="level0">This function gets called by libcurl as soon as a part of the stream has been transferred (or skipped).
-<p class="level0">Return <span Class="emphasis">CURL_CHUNK_END_FUNC_OK</span> if everything is fine or <span Class="bold">CURL_CHUNK_END_FUNC_FAIL</span> to tell the lib to stop if some error occurred. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">FTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.21.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_WILDCARDMATCH.html">CURLOPT_WILDCARDMATCH</a>, <a Class="manpage" href="./CURLOPT_CHUNK_BGN_FUNCTION.html">CURLOPT_CHUNK_BGN_FUNCTION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.pdf b/docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.pdf
deleted file mode 100644
index e002a30c4..000000000
--- a/docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.html b/docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.html
deleted file mode 100644
index e8c934f94..000000000
--- a/docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_CLOSESOCKETDATA man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_CLOSESOCKETDATA - pointer passed to the socket close callback <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CLOSESOCKETDATA, void *pointer); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a <span Class="emphasis">pointer</span> that will be untouched by libcurl and passed as the first argument in the closesocket callback set with <a Class="emphasis" href="./CURLOPT_CLOSESOCKETFUNCTION.html">CURLOPT_CLOSESOCKETFUNCTION</a>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">The default value of this parameter is NULL. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All except file: <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.21.7 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_CLOSESOCKETFUNCTION.html">CURLOPT_CLOSESOCKETFUNCTION</a>, <a Class="manpage" href="./CURLOPT_OPENSOCKETFUNCTION.html">CURLOPT_OPENSOCKETFUNCTION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.pdf b/docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.pdf
deleted file mode 100644
index 786a725ce..000000000
--- a/docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.html b/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.html
deleted file mode 100644
index c77fd189d..000000000
--- a/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_CLOSESOCKETFUNCTION man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_CLOSESOCKETFUNCTION - callback to socket close replacement function <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">int closesocket_callback(void *clientp, curl_socket_t item);
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CLOSESOCKETFUNCTION, closesocket_callback); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to your callback function, which should match the prototype shown above.
-<p class="level0">This callback function gets called by libcurl instead of the <span Class="emphasis">close(3)</span> or <span Class="emphasis">closesocket(3)</span> call when sockets are closed (not for any other file descriptors). This is pretty much the reverse to the <a Class="emphasis" href="./CURLOPT_OPENSOCKETFUNCTION.html">CURLOPT_OPENSOCKETFUNCTION</a> option. Return 0 to signal success and 1 if there was an error.
-<p class="level0">The <span Class="emphasis">clientp</span> pointer is set with <a Class="emphasis" href="./CURLOPT_CLOSESOCKETDATA.html">CURLOPT_CLOSESOCKETDATA</a>. <span Class="emphasis">item</span> is the socket libcurl wants to be closed. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">By default libcurl uses the standard socket close function. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.21.7 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_CLOSESOCKETDATA.html">CURLOPT_CLOSESOCKETDATA</a>, <a Class="manpage" href="./CURLOPT_OPENSOCKETFUNCTION.html">CURLOPT_OPENSOCKETFUNCTION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.pdf b/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.pdf
deleted file mode 100644
index c9adb1015..000000000
--- a/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.html b/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.html
deleted file mode 100644
index f8e130889..000000000
--- a/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_CONNECTTIMEOUT man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_CONNECTTIMEOUT - timeout for the connect phase <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONNECTTIMEOUT, long timeout); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long. It should contain the maximum time in seconds that you allow the connection phase to the server to take. This only limits the connection phase, it has no impact once it has connected. Set to zero to switch to the default built-in connection timeout - 300 seconds. See also the <a Class="emphasis" href="./CURLOPT_TIMEOUT.html">CURLOPT_TIMEOUT</a> option.
-<p class="level0">In unix-like systems, this might cause signals to be used unless <a Class="emphasis" href="./CURLOPT_NOSIGNAL.html">CURLOPT_NOSIGNAL</a> is set. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">300 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; /* complete connection within 10 seconds */
-&nbsp; curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 10L);
-&nbsp;
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_TIMEOUT.html">CURLOPT_TIMEOUT</a>, <a Class="manpage" href="./CURLOPT_LOW_SPEED_LIMIT.html">CURLOPT_LOW_SPEED_LIMIT</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.pdf b/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.pdf
deleted file mode 100644
index 9dc7422b2..000000000
--- a/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.html b/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.html
deleted file mode 100644
index 8f265f5e7..000000000
--- a/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_CONNECTTIMEOUT_MS man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_CONNECTTIMEOUT_MS - timeout for the connect phase <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONNECTTIMEOUT_MS, long timeout); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long. It should contain the maximum time in milliseconds that you allow the connection phase to the server to take. This only limits the connection phase, it has no impact once it has connected. Set to zero to switch to the default built-in connection timeout - 300 seconds. See also the <a Class="emphasis" href="./CURLOPT_TIMEOUT_MS.html">CURLOPT_TIMEOUT_MS</a> option.
-<p class="level0">In unix-like systems, this might cause signals to be used unless <a Class="emphasis" href="./CURLOPT_NOSIGNAL.html">CURLOPT_NOSIGNAL</a> is set. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">300000 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; /* complete connection within 10000 milliseconds */
-&nbsp; curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT_MS, 10000L);
-&nbsp;
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_TIMEOUT.html">CURLOPT_TIMEOUT</a>, <a Class="manpage" href="./CURLOPT_LOW_SPEED_LIMIT.html">CURLOPT_LOW_SPEED_LIMIT</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.pdf b/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.pdf
deleted file mode 100644
index d29f95bd5..000000000
--- a/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.3 b/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.3
index 61289e8d2..973c2aedc 100644
--- a/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.3
+++ b/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.3
@@ -49,3 +49,4 @@ Added in 7.15.2
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
.SH "SEE ALSO"
.BR CURLOPT_VERBOSE "(3), " CURLOPT_HTTPPROXYTUNNEL "(3), "
+.BR curl_easy_recv "(3), " curl_easy_send "(3) "
diff --git a/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.html b/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.html
deleted file mode 100644
index e7e74fc96..000000000
--- a/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_CONNECT_ONLY man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_CONNECT_ONLY - stop when connected to target server <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONNECT_ONLY, long only); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long. If the parameter equals 1, it tells the library to perform all the required proxy authentication and connection setup, but no data transfer, and then return.
-<p class="level0">The option can be used to simply test a connection to a server, but is more useful when used with the <a Class="emphasis" href="./CURLINFO_ACTIVESOCKET.html">CURLINFO_ACTIVESOCKET</a> option to <span Class="emphasis">curl_easy_getinfo(3)</span> as the library can set up the connection and then the application can obtain the most recently used socket for special data transfers. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP, SMTP, POP3 and IMAP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.15.2 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_VERBOSE.html">CURLOPT_VERBOSE</a>, <a Class="manpage" href="./CURLOPT_HTTPPROXYTUNNEL.html">CURLOPT_HTTPPROXYTUNNEL</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.pdf b/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.pdf
deleted file mode 100644
index 314c63220..000000000
--- a/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CONNECT_TO.html b/docs/libcurl/opts/CURLOPT_CONNECT_TO.html
deleted file mode 100644
index eb599d17d..000000000
--- a/docs/libcurl/opts/CURLOPT_CONNECT_TO.html
+++ /dev/null
@@ -1,101 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_CONNECT_TO man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_CONNECT_TO - Connect to a specific host and port instead of the URL's host and port <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONNECT_TO,
-&nbsp; struct curl_slist *connect_to);
-</pre>
-
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">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 <span Class="bold">struct curl_slist</span> structs properly filled in. Use <span Class="emphasis">curl_slist_append(3)</span> to create the list and <span Class="emphasis">curl_slist_free_all(3)</span> to clean up an entire list.
-<p class="level0">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.
-<p class="level0">The first string that matches the request's host and port is used.
-<p class="level0">Dotted numerical IP addresses are supported for HOST and CONNECT-TO-HOST. A numerical IPv6 address must be written within [brackets].
-<p class="level0">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.
-<p class="level0">This option is suitable to direct the request at a specific server, e.g. at a specific cluster node in a cluster of servers.
-<p class="level0">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.
-<p class="level0">In contrast to <a Class="emphasis" href="./CURLOPT_RESOLVE.html">CURLOPT_RESOLVE</a>, the option <a Class="emphasis" href="./CURLOPT_CONNECT_TO.html">CURLOPT_CONNECT_TO</a> 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.
-<p class="level0">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.
-<p class="level0">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, 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.
-<p class="level0">When this option is passed to <span Class="emphasis">curl_easy_setopt(3)</span>, libcurl will not copy the entire list so you <span Class="bold">must</span> keep it around until you no longer use this <span Class="emphasis">handle</span> for a transfer before you call <span Class="emphasis">curl_slist_free_all(3)</span> on the list.
-<p class="level0"><a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl;
-struct curl_slist *connect_to = NULL;
-connect_to = curl_slist_append(NULL, "example.com::server1.example.com:");
-&nbsp;
-curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_CONNECT_TO, connect_to);
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; curl_easy_perform(curl);
-&nbsp;
-&nbsp; /* always cleanup */
-&nbsp; curl_easy_cleanup(curl);
-}
-&nbsp;
-curl_slist_free_all(connect_to);
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.49.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_URL.html">CURLOPT_URL</a>, <a Class="manpage" href="./CURLOPT_RESOLVE.html">CURLOPT_RESOLVE</a>, <a Class="manpage" href="./CURLOPT_FOLLOWLOCATION.html">CURLOPT_FOLLOWLOCATION</a>, <a Class="manpage" href="./CURLOPT_HTTPPROXYTUNNEL.html">CURLOPT_HTTPPROXYTUNNEL</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_CONNECT_TO.pdf b/docs/libcurl/opts/CURLOPT_CONNECT_TO.pdf
deleted file mode 100644
index 4c240e396..000000000
--- a/docs/libcurl/opts/CURLOPT_CONNECT_TO.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.html b/docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.html
deleted file mode 100644
index 823ee761b..000000000
--- a/docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_CONV_FROM_NETWORK_FUNCTION man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_CONV_FROM_NETWORK_FUNCTION - convert data from network to host encoding <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode conv_callback(char *ptr, size_t length);
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONV_FROM_NETWORK_FUNCTION,
-&nbsp; conv_callback);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to your callback function, which should match the prototype shown above.
-<p class="level0">Applies to non-ASCII platforms. <span Class="emphasis">curl_version_info(3)</span> will return the CURL_VERSION_CONV feature bit set if this option is provided.
-<p class="level0">The data to be converted is in a buffer pointed to by the <span Class="emphasis">ptr</span> parameter. The amount of data to convert is indicated by the <span Class="emphasis">length</span> parameter. The converted data overlays the input data in the buffer pointed to by the ptr parameter. <span Class="emphasis">CURLE_OK</span> must be returned upon successful conversion. A CURLcode return value defined by curl.h, such as <span Class="emphasis">CURLE_CONV_FAILED</span>, should be returned if an error was encountered.
-<p class="level0"><span Class="bold">CURLOPT_CONV_FROM_NETWORK_FUNCTION</span> converts to host encoding from the network encoding. It is used when commands or ASCII data are received over the network.
-<p class="level0">If you set a callback pointer to NULL, or don't set it at all, the built-in libcurl iconv functions will be used. If HAVE_ICONV was not defined when libcurl was built, and no callback has been established, conversion will return the CURLE_CONV_REQD error code.
-<p class="level0">If HAVE_ICONV is defined, CURL_ICONV_CODESET_OF_HOST must also be defined. For example:
-<p class="level0">&nbsp;&#35;define CURL_ICONV_CODESET_OF_HOST "IBM-1047"
-<p class="level0">The iconv code in libcurl will default the network and UTF8 codeset names as follows:
-<p class="level0">&nbsp;&#35;define CURL_ICONV_CODESET_OF_NETWORK "ISO8859-1"
-<p class="level0">&nbsp;&#35;define CURL_ICONV_CODESET_FOR_UTF8 "UTF-8"
-<p class="level0">You will need to override these definitions if they are different on your system. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">FTP, SMTP, IMAP, POP3 <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Available only if <span Class="bold">CURL_DOES_CONVERSIONS</span> was defined when libcurl was built. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_CONV_TO_NETWORK_FUNCTION.html">CURLOPT_CONV_TO_NETWORK_FUNCTION</a>, <a Class="manpage" href="./CURLOPT_CONV_FROM_UTF8_FUNCTION.html">CURLOPT_CONV_FROM_UTF8_FUNCTION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.pdf b/docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.pdf
deleted file mode 100644
index 7e4fe6600..000000000
--- a/docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.html b/docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.html
deleted file mode 100644
index d3b1a467b..000000000
--- a/docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_CONV_FROM_UTF8_FUNCTION man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_CONV_FROM_UTF8_FUNCTION - convert data from UTF8 to host encoding <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode conv_callback(char *ptr, size_t length);
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONV_FROM_UTF8_FUNCTION,
-&nbsp; conv_callback);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to your callback function, which should match the prototype shown above.
-<p class="level0">Applies to non-ASCII platforms. <span Class="emphasis">curl_version_info(3)</span> will return the CURL_VERSION_CONV feature bit set if this option is provided.
-<p class="level0">The data to be converted is in a buffer pointed to by the <span Class="emphasis">ptr</span> parameter. The amount of data to convert is indicated by the <span Class="emphasis">length</span> parameter. The converted data overlays the input data in the buffer pointed to by the ptr parameter. <span Class="emphasis">CURLE_OK</span> must be returned upon successful conversion. A CURLcode return value defined by curl.h, such as <span Class="emphasis">CURLE_CONV_FAILED</span>, should be returned if an error was encountered.
-<p class="level0"><span Class="bold">CURLOPT_CONV_FROM_UTF8_FUNCTION</span> converts to host encoding from UTF8 encoding. It is required only for SSL processing.
-<p class="level0">If you set a callback pointer to NULL, or don't set it at all, the built-in libcurl iconv functions will be used. If HAVE_ICONV was not defined when libcurl was built, and no callback has been established, conversion will return the CURLE_CONV_REQD error code.
-<p class="level0">If HAVE_ICONV is defined, CURL_ICONV_CODESET_OF_HOST must also be defined. For example:
-<p class="level0">&nbsp;&#35;define CURL_ICONV_CODESET_OF_HOST "IBM-1047"
-<p class="level0">The iconv code in libcurl will default the network and UTF8 codeset names as follows:
-<p class="level0">&nbsp;&#35;define CURL_ICONV_CODESET_OF_NETWORK "ISO8859-1"
-<p class="level0">&nbsp;&#35;define CURL_ICONV_CODESET_FOR_UTF8 "UTF-8"
-<p class="level0">You will need to override these definitions if they are different on your system. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">TLS-based protocols. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Available only if <span Class="bold">CURL_DOES_CONVERSIONS</span> was defined when libcurl was built. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_CONV_TO_NETWORK_FUNCTION.html">CURLOPT_CONV_TO_NETWORK_FUNCTION</a>, <a Class="manpage" href="./CURLOPT_CONV_FROM_NETWORK_FUNCTION.html">CURLOPT_CONV_FROM_NETWORK_FUNCTION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.pdf b/docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.pdf
deleted file mode 100644
index 239776d22..000000000
--- a/docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.html b/docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.html
deleted file mode 100644
index fc7edaafb..000000000
--- a/docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_CONV_TO_NETWORK_FUNCTION man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_CONV_TO_NETWORK_FUNCTION - convert data to network from host encoding <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode conv_callback(char *ptr, size_t length);
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONV_TO_NETWORK_FUNCTION,
-&nbsp; conv_callback);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to your callback function, which should match the prototype shown above.
-<p class="level0">Applies to non-ASCII platforms. <span Class="emphasis">curl_version_info(3)</span> will return the CURL_VERSION_CONV feature bit set if this option is provided.
-<p class="level0">The data to be converted is in a buffer pointed to by the <span Class="emphasis">ptr</span> parameter. The amount of data to convert is indicated by the <span Class="emphasis">length</span> parameter. The converted data overlays the input data in the buffer pointed to by the ptr parameter. <span Class="emphasis">CURLE_OK</span> must be returned upon successful conversion. A CURLcode return value defined by curl.h, such as <span Class="emphasis">CURLE_CONV_FAILED</span>, should be returned if an error was encountered.
-<p class="level0"><span Class="bold">CURLOPT_CONV_TO_NETWORK_FUNCTION</span> converts from host encoding to the network encoding. It is used when commands or ASCII data are sent over the network.
-<p class="level0">If you set a callback pointer to NULL, or don't set it at all, the built-in libcurl iconv functions will be used. If HAVE_ICONV was not defined when libcurl was built, and no callback has been established, conversion will return the CURLE_CONV_REQD error code.
-<p class="level0">If HAVE_ICONV is defined, CURL_ICONV_CODESET_OF_HOST must also be defined. For example:
-<p class="level0">&nbsp;&#35;define CURL_ICONV_CODESET_OF_HOST "IBM-1047"
-<p class="level0">The iconv code in libcurl will default the network and UTF8 codeset names as follows:
-<p class="level0">&nbsp;&#35;define CURL_ICONV_CODESET_OF_NETWORK "ISO8859-1"
-<p class="level0">&nbsp;&#35;define CURL_ICONV_CODESET_FOR_UTF8 "UTF-8"
-<p class="level0">You will need to override these definitions if they are different on your system. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">FTP, SMTP, IMAP, POP3 <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Available only if <span Class="bold">CURL_DOES_CONVERSIONS</span> was defined when libcurl was built. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_CONV_FROM_NETWORK_FUNCTION.html">CURLOPT_CONV_FROM_NETWORK_FUNCTION</a>, <a Class="manpage" href="./CURLOPT_CONV_FROM_UTF8_FUNCTION.html">CURLOPT_CONV_FROM_UTF8_FUNCTION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.pdf b/docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.pdf
deleted file mode 100644
index c13bed820..000000000
--- a/docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_COOKIE.3 b/docs/libcurl/opts/CURLOPT_COOKIE.3
index 32c2fc293..d0da3f1f1 100644
--- a/docs/libcurl/opts/CURLOPT_COOKIE.3
+++ b/docs/libcurl/opts/CURLOPT_COOKIE.3
@@ -55,6 +55,9 @@ previous ones.
This option will not enable the cookie engine. Use \fICURLOPT_COOKIEFILE(3)\fP
or \fICURLOPT_COOKIEJAR(3)\fP to enable parsing and sending cookies
automatically.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
NULL, no cookies
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_COOKIE.html b/docs/libcurl/opts/CURLOPT_COOKIE.html
deleted file mode 100644
index b1f55d155..000000000
--- a/docs/libcurl/opts/CURLOPT_COOKIE.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_COOKIE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_COOKIE - set contents of HTTP Cookie header <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIE, char *cookie); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a zero terminated string as parameter. It will be used to set a cookie in the HTTP request. The format of the string should be NAME=CONTENTS, where NAME is the cookie name and CONTENTS is what the cookie should contain.
-<p class="level0">If you need to set multiple cookies, set them all using a single option concatenated like this: "name1=content1; name2=content2;" etc.
-<p class="level0">This option sets the cookie header explicitly in the outgoing request(s). If multiple requests are done due to authentication, followed redirections or similar, they will all get this cookie passed on.
-<p class="level0">The cookies set by this option are separate from the internal cookie storage held by the cookie engine and will not be modified by it. If you enable the cookie engine and either you've imported a cookie of the same name (e.g. 'foo') or the server has set one, it will have no effect on the cookies you set here. A request to the server will send both the 'foo' held by the cookie engine and the 'foo' held by this option. To set a cookie that is instead held by the cookie engine and can be modified by the server use <a Class="emphasis" href="./CURLOPT_COOKIELIST.html">CURLOPT_COOKIELIST</a>.
-<p class="level0">Using this option multiple times will only make the latest string override the previous ones.
-<p class="level0">This option will not enable the cookie engine. Use <a Class="emphasis" href="./CURLOPT_COOKIEFILE.html">CURLOPT_COOKIEFILE</a> or <a Class="emphasis" href="./CURLOPT_COOKIEJAR.html">CURLOPT_COOKIEJAR</a> to enable parsing and sending cookies automatically. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL, no cookies <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; curl_easy_setopt(curl, CURLOPT_COOKIE, "tool=curl; fun=yes;");
-&nbsp;
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">If HTTP is enabled <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if HTTP is enabled, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_COOKIEFILE.html">CURLOPT_COOKIEFILE</a>, <a Class="manpage" href="./CURLOPT_COOKIEJAR.html">CURLOPT_COOKIEJAR</a>, <a Class="manpage" href="./CURLOPT_COOKIELIST.html">CURLOPT_COOKIELIST</a>, <a Class="manpage" href="./CURLOPT_HTTPHEADER.html">CURLOPT_HTTPHEADER</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_COOKIE.pdf b/docs/libcurl/opts/CURLOPT_COOKIE.pdf
deleted file mode 100644
index 9b639b76c..000000000
--- a/docs/libcurl/opts/CURLOPT_COOKIE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_COOKIEFILE.3 b/docs/libcurl/opts/CURLOPT_COOKIEFILE.3
index 00816b15d..ba2d1e350 100644
--- a/docs/libcurl/opts/CURLOPT_COOKIEFILE.3
+++ b/docs/libcurl/opts/CURLOPT_COOKIEFILE.3
@@ -53,6 +53,9 @@ sub-domains) or use the Netscape format.
If you use this option multiple times, you just add more files to read.
Subsequent files will add more cookies.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
NULL
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_COOKIEFILE.html b/docs/libcurl/opts/CURLOPT_COOKIEFILE.html
deleted file mode 100644
index 65a4c4918..000000000
--- a/docs/libcurl/opts/CURLOPT_COOKIEFILE.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_COOKIEFILE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_COOKIEFILE - file name to read cookies from <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIEFILE, char *filename); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a zero terminated string as parameter. It should point to the file name of your file holding cookie data to read. The cookie data can be in either the old Netscape / Mozilla cookie data format or just regular HTTP headers (Set-Cookie style) dumped to a file.
-<p class="level0">It also enables the cookie engine, making libcurl parse and send cookies on subsequent requests with this handle.
-<p class="level0">Given an empty or non-existing file or by passing the empty string ("") to this option, you can enable the cookie engine without reading any initial cookies.
-<p class="level0">This option only <span Class="bold">reads</span> cookies. To make libcurl write cookies to file, see <a Class="emphasis" href="./CURLOPT_COOKIEJAR.html">CURLOPT_COOKIEJAR</a>.
-<p class="level0">Exercise caution if you are using this option and multiple transfers may occur. If you use the Set-Cookie format and don't specify a domain then the cookie is sent for any domain (even after redirects are followed) and cannot be modified by a server-set cookie. If a server sets a cookie of the same name then both will be sent on a future transfer to that server, likely not what you intended. To address these issues set a domain in Set-Cookie (doing that will include sub-domains) or use the Netscape format.
-<p class="level0">If you use this option multiple times, you just add more files to read. Subsequent files will add more cookies. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">As long as HTTP is supported <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_COOKIE.html">CURLOPT_COOKIE</a>, <a Class="manpage" href="./CURLOPT_COOKIEJAR.html">CURLOPT_COOKIEJAR</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_COOKIEFILE.pdf b/docs/libcurl/opts/CURLOPT_COOKIEFILE.pdf
deleted file mode 100644
index c421d5d1b..000000000
--- a/docs/libcurl/opts/CURLOPT_COOKIEFILE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_COOKIEJAR.3 b/docs/libcurl/opts/CURLOPT_COOKIEJAR.3
index 79a372305..3c1f54103 100644
--- a/docs/libcurl/opts/CURLOPT_COOKIEJAR.3
+++ b/docs/libcurl/opts/CURLOPT_COOKIEJAR.3
@@ -46,6 +46,9 @@ only visible feedback you get about this possibly lethal situation.
Since 7.43.0 cookies that were imported in the Set-Cookie format without a
domain name are not exported by this option.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
NULL
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_COOKIEJAR.html b/docs/libcurl/opts/CURLOPT_COOKIEJAR.html
deleted file mode 100644
index 568d92ec3..000000000
--- a/docs/libcurl/opts/CURLOPT_COOKIEJAR.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_COOKIEJAR man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_COOKIEJAR - file name to store cookies to <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIEJAR, char *filename); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a <span Class="emphasis">filename</span> as char *, zero terminated. This will make libcurl write all internally known cookies to the specified file when <span Class="emphasis">curl_easy_cleanup(3)</span> is called. If no cookies are known, no file will be created. Specify "-" as filename to instead have the cookies written to stdout. Using this option also enables cookies for this session, so if you for example follow a location it will make matching cookies get sent accordingly.
-<p class="level0">Note that libcurl doesn't read any cookies from the cookie jar. If you want to read cookies from a file, use <a Class="emphasis" href="./CURLOPT_COOKIEFILE.html">CURLOPT_COOKIEFILE</a>.
-<p class="level0">If the cookie jar file can't be created or written to (when the <span Class="emphasis">curl_easy_cleanup(3)</span> is called), libcurl will not and cannot report an error for this. Using <a Class="emphasis" href="./CURLOPT_VERBOSE.html">CURLOPT_VERBOSE</a> or <a Class="emphasis" href="./CURLOPT_DEBUGFUNCTION.html">CURLOPT_DEBUGFUNCTION</a> will get a warning to display, but that is the only visible feedback you get about this possibly lethal situation.
-<p class="level0">Since 7.43.0 cookies that were imported in the Set-Cookie format without a domain name are not exported by this option. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Along with HTTP <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if HTTP is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_COOKIEFILE.html">CURLOPT_COOKIEFILE</a>, <a Class="manpage" href="./CURLOPT_COOKIE.html">CURLOPT_COOKIE</a>, <a Class="manpage" href="./CURLOPT_COOKIELIST.html">CURLOPT_COOKIELIST</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_COOKIEJAR.pdf b/docs/libcurl/opts/CURLOPT_COOKIEJAR.pdf
deleted file mode 100644
index 40f30bd60..000000000
--- a/docs/libcurl/opts/CURLOPT_COOKIEJAR.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_COOKIELIST.html b/docs/libcurl/opts/CURLOPT_COOKIELIST.html
deleted file mode 100644
index 7f03f1efd..000000000
--- a/docs/libcurl/opts/CURLOPT_COOKIELIST.html
+++ /dev/null
@@ -1,129 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_COOKIELIST man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_COOKIELIST - add to or manipulate cookies held in memory <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIELIST,
-&nbsp; char *cookie);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * to a <span Class="emphasis">cookie</span> string.
-<p class="level0">Such a cookie can be either a single line in Netscape / Mozilla format or just regular HTTP-style header (Set-Cookie: ...) format. This will also enable the cookie engine. This adds that single cookie to the internal cookie store.
-<p class="level0">Exercise caution if you are using this option and multiple transfers may occur. If you use the Set-Cookie format and don't specify a domain then the cookie is sent for any domain (even after redirects are followed) and cannot be modified by a server-set cookie. If a server sets a cookie of the same name (or maybe you've imported one) then both will be sent on a future transfer to that server, likely not what you intended. To address these issues set a domain in Set-Cookie (doing that will include sub-domains) or use the Netscape format as shown in EXAMPLE.
-<p class="level0">Additionally, there are commands available that perform actions if you pass in these exact strings:
-<p class="level0"><a name="ALL"></a><span class="nroffip">ALL</span>
-<p class="level1">erases all cookies held in memory
-<p class="level1">
-<p class="level0"><a name="SESS"></a><span class="nroffip">SESS</span>
-<p class="level1">erases all session cookies held in memory
-<p class="level1">
-<p class="level0"><a name="FLUSH"></a><span class="nroffip">FLUSH</span>
-<p class="level1">writes all known cookies to the file specified by <a Class="emphasis" href="./CURLOPT_COOKIEJAR.html">CURLOPT_COOKIEJAR</a>
-<p class="level1">
-<p class="level0"><a name="RELOAD"></a><span class="nroffip">RELOAD</span>
-<p class="level1">loads all cookies from the files specified by <a Class="emphasis" href="./CURLOPT_COOKIEFILE.html">CURLOPT_COOKIEFILE</a>
-<p class="level1"><a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-/* This example shows an inline import of a cookie in Netscape format.
-You can set the cookie as HttpOnly to prevent XSS attacks by prepending
-&#35;HttpOnly_ to the hostname. That may be useful if the cookie will later
-be imported by a browser.
-*/
-&nbsp;
-&#35;define SEP "\t" /* Tab separates the fields */
-&nbsp;
-char *my_cookie =
-&nbsp; "example.com" /* Hostname */
-&nbsp; SEP "FALSE" /* Include subdomains */
-&nbsp; SEP "/" /* Path */
-&nbsp; SEP "FALSE" /* Secure */
-&nbsp; SEP "0" /* Expiry in epoch time format. 0 == Session */
-&nbsp; SEP "foo" /* Name */
-&nbsp; SEP "bar"; /* Value */
-&nbsp;
-/* my_cookie is imported immediately via CURLOPT_COOKIELIST.
-*/
-curl_easy_setopt(curl, CURLOPT_COOKIELIST, my_cookie);
-&nbsp;
-/* The list of cookies in cookies.txt will not be imported until right
-before a transfer is performed. Cookies in the list that have the same
-hostname, path and name as in my_cookie are skipped. That is because
-libcurl has already imported my_cookie and it's considered a "live"
-cookie. A live cookie won't be replaced by one read from a file.
-*/
-curl_easy_setopt(curl, CURLOPT_COOKIEFILE, "cookies.txt"); /* import */
-&nbsp;
-/* Cookies are exported after curl_easy_cleanup is called. The server
-may have added, deleted or modified cookies by then. The cookies that
-were skipped on import are not exported.
-*/
-curl_easy_setopt(curl, CURLOPT_COOKIEJAR, "cookies.txt"); /* export */
-&nbsp;
-curl_easy_perform(curl); /* cookies imported from cookies.txt */
-&nbsp;
-curl_easy_cleanup(curl); /* cookies exported to cookies.txt */
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">ALL was added in 7.14.1
-<p class="level0">SESS was added in 7.15.4
-<p class="level0">FLUSH was added in 7.17.1
-<p class="level0">RELOAD was added in 7.39.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_COOKIEFILE.html">CURLOPT_COOKIEFILE</a>, <a Class="manpage" href="./CURLOPT_COOKIEJAR.html">CURLOPT_COOKIEJAR</a>, <a Class="manpage" href="./CURLOPT_COOKIE.html">CURLOPT_COOKIE</a>, <a Class="manpage" href="./CURLINFO_COOKIELIST.html">CURLINFO_COOKIELIST</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_COOKIELIST.pdf b/docs/libcurl/opts/CURLOPT_COOKIELIST.pdf
deleted file mode 100644
index 957c79266..000000000
--- a/docs/libcurl/opts/CURLOPT_COOKIELIST.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_COOKIESESSION.html b/docs/libcurl/opts/CURLOPT_COOKIESESSION.html
deleted file mode 100644
index 5949d6d68..000000000
--- a/docs/libcurl/opts/CURLOPT_COOKIESESSION.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_COOKIESESSION man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_COOKIESESSION - start a new cookie session <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIESESSION, long init); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long set to 1 to mark this as a new cookie "session". It will force libcurl to ignore all cookies it is about to load that are "session cookies" from the previous session. By default, libcurl always stores and loads all cookies, independent if they are session cookies or not. Session cookies are cookies without expiry date and they are meant to be alive and existing for this "session" only.
-<p class="level0">A "session" is usually defined in browser land for as long as you have your browser up, more or less. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Along with HTTP <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_COOKIEFILE.html">CURLOPT_COOKIEFILE</a>, <a Class="manpage" href="./CURLOPT_COOKIE.html">CURLOPT_COOKIE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_COOKIESESSION.pdf b/docs/libcurl/opts/CURLOPT_COOKIESESSION.pdf
deleted file mode 100644
index b4976bac7..000000000
--- a/docs/libcurl/opts/CURLOPT_COOKIESESSION.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.html b/docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.html
deleted file mode 100644
index bf629039d..000000000
--- a/docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_COPYPOSTFIELDS man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_COPYPOSTFIELDS - have libcurl copy data to POST <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COPYPOSTFIELDS, char *data); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * as parameter, which should be the full <span Class="emphasis">data</span> to post in a HTTP POST operation. It behaves as the <a Class="emphasis" href="./CURLOPT_POSTFIELDS.html">CURLOPT_POSTFIELDS</a> option, but the original data is instead copied by the library, allowing the application to overwrite the original data after setting this option.
-<p class="level0">Because data are copied, care must be taken when using this option in conjunction with <a Class="emphasis" href="./CURLOPT_POSTFIELDSIZE.html">CURLOPT_POSTFIELDSIZE</a> or <a Class="emphasis" href="./CURLOPT_POSTFIELDSIZE_LARGE.html">CURLOPT_POSTFIELDSIZE_LARGE</a>: If the size has not been set prior to <a Class="emphasis" href="./CURLOPT_COPYPOSTFIELDS.html">CURLOPT_COPYPOSTFIELDS</a>, the data is assumed to be a zero terminated string; else the stored size informs the library about the byte count to copy. In any case, the size must not be changed after <a Class="emphasis" href="./CURLOPT_COPYPOSTFIELDS.html">CURLOPT_COPYPOSTFIELDS</a>, unless another <a Class="emphasis" href="./CURLOPT_POSTFIELDS.html">CURLOPT_POSTFIELDS</a> or <a Class="emphasis" href="./CURLOPT_COPYPOSTFIELDS.html">CURLOPT_COPYPOSTFIELDS</a> option is issued. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP(S) <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; char local_buffer[1024]="data to send";
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; /* size of the data to copy from the buffer and send in the request */
-&nbsp; curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, 12L);
-&nbsp;
-&nbsp; /* send data from the local stack */
-&nbsp; curl_easy_setopt(curl, CURLOPT_COPYPOSTFIELDS, local_buffer);
-&nbsp;
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.17.1 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_POSTFIELDS.html">CURLOPT_POSTFIELDS</a>, <a Class="manpage" href="./CURLOPT_POSTFIELDSIZE.html">CURLOPT_POSTFIELDSIZE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.pdf b/docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.pdf
deleted file mode 100644
index ef198f9fe..000000000
--- a/docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CRLF.html b/docs/libcurl/opts/CURLOPT_CRLF.html
deleted file mode 100644
index aea1aa090..000000000
--- a/docs/libcurl/opts/CURLOPT_CRLF.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_CRLF man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_CRLF - enable/disable CRLF conversion <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CRLF, long conv); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long. If the value is set to 1 (one), libcurl converts Unix newlines to CRLF newlines on transfers. Disable this option again by setting the value to 0 (zero).
-<p class="level0">This is a legacy option of questionable use. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">SMTP since 7.40.0, other protocols since they were introduced <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_CONV_FROM_NETWORK_FUNCTION.html">CURLOPT_CONV_FROM_NETWORK_FUNCTION</a>, <a Class="manpage" href="./CURLOPT_CONV_TO_NETWORK_FUNCTION.html">CURLOPT_CONV_TO_NETWORK_FUNCTION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_CRLF.pdf b/docs/libcurl/opts/CURLOPT_CRLF.pdf
deleted file mode 100644
index 04138477f..000000000
--- a/docs/libcurl/opts/CURLOPT_CRLF.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CRLFILE.3 b/docs/libcurl/opts/CURLOPT_CRLFILE.3
index 6bb035e7e..4ab7a64a5 100644
--- a/docs/libcurl/opts/CURLOPT_CRLFILE.3
+++ b/docs/libcurl/opts/CURLOPT_CRLFILE.3
@@ -45,6 +45,9 @@ 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
diff --git a/docs/libcurl/opts/CURLOPT_CRLFILE.html b/docs/libcurl/opts/CURLOPT_CRLFILE.html
deleted file mode 100644
index 770a00ad7..000000000
--- a/docs/libcurl/opts/CURLOPT_CRLFILE.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_CRLFILE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_CRLFILE - specify a Certificate Revocation List file <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CRLFILE, char *file); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * to a zero terminated string naming a <span Class="emphasis">file</span> with the concatenation of CRL (in PEM format) to use in the certificate validation that occurs during the SSL exchange.
-<p class="level0">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.
-<p class="level0">This option makes sense only when used in combination with the <a Class="emphasis" href="./CURLOPT_SSL_VERIFYPEER.html">CURLOPT_SSL_VERIFYPEER</a> option.
-<p class="level0">A specific error code (<span Class="emphasis">CURLE_SSL_CRL_BADFILE</span>) 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. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All TLS-based protocols <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.19.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SSL_VERIFYPEER.html">CURLOPT_SSL_VERIFYPEER</a>, <a Class="manpage" href="./CURLOPT_SSL_VERIFYHOST.html">CURLOPT_SSL_VERIFYHOST</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_CRLFILE.pdf b/docs/libcurl/opts/CURLOPT_CRLFILE.pdf
deleted file mode 100644
index 4a0165a61..000000000
--- a/docs/libcurl/opts/CURLOPT_CRLFILE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.3 b/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.3
index 553d40857..2bd351799 100644
--- a/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.3
+++ b/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.3
@@ -80,6 +80,9 @@ 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
diff --git a/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.html b/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.html
deleted file mode 100644
index 95d706234..000000000
--- a/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_CUSTOMREQUEST man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_CUSTOMREQUEST - custom string for request <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CUSTOMREQUEST, char *request); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a zero terminated string as parameter.
-<p class="level0">When you change the request method by setting <a Class="emphasis" href="./CURLOPT_CUSTOMREQUEST.html">CURLOPT_CUSTOMREQUEST</a> 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.
-<p class="level0">Restore to the internal default by setting this to NULL.
-<p class="level0">This option can be used to specify the request:
-<p class="level0"><a name="HTTP"></a><span class="nroffip">HTTP</span>
-<p class="level1">Instead of GET or HEAD when performing HTTP based requests. This is particularly useful, for example, for performing a HTTP DELETE request.
-<p class="level1">For example:
-<p class="level1">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 <a Class="emphasis" href="./CURLOPT_NOBODY.html">CURLOPT_NOBODY</a>, to switch to a proper POST use <a Class="emphasis" href="./CURLOPT_POST.html">CURLOPT_POST</a> or <a Class="emphasis" href="./CURLOPT_POSTFIELDS.html">CURLOPT_POSTFIELDS</a> and to switch to a proper GET use <a Class="emphasis" href="./CURLOPT_HTTPGET.html">CURLOPT_HTTPGET</a>.
-<p class="level1">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 <a Class="emphasis" href="./CURLOPT_POST.html">CURLOPT_POST</a> and <a Class="emphasis" href="./CURLOPT_POSTFIELDS.html">CURLOPT_POSTFIELDS</a> to set POST data. Use <a Class="emphasis" href="./CURLOPT_HTTPHEADER.html">CURLOPT_HTTPHEADER</a> to replace or extend the set of headers sent by libcurl. Use <a Class="emphasis" href="./CURLOPT_HTTP_VERSION.html">CURLOPT_HTTP_VERSION</a> to change HTTP version.
-<p class="level1">
-<p class="level0"><a name="FTP"></a><span class="nroffip">FTP</span>
-<p class="level1">Instead of LIST and NLST when performing FTP directory listings.
-<p class="level0"><a name="IMAP"></a><span class="nroffip">IMAP</span>
-<p class="level1">Instead of LIST when issuing IMAP based requests.
-<p class="level0"><a name="POP3"></a><span class="nroffip">POP3</span>
-<p class="level1">Instead of LIST and RETR when issuing POP3 based requests.
-<p class="level1">For example:
-<p class="level1">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 <a Class="emphasis" href="./CURLOPT_NOBODY.html">CURLOPT_NOBODY</a> should be used when specifying commands such as DELE and NOOP for example.
-<p class="level0"><a name="SMTP"></a><span class="nroffip">SMTP</span>
-<p class="level1">Instead of a HELP or VRFY when issuing SMTP based requests.
-<p class="level1">For example:
-<p class="level1">Normally a multiline response is returned which can be used, in conjunction with <a Class="emphasis" href="./CURLOPT_MAIL_RCPT.html">CURLOPT_MAIL_RCPT</a>, to specify an EXPN request. If the <a Class="emphasis" href="./CURLOPT_NOBODY.html">CURLOPT_NOBODY</a> option is specified then the request can be used to issue NOOP and RSET commands. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP, FTP, IMAP, POP3 and SMTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">IMAP is supported since 7.30.0, POP3 since 7.26.0 and SMTP since 7.34.0. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_HTTPHEADER.html">CURLOPT_HTTPHEADER</a>, <a Class="manpage" href="./CURLOPT_NOBODY.html">CURLOPT_NOBODY</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.pdf b/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.pdf
deleted file mode 100644
index fd7b43bf8..000000000
--- a/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_DEBUGDATA.html b/docs/libcurl/opts/CURLOPT_DEBUGDATA.html
deleted file mode 100644
index f0c6a2998..000000000
--- a/docs/libcurl/opts/CURLOPT_DEBUGDATA.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_DEBUGDATA man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_DEBUGDATA - custom pointer for debug callback <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DEBUGDATA, void *pointer); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a <span Class="emphasis">pointer</span> to whatever you want passed in to your <a Class="emphasis" href="./CURLOPT_DEBUGFUNCTION.html">CURLOPT_DEBUGFUNCTION</a> in the last void * argument. This pointer is not used by libcurl, it is only passed to the callback. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><a href="https://curl.haxx.se/libcurl/c/debug.html">https://curl.haxx.se/libcurl/c/debug.html</a> <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_STDERR.html">CURLOPT_STDERR</a>, <a Class="manpage" href="./CURLOPT_DEBUGFUNCTION.html">CURLOPT_DEBUGFUNCTION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_DEBUGDATA.pdf b/docs/libcurl/opts/CURLOPT_DEBUGDATA.pdf
deleted file mode 100644
index 02b5cb514..000000000
--- a/docs/libcurl/opts/CURLOPT_DEBUGDATA.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.3 b/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.3
index bf07499a0..535c5302b 100644
--- a/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.3
@@ -119,6 +119,7 @@ int my_trace(CURL *handle, curl_infotype type,
{
const char *text;
(void)handle; /* prevent compiler warning */
+ (void)userp;
switch (type) {
case CURLINFO_TEXT:
diff --git a/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.html b/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.html
deleted file mode 100644
index 5d7617fb3..000000000
--- a/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.html
+++ /dev/null
@@ -1,204 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_DEBUGFUNCTION man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_DEBUGFUNCTION - debug callback <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-typedef enum {
-&nbsp; CURLINFO_TEXT = 0,
-&nbsp; CURLINFO_HEADER_IN, /* 1 */
-&nbsp; CURLINFO_HEADER_OUT, /* 2 */
-&nbsp; CURLINFO_DATA_IN, /* 3 */
-&nbsp; CURLINFO_DATA_OUT, /* 4 */
-&nbsp; CURLINFO_SSL_DATA_IN, /* 5 */
-&nbsp; CURLINFO_SSL_DATA_OUT, /* 6 */
-&nbsp; CURLINFO_END
-} curl_infotype;
-&nbsp;
-int debug_callback(CURL *handle,
-&nbsp; curl_infotype type,
-&nbsp; char *data,
-&nbsp; size_t size,
-&nbsp; void *userptr);
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DEBUGFUNCTION,
-&nbsp; debug_callback);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to your callback function, which should match the prototype shown above.
-<p class="level0"><a Class="emphasis" href="./CURLOPT_DEBUGFUNCTION.html">CURLOPT_DEBUGFUNCTION</a> replaces the standard debug function used when <a Class="emphasis" href="./CURLOPT_VERBOSE.html">CURLOPT_VERBOSE</a> is in effect. This callback receives debug information, as specified in the <span Class="emphasis">type</span> argument. This function must return 0. The <span Class="emphasis">data</span> pointed to by the char * passed to this function WILL NOT be zero terminated, but will be exactly of the <span Class="emphasis">size</span> as told by the <span Class="emphasis">size</span> argument.
-<p class="level0">The <span Class="emphasis">userptr</span> argument is the pointer set with <a Class="emphasis" href="./CURLOPT_DEBUGDATA.html">CURLOPT_DEBUGDATA</a>.
-<p class="level0">Available curl_infotype values:
-<p class="level0"><a name="CURLINFOTEXT"></a><span class="nroffip">CURLINFO_TEXT</span>
-<p class="level1">The data is informational text.
-<p class="level0"><a name="CURLINFOHEADERIN"></a><span class="nroffip">CURLINFO_HEADER_IN</span>
-<p class="level1">The data is header (or header-like) data received from the peer.
-<p class="level0"><a name="CURLINFOHEADEROUT"></a><span class="nroffip">CURLINFO_HEADER_OUT</span>
-<p class="level1">The data is header (or header-like) data sent to the peer.
-<p class="level0"><a name="CURLINFODATAIN"></a><span class="nroffip">CURLINFO_DATA_IN</span>
-<p class="level1">The data is protocol data received from the peer.
-<p class="level0"><a name="CURLINFODATAOUT"></a><span class="nroffip">CURLINFO_DATA_OUT</span>
-<p class="level1">The data is protocol data sent to the peer.
-<p class="level0"><a name="CURLINFOSSLDATAOUT"></a><span class="nroffip">CURLINFO_SSL_DATA_OUT</span>
-<p class="level1">The data is SSL/TLS (binary) data sent to the peer.
-<p class="level0"><a name="CURLINFOSSLDATAIN"></a><span class="nroffip">CURLINFO_SSL_DATA_IN</span>
-<p class="level1">The data is SSL/TLS (binary) data received from the peer. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-static
-void dump(const char *text,
-&nbsp; FILE *stream, unsigned char *ptr, size_t size)
-{
-&nbsp; size_t i;
-&nbsp; size_t c;
-&nbsp; unsigned int width=0x10;
-&nbsp;
-&nbsp; fprintf(stream, "%s, %10.10ld bytes (0x%8.8lx)\n",
-&nbsp; text, (long)size, (long)size);
-&nbsp;
-&nbsp; for(i=0; i&lt;size; i+= width) {
-&nbsp; fprintf(stream, "%4.4lx: ", (long)i);
-&nbsp;
-&nbsp; /* show hex to the left */
-&nbsp; for(c = 0; c &lt; width; c++) {
-&nbsp; if(i+c &lt; size)
-&nbsp; fprintf(stream, "%02x ", ptr[i+c]);
-&nbsp; else
-&nbsp; fputs(" ", stream);
-&nbsp; }
-&nbsp;
-&nbsp; /* show data on the right */
-&nbsp; for(c = 0; (c &lt; width) && (i+c &lt; size); c++) {
-&nbsp; char x = (ptr[i+c] &gt;= 0x20 && ptr[i+c] &lt; 0x80) ? ptr[i+c] : '.';
-&nbsp; fputc(x, stream);
-&nbsp; }
-&nbsp;
-&nbsp; fputc('\n', stream); /* newline */
-&nbsp; }
-}
-&nbsp;
-static
-int my_trace(CURL *handle, curl_infotype type,
-&nbsp; char *data, size_t size,
-&nbsp; void *userp)
-{
-&nbsp; const char *text;
-&nbsp; (void)handle; /* prevent compiler warning */
-&nbsp;
-&nbsp; switch (type) {
-&nbsp; case CURLINFO_TEXT:
-&nbsp; fprintf(stderr, "== Info: %s", data);
-&nbsp; default: /* in case a new one is introduced to shock us */
-&nbsp; return 0;
-&nbsp;
-&nbsp; case CURLINFO_HEADER_OUT:
-&nbsp; text = "=&gt; Send header";
-&nbsp; break;
-&nbsp; case CURLINFO_DATA_OUT:
-&nbsp; text = "=&gt; Send data";
-&nbsp; break;
-&nbsp; case CURLINFO_SSL_DATA_OUT:
-&nbsp; text = "=&gt; Send SSL data";
-&nbsp; break;
-&nbsp; case CURLINFO_HEADER_IN:
-&nbsp; text = "&lt;= Recv header";
-&nbsp; break;
-&nbsp; case CURLINFO_DATA_IN:
-&nbsp; text = "&lt;= Recv data";
-&nbsp; break;
-&nbsp; case CURLINFO_SSL_DATA_IN:
-&nbsp; text = "&lt;= Recv SSL data";
-&nbsp; break;
-&nbsp; }
-&nbsp;
-&nbsp; dump(text, stderr, (unsigned char *)data, size);
-&nbsp; return 0;
-}
-&nbsp;
-int main(void)
-{
-&nbsp; CURL *curl;
-&nbsp; CURLcode res;
-&nbsp;
-&nbsp; curl = curl_easy_init();
-&nbsp; if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_DEBUGFUNCTION, my_trace);
-&nbsp;
-&nbsp; /* the DEBUGFUNCTION has no effect until we enable VERBOSE */
-&nbsp; curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
-&nbsp;
-&nbsp; /* example.com is redirected, so we tell libcurl to follow redirection */
-&nbsp; curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
-&nbsp;
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/");
-&nbsp; res = curl_easy_perform(curl);
-&nbsp; /* Check for errors */
-&nbsp; if(res != CURLE_OK)
-&nbsp; fprintf(stderr, "curl_easy_perform() failed: %s\n",
-&nbsp; curl_easy_strerror(res));
-&nbsp;
-&nbsp; /* always cleanup */
-&nbsp; curl_easy_cleanup(curl);
-&nbsp; }
-&nbsp; return 0;
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_VERBOSE.html">CURLOPT_VERBOSE</a>, <a Class="manpage" href="./CURLOPT_DEBUGDATA.html">CURLOPT_DEBUGDATA</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.pdf b/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.pdf
deleted file mode 100644
index 689280e15..000000000
--- a/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.3 b/docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.3
index f7f890cad..a39c6b3f4 100644
--- a/docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.3
+++ b/docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.3
@@ -49,6 +49,9 @@ This option does not change the default proxy protocol (http).
Without this option libcurl would make a guess based on the host, see
\fICURLOPT_URL(3)\fP for details.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
NULL (make a guess based on the host)
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.html b/docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.html
deleted file mode 100644
index c9c978410..000000000
--- a/docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_DEFAULT_PROTOCOL man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_DEFAULT_PROTOCOL - default protocol to use if the URL is missing a scheme name <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DEFAULT_PROTOCOL, char *protocol); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This option tells libcurl to use <span Class="emphasis">protocol</span> if the URL is missing a scheme name.
-<p class="level0">Use one of these protocol (scheme) names:
-<p class="level0">dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, ldaps, pop3, pop3s, rtsp, scp, sftp, smb, smbs, smtp, smtps, telnet, tftp
-<p class="level0">An unknown or unsupported protocol causes error <span Class="emphasis">CURLE_UNSUPPORTED_PROTOCOL</span> when libcurl parses a schemeless URL. Parsing happens when <span Class="emphasis">curl_easy_perform(3)</span> or <span Class="emphasis">curl_multi_perform(3)</span> is called. The protocols supported by libcurl will vary depending on how it was built. Use <span Class="emphasis">curl_version_info(3)</span> if you need a list of protocol names supported by the build of libcurl that you are using.
-<p class="level0">This option does not change the default proxy protocol (http).
-<p class="level0">Without this option libcurl would make a guess based on the host, see <a Class="emphasis" href="./CURLOPT_URL.html">CURLOPT_URL</a> for details. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL (make a guess based on the host) <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-curl = curl_easy_init();
-if(curl) {
-&nbsp; /* set a URL without a scheme */
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "example.com");
-&nbsp;
-&nbsp; /* set the default protocol (scheme) for schemeless URLs */
-&nbsp; curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https");
-&nbsp;
-&nbsp; /* Perform the request */
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.45.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">CURLE_OK if the option is supported.
-<p class="level0">CURLE_OUT_OF_MEMORY if there was insufficient heap space.
-<p class="level0">CURLE_UNKNOWN_OPTION if the option is not supported. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_URL.html">CURLOPT_URL</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.pdf b/docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.pdf
deleted file mode 100644
index 6bd74369d..000000000
--- a/docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_DIRLISTONLY.html b/docs/libcurl/opts/CURLOPT_DIRLISTONLY.html
deleted file mode 100644
index dfb8c9c7f..000000000
--- a/docs/libcurl/opts/CURLOPT_DIRLISTONLY.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_DIRLISTONLY man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_DIRLISTONLY - ask for names only in a directory listing <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DIRLISTONLY, long listonly); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">For FTP and SFTP based URLs a parameter set to 1 tells the library to list the names of files in a directory, rather than performing a full directory listing that would normally include file sizes, dates etc.
-<p class="level0">For POP3 a parameter of 1 tells the library to list the email message or messages on the POP3 server. This can be used to change the default behaviour of libcurl, when combined with a URL that contains a message ID, to perform a "scan listing" which can then be used to determine the size of an email.
-<p class="level0">Note: For FTP this causes a NLST command to be sent to the FTP server. Beware that some FTP servers list only files in their response to NLST; they might not include subdirectories and symbolic links.
-<p class="level0">Setting this option to 1 also implies a directory listing even if the URL doesn't end with a slash, which otherwise is necessary.
-<p class="level0">Do NOT use this option if you also use <a Class="emphasis" href="./CURLOPT_WILDCARDMATCH.html">CURLOPT_WILDCARDMATCH</a> as it will effectively break that feature then. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0, disabled <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">FTP, SFTP and POP3 <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This option was known as CURLOPT_FTPLISTONLY up to 7.16.4. POP3 is supported since 7.21.5. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_CUSTOMREQUEST.html">CURLOPT_CUSTOMREQUEST</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_DIRLISTONLY.pdf b/docs/libcurl/opts/CURLOPT_DIRLISTONLY.pdf
deleted file mode 100644
index 9af3cab25..000000000
--- a/docs/libcurl/opts/CURLOPT_DIRLISTONLY.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.html b/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.html
deleted file mode 100644
index adbe8f7d8..000000000
--- a/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_DNS_CACHE_TIMEOUT man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_DNS_CACHE_TIMEOUT - set life-time for DNS cache entries <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_CACHE_TIMEOUT, long age); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long, this sets the timeout in seconds. Name resolves will be kept in memory and used for this number of seconds. Set to zero to completely disable caching, or set to -1 to make the cached entries remain forever. By default, libcurl caches this info for 60 seconds.
-<p class="level0">The name resolve functions of various libc implementations don't re-read name server information unless explicitly told so (for example, by calling <span Class="emphasis">res_init(3)</span>). This may cause libcurl to keep using the older server even if DHCP has updated the server info, and this may look like a DNS cache issue to the casual libcurl-app user.
-<p class="level0">Note that DNS entries have a "TTL" property but libcurl doesn't use that. This DNS cache timeout is entirely speculative that a name will resolve to the same address for a certain small amount of time into the future. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">60 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_DNS_USE_GLOBAL_CACHE.html">CURLOPT_DNS_USE_GLOBAL_CACHE</a>, <a Class="manpage" href="./CURLOPT_DNS_SERVERS.html">CURLOPT_DNS_SERVERS</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.pdf b/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.pdf
deleted file mode 100644
index 12f61b60d..000000000
--- a/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.3 b/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.3
index f76439807..8df700a45 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.3
+++ b/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.3
@@ -32,6 +32,9 @@ Pass a char * as parameter. Set the name of the network interface that the DNS
resolver should bind to. This must be an interface name (not an address). Set
this option to NULL to use the default setting (don't bind to a specific
interface).
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
NULL
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.html b/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.html
deleted file mode 100644
index 65f1b1902..000000000
--- a/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_DNS_INTERFACE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_DNS_INTERFACE - set interface to speak DNS over <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_INTERFACE, char *ifname); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * as parameter. Set the name of the network interface that the DNS resolver should bind to. This must be an interface name (not an address). Set this option to NULL to use the default setting (don't bind to a specific interface). <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0"><a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.33.0. This option also requires that libcurl was built with a resolver backend that supports this operation. The c-ares backend is the only such one. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_NOT_BUILT_IN if support was disabled at compile-time. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_DNS_SERVERS.html">CURLOPT_DNS_SERVERS</a>, <a Class="manpage" href="./CURLOPT_DNS_LOCAL_IP4.html">CURLOPT_DNS_LOCAL_IP4</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.pdf b/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.pdf
deleted file mode 100644
index 495d2d6f5..000000000
--- a/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.3 b/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.3
index ef9f1e267..1c4470ef9 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.3
+++ b/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.3
@@ -32,6 +32,9 @@ Set the local IPv4 \fIaddress\fP that the resolver should bind to. The
argument should be of type char * and contain a single numerical IPv4 address
as a string. Set this option to NULL to use the default setting (don't bind
to a specific IP address).
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
NULL
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.html b/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.html
deleted file mode 100644
index 64868b58c..000000000
--- a/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_DNS_LOCAL_IP4 man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_DNS_LOCAL_IP4 - IPv4 address to bind DNS resolves to <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_LOCAL_IP4, char *address); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Set the local IPv4 <span Class="emphasis">address</span> that the resolver should bind to. The argument should be of type char * and contain a single numerical IPv4 address as a string. Set this option to NULL to use the default setting (don't bind to a specific IP address). <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This option requires that libcurl was built with a resolver backend that supports this operation. The c-ares backend is the only such one.
-<p class="level0">Added in 7.33.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, CURLE_NOT_BUILT_IN if support was disabled at compile-time, or CURLE_BAD_FUNCTION_ARGUMENT when given a bad address. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_DNS_INTERFACE.html">CURLOPT_DNS_INTERFACE</a>, <a Class="manpage" href="./CURLOPT_DNS_LOCAL_IP4.html">CURLOPT_DNS_LOCAL_IP4</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.pdf b/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.pdf
deleted file mode 100644
index b4a8cfd2f..000000000
--- a/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.3 b/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.3
index 7d82bdf85..3c783479a 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.3
+++ b/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.3
@@ -32,6 +32,9 @@ Set the local IPv6 \fIaddress\fP that the resolver should bind to. The
argument should be of type char * and contain a single IPv6 address as a
string. Set this option to NULL to use the default setting (don't bind to a
specific IP address).
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
NULL
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.html b/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.html
deleted file mode 100644
index 796226e71..000000000
--- a/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_DNS_LOCAL_IP6 man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_DNS_LOCAL_IP6 - IPv6 address to bind DNS resolves to <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_LOCAL_IP6, char *address); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Set the local IPv6 <span Class="emphasis">address</span> that the resolver should bind to. The argument should be of type char * and contain a single IPv6 address as a string. Set this option to NULL to use the default setting (don't bind to a specific IP address). <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This option requires that libcurl was built with a resolver backend that supports this operation. The c-ares backend is the only such one.
-<p class="level0">Added in 7.33.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, CURLE_NOT_BUILT_IN if support was disabled at compile-time, or CURLE_BAD_FUNCTION_ARGUMENT when given a bad address. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_DNS_INTERFACE.html">CURLOPT_DNS_INTERFACE</a>, <a Class="manpage" href="./CURLOPT_DNS_LOCAL_IP4.html">CURLOPT_DNS_LOCAL_IP4</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.pdf b/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.pdf
deleted file mode 100644
index 80a1646af..000000000
--- a/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_DNS_SERVERS.3 b/docs/libcurl/opts/CURLOPT_DNS_SERVERS.3
index 14c9f9bd4..522eabcc5 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_SERVERS.3
+++ b/docs/libcurl/opts/CURLOPT_DNS_SERVERS.3
@@ -36,6 +36,9 @@ host[:port][,host[:port]]...
For example:
192.168.1.100,192.168.1.101,3.4.5.6
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
NULL - use system default
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_DNS_SERVERS.html b/docs/libcurl/opts/CURLOPT_DNS_SERVERS.html
deleted file mode 100644
index 8d9fa9ff1..000000000
--- a/docs/libcurl/opts/CURLOPT_DNS_SERVERS.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_DNS_SERVERS man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_DNS_SERVERS - set preferred DNS servers <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_SERVERS, char *servers); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * that is the list of DNS servers to be used instead of the system default. The format of the dns servers option is:
-<p class="level0">host[:port][,host[:port]]...
-<p class="level0">For example:
-<p class="level0">192.168.1.100,192.168.1.101,3.4.5.6 <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL - use system default <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This option requires that libcurl was built with a resolver backend that supports this operation. The c-ares backend is the only such one.
-<p class="level0">Added in 7.24.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, CURLE_NOT_BUILT_IN if support was disabled at compile-time, CURLE_BAD_FUNCTION_ARGUMENT when given an invalid server list, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_DNS_LOCAL_IP4.html">CURLOPT_DNS_LOCAL_IP4</a>, <a Class="manpage" href="./CURLOPT_DNS_CACHE_TIMEOUT.html">CURLOPT_DNS_CACHE_TIMEOUT</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_DNS_SERVERS.pdf b/docs/libcurl/opts/CURLOPT_DNS_SERVERS.pdf
deleted file mode 100644
index bb47bf759..000000000
--- a/docs/libcurl/opts/CURLOPT_DNS_SERVERS.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.html b/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.html
deleted file mode 100644
index d2190b4d4..000000000
--- a/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_DNS_USE_GLOBAL_CACHE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_DNS_USE_GLOBAL_CACHE - enable/disable global DNS cache <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_USE_GLOBAL_CACHE, &nbsp; long enable); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long. If the <span Class="emphasis">enable</span> value is 1, it tells curl to use a global DNS cache that will survive between easy handle creations and deletions. This is not thread-safe and this will use a global variable.
-<p class="level0"><span Class="bold">WARNING:</span> this option is considered obsolete. Stop using it. Switch over to using the share interface instead! See <a Class="emphasis" href="./CURLOPT_SHARE.html">CURLOPT_SHARE</a> and <span Class="emphasis">curl_share_init(3)</span>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Subject for removal in the future. Do not use! <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SHARE.html">CURLOPT_SHARE</a>, <a Class="manpage" href="./CURLOPT_DNS_CACHE_TIMEOUT.html">CURLOPT_DNS_CACHE_TIMEOUT</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.pdf b/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.pdf
deleted file mode 100644
index 1f52eb7d2..000000000
--- a/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_EGDSOCKET.3 b/docs/libcurl/opts/CURLOPT_EGDSOCKET.3
index ad91c3f01..117ed3bc8 100644
--- a/docs/libcurl/opts/CURLOPT_EGDSOCKET.3
+++ b/docs/libcurl/opts/CURLOPT_EGDSOCKET.3
@@ -30,6 +30,9 @@ CURLcode curl_easy_setopt(CURL *handle, CURLOPT_EGDSOCKET, char *path);
.SH DESCRIPTION
Pass a char * to the zero terminated path name to the Entropy Gathering Daemon
socket. It will be used to seed the random engine for SSL.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
NULL
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_EGDSOCKET.html b/docs/libcurl/opts/CURLOPT_EGDSOCKET.html
deleted file mode 100644
index 8e7012f17..000000000
--- a/docs/libcurl/opts/CURLOPT_EGDSOCKET.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_EGDSOCKET man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_EGDSOCKET - set EGD socket path <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_EGDSOCKET, char *path); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * to the zero terminated path name to the Entropy Gathering Daemon socket. It will be used to seed the random engine for SSL. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">If built TLS enabled. Only the OpenSSL and GnuTLS backends will use this. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if TLS is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_RANDOM_FILE.html">CURLOPT_RANDOM_FILE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_EGDSOCKET.pdf b/docs/libcurl/opts/CURLOPT_EGDSOCKET.pdf
deleted file mode 100644
index 2a1f125f4..000000000
--- a/docs/libcurl/opts/CURLOPT_EGDSOCKET.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_ERRORBUFFER.html b/docs/libcurl/opts/CURLOPT_ERRORBUFFER.html
deleted file mode 100644
index 9133d29a5..000000000
--- a/docs/libcurl/opts/CURLOPT_ERRORBUFFER.html
+++ /dev/null
@@ -1,101 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_ERRORBUFFER man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_ERRORBUFFER - set error buffer for error messages <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ERRORBUFFER, char *buf); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">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 return code from <span Class="emphasis">curl_easy_perform(3)</span> and related functions. The buffer <span Class="bold">must be at least CURL_ERROR_SIZE bytes big</span>.
-<p class="level0">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 <span Class="emphasis">curl_easy_cleanup(3)</span> or you set the same option again to use a different pointer.
-<p class="level0">Consider <a Class="emphasis" href="./CURLOPT_VERBOSE.html">CURLOPT_VERBOSE</a> and <a Class="emphasis" href="./CURLOPT_DEBUGFUNCTION.html">CURLOPT_DEBUGFUNCTION</a> to better debug and trace why errors happen.
-<p class="level0">If the library does not return an error, the buffer may not have been touched. Do not rely on the contents in those cases. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-curl = curl_easy_init();
-if(curl) {
-&nbsp; CURLcode res;
-&nbsp; char errbuf[CURL_ERROR_SIZE];
-&nbsp;
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; /* provide a buffer to store errors in */
-&nbsp; curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, errbuf);
-&nbsp;
-&nbsp; /* set the error buffer as empty before performing a request */
-&nbsp; errbuf[0] = 0;
-&nbsp;
-&nbsp; /* perform the request */
-&nbsp; res = curl_easy_perform(curl);
-&nbsp;
-&nbsp; /* if the request did not complete correctly, show the error
-&nbsp; information. if no detailed error information was written to errbuf
-&nbsp; show the more generic information from curl_easy_strerror instead.
-&nbsp; */
-&nbsp; if(res != CURLE_OK) {
-&nbsp; size_t len = strlen(errbuf);
-&nbsp; fprintf(stderr, "\nlibcurl: (%d) ", res);
-&nbsp; if(len)
-&nbsp; fprintf(stderr, "%s%s", errbuf,
-&nbsp; ((errbuf[len - 1] != '\n') ? "\n" : ""));
-&nbsp; else
-&nbsp; fprintf(stderr, "%s\n", curl_easy_strerror(res));
-&nbsp; }
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_DEBUGFUNCTION.html">CURLOPT_DEBUGFUNCTION</a>, <a Class="manpage" href="./CURLOPT_VERBOSE.html">CURLOPT_VERBOSE</a>, <span Class="manpage">curl_easy_strerror (3)</span>, <span Class="manpage">curl_multi_strerror (3)</span>, <span Class="manpage">curl_share_strerror (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_ERRORBUFFER.pdf b/docs/libcurl/opts/CURLOPT_ERRORBUFFER.pdf
deleted file mode 100644
index 772aa07de..000000000
--- a/docs/libcurl/opts/CURLOPT_ERRORBUFFER.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.html b/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.html
deleted file mode 100644
index 90101484c..000000000
--- a/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_EXPECT_100_TIMEOUT_MS man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_EXPECT_100_TIMEOUT_MS - timeout for Expect: 100-continue response <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_EXPECT_100_TIMEOUT_MS,
-&nbsp; long milliseconds);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long to tell libcurl the number of <span Class="emphasis">milliseconds</span> 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 header. If this times out before a response is received, the request body is sent anyway. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">1000 milliseconds <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.36.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_POST.html">CURLOPT_POST</a>, <a Class="manpage" href="./CURLOPT_HTTPPOST.html">CURLOPT_HTTPPOST</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.pdf b/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.pdf
deleted file mode 100644
index 9bddf9f53..000000000
--- a/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FAILONERROR.3 b/docs/libcurl/opts/CURLOPT_FAILONERROR.3
index 79474cefd..93d8ba6ed 100644
--- a/docs/libcurl/opts/CURLOPT_FAILONERROR.3
+++ b/docs/libcurl/opts/CURLOPT_FAILONERROR.3
@@ -53,4 +53,4 @@ 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), "
+.BR CURLOPT_HTTP200ALIASES "(3), " CURLOPT_KEEP_SENDING_ON_ERROR "(3), "
diff --git a/docs/libcurl/opts/CURLOPT_FAILONERROR.html b/docs/libcurl/opts/CURLOPT_FAILONERROR.html
deleted file mode 100644
index d435af978..000000000
--- a/docs/libcurl/opts/CURLOPT_FAILONERROR.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_FAILONERROR man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_FAILONERROR - request failure on HTTP response &gt;= 400 <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FAILONERROR, long fail); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">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.
-<p class="level0">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).
-<p class="level0">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.
-<p class="level0">When this option is used and an error is detected, it will cause the connection to get closed. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0, do not fail on error <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Along with HTTP <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if HTTP is enabled, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_HTTP200ALIASES.html">CURLOPT_HTTP200ALIASES</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_FAILONERROR.pdf b/docs/libcurl/opts/CURLOPT_FAILONERROR.pdf
deleted file mode 100644
index d3e6b3cd7..000000000
--- a/docs/libcurl/opts/CURLOPT_FAILONERROR.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FILETIME.html b/docs/libcurl/opts/CURLOPT_FILETIME.html
deleted file mode 100644
index bb5180f5c..000000000
--- a/docs/libcurl/opts/CURLOPT_FILETIME.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_FILETIME man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_FILETIME - get the modification time of the remote resource <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FILETIME, long gettime); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long. If it is 1, libcurl will attempt to get the modification time of the remote document in this operation. This requires that the remote server sends the time or replies to a time querying command. The <span Class="emphasis">curl_easy_getinfo(3)</span> function with the <a Class="emphasis" href="./CURLINFO_FILETIME.html">CURLINFO_FILETIME</a> argument can be used after a transfer to extract the received time (if any). <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP, FTP, SFTP, FILE <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always, for SFTP since 7.49.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl_easy_getinfo (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_FILETIME.pdf b/docs/libcurl/opts/CURLOPT_FILETIME.pdf
deleted file mode 100644
index 590719680..000000000
--- a/docs/libcurl/opts/CURLOPT_FILETIME.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FNMATCH_DATA.html b/docs/libcurl/opts/CURLOPT_FNMATCH_DATA.html
deleted file mode 100644
index f391b5497..000000000
--- a/docs/libcurl/opts/CURLOPT_FNMATCH_DATA.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_FNMATCH_DATA man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_FNMATCH_DATA - custom pointer to fnmatch callback <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FNMATCH_DATA,
-&nbsp; void *pointer);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer that will be untouched by libcurl and passed as the ptr argument to the <a Class="emphasis" href="./CURLOPT_FNMATCH_FUNCTION.html">CURLOPT_FNMATCH_FUNCTION</a>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">FTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.21.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_FNMATCH_FUNCTION.html">CURLOPT_FNMATCH_FUNCTION</a>, <a Class="manpage" href="./CURLOPT_WILDCARDMATCH.html">CURLOPT_WILDCARDMATCH</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_FNMATCH_DATA.pdf b/docs/libcurl/opts/CURLOPT_FNMATCH_DATA.pdf
deleted file mode 100644
index a185f22ea..000000000
--- a/docs/libcurl/opts/CURLOPT_FNMATCH_DATA.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.html b/docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.html
deleted file mode 100644
index 4807d4f21..000000000
--- a/docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.html
+++ /dev/null
@@ -1,76 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_FNMATCH_FUNCTION man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_FNMATCH_FUNCTION - wildcard matching function callback <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-int fnmatch_callback(void *ptr,
-&nbsp; const char *pattern,
-&nbsp; const char *string);
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FNMATCH_FUNCTION,
-&nbsp; fnmatch_callback);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to your callback function, which should match the prototype shown above.
-<p class="level0">This callback is used for wildcard matching.
-<p class="level0">Return <span Class="emphasis">CURL_FNMATCHFUNC_MATCH</span> if pattern matches the string, <span Class="emphasis">CURL_FNMATCHFUNC_NOMATCH</span> if not or <span Class="emphasis">CURL_FNMATCHFUNC_FAIL</span> if an error occurred. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL == an internal function for wildcard matching. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">FTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.21.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_FNMATCH_DATA.html">CURLOPT_FNMATCH_DATA</a>, <a Class="manpage" href="./CURLOPT_DEBUGFUNCTION.html">CURLOPT_DEBUGFUNCTION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.pdf b/docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.pdf
deleted file mode 100644
index 0922dd21a..000000000
--- a/docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.html b/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.html
deleted file mode 100644
index fa6b4cfd6..000000000
--- a/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_FOLLOWLOCATION man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_FOLLOWLOCATION - follow HTTP 3xx redirects <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FOLLOWLOCATION, long enable); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">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 Location: header can specify a relative or an absolute URL to follow.
-<p class="level0">libcurl will issue another request for the new URL and follow new Location: headers all the way until no more such headers are returned. <a Class="emphasis" href="./CURLOPT_MAXREDIRS.html">CURLOPT_MAXREDIRS</a> can be used to limit the number of redirects libcurl will follow.
-<p class="level0">libcurl limits what protocols it automatically follows to. The accepted protocols are set with <a Class="emphasis" href="./CURLOPT_REDIR_PROTOCOLS.html">CURLOPT_REDIR_PROTOCOLS</a>. 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.
-<p class="level0">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 <a Class="emphasis" href="./CURLOPT_POSTREDIR.html">CURLOPT_POSTREDIR</a> instructs libcurl otherwise. All other 3xx codes will make libcurl send the same method again.
-<p class="level0">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 <span Class="emphasis">curl_easy_getinfo(3)</span>'s <a Class="emphasis" href="./CURLINFO_REDIRECT_URL.html">CURLINFO_REDIRECT_URL</a> option instead of using <a Class="emphasis" href="./CURLOPT_FOLLOWLOCATION.html">CURLOPT_FOLLOWLOCATION</a>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0, disabled <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP(S) <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; /* example.com is redirected, so we tell libcurl to follow redirection */
-&nbsp; curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
-&nbsp;
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Along with HTTP <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_REDIR_PROTOCOLS.html">CURLOPT_REDIR_PROTOCOLS</a>, <a Class="manpage" href="./CURLOPT_PROTOCOLS.html">CURLOPT_PROTOCOLS</a>, <a Class="manpage" href="./CURLOPT_POSTREDIR.html">CURLOPT_POSTREDIR</a>, <a Class="manpage" href="./CURLINFO_REDIRECT_URL.html">CURLINFO_REDIRECT_URL</a>, <span Class="manpage"></span>, <a Class="manpage" href="./CURLINFO_REDIRECT_COUNT.html">CURLINFO_REDIRECT_COUNT</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.pdf b/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.pdf
deleted file mode 100644
index 6bdb0220d..000000000
--- a/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FORBID_REUSE.html b/docs/libcurl/opts/CURLOPT_FORBID_REUSE.html
deleted file mode 100644
index f8283a40f..000000000
--- a/docs/libcurl/opts/CURLOPT_FORBID_REUSE.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_FORBID_REUSE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_FORBID_REUSE - make connection get closed at once after use <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FORBID_REUSE, long close); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long. Set <span Class="emphasis">close</span> to 1 to make libcurl explicitly close the connection when done with the transfer. Normally, libcurl keeps all connections alive when done with one transfer in case a succeeding one follows that can re-use them. This option should be used with caution and only if you understand what it does as it can seriously impact performance.
-<p class="level0">Set to 0 to have libcurl keep the connection open for possible later re-use (default behavior). <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">Most <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_FRESH_CONNECT.html">CURLOPT_FRESH_CONNECT</a>, <a Class="manpage" href="./CURLOPT_MAXCONNECTS.html">CURLOPT_MAXCONNECTS</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_FORBID_REUSE.pdf b/docs/libcurl/opts/CURLOPT_FORBID_REUSE.pdf
deleted file mode 100644
index f971a1d5b..000000000
--- a/docs/libcurl/opts/CURLOPT_FORBID_REUSE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FRESH_CONNECT.html b/docs/libcurl/opts/CURLOPT_FRESH_CONNECT.html
deleted file mode 100644
index e30d22c64..000000000
--- a/docs/libcurl/opts/CURLOPT_FRESH_CONNECT.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_FRESH_CONNECT man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_FRESH_CONNECT - force a new connection to be used <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FRESH_CONNECT, long fresh); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long. Set to 1 to make the next transfer use a new (fresh) connection by force instead of trying to re-use an existing one. This option should be used with caution and only if you understand what it does as it may seriously impact performance.
-<p class="level0">Related functionality is <a Class="emphasis" href="./CURLOPT_FORBID_REUSE.html">CURLOPT_FORBID_REUSE</a> which makes sure the connection is closed after use so that it won't be re-used.
-<p class="level0">Set <span Class="emphasis">fresh</span> to 0 to have libcurl attempt re-using an existing connection (default behavior). <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">Most <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_FORBID_REUSE.html">CURLOPT_FORBID_REUSE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_FRESH_CONNECT.pdf b/docs/libcurl/opts/CURLOPT_FRESH_CONNECT.pdf
deleted file mode 100644
index be2c6804d..000000000
--- a/docs/libcurl/opts/CURLOPT_FRESH_CONNECT.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FTPPORT.3 b/docs/libcurl/opts/CURLOPT_FTPPORT.3
index 8e300bc21..0f2a9f7f9 100644
--- a/docs/libcurl/opts/CURLOPT_FTPPORT.3
+++ b/docs/libcurl/opts/CURLOPT_FTPPORT.3
@@ -57,6 +57,9 @@ Examples with specified ports:
You disable PORT again and go back to using the passive version by setting
this option to NULL.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
NULL
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_FTPPORT.html b/docs/libcurl/opts/CURLOPT_FTPPORT.html
deleted file mode 100644
index 5fcae315d..000000000
--- a/docs/libcurl/opts/CURLOPT_FTPPORT.html
+++ /dev/null
@@ -1,77 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_FTPPORT man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_FTPPORT - make FTP transfer active <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTPPORT, char *spec); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a zero terminated string as parameter. It specifies that the FTP transfer will be made actively and the given string will be used to get the IP address to use for the FTP PORT instruction.
-<p class="level0">The PORT instruction tells the remote server to connect to our specified IP address. The string may be a plain IP address, a host name, a network interface name (under Unix) or just a '-' symbol to let the library use your system's default IP address. Default FTP operations are passive, and thus won't use PORT.
-<p class="level0">The address can be followed by a ':' to specify a port, optionally followed by a '-' to specify a port range. If the port specified is 0, the operating system will pick a free port. If a range is provided and all ports in the range are not available, libcurl will report CURLE_FTP_PORT_FAILED for the handle. Invalid port/range settings are ignored. IPv6 addresses followed by a port or portrange have to be in brackets. IPv6 addresses without port/range specifier can be in brackets.
-<p class="level0">Examples with specified ports:
-<p class="level0"><pre class="level0">
-&nbsp; eth0:0
-&nbsp; 192.168.1.2:32000-33000
-&nbsp; curl.se:32123
-&nbsp; [::1]:1234-4567
-</pre>
-
-<p class="level0">
-<p class="level0">You disable PORT again and go back to using the passive version by setting this option to NULL. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">FTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Port range support was added in 7.19.5 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_FTP_USE_EPRT.html">CURLOPT_FTP_USE_EPRT</a>, <a Class="manpage" href="./CURLOPT_FTP_USE_EPSV.html">CURLOPT_FTP_USE_EPSV</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_FTPPORT.pdf b/docs/libcurl/opts/CURLOPT_FTPPORT.pdf
deleted file mode 100644
index c74fb60a9..000000000
--- a/docs/libcurl/opts/CURLOPT_FTPPORT.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FTPSSLAUTH.html b/docs/libcurl/opts/CURLOPT_FTPSSLAUTH.html
deleted file mode 100644
index acf3620c4..000000000
--- a/docs/libcurl/opts/CURLOPT_FTPSSLAUTH.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_FTPSSLAUTH man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_FTPSSLAUTH - set order in which to attempt TLS vs SSL when using FTP <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTPSSLAUTH, long order); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long using one of the values from below, to alter how libcurl issues "AUTH TLS" or "AUTH SSL" when FTP over SSL is activated. This is only interesting if <a Class="emphasis" href="./CURLOPT_USE_SSL.html">CURLOPT_USE_SSL</a> is also set.
-<p class="level0">Possible <span Class="emphasis">order</span> values:
-<p class="level0"><a name="CURLFTPAUTHDEFAULT"></a><span class="nroffip">CURLFTPAUTH_DEFAULT</span>
-<p class="level1">Allow libcurl to decide.
-<p class="level0"><a name="CURLFTPAUTHSSL"></a><span class="nroffip">CURLFTPAUTH_SSL</span>
-<p class="level1">Try "AUTH SSL" first, and only if that fails try "AUTH TLS".
-<p class="level0"><a name="CURLFTPAUTHTLS"></a><span class="nroffip">CURLFTPAUTH_TLS</span>
-<p class="level1">Try "AUTH TLS" first, and only if that fails try "AUTH SSL". <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">CURLFTPAUTH_DEFAULT <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">FTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.12.2 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_USE_SSL.html">CURLOPT_USE_SSL</a>, <a Class="manpage" href="./CURLOPT_FTP_SSL_CCC.html">CURLOPT_FTP_SSL_CCC</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_FTPSSLAUTH.pdf b/docs/libcurl/opts/CURLOPT_FTPSSLAUTH.pdf
deleted file mode 100644
index a3c3c1b31..000000000
--- a/docs/libcurl/opts/CURLOPT_FTPSSLAUTH.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.3 b/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.3
index 0d768d773..5422a6bfe 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.3
@@ -31,6 +31,9 @@ CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_ACCOUNT, char *account);
Pass a pointer to a zero terminated string (or NULL to disable). When an FTP
server asks for "account data" after user name and password has been provided,
this data is sent off using the ACCT command.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
NULL
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.html b/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.html
deleted file mode 100644
index 93c164455..000000000
--- a/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_FTP_ACCOUNT man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_FTP_ACCOUNT - set account info for FTP <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_ACCOUNT, char *account); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a zero terminated string (or NULL to disable). When an FTP server asks for "account data" after user name and password has been provided, this data is sent off using the ACCT command. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">FTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.13.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_USERNAME.html">CURLOPT_USERNAME</a>, <a Class="manpage" href="./CURLOPT_PASSWORD.html">CURLOPT_PASSWORD</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.pdf b/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.pdf
deleted file mode 100644
index 155da7c3d..000000000
--- a/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.3 b/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.3
index 575810906..cd444b6ae 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.3
@@ -35,6 +35,9 @@ authenticate if the usual FTP "USER user" and "PASS password" negotiation
fails. This is currently only known to be required when connecting to
Tumbleweed's Secure Transport FTPS server using client certificates for
authentication.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
NULL
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.html b/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.html
deleted file mode 100644
index 642b3a421..000000000
--- a/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_FTP_ALTERNATIVE_TO_USER man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_FTP_ALTERNATIVE_TO_USER - command to use instead of USER with FTP <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_ALTERNATIVE_TO_USER,
-&nbsp; char *cmd);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * as parameter, pointing to a string which will be used to authenticate if the usual FTP "USER user" and "PASS password" negotiation fails. This is currently only known to be required when connecting to Tumbleweed's Secure Transport FTPS server using client certificates for authentication. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">FTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.15.5 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_FTP_SKIP_PASV_IP.html">CURLOPT_FTP_SKIP_PASV_IP</a>, <a Class="manpage" href="./CURLOPT_FTP_RESPONSE_TIMEOUT.html">CURLOPT_FTP_RESPONSE_TIMEOUT</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.pdf b/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.pdf
deleted file mode 100644
index 6446eefd2..000000000
--- a/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.html b/docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.html
deleted file mode 100644
index 0316c658f..000000000
--- a/docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_FTP_CREATE_MISSING_DIRS man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_FTP_CREATE_MISSING_DIRS - create missing dirs for FTP and SFTP <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-typedef enum {
-&nbsp; CURLFTP_CREATE_DIR_NONE,
-&nbsp; CURLFTP_CREATE_DIR,
-&nbsp; CURLFTP_CREATE_DIR_RETRY
-} curl_ftpcreatedir;
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_CREATE_MISSING_DIRS,
-&nbsp; long create);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long telling libcurl to <span Class="emphasis">create</span> the dir. If the value is <span Class="emphasis">CURLFTP_CREATE_DIR</span> (1), libcurl will attempt to create any remote directory that it fails to "move" into.
-<p class="level0">For FTP requests, that means a CWD command fails. CWD being the command that changes working directory.
-<p class="level0">For SFTP requests, libcurl will attempt to create the remote directory if it can't obtain a handle to the target-location. The creation will fail if a file of the same name as the directory to create already exists or lack of permissions prevents creation.
-<p class="level0">Setting <span Class="emphasis">create</span> to <span Class="emphasis">CURLFTP_CREATE_DIR_RETRY</span> (2), tells libcurl to retry the CWD command again if the subsequent MKD command fails. This is especially useful if you're doing many simultaneous connections against the same server and they all have this option enabled, as then CWD may first fail but then another connection does MKD before this connection and thus MKD fails but trying CWD works! <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">CURLFTP_CREATE_DIR_NONE (0) <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">FTP and SFTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.10.7. SFTP support added in 7.16.3. The retry option was added in 7.19.4. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if the create value is not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_FTP_FILEMETHOD.html">CURLOPT_FTP_FILEMETHOD</a>, <a Class="manpage" href="./CURLOPT_FTP_USE_EPSV.html">CURLOPT_FTP_USE_EPSV</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.pdf b/docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.pdf
deleted file mode 100644
index 60260594d..000000000
--- a/docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.html b/docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.html
deleted file mode 100644
index 8d81e7a2c..000000000
--- a/docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_FTP_FILEMETHOD man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_FTP_FILEMETHOD - select directory traversing method for FTP <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_FILEMETHOD,
-&nbsp; long method);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long telling libcurl which <span Class="emphasis">method</span> to use to reach a file on a FTP(S) server.
-<p class="level0">This option exists because some server implementations aren't compliant to what the standards say should work.
-<p class="level0">The argument should be one of the following alternatives:
-<p class="level0"><a name="CURLFTPMETHODMULTICWD"></a><span class="nroffip">CURLFTPMETHOD_MULTICWD</span>
-<p class="level1">libcurl does a single CWD operation for each path part in the given URL. For deep hierarchies this means many commands. This is how <a href="http://www.ietf.org/rfc/rfc1738.txt">RFC 1738</a> says it should be done. This is the default but the slowest behavior.
-<p class="level0"><a name="CURLFTPMETHODNOCWD"></a><span class="nroffip">CURLFTPMETHOD_NOCWD</span>
-<p class="level1">libcurl does no CWD at all. libcurl will do SIZE, RETR, STOR etc and give a full path to the server for all these commands. This is the fastest behavior.
-<p class="level0"><a name="CURLFTPMETHODSINGLECWD"></a><span class="nroffip">CURLFTPMETHOD_SINGLECWD</span>
-<p class="level1">libcurl does one CWD with the full target directory and then operates on the file "normally" (like in the multicwd case). This is somewhat more standards compliant than 'nocwd' but without the full penalty of 'multicwd'. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">CURLFTPMETHOD_MULTICWD <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">FTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.15.1 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_DIRLISTONLY.html">CURLOPT_DIRLISTONLY</a>, <a Class="manpage" href="./CURLOPT_FTP_SKIP_PASV_IP.html">CURLOPT_FTP_SKIP_PASV_IP</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.pdf b/docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.pdf
deleted file mode 100644
index e29bc277c..000000000
--- a/docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.html b/docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.html
deleted file mode 100644
index 4d5e798e6..000000000
--- a/docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_FTP_RESPONSE_TIMEOUT man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_FTP_RESPONSE_TIMEOUT - time allowed to wait for FTP response <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_RESPONSE_TIMEOUT, long timeout); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long. Causes libcurl to set a <span Class="emphasis">timeout</span> period (in seconds) on the amount of time that the server is allowed to take in order to send a response message for a command before the session is considered dead. While libcurl is waiting for a response, this value overrides <a Class="emphasis" href="./CURLOPT_TIMEOUT.html">CURLOPT_TIMEOUT</a>. It is recommended that if used in conjunction with <a Class="emphasis" href="./CURLOPT_TIMEOUT.html">CURLOPT_TIMEOUT</a>, you set <a Class="emphasis" href="./CURLOPT_FTP_RESPONSE_TIMEOUT.html">CURLOPT_FTP_RESPONSE_TIMEOUT</a> to a value smaller than <a Class="emphasis" href="./CURLOPT_TIMEOUT.html">CURLOPT_TIMEOUT</a>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">None <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">FTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.10.8 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if FTP is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_TIMEOUT.html">CURLOPT_TIMEOUT</a>, <a Class="manpage" href="./CURLOPT_CONNECTTIMEOUT.html">CURLOPT_CONNECTTIMEOUT</a>, <a Class="manpage" href="./CURLOPT_LOW_SPEED_LIMIT.html">CURLOPT_LOW_SPEED_LIMIT</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.pdf b/docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.pdf
deleted file mode 100644
index d9c733aa1..000000000
--- a/docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.html b/docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.html
deleted file mode 100644
index b253c93b9..000000000
--- a/docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_FTP_SKIP_PASV_IP man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_FTP_SKIP_PASV_IP - ignore the IP address in the PASV response <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_SKIP_PASV_IP, long skip); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long. If <span Class="emphasis">skip</span> is set to 1, it instructs libcurl to not use the IP address the server suggests in its 227-response to libcurl's PASV command when libcurl connects the data connection. Instead libcurl will re-use the same IP address it already uses for the control connection. But it will use the port number from the 227-response.
-<p class="level0">This option thus allows libcurl to work around broken server installations that due to NATs, firewalls or incompetence report the wrong IP address back.
-<p class="level0">This option has no effect if PORT, EPRT or EPSV is used instead of PASV. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">FTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.14.2 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_FTPPORT.html">CURLOPT_FTPPORT</a>, <a Class="manpage" href="./CURLOPT_FTP_USE_EPRT.html">CURLOPT_FTP_USE_EPRT</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.pdf b/docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.pdf
deleted file mode 100644
index 831eaa33a..000000000
--- a/docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.html b/docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.html
deleted file mode 100644
index 420132618..000000000
--- a/docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_FTP_SSL_CCC man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_FTP_SSL_CCC - switch off SSL again with FTP after auth <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_SSL_CCC, &nbsp; long how); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">If enabled, this option makes libcurl use CCC (Clear Command Channel). It shuts down the SSL/TLS layer after authenticating. The rest of the control channel communication will be unencrypted. This allows NAT routers to follow the FTP transaction. Pass a long using one of the values below
-<p class="level0"><a name="CURLFTPSSLCCCNONE"></a><span class="nroffip">CURLFTPSSL_CCC_NONE</span>
-<p class="level1">Don't attempt to use CCC.
-<p class="level0"><a name="CURLFTPSSLCCCPASSIVE"></a><span class="nroffip">CURLFTPSSL_CCC_PASSIVE</span>
-<p class="level1">Do not initiate the shutdown, but wait for the server to do it. Do not send a reply.
-<p class="level0"><a name="CURLFTPSSLCCCACTIVE"></a><span class="nroffip">CURLFTPSSL_CCC_ACTIVE</span>
-<p class="level1">Initiate the shutdown and wait for a reply. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">CURLFTPSSL_CCC_NONE <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">FTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.16.1 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_USE_SSL.html">CURLOPT_USE_SSL</a>, <a Class="manpage" href="./CURLOPT_FTPSSLAUTH.html">CURLOPT_FTPSSLAUTH</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.pdf b/docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.pdf
deleted file mode 100644
index db380d502..000000000
--- a/docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.html b/docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.html
deleted file mode 100644
index 9b34e57e7..000000000
--- a/docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_FTP_USE_EPRT man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_FTP_USE_EPRT - enable/disable use of EPRT with FTP <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_USE_EPRT, long enabled); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long. If the value is 1, it tells curl to use the EPRT command when doing active FTP downloads (which is enabled by <a Class="emphasis" href="./CURLOPT_FTPPORT.html">CURLOPT_FTPPORT</a>). Using EPRT means that it will first attempt to use EPRT before using PORT, but if you pass zero to this option, it will not try using EPRT, only plain PORT.
-<p class="level0">If the server is an IPv6 host, this option will have no effect as EPRT is necessary then. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0"><a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0"><a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.10.5 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_FTP_USE_EPSV.html">CURLOPT_FTP_USE_EPSV</a>, <a Class="manpage" href="./CURLOPT_FTPPORT.html">CURLOPT_FTPPORT</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.pdf b/docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.pdf
deleted file mode 100644
index 6796a7e49..000000000
--- a/docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.html b/docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.html
deleted file mode 100644
index 841e9ef45..000000000
--- a/docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_FTP_USE_EPSV man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_FTP_USE_EPSV - enable/disable use of EPSV <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_USE_EPSV, long epsv); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass <span Class="emphasis">epsv</span> as a long. If the value is 1, it tells curl to use the EPSV command when doing passive FTP downloads (which it does by default). Using EPSV means that it will first attempt to use EPSV before using PASV, but if you pass zero to this option, it will not try using EPSV, only plain PASV.
-<p class="level0">If the server is an IPv6 host, this option will have no effect as of 7.12.3. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">1 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">FTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Along with FTP <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if FTP is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_FTP_USE_EPRT.html">CURLOPT_FTP_USE_EPRT</a>, <a Class="manpage" href="./CURLOPT_FTPPORT.html">CURLOPT_FTPPORT</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.pdf b/docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.pdf
deleted file mode 100644
index 75ce41b8a..000000000
--- a/docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FTP_USE_PRET.html b/docs/libcurl/opts/CURLOPT_FTP_USE_PRET.html
deleted file mode 100644
index 115212c36..000000000
--- a/docs/libcurl/opts/CURLOPT_FTP_USE_PRET.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_FTP_USE_PRET man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_FTP_USE_PRET - enable the PRET command <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_USE_PRET, long enable); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long. If the value is 1, it tells curl to send a PRET command before PASV (and EPSV). Certain FTP servers, mainly drftpd, require this non-standard command for directory listings as well as up and downloads in PASV mode. Has no effect when using the active FTP transfers mode. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">FTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.20.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_FTP_USE_EPRT.html">CURLOPT_FTP_USE_EPRT</a>, <a Class="manpage" href="./CURLOPT_FTP_USE_EPSV.html">CURLOPT_FTP_USE_EPSV</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_FTP_USE_PRET.pdf b/docs/libcurl/opts/CURLOPT_FTP_USE_PRET.pdf
deleted file mode 100644
index 10bad1402..000000000
--- a/docs/libcurl/opts/CURLOPT_FTP_USE_PRET.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.html b/docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.html
deleted file mode 100644
index b158fdf0f..000000000
--- a/docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_GSSAPI_DELEGATION man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_GSSAPI_DELEGATION - set allowed GSS-API delegation <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_GSSAPI_DELEGATION, long level); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Set the long parameter <span Class="emphasis">level</span> to CURLGSSAPI_DELEGATION_FLAG to allow unconditional GSSAPI credential delegation. The delegation is disabled by default since 7.21.7. Set the parameter to CURLGSSAPI_DELEGATION_POLICY_FLAG to delegate only if the OK-AS-DELEGATE flag is set in the service ticket in case this feature is supported by the GSS-API implementation and the definition of GSS_C_DELEG_POLICY_FLAG was available at compile-time. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">CURLGSSAPI_DELEGATION_NONE <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.22.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_HTTPAUTH.html">CURLOPT_HTTPAUTH</a>, <a Class="manpage" href="./CURLOPT_PROXYAUTH.html">CURLOPT_PROXYAUTH</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.pdf b/docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.pdf
deleted file mode 100644
index 0b9a5cdd5..000000000
--- a/docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_HEADER.html b/docs/libcurl/opts/CURLOPT_HEADER.html
deleted file mode 100644
index a44d85af7..000000000
--- a/docs/libcurl/opts/CURLOPT_HEADER.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_HEADER man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_HEADER - pass headers to the data stream <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HEADER, long onoff); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass in <span Class="emphasis">onoff</span> set to 1 to tell the library to include the header in the body output for requests with this <span Class="emphasis">handle</span>. This option is relevant for protocols that actually have headers or other meta-data (like HTTP and FTP).
-<p class="level0">When asking to get the header info passed to the same callback as the body, it is not possible to accurately separate them again without detailed knowledge about the protocol in use.
-<p class="level0">It is often better to use <a Class="emphasis" href="./CURLOPT_HEADERFUNCTION.html">CURLOPT_HEADERFUNCTION</a> to get the header data separately.
-<p class="level0">While named confusingly similar, <a Class="emphasis" href="./CURLOPT_HTTPHEADER.html">CURLOPT_HTTPHEADER</a> is used to set custom HTTP headers! <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">Most <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; curl_easy_setopt(curl, CURLOPT_HEADER, 1L);
-&nbsp;
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_HEADERFUNCTION.html">CURLOPT_HEADERFUNCTION</a>, <a Class="manpage" href="./CURLOPT_HTTPHEADER.html">CURLOPT_HTTPHEADER</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_HEADER.pdf b/docs/libcurl/opts/CURLOPT_HEADER.pdf
deleted file mode 100644
index b5e687fc4..000000000
--- a/docs/libcurl/opts/CURLOPT_HEADER.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_HEADERDATA.html b/docs/libcurl/opts/CURLOPT_HEADERDATA.html
deleted file mode 100644
index c6e8bcea4..000000000
--- a/docs/libcurl/opts/CURLOPT_HEADERDATA.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_HEADERDATA man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_HEADERDATA - pointer to pass to header callback <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HEADERDATA, void *pointer); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a <span Class="emphasis">pointer</span> to be used to write the header part of the received data to.
-<p class="level0">If <a Class="emphasis" href="./CURLOPT_WRITEFUNCTION.html">CURLOPT_WRITEFUNCTION</a> or <a Class="emphasis" href="./CURLOPT_HEADERFUNCTION.html">CURLOPT_HEADERFUNCTION</a> is used, <span Class="emphasis">pointer</span> will be passed in to the respective callback.
-<p class="level0">If neither of those options are set, <span Class="emphasis">pointer</span> must be a valid FILE * and it will be used by a plain fwrite() to write headers to. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_HEADERFUNCTION.html">CURLOPT_HEADERFUNCTION</a>, <a Class="manpage" href="./CURLOPT_WRITEFUNCTION.html">CURLOPT_WRITEFUNCTION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_HEADERDATA.pdf b/docs/libcurl/opts/CURLOPT_HEADERDATA.pdf
deleted file mode 100644
index 0bea59648..000000000
--- a/docs/libcurl/opts/CURLOPT_HEADERDATA.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.html b/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.html
deleted file mode 100644
index bf4681fcb..000000000
--- a/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.html
+++ /dev/null
@@ -1,91 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_HEADERFUNCTION man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_HEADERFUNCTION - callback that receives header data <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">size_t header_callback(char *buffer, &nbsp; size_t size, &nbsp; size_t nitems, &nbsp; void *userdata);
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HEADERFUNCTION, header_callback); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to your callback function, which should match the prototype shown above.
-<p class="level0">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 <span Class="emphasis">buffer</span> is <span Class="emphasis">size</span> multiplied with <span Class="emphasis">nmemb</span>. Do not assume that the header line is zero terminated! The pointer named <span Class="emphasis">userdata</span> is the one you set with the <a Class="emphasis" href="./CURLOPT_HEADERDATA.html">CURLOPT_HEADERDATA</a> 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 <span Class="emphasis">CURLE_WRITE_ERROR</span>.
-<p class="level0">A complete HTTP header that is passed to this function can be up to <span Class="emphasis">CURL_MAX_HTTP_HEADER</span> (100K) bytes.
-<p class="level0">If this option is not set, or if it is set to NULL, but <a Class="emphasis" href="./CURLOPT_HEADERDATA.html">CURLOPT_HEADERDATA</a> 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 <a Class="emphasis" href="./CURLOPT_WRITEFUNCTION.html">CURLOPT_WRITEFUNCTION</a>, or if it is not specified or NULL - the default, stream-writing function.
-<p class="level0">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.
-<p class="level0">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 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.
-<p class="level0">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. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">Nothing. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">Used for all protocols with headers or meta-data concept: HTTP, FTP, POP3, IMAP, SMTP and more. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-static size_t header_callback(char *buffer, size_t size,
-&nbsp; size_t nitems, void *userdata)
-{
-&nbsp; /* received header is nitems * size long in 'buffer' NOT ZERO TERMINATED */
-&nbsp; /* 'userdata' is set with CURLOPT_HEADERDATA */
-&nbsp; return nitems * size;
-}
-&nbsp;
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, header_callback);
-&nbsp;
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_HEADERDATA.html">CURLOPT_HEADERDATA</a>, <a Class="manpage" href="./CURLOPT_WRITEFUNCTION.html">CURLOPT_WRITEFUNCTION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.pdf b/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.pdf
deleted file mode 100644
index 9b4f6b17f..000000000
--- a/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_HEADEROPT.html b/docs/libcurl/opts/CURLOPT_HEADEROPT.html
deleted file mode 100644
index c67842b45..000000000
--- a/docs/libcurl/opts/CURLOPT_HEADEROPT.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_HEADEROPT man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_HEADEROPT - set how to send HTTP headers <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HEADEROPT, long bitmask); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long that is a bitmask of options of how to deal with headers. The two mutually exclusive options are:
-<p class="level0"><span Class="bold">CURLHEADER_UNIFIED</span> - the headers specified in <a Class="emphasis" href="./CURLOPT_HTTPHEADER.html">CURLOPT_HTTPHEADER</a> will be used in requests both to servers and proxies. With this option enabled, <a Class="emphasis" href="./CURLOPT_PROXYHEADER.html">CURLOPT_PROXYHEADER</a> will not have any effect.
-<p class="level0"><span Class="bold">CURLHEADER_SEPARATE</span> - makes <a Class="emphasis" href="./CURLOPT_HTTPHEADER.html">CURLOPT_HTTPHEADER</a> headers only get sent to a server and not to a proxy. Proxy headers must be set with <a Class="emphasis" href="./CURLOPT_PROXYHEADER.html">CURLOPT_PROXYHEADER</a> 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 <a Class="emphasis" href="./CURLOPT_PROXYHEADER.html">CURLOPT_PROXYHEADER</a> headers only to the proxy and then <a Class="emphasis" href="./CURLOPT_HTTPHEADER.html">CURLOPT_HTTPHEADER</a> headers only to the server. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">CURLHEADER_SEPARATE (changed in 7.42.1, ased CURLHEADER_UNIFIED before then) <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.37.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_HTTPHEADER.html">CURLOPT_HTTPHEADER</a>, <a Class="manpage" href="./CURLOPT_PROXYHEADER.html">CURLOPT_PROXYHEADER</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_HEADEROPT.pdf b/docs/libcurl/opts/CURLOPT_HEADEROPT.pdf
deleted file mode 100644
index 48b74f42a..000000000
--- a/docs/libcurl/opts/CURLOPT_HEADEROPT.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.html b/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.html
deleted file mode 100644
index 7720f0134..000000000
--- a/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_HTTP200ALIASES man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_HTTP200ALIASES - specify alternative matches for HTTP 200 OK <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTP200ALIASES,
-&nbsp; struct curl_slist *aliases);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a linked list of <span Class="emphasis">aliases</span> to be treated as valid HTTP 200 responses. Some servers respond with a custom header response line. For example, SHOUTcast servers respond with "ICY 200 OK". Also some very old Icecast 1.3.x servers will respond like that for certain user agent headers or in absence of such. By including this string in your list of aliases, the response will be treated as a valid HTTP header line such as "HTTP/1.0 200 OK".
-<p class="level0">The linked list should be a fully valid list of struct curl_slist structs, and be properly filled in. Use <span Class="emphasis">curl_slist_append(3)</span> to create the list and <span Class="emphasis">curl_slist_free_all(3)</span> to clean up an entire list.
-<p class="level0">The alias itself is not parsed for any version strings. The protocol is assumed to match HTTP 1.0 when an alias match. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.10.3 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_HTTP_VERSION.html">CURLOPT_HTTP_VERSION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.pdf b/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.pdf
deleted file mode 100644
index 79548e88f..000000000
--- a/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_HTTPAUTH.html b/docs/libcurl/opts/CURLOPT_HTTPAUTH.html
deleted file mode 100644
index bc5c0245c..000000000
--- a/docs/libcurl/opts/CURLOPT_HTTPAUTH.html
+++ /dev/null
@@ -1,96 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_HTTPAUTH man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_HTTPAUTH - set HTTP server authentication methods to try <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTPAUTH, long bitmask);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">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.
-<p class="level0">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 <a Class="emphasis" href="./CURLOPT_USERPWD.html">CURLOPT_USERPWD</a> option or with the <a Class="emphasis" href="./CURLOPT_USERNAME.html">CURLOPT_USERNAME</a> and the <a Class="emphasis" href="./CURLOPT_PASSWORD.html">CURLOPT_PASSWORD</a> options.
-<p class="level0">For authentication with a proxy, see <a Class="emphasis" href="./CURLOPT_PROXYAUTH.html">CURLOPT_PROXYAUTH</a>.
-<p class="level0">
-<p class="level0"><a name="CURLAUTHBASIC"></a><span class="nroffip">CURLAUTH_BASIC</span>
-<p class="level1">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.
-<p class="level0"><a name="CURLAUTHDIGEST"></a><span class="nroffip">CURLAUTH_DIGEST</span>
-<p class="level1">HTTP Digest authentication. Digest authentication is defined in <a href="http://www.ietf.org/rfc/rfc2617.txt">RFC 2617</a> and is a more secure way to do authentication over public networks than the regular old-fashioned Basic method.
-<p class="level0"><a name="CURLAUTHDIGESTIE"></a><span class="nroffip">CURLAUTH_DIGEST_IE</span>
-<p class="level1">HTTP Digest authentication with an IE flavor. Digest authentication is defined in <a href="http://www.ietf.org/rfc/rfc2617.txt">RFC 2617</a> 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.
-<p class="level0"><a name="CURLAUTHNEGOTIATE"></a><span class="nroffip">CURLAUTH_NEGOTIATE</span>
-<p class="level1">HTTP Negotiate (SPNEGO) authentication. Negotiate authentication is defined in <a href="http://www.ietf.org/rfc/rfc4559.txt">RFC 4559</a> and is the most secure way to perform authentication over HTTP.
-<p class="level1">You need to build libcurl with a suitable GSS-API library or SSPI on Windows for this to work.
-<p class="level0"><a name="CURLAUTHNTLM"></a><span class="nroffip">CURLAUTH_NTLM</span>
-<p class="level1">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.
-<p class="level1">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.
-<p class="level0"><a name="CURLAUTHNTLMWB"></a><span class="nroffip">CURLAUTH_NTLM_WB</span>
-<p class="level1">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
-<p class="level1">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 <a Class="emphasis" href="./CURLOPT_NOSIGNAL.html">CURLOPT_NOSIGNAL</a> 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.
-<p class="level0"><a name="CURLAUTHANY"></a><span class="nroffip">CURLAUTH_ANY</span>
-<p class="level1">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.
-<p class="level0"><a name="CURLAUTHANYSAFE"></a><span class="nroffip">CURLAUTH_ANYSAFE</span>
-<p class="level1">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.
-<p class="level0"><a name="CURLAUTHONLY"></a><span class="nroffip">CURLAUTH_ONLY</span>
-<p class="level1">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. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">CURLAUTH_BASIC <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Option Added in 7.10.6.
-<p class="level0">CURLAUTH_DIGEST_IE was added added in 7.19.3
-<p class="level0">CURLAUTH_ONLY was added in 7.21.3
-<p class="level0">CURLAUTH_NTLM_WB was added in 7.22.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">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. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_PROXYAUTH.html">CURLOPT_PROXYAUTH</a>, <a Class="manpage" href="./CURLOPT_USERPWD.html">CURLOPT_USERPWD</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_HTTPAUTH.pdf b/docs/libcurl/opts/CURLOPT_HTTPAUTH.pdf
deleted file mode 100644
index 867a8b1cc..000000000
--- a/docs/libcurl/opts/CURLOPT_HTTPAUTH.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_HTTPGET.html b/docs/libcurl/opts/CURLOPT_HTTPGET.html
deleted file mode 100644
index c7e9210ab..000000000
--- a/docs/libcurl/opts/CURLOPT_HTTPGET.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_HTTPGET man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_HTTPGET - ask for a HTTP GET request <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTPGET, long useget); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long. If <span Class="emphasis">useget</span> 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 <span Class="emphasis">handle</span>.
-<p class="level0">When setting <a Class="emphasis" href="./CURLOPT_HTTPGET.html">CURLOPT_HTTPGET</a> to 1, it will automatically set <a Class="emphasis" href="./CURLOPT_NOBODY.html">CURLOPT_NOBODY</a> to 0 and <a Class="emphasis" href="./CURLOPT_UPLOAD.html">CURLOPT_UPLOAD</a> to 0. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP(S) <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; /* use a GET to fetch this */
-&nbsp; curl_easy_setopt(curl, CURLOPT_HTTPGET, 1L);
-&nbsp;
-&nbsp; /* Perform the request */
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Along with HTTP <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_NOBODY.html">CURLOPT_NOBODY</a>, <a Class="manpage" href="./CURLOPT_UPLOAD.html">CURLOPT_UPLOAD</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_HTTPGET.pdf b/docs/libcurl/opts/CURLOPT_HTTPGET.pdf
deleted file mode 100644
index 8983a0dcc..000000000
--- a/docs/libcurl/opts/CURLOPT_HTTPGET.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_HTTPHEADER.html b/docs/libcurl/opts/CURLOPT_HTTPHEADER.html
deleted file mode 100644
index 567db37c6..000000000
--- a/docs/libcurl/opts/CURLOPT_HTTPHEADER.html
+++ /dev/null
@@ -1,94 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_HTTPHEADER man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_HTTPHEADER - set custom HTTP headers <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTPHEADER, struct curl_slist *headers); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a linked list of HTTP headers to pass to the server and/or proxy in your HTTP request. The same list can be used for both host and proxy requests!
-<p class="level0">The linked list should be a fully valid list of <span Class="bold">struct curl_slist</span> structs properly filled in. Use <span Class="emphasis">curl_slist_append(3)</span> to create the list and <span Class="emphasis">curl_slist_free_all(3)</span> to clean up an entire list. If you add a header that is otherwise generated and used by libcurl internally, your added one will be used instead. If you add a header with no content as in 'Accept:' (no data on the right side of the colon), the internally used header will get disabled. With this option you can add new headers, replace internal headers and remove internal headers. To add a header with no content (nothing to the right side of the colon), use the form 'MyHeader;' (note the ending semicolon).
-<p class="level0">The headers included in the linked list <span Class="bold">must not</span> be CRLF-terminated, because libcurl adds CRLF after each header item. Failure to comply with this will result in strange bugs because the server will most likely ignore part of the headers you specified.
-<p class="level0">The first line in a request (containing the method, usually a GET or POST) is not a header and cannot be replaced using this option. Only the lines following the request-line are headers. Adding this method line in this list of headers will only cause your request to send an invalid header. Use <a Class="emphasis" href="./CURLOPT_CUSTOMREQUEST.html">CURLOPT_CUSTOMREQUEST</a> to change the method.
-<p class="level0">When this option is passed to <span Class="emphasis">curl_easy_setopt(3)</span>, libcurl will not copy the entire list so you <span Class="bold">must</span> keep it around until you no longer use this <span Class="emphasis">handle</span> for a transfer before you call <span Class="emphasis">curl_slist_free_all(3)</span> on the list.
-<p class="level0">Pass a NULL to this option to reset back to no custom headers.
-<p class="level0">The most commonly replaced headers have "shortcuts" in the options <a Class="emphasis" href="./CURLOPT_COOKIE.html">CURLOPT_COOKIE</a>, <a Class="emphasis" href="./CURLOPT_USERAGENT.html">CURLOPT_USERAGENT</a> and <a Class="emphasis" href="./CURLOPT_REFERER.html">CURLOPT_REFERER</a>. We recommend using those.
-<p class="level0">There's an alternative option that sets or replaces headers only for requests that are sent with CONNECT to a proxy: <a Class="emphasis" href="./CURLOPT_PROXYHEADER.html">CURLOPT_PROXYHEADER</a>. Use <a Class="emphasis" href="./CURLOPT_HEADEROPT.html">CURLOPT_HEADEROPT</a> to control the behavior. <a name="SECURITY"></a><h2 class="nroffsh">SECURITY CONCERNS</h2>
-<p class="level0">By default, this option makes libcurl send the given headers in all HTTP requests done by this handle. You should therefore use this option with caution if you for example connect to the remote site using a proxy and a CONNECT request, you should to consider if that proxy is supposed to also get the headers. They may be private or otherwise sensitive to leak.
-<p class="level0">Use <a Class="emphasis" href="./CURLOPT_HEADEROPT.html">CURLOPT_HEADEROPT</a> to make the headers only get sent to where you intend them to get sent. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-&nbsp;
-struct curl_slist *list = NULL;
-&nbsp;
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; list = curl_slist_append(list, "Shoesize: 10");
-&nbsp; list = curl_slist_append(list, "Accept:");
-&nbsp;
-&nbsp; curl_easy_setopt(curl, CURLOPT_HTTPHEADER, list);
-&nbsp;
-&nbsp; curl_easy_perform(curl);
-&nbsp;
-&nbsp; curl_slist_free_all(list); /* free the list again */
-}
-</pre>
-
-<p class="level0">
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">As long as HTTP is enabled <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_CUSTOMREQUEST.html">CURLOPT_CUSTOMREQUEST</a>, <a Class="manpage" href="./CURLOPT_HEADEROPT.html">CURLOPT_HEADEROPT</a>, <a Class="manpage" href="./CURLOPT_PROXYHEADER.html">CURLOPT_PROXYHEADER</a>, <a Class="manpage" href="./CURLOPT_HEADER.html">CURLOPT_HEADER</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_HTTPHEADER.pdf b/docs/libcurl/opts/CURLOPT_HTTPHEADER.pdf
deleted file mode 100644
index 195f7fba5..000000000
--- a/docs/libcurl/opts/CURLOPT_HTTPHEADER.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_HTTPPOST.html b/docs/libcurl/opts/CURLOPT_HTTPPOST.html
deleted file mode 100644
index 26ca38fa5..000000000
--- a/docs/libcurl/opts/CURLOPT_HTTPPOST.html
+++ /dev/null
@@ -1,96 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_HTTPPOST man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_HTTPPOST - specify the multipart formpost content <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTPPOST,
-&nbsp; struct curl_httppost *formpost);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Tells libcurl you want a multipart/formdata HTTP POST to be made and you instruct what data to pass on to the server in the <span Class="emphasis">formpost</span> argument. Pass a pointer to a linked list of curl_httppost structs as parameter. The easiest way to create such a list, is to use <span Class="emphasis">curl_formadd(3)</span> as documented. The data in this list must remain intact as long as the curl transfer is alive and is using it.
-<p class="level0">Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue" header. You can disable this header with <a Class="emphasis" href="./CURLOPT_HTTPHEADER.html">CURLOPT_HTTPHEADER</a>.
-<p class="level0">When setting <a Class="emphasis" href="./CURLOPT_HTTPPOST.html">CURLOPT_HTTPPOST</a>, it will automatically set <a Class="emphasis" href="./CURLOPT_NOBODY.html">CURLOPT_NOBODY</a> to 0. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-/* Fill in the file upload field. This makes libcurl load data from
-&nbsp; the given file name when curl_easy_perform() is called. */
-curl_formadd(&formpost,
-&nbsp; &lastptr,
-&nbsp; CURLFORM_COPYNAME, "sendfile",
-&nbsp; CURLFORM_FILE, "postit2.c",
-&nbsp; CURLFORM_END);
-&nbsp;
-/* Fill in the filename field */
-curl_formadd(&formpost,
-&nbsp; &lastptr,
-&nbsp; CURLFORM_COPYNAME, "filename",
-&nbsp; CURLFORM_COPYCONTENTS, "postit2.c",
-&nbsp; CURLFORM_END);
-&nbsp;
-/* Fill in the submit field too, even if this is rarely needed */
-curl_formadd(&formpost,
-&nbsp; &lastptr,
-&nbsp; CURLFORM_COPYNAME, "submit",
-&nbsp; CURLFORM_COPYCONTENTS, "send",
-&nbsp; CURLFORM_END);
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">As long as HTTP is enabled <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if HTTP is enabled, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_POSTFIELDS.html">CURLOPT_POSTFIELDS</a>, <a Class="manpage" href="./CURLOPT_POST.html">CURLOPT_POST</a>, <span Class="manpage">curl_formadd (3)</span>, <span Class="manpage">curl_formfree (3)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_HTTPPOST.pdf b/docs/libcurl/opts/CURLOPT_HTTPPOST.pdf
deleted file mode 100644
index f541ff4b0..000000000
--- a/docs/libcurl/opts/CURLOPT_HTTPPOST.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.html b/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.html
deleted file mode 100644
index 265453b6c..000000000
--- a/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_HTTPPROXYTUNNEL man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_HTTPPROXYTUNNEL - tunnel through HTTP proxy <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTPPROXYTUNNEL, long tunnel); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Set the parameter to 1 to make libcurl tunnel all operations through the HTTP proxy. There is a big difference between using a proxy and to tunnel through it. If you don't know what this means, you probably don't want this tunneling option.
-<p class="level0">Tunneling essentially means that a CONNECT 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 whitelist specific port numbers it allows CONNECT requests to and often only port 80 and 443 are allowed.
-<p class="level0">When using this, it only makes sense to use <a Class="emphasis" href="./CURLOPT_PROXYTYPE.html">CURLOPT_PROXYTYPE</a> set to a HTTP proxy. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All network protocols <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_PROXY.html">CURLOPT_PROXY</a>, <a Class="manpage" href="./CURLOPT_PROXYTYPE.html">CURLOPT_PROXYTYPE</a>, <a Class="manpage" href="./CURLOPT_PROXYPORT.html">CURLOPT_PROXYPORT</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.pdf b/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.pdf
deleted file mode 100644
index c8b1b6611..000000000
--- a/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.html b/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.html
deleted file mode 100644
index 9a1636826..000000000
--- a/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_HTTP_CONTENT_DECODING man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_HTTP_CONTENT_DECODING - enable/disable HTTP content decoding <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTP_CONTENT_DECODING,
-&nbsp; long enabled);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long to tell libcurl how to act on content decoding. If set to zero, content decoding will be disabled. If set to 1 it is enabled. Libcurl has no default content decoding but requires you to use <a Class="emphasis" href="./CURLOPT_ACCEPT_ENCODING.html">CURLOPT_ACCEPT_ENCODING</a> for that. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">1 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.16.2 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_STDERR.html">CURLOPT_STDERR</a>, <a Class="manpage" href="./CURLOPT_DEBUGFUNCTION.html">CURLOPT_DEBUGFUNCTION</a>, <a Class="manpage" href="./CURLOPT_ACCEPT_ENCODING.html">CURLOPT_ACCEPT_ENCODING</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.pdf b/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.pdf
deleted file mode 100644
index 076e9b609..000000000
--- a/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.html b/docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.html
deleted file mode 100644
index fc6d00c5c..000000000
--- a/docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_HTTP_TRANSFER_DECODING man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_HTTP_TRANSFER_DECODING - enable/disable HTTP transfer decoding <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTP_TRANSFER_DECODING,
-&nbsp; long enabled);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long to tell libcurl how to act on transfer decoding. If set to zero, transfer decoding will be disabled, if set to 1 it is enabled (default). libcurl does chunked transfer decoding by default unless this option is set to zero. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">1 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.16.2 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_HTTP_CONTENT_DECODING.html">CURLOPT_HTTP_CONTENT_DECODING</a>, <a Class="manpage" href="./CURLOPT_ACCEPT_ENCODING.html">CURLOPT_ACCEPT_ENCODING</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.pdf b/docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.pdf
deleted file mode 100644
index d10dd1190..000000000
--- a/docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_HTTP_VERSION.html b/docs/libcurl/opts/CURLOPT_HTTP_VERSION.html
deleted file mode 100644
index 2a1549b35..000000000
--- a/docs/libcurl/opts/CURLOPT_HTTP_VERSION.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_HTTP_VERSION man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_HTTP_VERSION - specify HTTP protocol version to use <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTP_VERSION, long version); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass <span Class="emphasis">version</span> 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.
-<p class="level0">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.
-<p class="level0">
-<p class="level0"><a name="CURLHTTPVERSIONNONE"></a><span class="nroffip">CURL_HTTP_VERSION_NONE</span>
-<p class="level1">We don't care about what version the library uses. libcurl will use whatever it thinks fit.
-<p class="level0"><a name="CURLHTTPVERSION10"></a><span class="nroffip">CURL_HTTP_VERSION_1_0</span>
-<p class="level1">Enforce HTTP 1.0 requests.
-<p class="level0"><a name="CURLHTTPVERSION11"></a><span class="nroffip">CURL_HTTP_VERSION_1_1</span>
-<p class="level1">Enforce HTTP 1.1 requests.
-<p class="level0"><a name="CURLHTTPVERSION20"></a><span class="nroffip">CURL_HTTP_VERSION_2_0</span>
-<p class="level1">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)
-<p class="level1">The alias <span Class="emphasis">CURL_HTTP_VERSION_2</span> was added in 7.43.0 to better reflect the actual protocol name.
-<p class="level0"><a name="CURLHTTPVERSION2TLS"></a><span class="nroffip">CURL_HTTP_VERSION_2TLS</span>
-<p class="level1">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)
-<p class="level0"><a name="CURLHTTPVERSION2PRIORKNOWLEDGE"></a><span class="nroffip">CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE</span>
-<p class="level1">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) <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">CURL_HTTP_VERSION_NONE <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Along with HTTP <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SSLVERSION.html">CURLOPT_SSLVERSION</a>, <a Class="manpage" href="./CURLOPT_HTTP200ALIASES.html">CURLOPT_HTTP200ALIASES</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_HTTP_VERSION.pdf b/docs/libcurl/opts/CURLOPT_HTTP_VERSION.pdf
deleted file mode 100644
index 93fb5dab9..000000000
--- a/docs/libcurl/opts/CURLOPT_HTTP_VERSION.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.html b/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.html
deleted file mode 100644
index 8486ef377..000000000
--- a/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.html
+++ /dev/null
@@ -1,85 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_IGNORE_CONTENT_LENGTH man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_IGNORE_CONTENT_LENGTH - ignore content length <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_IGNORE_CONTENT_LENGTH,
-&nbsp; long ignore);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">If <span Class="emphasis">ignore</span> is set to 1L, ignore the Content-Length header in the HTTP response and ignore asking for or relying on it for FTP transfers.
-<p class="level0">This is useful for HTTP with Apache 1.x (and similar servers) which will report incorrect content length for files over 2 gigabytes. If this option is used, curl will not be able to accurately report progress, and will simply stop the download when the server ends the connection.
-<p class="level0">It is also useful with FTP when for example the file is growing while the transfer is in progress which otherwise will unconditionally cause libcurl to report error.
-<p class="level0">Only use this option if strictly necessary. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; /* we know the server is silly, ignore content-length */
-&nbsp; curl_easy_setopt(curl, CURLOPT_IGNORE_CONTENT_LENGTH, 1L);
-&nbsp;
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.14.1. Support for FTP added in 7.46.0. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_HTTP_VERSION.html">CURLOPT_HTTP_VERSION</a>, <a Class="manpage" href="./CURLOPT_MAXFILESIZE_LARGE.html">CURLOPT_MAXFILESIZE_LARGE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.pdf b/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.pdf
deleted file mode 100644
index 27bb037ab..000000000
--- a/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_INFILESIZE.html b/docs/libcurl/opts/CURLOPT_INFILESIZE.html
deleted file mode 100644
index d8ae44e80..000000000
--- a/docs/libcurl/opts/CURLOPT_INFILESIZE.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_INFILESIZE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_INFILESIZE - set size of the input file to send off <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_INFILESIZE, long filesize); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">When uploading a file to a remote site, <span Class="emphasis">filesize</span> should be used to tell libcurl what the expected size of the input file is. This value must be passed as a long. See also <a Class="emphasis" href="./CURLOPT_INFILESIZE_LARGE.html">CURLOPT_INFILESIZE_LARGE</a> for sending files larger than 2GB.
-<p class="level0">For uploading using SCP, this option or <a Class="emphasis" href="./CURLOPT_INFILESIZE_LARGE.html">CURLOPT_INFILESIZE_LARGE</a> is mandatory.
-<p class="level0">To unset this value again, set it to -1.
-<p class="level0">When sending emails using SMTP, this command can be used to specify the optional SIZE parameter for the MAIL FROM command.
-<p class="level0">This option does not limit how much data libcurl will actually send, as that is controlled entirely by what the read callback returns, but telling one value and sending a different amount may lead to errors. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">Unset <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">Many <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; long uploadsize = FILE_SIZE;
-&nbsp;
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/destination.tar.gz");
-&nbsp;
-&nbsp; curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
-&nbsp;
-&nbsp; curl_easy_setopt(curl, CURLOPT_INFILESIZE, uploadsize);
-&nbsp;
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">SMTP support added in 7.23.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_INFILESIZE_LARGE.html">CURLOPT_INFILESIZE_LARGE</a>, <a Class="manpage" href="./CURLOPT_UPLOAD.html">CURLOPT_UPLOAD</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_INFILESIZE.pdf b/docs/libcurl/opts/CURLOPT_INFILESIZE.pdf
deleted file mode 100644
index 15973f62c..000000000
--- a/docs/libcurl/opts/CURLOPT_INFILESIZE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.html b/docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.html
deleted file mode 100644
index ee20b6fd2..000000000
--- a/docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.html
+++ /dev/null
@@ -1,89 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_INFILESIZE_LARGE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_INFILESIZE_LARGE - set size of the input file to send off <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_INFILESIZE_LARGE,
-&nbsp; curl_off_t filesize);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">When uploading a file to a remote site, <span Class="emphasis">filesize</span> should be used to tell libcurl what the expected size of the input file is. This value must be passed as a <span Class="bold">curl_off_t</span>.
-<p class="level0">For uploading using SCP, this option or <a Class="emphasis" href="./CURLOPT_INFILESIZE.html">CURLOPT_INFILESIZE</a> is mandatory.
-<p class="level0">To unset this value again, set it to -1.
-<p class="level0">When sending emails using SMTP, this command can be used to specify the optional SIZE parameter for the MAIL FROM command.
-<p class="level0">This option does not limit how much data libcurl will actually send, as that is controlled entirely by what the read callback returns, but telling one value and sending a different amount may lead to errors. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">Unset <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">Many <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_off_t uploadsize = FILE_SIZE;
-&nbsp;
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/destination.tar.gz");
-&nbsp;
-&nbsp; curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
-&nbsp;
-&nbsp; curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, uploadsize);
-&nbsp;
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">SMTP support added in 7.23.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_INFILESIZE.html">CURLOPT_INFILESIZE</a>, <a Class="manpage" href="./CURLOPT_UPLOAD.html">CURLOPT_UPLOAD</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.pdf b/docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.pdf
deleted file mode 100644
index b1adf471b..000000000
--- a/docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_INTERFACE.3 b/docs/libcurl/opts/CURLOPT_INTERFACE.3
index 77db3723e..8b7aff0c5 100644
--- a/docs/libcurl/opts/CURLOPT_INTERFACE.3
+++ b/docs/libcurl/opts/CURLOPT_INTERFACE.3
@@ -40,6 +40,9 @@ synchronously. Using the if! format is highly recommended when using the
multi interfaces to avoid allowing the code to block. If "if!" is specified
but the parameter does not match an existing interface, CURLE_INTERFACE_FAILED
is returned from the libcurl function used to perform the transfer.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
NULL, use whatever the TCP stack finds suitable
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_INTERFACE.html b/docs/libcurl/opts/CURLOPT_INTERFACE.html
deleted file mode 100644
index 3b226f23a..000000000
--- a/docs/libcurl/opts/CURLOPT_INTERFACE.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_INTERFACE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_INTERFACE - source interface for outgoing traffic <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_INTERFACE, char *interface); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * as parameter. This sets the <span Class="emphasis">interface</span> name to use as outgoing network interface. The name can be an interface name, an IP address, or a host name.
-<p class="level0">If the parameter starts with "if!" then it is treated as only as interface name and no attempt will ever be named to do treat it as an IP address or to do name resolution on it. If the parameter starts with "host!" it is treated as either an IP address or a hostname. Hostnames are resolved synchronously. Using the if! format is highly recommended when using the multi interfaces to avoid allowing the code to block. If "if!" is specified but the parameter does not match an existing interface, CURLE_INTERFACE_FAILED is returned from the libcurl function used to perform the transfer. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL, use whatever the TCP stack finds suitable <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">The "if!" and "host!" syntax was added in 7.24.0. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK on success or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SOCKOPTFUNCTION.html">CURLOPT_SOCKOPTFUNCTION</a>, <a Class="manpage" href="./CURLOPT_TCP_NODELAY.html">CURLOPT_TCP_NODELAY</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_INTERFACE.pdf b/docs/libcurl/opts/CURLOPT_INTERFACE.pdf
deleted file mode 100644
index 86b3e5380..000000000
--- a/docs/libcurl/opts/CURLOPT_INTERFACE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.html b/docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.html
deleted file mode 100644
index 758548d40..000000000
--- a/docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_INTERLEAVEDATA man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_INTERLEAVEDATA - custom pointer to RTSP interleave callback <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_INTERLEAVEDATA, void *pointer); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This is the userdata <span Class="emphasis">pointer</span> that will be passed to <a Class="emphasis" href="./CURLOPT_INTERLEAVEFUNCTION.html">CURLOPT_INTERLEAVEFUNCTION</a> when interleaved RTP data is received. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">RTSP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.20.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_INTERLEAVEFUNCTION.html">CURLOPT_INTERLEAVEFUNCTION</a>, <a Class="manpage" href="./CURLOPT_RTSP_REQUEST.html">CURLOPT_RTSP_REQUEST</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.pdf b/docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.pdf
deleted file mode 100644
index 733f81dbd..000000000
--- a/docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.html b/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.html
deleted file mode 100644
index ffe5b33eb..000000000
--- a/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.html
+++ /dev/null
@@ -1,75 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_INTERLEAVEFUNCTION man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_INTERLEAVEFUNCTION - callback function for RTSP interleaved data <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-size_t interleave_callback(void *ptr, size_t size, size_t nmemb,
-&nbsp; void *userdata);
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_INTERLEAVEFUNCTION,
-&nbsp; interleave_callback);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to your callback function, which should match the prototype shown above.
-<p class="level0">This callback function gets called by libcurl as soon as it has received interleaved RTP data. This function gets called for each $ block and therefore contains exactly one upper-layer protocol unit (e.g. one RTP packet). Curl writes the interleaved header as well as the included data for each call. The first byte is always an ASCII dollar sign. The dollar sign is followed by a one byte channel identifier and then a 2 byte integer length in network byte order. See <span Class="emphasis">RFC2326 Section 10.12</span> for more information on how RTP interleaving behaves. If unset or set to NULL, curl will use the default write function.
-<p class="level0">Interleaved RTP poses some challenges for the client application. Since the stream data is sharing the RTSP control connection, it is critical to service the RTP in a timely fashion. If the RTP data is not handled quickly, subsequent response processing may become unreasonably delayed and the connection may close. The application may use <span Class="emphasis">CURL_RTSPREQ_RECEIVE</span> to service RTP data when no requests are desired. If the application makes a request, (e.g. <span Class="emphasis">CURL_RTSPREQ_PAUSE</span>) then the response handler will process any pending RTP data before marking the request as finished. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">RTSP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.20.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_INTERLEAVEFUNCTION.html">CURLOPT_INTERLEAVEFUNCTION</a>, <a Class="manpage" href="./CURLOPT_RTSP_REQUEST.html">CURLOPT_RTSP_REQUEST</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.pdf b/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.pdf
deleted file mode 100644
index c092ef4b1..000000000
--- a/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_IOCTLDATA.html b/docs/libcurl/opts/CURLOPT_IOCTLDATA.html
deleted file mode 100644
index 2bc57f714..000000000
--- a/docs/libcurl/opts/CURLOPT_IOCTLDATA.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_IOCTLDATA man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_IOCTLDATA - custom pointer passed to I/O callback <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_IOCTLDATA, void *pointer); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass the <span Class="emphasis">pointer</span> that will be untouched by libcurl and passed as the 3rd argument in the ioctl callback set with <a Class="emphasis" href="./CURLOPT_IOCTLFUNCTION.html">CURLOPT_IOCTLFUNCTION</a>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">By default, the value of this parameter is NULL. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">Used with HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.12.3 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_IOCTLFUNCTION.html">CURLOPT_IOCTLFUNCTION</a>, <a Class="manpage" href="./CURLOPT_SEEKFUNCTION.html">CURLOPT_SEEKFUNCTION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_IOCTLDATA.pdf b/docs/libcurl/opts/CURLOPT_IOCTLDATA.pdf
deleted file mode 100644
index 7ddc7164a..000000000
--- a/docs/libcurl/opts/CURLOPT_IOCTLDATA.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.html b/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.html
deleted file mode 100644
index 94725dd75..000000000
--- a/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.html
+++ /dev/null
@@ -1,88 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_IOCTLFUNCTION man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_IOCTLFUNCTION - callback for I/O operations <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-typedef enum {
-&nbsp; CURLIOE_OK, /* I/O operation successful */
-&nbsp; CURLIOE_UNKNOWNCMD, /* command was unknown to callback */
-&nbsp; CURLIOE_FAILRESTART, /* failed to restart the read */
-&nbsp; CURLIOE_LAST /* never use */
-} curlioerr;
-&nbsp;
-typedef enum {
-&nbsp; CURLIOCMD_NOP, /* no operation */
-&nbsp; CURLIOCMD_RESTARTREAD, /* restart the read stream from start */
-&nbsp; CURLIOCMD_LAST /* never use */
-} curliocmd;
-&nbsp;
-curlioerr ioctl_callback(CURL *handle, int cmd, void *clientp);
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_IOCTLFUNCTION, ioctl_callback);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to your callback function, which should match the prototype shown above.
-<p class="level0">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 POST with a multi-pass authentication method.
-<p class="level0">The callback MUST return <span Class="emphasis">CURLIOE_UNKNOWNCMD</span> if the input <span Class="emphasis">cmd</span> is not <span Class="emphasis">CURLIOCMD_RESTARTREAD</span>.
-<p class="level0">The <span Class="emphasis">clientp</span> argument to the callback is set with the <a Class="emphasis" href="./CURLOPT_IOCTLDATA.html">CURLOPT_IOCTLDATA</a> option.
-<p class="level0">This option is deprecated! Do not use it. Use <a Class="emphasis" href="./CURLOPT_SEEKFUNCTION.html">CURLOPT_SEEKFUNCTION</a> instead to provide seeking! If <a Class="emphasis" href="./CURLOPT_SEEKFUNCTION.html">CURLOPT_SEEKFUNCTION</a> is set, this parameter will be ignored when seeking. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">By default, this parameter is set to NULL. Not used. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">Used with HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.12.3 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_IOCTLDATA.html">CURLOPT_IOCTLDATA</a>, <a Class="manpage" href="./CURLOPT_SEEKFUNCTION.html">CURLOPT_SEEKFUNCTION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.pdf b/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.pdf
deleted file mode 100644
index 0e5892cf4..000000000
--- a/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_IPRESOLVE.html b/docs/libcurl/opts/CURLOPT_IPRESOLVE.html
deleted file mode 100644
index a2b464e86..000000000
--- a/docs/libcurl/opts/CURLOPT_IPRESOLVE.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_IPRESOLVE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_IPRESOLVE - specify which IP protocol version to use <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_IPRESOLVE, long resolve); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Allows an application to select what kind of IP addresses to use when resolving host names. This is only interesting when using host names that resolve addresses using more than one version of IP. The allowed values are:
-<p class="level0"><a name="CURLIPRESOLVEWHATEVER"></a><span class="nroffip">CURL_IPRESOLVE_WHATEVER</span>
-<p class="level1">Default, resolves addresses to all IP versions that your system allows.
-<p class="level0"><a name="CURLIPRESOLVEV4"></a><span class="nroffip">CURL_IPRESOLVE_V4</span>
-<p class="level1">Resolve to IPv4 addresses.
-<p class="level0"><a name="CURLIPRESOLVEV6"></a><span class="nroffip">CURL_IPRESOLVE_V6</span>
-<p class="level1">Resolve to IPv6 addresses. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">CURL_IPRESOLVE_WHATEVER <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_HTTP_VERSION.html">CURLOPT_HTTP_VERSION</a>, <a Class="manpage" href="./CURLOPT_SSLVERSION.html">CURLOPT_SSLVERSION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_IPRESOLVE.pdf b/docs/libcurl/opts/CURLOPT_IPRESOLVE.pdf
deleted file mode 100644
index da247c5e7..000000000
--- a/docs/libcurl/opts/CURLOPT_IPRESOLVE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_ISSUERCERT.3 b/docs/libcurl/opts/CURLOPT_ISSUERCERT.3
index 61198eac2..8919039bc 100644
--- a/docs/libcurl/opts/CURLOPT_ISSUERCERT.3
+++ b/docs/libcurl/opts/CURLOPT_ISSUERCERT.3
@@ -43,6 +43,9 @@ A specific error code (CURLE_SSL_ISSUER_ERROR) is defined with the option,
which is returned if the setup of the SSL/TLS session has failed due to a
mismatch with the issuer of peer certificate (\fICURLOPT_SSL_VERIFYPEER(3)\fP
has to be set too for the check to fail). (Added in 7.19.0)
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
NULL
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_ISSUERCERT.html b/docs/libcurl/opts/CURLOPT_ISSUERCERT.html
deleted file mode 100644
index 45e76a4f5..000000000
--- a/docs/libcurl/opts/CURLOPT_ISSUERCERT.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_ISSUERCERT man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_ISSUERCERT - issuer SSL certificate filename <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ISSUERCERT, char *file); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * to a zero terminated string naming a <span Class="emphasis">file</span> holding a CA certificate in PEM format. If the option is set, an additional check against the peer certificate is performed to verify the issuer is indeed the one associated with the certificate provided by the option. This additional check is useful in multi-level PKI where one needs to enforce that the peer certificate is from a specific branch of the tree.
-<p class="level0">This option makes sense only when used in combination with the <a Class="emphasis" href="./CURLOPT_SSL_VERIFYPEER.html">CURLOPT_SSL_VERIFYPEER</a> option. Otherwise, the result of the check is not considered as failure.
-<p class="level0">A specific error code (CURLE_SSL_ISSUER_ERROR) is defined with the option, which is returned if the setup of the SSL/TLS session has failed due to a mismatch with the issuer of peer certificate (<a Class="emphasis" href="./CURLOPT_SSL_VERIFYPEER.html">CURLOPT_SSL_VERIFYPEER</a> has to be set too for the check to fail). (Added in 7.19.0) <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All TLS-based protocols <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">If built TLS enabled <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_CRLFILE.html">CURLOPT_CRLFILE</a>, <a Class="manpage" href="./CURLOPT_SSL_VERIFYPEER.html">CURLOPT_SSL_VERIFYPEER</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_ISSUERCERT.pdf b/docs/libcurl/opts/CURLOPT_ISSUERCERT.pdf
deleted file mode 100644
index d2e2ffc26..000000000
--- a/docs/libcurl/opts/CURLOPT_ISSUERCERT.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_KEEP_SENDING_ON_ERROR.3 b/docs/libcurl/opts/CURLOPT_KEEP_SENDING_ON_ERROR.3
new file mode 100644
index 000000000..277125b60
--- /dev/null
+++ b/docs/libcurl/opts/CURLOPT_KEEP_SENDING_ON_ERROR.3
@@ -0,0 +1,52 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, 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>
+
+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
+TODO
+.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 --git a/docs/libcurl/opts/CURLOPT_KEYPASSWD.3 b/docs/libcurl/opts/CURLOPT_KEYPASSWD.3
index 9b85b824d..45f6aca3f 100644
--- a/docs/libcurl/opts/CURLOPT_KEYPASSWD.3
+++ b/docs/libcurl/opts/CURLOPT_KEYPASSWD.3
@@ -32,6 +32,9 @@ Pass a pointer to a zero terminated string as parameter. It will be used as
the password required to use the \fICURLOPT_SSLKEY(3)\fP or
\fICURLOPT_SSH_PRIVATE_KEYFILE(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
diff --git a/docs/libcurl/opts/CURLOPT_KEYPASSWD.html b/docs/libcurl/opts/CURLOPT_KEYPASSWD.html
deleted file mode 100644
index 422456ec0..000000000
--- a/docs/libcurl/opts/CURLOPT_KEYPASSWD.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_KEYPASSWD man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_KEYPASSWD - set passphrase to private key <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_KEYPASSWD, char *pwd); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a zero terminated string as parameter. It will be used as the password required to use the <a Class="emphasis" href="./CURLOPT_SSLKEY.html">CURLOPT_SSLKEY</a> or <a Class="emphasis" href="./CURLOPT_SSH_PRIVATE_KEYFILE.html">CURLOPT_SSH_PRIVATE_KEYFILE</a> private key. You never needed a pass phrase to load a certificate but you need one to load your private key. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This option was known as CURLOPT_SSLKEYPASSWD up to 7.16.4 and CURLOPT_SSLCERTPASSWD up to 7.9.2. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if TLS enabled, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SSLKEY.html">CURLOPT_SSLKEY</a>, <a Class="manpage" href="./CURLOPT_SSH_PRIVATE_KEYFILE.html">CURLOPT_SSH_PRIVATE_KEYFILE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_KEYPASSWD.pdf b/docs/libcurl/opts/CURLOPT_KEYPASSWD.pdf
deleted file mode 100644
index 4c3dee0d3..000000000
--- a/docs/libcurl/opts/CURLOPT_KEYPASSWD.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_KRBLEVEL.3 b/docs/libcurl/opts/CURLOPT_KRBLEVEL.3
index 6ebd2f272..f23d72c2b 100644
--- a/docs/libcurl/opts/CURLOPT_KRBLEVEL.3
+++ b/docs/libcurl/opts/CURLOPT_KRBLEVEL.3
@@ -33,6 +33,9 @@ enables kerberos awareness. This is a string that should match one of the
following: \&'clear', \&'safe', \&'confidential' or \&'private'. If the
string is set but doesn't match one of these, 'private' will be used. Set the
string to NULL to disable kerberos support for FTP.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
NULL
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_KRBLEVEL.html b/docs/libcurl/opts/CURLOPT_KRBLEVEL.html
deleted file mode 100644
index 21fefda9e..000000000
--- a/docs/libcurl/opts/CURLOPT_KRBLEVEL.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_KRBLEVEL man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_KRBLEVEL - set FTP kerberos security level <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_KRBLEVEL, char *level); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * as parameter. Set the kerberos security level for FTP; this also enables kerberos awareness. This is a string that should match one of the following: 'clear', 'safe', 'confidential' or 'private'. If the string is set but doesn't match one of these, 'private' will be used. Set the string to NULL to disable kerberos support for FTP. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">FTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This option was known as CURLOPT_KRB4LEVEL up to 7.16.3 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_KRBLEVEL.html">CURLOPT_KRBLEVEL</a>, <a Class="manpage" href="./CURLOPT_USE_SSL.html">CURLOPT_USE_SSL</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_KRBLEVEL.pdf b/docs/libcurl/opts/CURLOPT_KRBLEVEL.pdf
deleted file mode 100644
index fec89d901..000000000
--- a/docs/libcurl/opts/CURLOPT_KRBLEVEL.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_LOCALPORT.html b/docs/libcurl/opts/CURLOPT_LOCALPORT.html
deleted file mode 100644
index f62b0a33c..000000000
--- a/docs/libcurl/opts/CURLOPT_LOCALPORT.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_LOCALPORT man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_LOCALPORT - set local port number to use for socket <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_LOCALPORT, long port); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long. This sets the local port number of the socket used for the connection. This can be used in combination with <a Class="emphasis" href="./CURLOPT_INTERFACE.html">CURLOPT_INTERFACE</a> and you are recommended to use <a Class="emphasis" href="./CURLOPT_LOCALPORTRANGE.html">CURLOPT_LOCALPORTRANGE</a> as well when this option is set. Valid port numbers are 1 - 65535. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0, disabled - use whatever the system thinks is fine <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.15.2 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_LOCALPORTRANGE.html">CURLOPT_LOCALPORTRANGE</a>, <a Class="manpage" href="./CURLOPT_INTERFACE.html">CURLOPT_INTERFACE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_LOCALPORT.pdf b/docs/libcurl/opts/CURLOPT_LOCALPORT.pdf
deleted file mode 100644
index dd0a2e885..000000000
--- a/docs/libcurl/opts/CURLOPT_LOCALPORT.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.html b/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.html
deleted file mode 100644
index 25e52621e..000000000
--- a/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_LOCALPORTRANGE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_LOCALPORTRANGE - number of additional local ports to try <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_LOCALPORTRANGE, &nbsp; long range); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long. The <span Class="emphasis">range</span> argument is the number of attempts libcurl will make to find a working local port number. It starts with the given <a Class="emphasis" href="./CURLOPT_LOCALPORT.html">CURLOPT_LOCALPORT</a> and adds one to the number for each retry. Setting this option to 1 or below will make libcurl do only one try for the exact port number. Port numbers by nature are scarce resources that will be busy at times so setting this value to something too low might cause unnecessary connection setup failures. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">1 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.15.2 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_LOCALPORT.html">CURLOPT_LOCALPORT</a>, <a Class="manpage" href="./CURLOPT_INTERFACE.html">CURLOPT_INTERFACE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.pdf b/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.pdf
deleted file mode 100644
index 09f331641..000000000
--- a/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.3 b/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.3
index a9ca19287..5688bb99a 100644
--- a/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.3
+++ b/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.3
@@ -38,6 +38,9 @@ IETF draft draft-earhart-url-smtp-00.txt
options, such as the preferred authentication mechanism via "AUTH=NTLM" or
"AUTH=*", and should be used in conjunction with the \fICURLOPT_USERNAME(3)\fP
option.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
NULL
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.html b/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.html
deleted file mode 100644
index 6c8109c37..000000000
--- a/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_LOGIN_OPTIONS man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_LOGIN_OPTIONS - set login options <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_LOGIN_OPTIONS, char *options); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * as parameter, which should be pointing to the zero terminated <span Class="emphasis">options</span> string to use for the transfer.
-<p class="level0">For more information about the login options please see <a href="http://www.ietf.org/rfc/rfc2384.txt">RFC 2384</a>, <a href="http://www.ietf.org/rfc/rfc5092.txt">RFC 5092</a> and IETF draft draft-earhart-url-smtp-00.txt
-<p class="level0"><a Class="emphasis" href="./CURLOPT_LOGIN_OPTIONS.html">CURLOPT_LOGIN_OPTIONS</a> can be used to set protocol specific login options, such as the preferred authentication mechanism via "AUTH=NTLM" or "AUTH=*", and should be used in conjunction with the <a Class="emphasis" href="./CURLOPT_USERNAME.html">CURLOPT_USERNAME</a> option. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">Only IMAP, POP3 and SMTP support login options. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.34.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_USERNAME.html">CURLOPT_USERNAME</a>, <a Class="manpage" href="./CURLOPT_PASSWORD.html">CURLOPT_PASSWORD</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.pdf b/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.pdf
deleted file mode 100644
index 1603335cf..000000000
--- a/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.html b/docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.html
deleted file mode 100644
index 700bc704b..000000000
--- a/docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_LOW_SPEED_LIMIT man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_LOW_SPEED_LIMIT - set low speed limit in bytes per second <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_LOW_SPEED_LIMIT, long speedlimit); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long as parameter. It contains the average transfer speed in bytes per second that the transfer should be below during <a Class="emphasis" href="./CURLOPT_LOW_SPEED_TIME.html">CURLOPT_LOW_SPEED_TIME</a> seconds for libcurl to consider it to be too slow and abort. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0, disabled <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_LOW_SPEED_TIME.html">CURLOPT_LOW_SPEED_TIME</a>, <a Class="manpage" href="./CURLOPT_TIMEOUT.html">CURLOPT_TIMEOUT</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.pdf b/docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.pdf
deleted file mode 100644
index 95487b0cf..000000000
--- a/docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.html b/docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.html
deleted file mode 100644
index b52107776..000000000
--- a/docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_LOW_SPEED_TIME man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_LOW_SPEED_TIME - set low speed limit time period <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_LOW_SPEED_TIME, long speedtime); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long as parameter. It contains the time in number seconds that the transfer speed should be below the <a Class="emphasis" href="./CURLOPT_LOW_SPEED_LIMIT.html">CURLOPT_LOW_SPEED_LIMIT</a> for the library to consider it too slow and abort. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0, disabled <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_LOW_SPEED_LIMIT.html">CURLOPT_LOW_SPEED_LIMIT</a>, <a Class="manpage" href="./CURLOPT_TIMEOUT.html">CURLOPT_TIMEOUT</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.pdf b/docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.pdf
deleted file mode 100644
index a75604a0f..000000000
--- a/docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_MAIL_AUTH.3 b/docs/libcurl/opts/CURLOPT_MAIL_AUTH.3
index bd581f0d2..ef917791d 100644
--- a/docs/libcurl/opts/CURLOPT_MAIL_AUTH.3
+++ b/docs/libcurl/opts/CURLOPT_MAIL_AUTH.3
@@ -43,6 +43,9 @@ Unlike \fICURLOPT_MAIL_FROM(3)\fP and \fICURLOPT_MAIL_RCPT(3)\fP, the address
should not be specified within a pair of angled brackets (<>). However, if an
empty string is used then a pair of brackets will be sent by libcurl as
required by RFC2554.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
NULL
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_MAIL_AUTH.html b/docs/libcurl/opts/CURLOPT_MAIL_AUTH.html
deleted file mode 100644
index 647990172..000000000
--- a/docs/libcurl/opts/CURLOPT_MAIL_AUTH.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_MAIL_AUTH man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_MAIL_AUTH - SMTP authentication address <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAIL_AUTH, char *auth); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a zero terminated string as parameter. This will be used to specify the authentication address (identity) of a submitted message that is being relayed to another server.
-<p class="level0">This optional parameter allows co-operating agents in a trusted environment to communicate the authentication of individual messages and should only be used by the application program, using libcurl, if the application is itself a mail server acting in such an environment. If the application is operating as such and the AUTH address is not known or is invalid, then an empty string should be used for this parameter.
-<p class="level0">Unlike <a Class="emphasis" href="./CURLOPT_MAIL_FROM.html">CURLOPT_MAIL_FROM</a> and <a Class="emphasis" href="./CURLOPT_MAIL_RCPT.html">CURLOPT_MAIL_RCPT</a>, the address should not be specified within a pair of angled brackets (&lt;&gt;). However, if an empty string is used then a pair of brackets will be sent by libcurl as required by <a href="http://www.ietf.org/rfc/rfc2554.txt">RFC 2554</a>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">SMTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.25.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_MAIL_FROM.html">CURLOPT_MAIL_FROM</a>, <a Class="manpage" href="./CURLOPT_MAIL_RCPT.html">CURLOPT_MAIL_RCPT</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_MAIL_AUTH.pdf b/docs/libcurl/opts/CURLOPT_MAIL_AUTH.pdf
deleted file mode 100644
index 62f86df89..000000000
--- a/docs/libcurl/opts/CURLOPT_MAIL_AUTH.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_MAIL_FROM.3 b/docs/libcurl/opts/CURLOPT_MAIL_FROM.3
index 0420d4936..4283f90db 100644
--- a/docs/libcurl/opts/CURLOPT_MAIL_FROM.3
+++ b/docs/libcurl/opts/CURLOPT_MAIL_FROM.3
@@ -36,6 +36,9 @@ around it, which if not specified will be added automatically.
If this parameter is not specified then an empty address will be sent to the
mail server which may cause the email to be rejected.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
blank
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_MAIL_FROM.html b/docs/libcurl/opts/CURLOPT_MAIL_FROM.html
deleted file mode 100644
index f09e209d1..000000000
--- a/docs/libcurl/opts/CURLOPT_MAIL_FROM.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_MAIL_FROM man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_MAIL_FROM - SMTP sender address <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAIL_FROM, char *from); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a zero terminated string as parameter. This should be used to specify the sender's email address when sending SMTP mail with libcurl.
-<p class="level0">An originator email address should be specified with angled brackets (&lt;&gt;) around it, which if not specified will be added automatically.
-<p class="level0">If this parameter is not specified then an empty address will be sent to the mail server which may cause the email to be rejected. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">blank <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">SMTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.20.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_MAIL_RCPT.html">CURLOPT_MAIL_RCPT</a>, <a Class="manpage" href="./CURLOPT_MAIL_AUTH.html">CURLOPT_MAIL_AUTH</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_MAIL_FROM.pdf b/docs/libcurl/opts/CURLOPT_MAIL_FROM.pdf
deleted file mode 100644
index db203153d..000000000
--- a/docs/libcurl/opts/CURLOPT_MAIL_FROM.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_MAIL_RCPT.html b/docs/libcurl/opts/CURLOPT_MAIL_RCPT.html
deleted file mode 100644
index 1def8cf29..000000000
--- a/docs/libcurl/opts/CURLOPT_MAIL_RCPT.html
+++ /dev/null
@@ -1,73 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_MAIL_RCPT man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_MAIL_RCPT - list of SMTP mail recipients <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAIL_RCPT,
-&nbsp; struct curl_slist *rcpts);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a linked list of recipients to pass to the server in your SMTP mail request. The linked list should be a fully valid list of <span class="bold">struct curl_slist</span> structs properly filled in. Use <span Class="emphasis">curl_slist_append(3)</span> to create the list and <span Class="emphasis">curl_slist_free_all(3)</span> to clean up an entire list.
-<p class="level0">When performing a mail transfer, each recipient should be specified within a pair of angled brackets (&lt;&gt;), however, should you not use an angled bracket as the first character libcurl will assume you provided a single email address and enclose that address within brackets for you.
-<p class="level0">When performing an address verification (VRFY command), each recipient should be specified as the user name or user name and domain (as per Section 3.5 of <a href="http://www.ietf.org/rfc/rfc5321.txt">RFC 5321</a>).
-<p class="level0">When performing a mailing list expand (EXPN command), each recipient should be specified using the mailing list name, such as "Friends" or "London-Office". <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">SMTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.20.0. The VRFY and EXPN logic was added in 7.34.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_MAIL_FROM.html">CURLOPT_MAIL_FROM</a>, <a Class="manpage" href="./CURLOPT_MAIL_AUTH.html">CURLOPT_MAIL_AUTH</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_MAIL_RCPT.pdf b/docs/libcurl/opts/CURLOPT_MAIL_RCPT.pdf
deleted file mode 100644
index afa9f067e..000000000
--- a/docs/libcurl/opts/CURLOPT_MAIL_RCPT.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_MAXCONNECTS.html b/docs/libcurl/opts/CURLOPT_MAXCONNECTS.html
deleted file mode 100644
index 16c2458d8..000000000
--- a/docs/libcurl/opts/CURLOPT_MAXCONNECTS.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_MAXCONNECTS man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_MAXCONNECTS - maximum connection cache size <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAXCONNECTS, long amount); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long. The set <span Class="emphasis">amount</span> will be the maximum number of simultaneously open persistent connections that libcurl may cache in the pool associated with this handle. The default is 5, and there isn't much point in changing this value unless you are perfectly aware of how this works and changes libcurl's behaviour. This concerns connections using any of the protocols that support persistent connections.
-<p class="level0">When reaching the maximum limit, curl closes the oldest one in the cache to prevent increasing the number of open connections.
-<p class="level0">If you already have performed transfers with this curl handle, setting a smaller <a Class="emphasis" href="./CURLOPT_MAXCONNECTS.html">CURLOPT_MAXCONNECTS</a> than before may cause open connections to get closed unnecessarily.
-<p class="level0">If you add this easy handle to a multi handle, this setting is not acknowledged, and you must instead use <span Class="emphasis">curl_multi_setopt(3)</span> and the <a Class="emphasis" href="./CURLMOPT_MAXCONNECTS.html">CURLMOPT_MAXCONNECTS</a> option. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">5 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">Most <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLMOPT_MAXCONNECTS.html">CURLMOPT_MAXCONNECTS</a>, <a Class="manpage" href="./CURLOPT_MAXREDIRS.html">CURLOPT_MAXREDIRS</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_MAXCONNECTS.pdf b/docs/libcurl/opts/CURLOPT_MAXCONNECTS.pdf
deleted file mode 100644
index 697335c2a..000000000
--- a/docs/libcurl/opts/CURLOPT_MAXCONNECTS.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_MAXFILESIZE.html b/docs/libcurl/opts/CURLOPT_MAXFILESIZE.html
deleted file mode 100644
index 713c13203..000000000
--- a/docs/libcurl/opts/CURLOPT_MAXFILESIZE.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_MAXFILESIZE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_MAXFILESIZE - maximum file size allowed to download <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAXFILESIZE, long size); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long as parameter. This allows you to specify the maximum <span Class="emphasis">size</span> (in bytes) of a file to download. If the file requested is found larger than this value, the transfer will not start and <span Class="emphasis">CURLE_FILESIZE_EXCEEDED</span> will be returned.
-<p class="level0">The file size is not always known prior to download, and for such files this option has no effect even if the file transfer ends up being larger than this given limit. This concerns both FTP and HTTP transfers.
-<p class="level0">If you want a limit above 2GB, use <a Class="emphasis" href="./CURLOPT_MAXFILESIZE_LARGE.html">CURLOPT_MAXFILESIZE_LARGE</a>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">None <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">FTP and HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_MAXFILESIZE_LARGE.html">CURLOPT_MAXFILESIZE_LARGE</a>, <a Class="manpage" href="./CURLOPT_MAX_RECV_SPEED_LARGE.html">CURLOPT_MAX_RECV_SPEED_LARGE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_MAXFILESIZE.pdf b/docs/libcurl/opts/CURLOPT_MAXFILESIZE.pdf
deleted file mode 100644
index e40c4ce60..000000000
--- a/docs/libcurl/opts/CURLOPT_MAXFILESIZE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.html b/docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.html
deleted file mode 100644
index f0752b263..000000000
--- a/docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_MAXFILESIZE_LARGE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_MAXFILESIZE_LARGE - maximum file size allowed to download <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAXFILESIZE_LARGE,
-&nbsp; curl_off_t size);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a curl_off_t as parameter. This allows you to specify the maximum <span Class="emphasis">size</span> (in bytes) of a file to download. If the file requested is found larger than this value, the transfer will not start and <span Class="emphasis">CURLE_FILESIZE_EXCEEDED</span> will be returned.
-<p class="level0">The file size is not always known prior to download, and for such files this option has no effect even if the file transfer ends up being larger than this given limit. This concerns both FTP and HTTP transfers. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">None <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">FTP and HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.11.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_MAXFILESIZE.html">CURLOPT_MAXFILESIZE</a>, <a Class="manpage" href="./CURLOPT_MAX_RECV_SPEED_LARGE.html">CURLOPT_MAX_RECV_SPEED_LARGE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.pdf b/docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.pdf
deleted file mode 100644
index 12a22fc02..000000000
--- a/docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_MAXREDIRS.html b/docs/libcurl/opts/CURLOPT_MAXREDIRS.html
deleted file mode 100644
index dce0f9055..000000000
--- a/docs/libcurl/opts/CURLOPT_MAXREDIRS.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_MAXREDIRS man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_MAXREDIRS - maximum number of redirects allowed <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAXREDIRS, long amount); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long. The set number will be the redirection limit <span Class="emphasis">amount</span>. If that many redirections have been followed, the next redirect will cause an error (<span Class="emphasis">CURLE_TOO_MANY_REDIRECTS</span>). This option only makes sense if the <a Class="emphasis" href="./CURLOPT_FOLLOWLOCATION.html">CURLOPT_FOLLOWLOCATION</a> is used at the same time.
-<p class="level0">Setting the limit to 0 will make libcurl refuse any redirect.
-<p class="level0">Set it to -1 for an infinite number of redirects. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">-1, unlimited <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP(S) <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/");
-&nbsp;
-&nbsp; /* enable redirect following */
-&nbsp; curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
-&nbsp;
-&nbsp; /* allow three redirects */
-&nbsp; curl_easy_setopt(curl, CURLOPT_MAXREDIRS, 3L);
-&nbsp;
-&nbsp; /* Perform the request */
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Along with HTTP <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_FOLLOWLOCATION.html">CURLOPT_FOLLOWLOCATION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_MAXREDIRS.pdf b/docs/libcurl/opts/CURLOPT_MAXREDIRS.pdf
deleted file mode 100644
index cc140bf78..000000000
--- a/docs/libcurl/opts/CURLOPT_MAXREDIRS.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.html b/docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.html
deleted file mode 100644
index 180ea787c..000000000
--- a/docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_MAX_RECV_SPEED_LARGE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_MAX_RECV_SPEED_LARGE - rate limit data download speed <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAX_RECV_SPEED_LARGE,
-&nbsp; curl_off_t speed);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a curl_off_t as parameter. If a download exceeds this <span Class="emphasis">speed</span> (counted in bytes per second) the transfer will pause to keep the speed less than or equal to the parameter value. Defaults to unlimited speed.
-<p class="level0">This option doesn't affect transfer speeds done with FILE:// URLs. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0, disabled <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All but file:// <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.15.5 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_MAX_SEND_SPEED_LARGE.html">CURLOPT_MAX_SEND_SPEED_LARGE</a>, <a Class="manpage" href="./CURLOPT_LOW_SPEED_LIMIT.html">CURLOPT_LOW_SPEED_LIMIT</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.pdf b/docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.pdf
deleted file mode 100644
index ac3b6d469..000000000
--- a/docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.html b/docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.html
deleted file mode 100644
index 32b8e0ca9..000000000
--- a/docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_MAX_SEND_SPEED_LARGE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_MAX_SEND_SPEED_LARGE - rate limit data upload speed <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAX_SEND_SPEED_LARGE,
-&nbsp; curl_off_t maxspeed);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a curl_off_t as parameter with the <span Class="emphasis">maxspeed</span>. If an upload exceeds this speed (counted in bytes per second) the transfer will pause to keep the speed less than or equal to the parameter value. Defaults to unlimited speed.
-<p class="level0">This option doesn't affect transfer speeds done with FILE:// URLs. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0, disabled <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All except file:// <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.15.5 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_MAX_RECV_SPEED_LARGE.html">CURLOPT_MAX_RECV_SPEED_LARGE</a>, <a Class="manpage" href="./CURLOPT_LOW_SPEED_LIMIT.html">CURLOPT_LOW_SPEED_LIMIT</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.pdf b/docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.pdf
deleted file mode 100644
index 08d2622a9..000000000
--- a/docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_NETRC.html b/docs/libcurl/opts/CURLOPT_NETRC.html
deleted file mode 100644
index 65b3cecc8..000000000
--- a/docs/libcurl/opts/CURLOPT_NETRC.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_NETRC man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_NETRC - request that .netrc is used <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NETRC, long level); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This parameter controls the preference <span Class="emphasis">level</span> of libcurl between using user names and passwords from your <span Class="emphasis">~/.netrc</span> file, relative to user names and passwords in the URL supplied with <a Class="emphasis" href="./CURLOPT_URL.html">CURLOPT_URL</a>.
-<p class="level0">libcurl uses a user name (and supplied or prompted password) supplied with <a Class="emphasis" href="./CURLOPT_USERPWD.html">CURLOPT_USERPWD</a> or <a Class="emphasis" href="./CURLOPT_USERNAME.html">CURLOPT_USERNAME</a> in preference to any of the options controlled by this parameter.
-<p class="level0">Only machine name, user name and password are taken into account (init macros and similar things aren't supported).
-<p class="level0">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.
-<p class="level0"><span Class="emphasis">level</span> should be set to one of the values described below.
-<p class="level0">
-<p class="level0"><a name="CURLNETRCOPTIONAL"></a><span class="nroffip">CURL_NETRC_OPTIONAL</span>
-<p class="level1">The use of your <span Class="emphasis">~/.netrc</span> 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 <span Class="emphasis">machine</span>, which ever information is not specified in the URL.
-<p class="level1">Undefined values of the option will have this effect.
-<p class="level0"><a name="CURLNETRCIGNORED"></a><span class="nroffip">CURL_NETRC_IGNORED</span>
-<p class="level1">The library will ignore the file and use only the information in the URL.
-<p class="level1">This is the default.
-<p class="level0"><a name="CURLNETRCREQUIRED"></a><span class="nroffip">CURL_NETRC_REQUIRED</span>
-<p class="level1">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. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">CURL_NETRC_IGNORED <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">Most <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_USERPWD.html">CURLOPT_USERPWD</a>, <a Class="manpage" href="./CURLOPT_USERNAME.html">CURLOPT_USERNAME</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_NETRC.pdf b/docs/libcurl/opts/CURLOPT_NETRC.pdf
deleted file mode 100644
index 1ef77464f..000000000
--- a/docs/libcurl/opts/CURLOPT_NETRC.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_NETRC_FILE.3 b/docs/libcurl/opts/CURLOPT_NETRC_FILE.3
index d3ecc9574..b7132569a 100644
--- a/docs/libcurl/opts/CURLOPT_NETRC_FILE.3
+++ b/docs/libcurl/opts/CURLOPT_NETRC_FILE.3
@@ -33,6 +33,9 @@ the full path name to the \fIfile\fP you want libcurl to use as .netrc
file. If this option is omitted, and \fICURLOPT_NETRC(3)\fP is set, libcurl
will attempt to find a .netrc file in the current user's home
directory.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
NULL
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_NETRC_FILE.html b/docs/libcurl/opts/CURLOPT_NETRC_FILE.html
deleted file mode 100644
index e401fa686..000000000
--- a/docs/libcurl/opts/CURLOPT_NETRC_FILE.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_NETRC_FILE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_NETRC_FILE - file name to read .netrc info from <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NETRC_FILE, char *file); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * as parameter, pointing to a zero terminated string containing the full path name to the <span Class="emphasis">file</span> you want libcurl to use as .netrc file. If this option is omitted, and <a Class="emphasis" href="./CURLOPT_NETRC.html">CURLOPT_NETRC</a> is set, libcurl will attempt to find a .netrc file in the current user's home directory. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.10.9 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_NETRC.html">CURLOPT_NETRC</a>, <a Class="manpage" href="./CURLOPT_USERNAME.html">CURLOPT_USERNAME</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_NETRC_FILE.pdf b/docs/libcurl/opts/CURLOPT_NETRC_FILE.pdf
deleted file mode 100644
index 9eaafd5b2..000000000
--- a/docs/libcurl/opts/CURLOPT_NETRC_FILE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.html b/docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.html
deleted file mode 100644
index 8ea9fcc0f..000000000
--- a/docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_NEW_DIRECTORY_PERMS man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_NEW_DIRECTORY_PERMS - permissions for remotely created directories <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NEW_DIRECTORY_PERMS,
-&nbsp; long mode);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long as a parameter, containing the value of the permissions that will be assigned to newly created directories on the remote server. The default value is <span Class="emphasis">0755</span>, but any valid value can be used. The only protocols that can use this are <span Class="emphasis">sftp://</span>, <span Class="emphasis">scp://</span>, and <span Class="emphasis">file://</span>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0755 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">SFTP, SCP and FILE <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.16.4 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_NEW_FILE_PERMS.html">CURLOPT_NEW_FILE_PERMS</a>, <a Class="manpage" href="./CURLOPT_UPLOAD.html">CURLOPT_UPLOAD</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.pdf b/docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.pdf
deleted file mode 100644
index 5a9186436..000000000
--- a/docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.html b/docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.html
deleted file mode 100644
index eeb290445..000000000
--- a/docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_NEW_FILE_PERMS man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_NEW_FILE_PERMS - permissions for remotely created files <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NEW_FILE_PERMS,
-&nbsp; long mode);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long as a parameter, containing the value of the permissions that will be assigned to newly created files on the remote server. The default value is <span Class="emphasis">0644</span>, but any valid value can be used. The only protocols that can use this are <span Class="emphasis">sftp://</span>, <span Class="emphasis">scp://</span>, and <span Class="emphasis">file://</span>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0644 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">SFTP, SCP and FILE <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.16.4 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_NEW_DIRECTORY_PERMS.html">CURLOPT_NEW_DIRECTORY_PERMS</a>, <a Class="manpage" href="./CURLOPT_UPLOAD.html">CURLOPT_UPLOAD</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.pdf b/docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.pdf
deleted file mode 100644
index ce6c06d4f..000000000
--- a/docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_NOBODY.html b/docs/libcurl/opts/CURLOPT_NOBODY.html
deleted file mode 100644
index bfd44db08..000000000
--- a/docs/libcurl/opts/CURLOPT_NOBODY.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_NOBODY man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_NOBODY - do the download request without getting the body <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NOBODY, long opt); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">A long parameter set to 1 tells libcurl to not include the body-part in the output when doing what would otherwise be a download. For HTTP(S), this makes libcurl do a HEAD request. For most other protocols it means just not asking to transfer the body data.
-<p class="level0">Enabling this option means asking for a download but without a body. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0, the body is transferred <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">Most <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; /* get us the resource without a body! */
-&nbsp; curl_easy_setopt(curl, CURLOPT_NOBODY, 1L);
-&nbsp;
-&nbsp; /* Perform the request */
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_HTTPGET.html">CURLOPT_HTTPGET</a>, <a Class="manpage" href="./CURLOPT_POST.html">CURLOPT_POST</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_NOBODY.pdf b/docs/libcurl/opts/CURLOPT_NOBODY.pdf
deleted file mode 100644
index 4f3efe96d..000000000
--- a/docs/libcurl/opts/CURLOPT_NOBODY.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_NOPROGRESS.html b/docs/libcurl/opts/CURLOPT_NOPROGRESS.html
deleted file mode 100644
index 42f7a9ae2..000000000
--- a/docs/libcurl/opts/CURLOPT_NOPROGRESS.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_NOPROGRESS man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_NOPROGRESS - switch off the progress meter <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NOPROGRESS, long onoff); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">If <span Class="emphasis">onoff</span> is to 1, it tells the library to shut off the progress meter completely for requests done with this <span Class="emphasis">handle</span>. It will also prevent the <a Class="emphasis" href="./CURLOPT_PROGRESSFUNCTION.html">CURLOPT_PROGRESSFUNCTION</a> from getting called.
-<p class="level0">Future versions of libcurl are likely to not have any built-in progress meter at all. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">1, meaning it normally runs without a progress meter. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; /* enable progress meter */
-&nbsp; curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0L);
-&nbsp;
-&nbsp; /* Perform the request */
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_PROGRESSFUNCTION.html">CURLOPT_PROGRESSFUNCTION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_NOPROGRESS.pdf b/docs/libcurl/opts/CURLOPT_NOPROGRESS.pdf
deleted file mode 100644
index cbb03c79b..000000000
--- a/docs/libcurl/opts/CURLOPT_NOPROGRESS.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_NOPROXY.3 b/docs/libcurl/opts/CURLOPT_NOPROXY.3
index 2998a30a8..1048b55a3 100644
--- a/docs/libcurl/opts/CURLOPT_NOPROXY.3
+++ b/docs/libcurl/opts/CURLOPT_NOPROXY.3
@@ -36,6 +36,9 @@ list is matched as either a domain which contains the hostname, or the
hostname itself. For example, example.com would match example.com,
example.com:80, and www.example.com, but not www.notanexample.com or
example.com.othertld.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
NULL
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_NOPROXY.html b/docs/libcurl/opts/CURLOPT_NOPROXY.html
deleted file mode 100644
index 354183f4d..000000000
--- a/docs/libcurl/opts/CURLOPT_NOPROXY.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_NOPROXY man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_NOPROXY - disable proxy use for specific hosts <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NOPROXY, char *noproxy); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a zero terminated string. The string consists of a comma separated list of host names that do not require a proxy to get reached, even if one is specified. The only wildcard available is a single * character, which matches all hosts, and effectively disables the proxy. Each name in this list is matched as either a domain which contains the hostname, or the hostname itself. For example, example.com would match example.com, example.com:80, and www.example.com, but not www.notanexample.com or example.com.othertld. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">Most <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.19.4 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_PROXY.html">CURLOPT_PROXY</a>, <a Class="manpage" href="./CURLOPT_PROXYAUTH.html">CURLOPT_PROXYAUTH</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_NOPROXY.pdf b/docs/libcurl/opts/CURLOPT_NOPROXY.pdf
deleted file mode 100644
index 550578ea7..000000000
--- a/docs/libcurl/opts/CURLOPT_NOPROXY.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_NOSIGNAL.html b/docs/libcurl/opts/CURLOPT_NOSIGNAL.html
deleted file mode 100644
index 8453ca522..000000000
--- a/docs/libcurl/opts/CURLOPT_NOSIGNAL.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_NOSIGNAL man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_NOSIGNAL - skip all signal handling <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NOSIGNAL, long onoff); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">If <span Class="emphasis">onoff</span> is 1, libcurl will not use any functions that install signal handlers or any functions that cause signals to be sent to the process. This option is here to allow multi-threaded unix applications to still set/use all timeout options etc, without risking getting signals.
-<p class="level0">If this option is set and libcurl has been built with the standard name resolver, timeouts will not occur while the name resolve takes place. Consider building libcurl with the c-ares or threaded resolver backends to enable asynchronous DNS lookups, to enable timeouts for name resolves without the use of signals.
-<p class="level0">Setting <a Class="emphasis" href="./CURLOPT_NOSIGNAL.html">CURLOPT_NOSIGNAL</a> to 1 makes libcurl NOT ask the system to ignore SIGPIPE signals, which otherwise are sent by the system when trying to send data to a socket which is closed in the other end. libcurl makes an effort to never cause such SIGPIPEs to trigger, but some operating systems have no way to avoid them and even on those that have there are some corner cases when they may still happen, contrary to our desire. In addition, using <span Class="emphasis">CURLAUTH_NTLM_WB</span> authentication could cause a SIGCHLD signal to be raised. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.10 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_NOSIGNAL.pdf b/docs/libcurl/opts/CURLOPT_NOSIGNAL.pdf
deleted file mode 100644
index eb50832fc..000000000
--- a/docs/libcurl/opts/CURLOPT_NOSIGNAL.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.html b/docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.html
deleted file mode 100644
index 4908ddb0d..000000000
--- a/docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_OPENSOCKETDATA man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_OPENSOCKETDATA - custom pointer passed to open socket callback <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_OPENSOCKETDATA, void *pointer); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a <span Class="emphasis">pointer</span> that will be untouched by libcurl and passed as the first argument in the opensocket callback set with <a Class="emphasis" href="./CURLOPT_OPENSOCKETFUNCTION.html">CURLOPT_OPENSOCKETFUNCTION</a>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">The default value of this parameter is NULL. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.17.1 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_OPENSOCKETFUNCTION.html">CURLOPT_OPENSOCKETFUNCTION</a>, <a Class="manpage" href="./CURLOPT_SOCKOPTFUNCTION.html">CURLOPT_SOCKOPTFUNCTION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.pdf b/docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.pdf
deleted file mode 100644
index 8ae4cf811..000000000
--- a/docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.html b/docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.html
deleted file mode 100644
index 4f0350817..000000000
--- a/docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.html
+++ /dev/null
@@ -1,95 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_OPENSOCKETFUNCTION man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_OPENSOCKETFUNCTION - set callback for opening sockets <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-typedef enum {
-&nbsp; CURLSOCKTYPE_IPCXN, /* socket created for a specific IP connection */
-&nbsp; CURLSOCKTYPE_ACCEPT, /* socket created by accept() call */
-&nbsp; CURLSOCKTYPE_LAST /* never use */
-} curlsocktype;
-&nbsp;
-struct curl_sockaddr {
-&nbsp; int family;
-&nbsp; int socktype;
-&nbsp; int protocol;
-&nbsp; unsigned int addrlen;
-&nbsp; struct sockaddr addr;
-};
-&nbsp;
-curl_socket_t opensocket_callback(void *clientp,
-&nbsp; curlsocktype purpose,
-&nbsp; struct curl_sockaddr *address);
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_OPENSOCKETFUNCTION, opensocket_callback);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to your callback function, which should match the prototype shown above.
-<p class="level0">This callback function gets called by libcurl instead of the <span Class="emphasis">socket(2)</span> call. The callback's <span Class="emphasis">purpose</span> argument identifies the exact purpose for this particular socket: <span Class="emphasis">CURLSOCKTYPE_IPCXN</span> is for IP based connections and <span Class="emphasis">CURLSOCKTYPE_ACCEPT</span> is for sockets created after accept() - such as when doing active FTP. Future versions of libcurl may support more purposes.
-<p class="level0">The <span Class="emphasis">clientp</span> pointer contains whatever user-defined value set using the <a Class="emphasis" href="./CURLOPT_OPENSOCKETDATA.html">CURLOPT_OPENSOCKETDATA</a> function.
-<p class="level0">The callback gets the resolved peer address as the <span Class="emphasis">address</span> argument and is allowed to modify the address or refuse to connect completely. The callback function should return the newly created socket or <span Class="emphasis">CURL_SOCKET_BAD</span> in case no connection could be established or another error was detected. Any additional <span Class="emphasis">setsockopt(2)</span> calls can of course be done on the socket at the user's discretion. A <span Class="emphasis">CURL_SOCKET_BAD</span> return value from the callback function will signal an unrecoverable error to libcurl and it will return <span Class="emphasis">CURLE_COULDNT_CONNECT</span> from the function that triggered this callback. This return code can be used for IP address blacklisting.
-<p class="level0">If you want to pass in a socket with an already established connection, pass the socket back with this callback and then use <a Class="emphasis" href="./CURLOPT_SOCKOPTFUNCTION.html">CURLOPT_SOCKOPTFUNCTION</a> to signal that it already is connected. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">The default behavior is the equivalent of this: <pre class="level0">
-&nbsp; return socket(addr-&gt;family, addr-&gt;socktype, addr-&gt;protocol);
-</pre>
-
-<p class="level0"><a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.17.1. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_OPENSOCKETDATA.html">CURLOPT_OPENSOCKETDATA</a>, <a Class="manpage" href="./CURLOPT_SOCKOPTFUNCTION.html">CURLOPT_SOCKOPTFUNCTION</a>, <a Class="manpage" href="./CURLOPT_CLOSESOCKETFUNCTION.html">CURLOPT_CLOSESOCKETFUNCTION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.pdf b/docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.pdf
deleted file mode 100644
index 2dcf512c8..000000000
--- a/docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PASSWORD.3 b/docs/libcurl/opts/CURLOPT_PASSWORD.3
index 06ed9e19e..e9f6d06bc 100644
--- a/docs/libcurl/opts/CURLOPT_PASSWORD.3
+++ b/docs/libcurl/opts/CURLOPT_PASSWORD.3
@@ -33,6 +33,9 @@ password to use for the transfer.
The \fICURLOPT_PASSWORD(3)\fP option should be used in conjunction with the
\fICURLOPT_USERNAME(3)\fP option.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
blank
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_PASSWORD.html b/docs/libcurl/opts/CURLOPT_PASSWORD.html
deleted file mode 100644
index 9f885096f..000000000
--- a/docs/libcurl/opts/CURLOPT_PASSWORD.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_PASSWORD man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_PASSWORD - password to use in authentication <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PASSWORD, char *pwd); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * as parameter, which should be pointing to the zero terminated password to use for the transfer.
-<p class="level0">The <a Class="emphasis" href="./CURLOPT_PASSWORD.html">CURLOPT_PASSWORD</a> option should be used in conjunction with the <a Class="emphasis" href="./CURLOPT_USERNAME.html">CURLOPT_USERNAME</a> option. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">blank <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">Most <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.19.1 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_USERPWD.html">CURLOPT_USERPWD</a>, <a Class="manpage" href="./CURLOPT_USERNAME.html">CURLOPT_USERNAME</a>, <a Class="manpage" href="./CURLOPT_HTTPAUTH.html">CURLOPT_HTTPAUTH</a>, <a Class="manpage" href="./CURLOPT_PROXYAUTH.html">CURLOPT_PROXYAUTH</a>
-<p class="level0"><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_PASSWORD.pdf b/docs/libcurl/opts/CURLOPT_PASSWORD.pdf
deleted file mode 100644
index 4ac054c72..000000000
--- a/docs/libcurl/opts/CURLOPT_PASSWORD.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PATH_AS_IS.html b/docs/libcurl/opts/CURLOPT_PATH_AS_IS.html
deleted file mode 100644
index 4dd6a1cb9..000000000
--- a/docs/libcurl/opts/CURLOPT_PATH_AS_IS.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_PATH_AS_IS man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_PATH_AS_IS - do not handle dot dot sequences <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PATH_AS_IS, long leaveit); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Set the long <span Class="emphasis">leaveit</span> to 1, to explicitly tell libcurl to not alter the given path before passing it on to the server.
-<p class="level0">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 <a href="http://www.ietf.org/rfc/rfc3986.txt">RFC 3986</a> section 5.2.4.
-<p class="level0">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.
-<p class="level0">By default libcurl will merge such sequences before using the path. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/../../etc/password");
-&nbsp;
-&nbsp; curl_easy_setopt(curl, CURLOPT_PATH_AS_IS, 1L);
-&nbsp;
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Aded in 7.42.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_STDERR.html">CURLOPT_STDERR</a>, <a Class="manpage" href="./CURLOPT_DEBUGFUNCTION.html">CURLOPT_DEBUGFUNCTION</a>, <a Class="manpage" href="./CURLOPT_URL.html">CURLOPT_URL</a>
-<p class="level0"><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_PATH_AS_IS.pdf b/docs/libcurl/opts/CURLOPT_PATH_AS_IS.pdf
deleted file mode 100644
index 294b8c722..000000000
--- a/docs/libcurl/opts/CURLOPT_PATH_AS_IS.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.3 b/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.3
index 4e673bd4d..1951c88a6 100644
--- a/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.3
+++ b/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -39,6 +39,9 @@ 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
@@ -91,14 +94,23 @@ footer:
.fi
.SH AVAILABILITY
PEM/DER support:
+
7.39.0: OpenSSL, GnuTLS and GSKit
+
7.43.0: NSS and wolfSSL/CyaSSL
+
7.47.0: mbedtls
+
7.49.0: PolarSSL
+
sha256 support:
- 7.44.0: OpenSSL, GnuTLS, NSS and wolfSSL/CyaSSL.
+
+ 7.44.0: OpenSSL, GnuTLS, NSS and wolfSSL/CyaSSL
+
7.47.0: mbedtls
+
7.49.0: PolarSSL
+
Other SSL backends not supported.
.SH RETURN VALUE
Returns CURLE_OK if TLS enabled, CURLE_UNKNOWN_OPTION if not, or
diff --git a/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.html b/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.html
deleted file mode 100644
index 8048597e2..000000000
--- a/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.html
+++ /dev/null
@@ -1,111 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_PINNEDPUBLICKEY man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_PINNEDPUBLICKEY - set pinned public key <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PINNEDPUBLICKEY, char *pinnedpubkey); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">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 ";"
-<p class="level0">When negotiating a TLS or SSL connection, the server 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.
-<p class="level0">On mismatch, <span Class="emphasis">CURLE_SSL_PINNEDPUBKEYNOTMATCH</span> is returned. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
-&nbsp; curl_easy_setopt(curl, CURLOPT_PINNEDPUBLICKEY, "/etc/publickey.der");
-&nbsp; /* OR
-&nbsp; curl_easy_setopt(curl, CURLOPT_PINNEDPUBLICKEY, "sha256//YhKJKSzoTt2b5FP18fvpHo7fJYqQCjAa3HWY3tvRMwE=;sha256//t62CeU2tQiqkexU74Gxa2eg7fRbEgoChTociMee9wno=");
-&nbsp; */
-&nbsp;
-&nbsp; /* Perform the request */
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="PUBLIC"></a><h2 class="nroffsh">PUBLIC KEY EXTRACTION</h2>
-<p class="level0">If you do not have the server's public key file you can extract it from the server's certificate. <pre class="level0">
-&#35; retrieve the server's certificate if you don't already have it
-&#35;
-&#35; be sure to examine the certificate to see if it is what you expected
-&#35;
-&#35; Windows-specific:
-&#35; - Use NUL instead of /dev/null.
-&#35; - OpenSSL may wait for input instead of disconnecting. Hit enter.
-&#35; - If you don't have sed, then just copy the certificate into a file:
-&#35; Lines from -----BEGIN CERTIFICATE----- to -----END CERTIFICATE-----.
-&#35;
-openssl s_client -servername www.example.com -connect www.example.com:443 &lt; /dev/null | sed -n "/-----BEGIN/,/-----END/p" &gt; www.example.com.pem
-&nbsp;
-&#35; extract public key in pem format from certificate
-openssl x509 -in www.example.com.pem -pubkey -noout &gt; www.example.com.pubkey.pem
-&nbsp;
-&#35; convert public key from pem to der
-openssl asn1parse -noout -inform pem -in www.example.com.pubkey.pem -out www.example.com.pubkey.der
-&nbsp;
-&#35; sha256 hash and base64 encode der to string for use
-openssl dgst -sha256 -binary www.example.com.pubkey.der | openssl base64
-</pre>
-
-<p class="level0">The public key in PEM format contains a header, base64 data and a footer: <pre class="level0">
------BEGIN PUBLIC KEY-----
-[BASE 64 DATA]
------END PUBLIC KEY-----
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">PEM/DER support: &nbsp; 7.39.0: OpenSSL, GnuTLS and GSKit &nbsp; 7.43.0: NSS and wolfSSL/CyaSSL &nbsp; 7.47.0: mbedtls &nbsp; 7.49.0: PolarSSL sha256 support: &nbsp; 7.44.0: OpenSSL, GnuTLS, NSS and wolfSSL/CyaSSL. &nbsp; 7.47.0: mbedtls &nbsp; 7.49.0: PolarSSL Other SSL backends not supported. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if TLS enabled, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SSL_VERIFYPEER.html">CURLOPT_SSL_VERIFYPEER</a>, <a Class="manpage" href="./CURLOPT_SSL_VERIFYHOST.html">CURLOPT_SSL_VERIFYHOST</a>, <a Class="manpage" href="./CURLOPT_CAINFO.html">CURLOPT_CAINFO</a>, <a Class="manpage" href="./CURLOPT_CAPATH.html">CURLOPT_CAPATH</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.pdf b/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.pdf
deleted file mode 100644
index 6d9fc6cb2..000000000
--- a/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PIPEWAIT.html b/docs/libcurl/opts/CURLOPT_PIPEWAIT.html
deleted file mode 100644
index a0b467312..000000000
--- a/docs/libcurl/opts/CURLOPT_PIPEWAIT.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_PIPEWAIT man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_PIPEWAIT - wait for pipelining/multiplexing <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PIPEWAIT, long wait); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Set <span Class="emphasis">wait</span> to 1L to tell libcurl to prefer to wait for a connection to confirm or deny that it can do pipelining or multiplexing before continuing.
-<p class="level0">When about to perform a new transfer that allows pipelining or multiplexing, libcurl will check for existing connections to re-use and pipeline on. If no such connection exists it will immediately continue and create a fresh new connection to use.
-<p class="level0">By setting this option to 1 - and having <a Class="emphasis" href="./CURLMOPT_PIPELINING.html">CURLMOPT_PIPELINING</a> enabled for the multi handle this transfer is associated with - libcurl will instead wait for the connection to reveal if it is possible to pipeline/multiplex on before it continues. This enables libcurl to much better keep the number of connections to a minimum when using pipelining or multiplexing protocols.
-<p class="level0">The effect thus becomes that with this option set, libcurl prefers to wait and re-use an existing connection for pipelining rather than the opposite: prefer to open a new connection rather than waiting.
-<p class="level0">The waiting time is as long as it takes for the connection to get up and for libcurl to get the necessary response back that informs it about its protocol and support level. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 (off) <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP(S) <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.43.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_FORBID_REUSE.html">CURLOPT_FORBID_REUSE</a>, <a Class="manpage" href="./CURLOPT_FRESH_CONNECT.html">CURLOPT_FRESH_CONNECT</a>, <a Class="manpage" href="./CURLMOPT_PIPELINING.html">CURLMOPT_PIPELINING</a>, <a Class="manpage" href="./CURLMOPT_MAX_HOST_CONNECTIONS.html">CURLMOPT_MAX_HOST_CONNECTIONS</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_PIPEWAIT.pdf b/docs/libcurl/opts/CURLOPT_PIPEWAIT.pdf
deleted file mode 100644
index 1346af5bc..000000000
--- a/docs/libcurl/opts/CURLOPT_PIPEWAIT.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PORT.html b/docs/libcurl/opts/CURLOPT_PORT.html
deleted file mode 100644
index 6d42cf567..000000000
--- a/docs/libcurl/opts/CURLOPT_PORT.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_PORT man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_PORT - set remote port number to work with <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PORT, long number); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This option sets <span Class="emphasis">number</span> to be the remote port number to connect to, instead of the one specified in the URL or the default port for the used protocol.
-<p class="level0">Usually, you just let the URL decide which port to use but this allows the application to override that.
-<p class="level0">While this option accepts a 'long', a port number is usually a 16 bit number and therefore using a port number over 65535 will cause a run-time error. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">By default this is 0 which makes it not used. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">Used for all protocols that speak to a port number. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_STDERR.html">CURLOPT_STDERR</a>, <a Class="manpage" href="./CURLOPT_DEBUGFUNCTION.html">CURLOPT_DEBUGFUNCTION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_PORT.pdf b/docs/libcurl/opts/CURLOPT_PORT.pdf
deleted file mode 100644
index 335231640..000000000
--- a/docs/libcurl/opts/CURLOPT_PORT.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_POST.html b/docs/libcurl/opts/CURLOPT_POST.html
deleted file mode 100644
index f34002970..000000000
--- a/docs/libcurl/opts/CURLOPT_POST.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_POST man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_POST - request a HTTP POST <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POST, long post); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">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).
-<p class="level0">Use one of <a Class="emphasis" href="./CURLOPT_POSTFIELDS.html">CURLOPT_POSTFIELDS</a> or <a Class="emphasis" href="./CURLOPT_COPYPOSTFIELDS.html">CURLOPT_COPYPOSTFIELDS</a> options to specify what data to post and <a Class="emphasis" href="./CURLOPT_POSTFIELDSIZE.html">CURLOPT_POSTFIELDSIZE</a> or <a Class="emphasis" href="./CURLOPT_POSTFIELDSIZE_LARGE.html">CURLOPT_POSTFIELDSIZE_LARGE</a> to set the data size.
-<p class="level0">Optionally, you can provide data to POST using the <a Class="emphasis" href="./CURLOPT_READFUNCTION.html">CURLOPT_READFUNCTION</a> and <a Class="emphasis" href="./CURLOPT_READDATA.html">CURLOPT_READDATA</a> options but then you must make sure to not set <a Class="emphasis" href="./CURLOPT_POSTFIELDS.html">CURLOPT_POSTFIELDS</a> 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 <a Class="emphasis" href="./CURLOPT_POSTFIELDSIZE.html">CURLOPT_POSTFIELDSIZE</a> or <a Class="emphasis" href="./CURLOPT_POSTFIELDSIZE_LARGE.html">CURLOPT_POSTFIELDSIZE_LARGE</a> options. To enable chunked encoding, you simply pass in the appropriate Transfer-Encoding header, see the post-callback.c example.
-<p class="level0">You can override the default POST Content-Type: header by setting your own with <a Class="emphasis" href="./CURLOPT_HTTPHEADER.html">CURLOPT_HTTPHEADER</a>.
-<p class="level0">Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue" header. You can disable this header with <a Class="emphasis" href="./CURLOPT_HTTPHEADER.html">CURLOPT_HTTPHEADER</a> as usual.
-<p class="level0">If you use POST to a 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 <a Class="emphasis" href="./CURLOPT_HTTPHEADER.html">CURLOPT_HTTPHEADER</a>. With HTTP 1.0 or without chunked transfer, you must specify the size in the request.
-<p class="level0">When setting <a Class="emphasis" href="./CURLOPT_POST.html">CURLOPT_POST</a> to 1, it will automatically set <a Class="emphasis" href="./CURLOPT_NOBODY.html">CURLOPT_NOBODY</a> to 0.
-<p class="level0">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 <a Class="emphasis" href="./CURLOPT_NOBODY.html">CURLOPT_NOBODY</a> or <a Class="emphasis" href="./CURLOPT_HTTPGET.html">CURLOPT_HTTPGET</a> or similar. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0, disabled <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Along with HTTP <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_POSTFIELDS.html">CURLOPT_POSTFIELDS</a>, <a Class="manpage" href="./CURLOPT_HTTPPOST.html">CURLOPT_HTTPPOST</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_POST.pdf b/docs/libcurl/opts/CURLOPT_POST.pdf
deleted file mode 100644
index 2bd3dca8d..000000000
--- a/docs/libcurl/opts/CURLOPT_POST.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_POSTFIELDS.html b/docs/libcurl/opts/CURLOPT_POSTFIELDS.html
deleted file mode 100644
index 08a75fa0d..000000000
--- a/docs/libcurl/opts/CURLOPT_POSTFIELDS.html
+++ /dev/null
@@ -1,89 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_POSTFIELDS man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_POSTFIELDS - specify data to POST to server <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POSTFIELDS, char *postdata); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * as parameter, pointing to the full data to send in a 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.
-<p class="level0">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 <a Class="emphasis" href="./CURLOPT_COPYPOSTFIELDS.html">CURLOPT_COPYPOSTFIELDS</a> option.
-<p class="level0">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 <a Class="emphasis" href="./CURLOPT_HTTPHEADER.html">CURLOPT_HTTPHEADER</a>.
-<p class="level0">You can use <span Class="emphasis">curl_easy_escape(3)</span> to url-encode your data, if necessary. It returns a pointer to an encoded string that can be passed as <span Class="emphasis">postdata</span>.
-<p class="level0">Using <a Class="emphasis" href="./CURLOPT_POSTFIELDS.html">CURLOPT_POSTFIELDS</a> implies <a Class="emphasis" href="./CURLOPT_POST.html">CURLOPT_POST</a>.
-<p class="level0">If <a Class="emphasis" href="./CURLOPT_POSTFIELDS.html">CURLOPT_POSTFIELDS</a> 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 <a Class="emphasis" href="./CURLOPT_POSTFIELDS.html">CURLOPT_POSTFIELDS</a> to an empty string, or set <a Class="emphasis" href="./CURLOPT_POST.html">CURLOPT_POST</a> to 1 and <a Class="emphasis" href="./CURLOPT_POSTFIELDSIZE.html">CURLOPT_POSTFIELDSIZE</a> to 0.
-<p class="level0">Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue" header. You can disable this header with <a Class="emphasis" href="./CURLOPT_HTTPHEADER.html">CURLOPT_HTTPHEADER</a> as usual.
-<p class="level0">To make multipart/formdata posts (aka <a href="http://www.ietf.org/rfc/rfc2388.txt">RFC 2388</a>-posts), check out the <a Class="emphasis" href="./CURLOPT_HTTPPOST.html">CURLOPT_HTTPPOST</a> option combined with <span Class="emphasis">curl_formadd(3)</span>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; const char *data = "data to send";
-&nbsp;
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; /* size of the POST data */
-&nbsp; curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, 12L);
-&nbsp;
-&nbsp; /* pass in a pointer to the data - libcurl will not copy */
-&nbsp; curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
-&nbsp;
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_POSTFIELDSIZE.html">CURLOPT_POSTFIELDSIZE</a>, <a Class="manpage" href="./CURLOPT_READFUNCTION.html">CURLOPT_READFUNCTION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_POSTFIELDS.pdf b/docs/libcurl/opts/CURLOPT_POSTFIELDS.pdf
deleted file mode 100644
index c00779a46..000000000
--- a/docs/libcurl/opts/CURLOPT_POSTFIELDS.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.html b/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.html
deleted file mode 100644
index 372f8ab99..000000000
--- a/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_POSTFIELDSIZE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_POSTFIELDSIZE - size of POST data pointed to <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POSTFIELDSIZE, long size); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">If you want to post data to the server without having libcurl do a strlen() to measure the data size, this option must be used. When this option is used you can post fully binary data, which otherwise is likely to fail. If this size is set to -1, the library will use strlen() to get the size.
-<p class="level0">If you post more than 2GB, use <a Class="emphasis" href="./CURLOPT_POSTFIELDSIZE_LARGE.html">CURLOPT_POSTFIELDSIZE_LARGE</a>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">-1 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; const char *data = "data to send";
-&nbsp;
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; /* size of the POST data */
-&nbsp; curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, (long) strlen(data));
-&nbsp;
-&nbsp; curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
-&nbsp;
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Along with HTTP <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_POSTFIELDS.html">CURLOPT_POSTFIELDS</a>, <a Class="manpage" href="./CURLOPT_POSTFIELDSIZE_LARGE.html">CURLOPT_POSTFIELDSIZE_LARGE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.pdf b/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.pdf
deleted file mode 100644
index 0a3112abe..000000000
--- a/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.html b/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.html
deleted file mode 100644
index 73b3bcaaa..000000000
--- a/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_POSTFIELDSIZE_LARGE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_POSTFIELDSIZE_LARGE - size of POST data pointed to <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POSTFIELDSIZE_LARGE,
-&nbsp; curl_off_t size);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">If you want to post data to the server without having libcurl do a strlen() to measure the data size, this option must be used. When this option is used you can post fully binary data, which otherwise is likely to fail. If this size is set to -1, the library will use strlen() to get the size. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">-1 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP(S) <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; const char *data = large_chunk;
-&nbsp; curl_off_t length_of_data; /* set somehow */
-&nbsp;
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; /* size of the POST data */
-&nbsp; curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE_LARGE, length_of_data);
-&nbsp;
-&nbsp; curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
-&nbsp;
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Along with HTTP <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_POSTFIELDS.html">CURLOPT_POSTFIELDS</a>, <a Class="manpage" href="./CURLOPT_COPYPOSTFIELDS.html">CURLOPT_COPYPOSTFIELDS</a>, <a Class="manpage" href="./CURLOPT_POSTFIELDSIZE.html">CURLOPT_POSTFIELDSIZE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.pdf b/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.pdf
deleted file mode 100644
index d0d2ff371..000000000
--- a/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_POSTQUOTE.html b/docs/libcurl/opts/CURLOPT_POSTQUOTE.html
deleted file mode 100644
index 6e453582c..000000000
--- a/docs/libcurl/opts/CURLOPT_POSTQUOTE.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_POSTQUOTE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_POSTQUOTE - (S)FTP commands to run after the transfer <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POSTQUOTE, struct curl_slist *cmds); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a linked list of FTP or SFTP commands to pass to the server after your FTP transfer request. The commands will only be run if no error occurred. The linked list should be a fully valid list of struct curl_slist structs properly filled in as described for <a Class="emphasis" href="./CURLOPT_QUOTE.html">CURLOPT_QUOTE</a>.
-<p class="level0">Disable this operation again by setting a NULL to this option. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">SFTP and FTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">If support for the protocols are built-in. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_QUOTE.html">CURLOPT_QUOTE</a>, <a Class="manpage" href="./CURLOPT_PREQUOTE.html">CURLOPT_PREQUOTE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_POSTQUOTE.pdf b/docs/libcurl/opts/CURLOPT_POSTQUOTE.pdf
deleted file mode 100644
index a474613ad..000000000
--- a/docs/libcurl/opts/CURLOPT_POSTQUOTE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_POSTREDIR.html b/docs/libcurl/opts/CURLOPT_POSTREDIR.html
deleted file mode 100644
index e40cea4d4..000000000
--- a/docs/libcurl/opts/CURLOPT_POSTREDIR.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_POSTREDIR man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_POSTREDIR - how to act on a HTTP POST redirect <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POSTREDIR,
-&nbsp; long bitmask);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">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 <span Class="bold">CURL_REDIR_POST_301</span>) tells the library to respect <a href="http://www.ietf.org/rfc/rfc7231.txt">RFC 7231</a> (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 <span Class="bold">CURL_REDIR_POST_302</span>) makes libcurl maintain the request method after a 302 redirect whilst setting bit 2 (value <span Class="bold">CURL_REDIR_POST_303</span>) makes libcurl maintain the request method after a 303 redirect. The value <span Class="bold">CURL_REDIR_POST_ALL</span> is a convenience define that sets all three bits.
-<p class="level0">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 <a Class="emphasis" href="./CURLOPT_FOLLOWLOCATION.html">CURLOPT_FOLLOWLOCATION</a>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP(S) <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; /* a silly POST example */
-&nbsp; curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "data=true");
-&nbsp;
-&nbsp; /* example.com is redirected, so we tell libcurl to send POST on 301, 302 and
-&nbsp; 303 HTTP response codes */
-&nbsp; curl_easy_setopt(curl, CURLOPT_POSTREDIR, CURL_REDIR_POST_ALL);
-&nbsp;
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">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. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_FOLLOWLOCATION.html">CURLOPT_FOLLOWLOCATION</a>, <a Class="manpage" href="./CURLOPT_POSTFIELDS.html">CURLOPT_POSTFIELDS</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_POSTREDIR.pdf b/docs/libcurl/opts/CURLOPT_POSTREDIR.pdf
deleted file mode 100644
index ddcdcb4fc..000000000
--- a/docs/libcurl/opts/CURLOPT_POSTREDIR.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PREQUOTE.3 b/docs/libcurl/opts/CURLOPT_PREQUOTE.3
index 6b95265e7..2e77e99c2 100644
--- a/docs/libcurl/opts/CURLOPT_PREQUOTE.3
+++ b/docs/libcurl/opts/CURLOPT_PREQUOTE.3
@@ -26,7 +26,8 @@ CURLOPT_PREQUOTE \- commands to run before FTP or SFTP transfer
.SH SYNOPSIS
#include <curl/curl.h>
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PREQUOTE, char *cmds);
+CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PREQUOTE,
+ struct curl_slist *cmds);
.SH DESCRIPTION
Pass a pointer to a linked list of FTP or SFTP commands to pass to the server
after the transfer type is set. The linked list should be a fully valid list
diff --git a/docs/libcurl/opts/CURLOPT_PREQUOTE.html b/docs/libcurl/opts/CURLOPT_PREQUOTE.html
deleted file mode 100644
index 0889b07be..000000000
--- a/docs/libcurl/opts/CURLOPT_PREQUOTE.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_PREQUOTE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_PREQUOTE - commands to run before FTP or SFTP transfer <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PREQUOTE, char *cmds); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a linked list of FTP or SFTP commands to pass to the server after the transfer type is set. The linked list should be a fully valid list of struct curl_slist structs properly filled in as described for <a Class="emphasis" href="./CURLOPT_QUOTE.html">CURLOPT_QUOTE</a>. Disable this operation again by setting a NULL to this option. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">FTP and SFTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Along with the protocol support <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_QUOTE.html">CURLOPT_QUOTE</a>, <a Class="manpage" href="./CURLOPT_POSTQUOTE.html">CURLOPT_POSTQUOTE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_PREQUOTE.pdf b/docs/libcurl/opts/CURLOPT_PREQUOTE.pdf
deleted file mode 100644
index 92219c79c..000000000
--- a/docs/libcurl/opts/CURLOPT_PREQUOTE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PRE_PROXY.3 b/docs/libcurl/opts/CURLOPT_PRE_PROXY.3
new file mode 100644
index 000000000..c5f6dcf7f
--- /dev/null
+++ b/docs/libcurl/opts/CURLOPT_PRE_PROXY.3
@@ -0,0 +1,72 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, 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>
+
+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
+TODO
+.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 --git a/docs/libcurl/opts/CURLOPT_PRIVATE.html b/docs/libcurl/opts/CURLOPT_PRIVATE.html
deleted file mode 100644
index 9934b90b0..000000000
--- a/docs/libcurl/opts/CURLOPT_PRIVATE.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_PRIVATE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_PRIVATE - store a private pointer <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PRIVATE, void *pointer); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a void * as parameter, pointing to data that should be associated with this curl handle. The pointer can subsequently be retrieved using <span Class="emphasis">curl_easy_getinfo(3)</span> with the CURLINFO_PRIVATE option. libcurl itself never does nothing with this data. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-struct private secrets;
-if(curl) {
-&nbsp; struct private *extracted;
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; /* store a pointer to our private struct */
-&nbsp; curl_easy_setopt(curl, CURLOPT_PRIVATE, &secrets);
-&nbsp;
-&nbsp; curl_easy_perform(curl);
-&nbsp;
-&nbsp; /* we can extract the private pointer again too */
-&nbsp; curl_easy_getinfo(curl, CURLINFO_PRIVATE, &extracted);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.10.3 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_VERBOSE.html">CURLOPT_VERBOSE</a>, <a Class="manpage" href="./CURLOPT_STDERR.html">CURLOPT_STDERR</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_PRIVATE.pdf b/docs/libcurl/opts/CURLOPT_PRIVATE.pdf
deleted file mode 100644
index 0a20daf2a..000000000
--- a/docs/libcurl/opts/CURLOPT_PRIVATE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PROGRESSDATA.html b/docs/libcurl/opts/CURLOPT_PROGRESSDATA.html
deleted file mode 100644
index adfecec63..000000000
--- a/docs/libcurl/opts/CURLOPT_PROGRESSDATA.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_PROGRESSDATA man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_PROGRESSDATA - custom pointer passed to the progress callback <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROGRESSDATA, void *pointer); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a <span Class="emphasis">pointer</span> that will be untouched by libcurl and passed as the first argument in the progress callback set with <a Class="emphasis" href="./CURLOPT_PROGRESSFUNCTION.html">CURLOPT_PROGRESSFUNCTION</a>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">The default value of this parameter is NULL. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><a href="https://curl.haxx.se/libcurl/c/progressfunc.html">https://curl.haxx.se/libcurl/c/progressfunc.html</a> <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_PROGRESSFUNCTION.html">CURLOPT_PROGRESSFUNCTION</a>, <a Class="manpage" href="./CURLOPT_XFERINFOFUNCTION.html">CURLOPT_XFERINFOFUNCTION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_PROGRESSDATA.pdf b/docs/libcurl/opts/CURLOPT_PROGRESSDATA.pdf
deleted file mode 100644
index c029c2429..000000000
--- a/docs/libcurl/opts/CURLOPT_PROGRESSDATA.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.html b/docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.html
deleted file mode 100644
index 46a6f9141..000000000
--- a/docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.html
+++ /dev/null
@@ -1,74 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_PROGRESSFUNCTION man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_PROGRESSFUNCTION - callback to progress meter function <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">int progress_callback(void *clientp, &nbsp; double dltotal, &nbsp; double dlnow, &nbsp; double ultotal, &nbsp; double ulnow);
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROGRESSFUNCTION, progress_callback); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to your callback function, which should match the prototype shown above.
-<p class="level0">We encourage users to use the newer <a Class="emphasis" href="./CURLOPT_XFERINFOFUNCTION.html">CURLOPT_XFERINFOFUNCTION</a> instead, if you can.
-<p class="level0">This function gets called by libcurl instead of its internal equivalent with a frequent interval. While data is being transferred it will be called very frequently, and during slow periods like when nothing is being transferred it can slow down to about one call per second.
-<p class="level0"><span Class="emphasis">clientp</span> is the pointer set with <a Class="emphasis" href="./CURLOPT_PROGRESSDATA.html">CURLOPT_PROGRESSDATA</a>, it is not used by libcurl but is only passed along from the application to the callback.
-<p class="level0">The callback gets told how much data libcurl will transfer and has transferred, in number of bytes. <span Class="emphasis">dltotal</span> is the total number of bytes libcurl expects to download in this transfer. <span Class="emphasis">dlnow</span> is the number of bytes downloaded so far. <span Class="emphasis">ultotal</span> is the total number of bytes libcurl expects to upload in this transfer. <span Class="emphasis">ulnow</span> is the number of bytes uploaded so far.
-<p class="level0">Unknown/unused argument values passed to the callback will be set to zero (like if you only download data, the upload size will remain 0). Many times the callback will be called one or more times first, before it knows the data sizes so a program must be made to handle that.
-<p class="level0">Returning a non-zero value from this callback will cause libcurl to abort the transfer and return <span Class="emphasis">CURLE_ABORTED_BY_CALLBACK</span>.
-<p class="level0">If you transfer data with the multi interface, this function will not be called during periods of idleness unless you call the appropriate libcurl function that performs transfers.
-<p class="level0"><a Class="emphasis" href="./CURLOPT_NOPROGRESS.html">CURLOPT_NOPROGRESS</a> must be set to 0 to make this function actually get called. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">By default, libcurl has an internal progress meter. That's rarely wanted by users. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><a href="https://curl.haxx.se/libcurl/c/progressfunc.html">https://curl.haxx.se/libcurl/c/progressfunc.html</a> <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_VERBOSE.html">CURLOPT_VERBOSE</a>, <a Class="manpage" href="./CURLOPT_NOPROGRESS.html">CURLOPT_NOPROGRESS</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.pdf b/docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.pdf
deleted file mode 100644
index cb0c18be8..000000000
--- a/docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PROTOCOLS.html b/docs/libcurl/opts/CURLOPT_PROTOCOLS.html
deleted file mode 100644
index 72d0ce749..000000000
--- a/docs/libcurl/opts/CURLOPT_PROTOCOLS.html
+++ /dev/null
@@ -1,112 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_PROTOCOLS man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_PROTOCOLS - set allowed protocols <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROTOCOLS, long bitmask); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long that holds a bitmask of CURLPROTO_* defines. If used, this bitmask limits what protocols libcurl may use in the transfer. This allows you to have a libcurl built to support a wide range of protocols but still limit specific transfers to only be allowed to use a subset of them. By default libcurl will accept all protocols it supports (<span Class="emphasis">CURLPROTO_ALL</span>). See also <a Class="emphasis" href="./CURLOPT_REDIR_PROTOCOLS.html">CURLOPT_REDIR_PROTOCOLS</a>.
-<p class="level0">These are the available protocol defines: <pre class="level0">
-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
-</pre>
-
-<p class="level0"><a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">All protocols built-in <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-curl = curl_easy_init();
-if(curl) {
-&nbsp; /* pass in the URL from an external source */
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, argv[1]);
-&nbsp;
-&nbsp; /* only allow HTTP, TFTP and SFTP */
-&nbsp; curl_easy_setopt(curl, CURLOPT_PROTOCOLS,
-&nbsp; CURLPROTO_HTTP | CURLPROTO_TFTP | CURLPROTO_SFTP);
-&nbsp;
-&nbsp; /* Perform the request */
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.19.4 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_REDIR_PROTOCOLS.html">CURLOPT_REDIR_PROTOCOLS</a>, <a Class="manpage" href="./CURLOPT_URL.html">CURLOPT_URL</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_PROTOCOLS.pdf b/docs/libcurl/opts/CURLOPT_PROTOCOLS.pdf
deleted file mode 100644
index 6e19e7245..000000000
--- a/docs/libcurl/opts/CURLOPT_PROTOCOLS.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PROXY.3 b/docs/libcurl/opts/CURLOPT_PROXY.3
index 64b74faed..65f84f528 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY.3
@@ -38,10 +38,22 @@ 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. 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. No scheme specified or http://, will be treated as HTTP proxies.
+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.
@@ -62,6 +74,9 @@ 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 DEFAULT
Default is NULL, meaning no proxy is used.
diff --git a/docs/libcurl/opts/CURLOPT_PROXY.html b/docs/libcurl/opts/CURLOPT_PROXY.html
deleted file mode 100644
index 491b7be0c..000000000
--- a/docs/libcurl/opts/CURLOPT_PROXY.html
+++ /dev/null
@@ -1,75 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_PROXY man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_PROXY - set proxy to use <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY, char *proxy); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Set the <span Class="emphasis">proxy</span> 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].
-<p class="level0">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 <a Class="emphasis" href="./CURLOPT_PROXYPORT.html">CURLOPT_PROXYPORT</a>. If not specified, libcurl will default to using port 1080 for proxies.
-<p class="level0">The proxy string may be prefixed with [scheme]:// to specify which kind of proxy 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 <span Class="emphasis">CURLPROXY_SOCKS5_HOSTNAME</span> type) to request the specific SOCKS version to be used. No scheme specified or <a href="http://,">http://,</a> will be treated as HTTP proxies.
-<p class="level0">Without a scheme prefix, <a Class="emphasis" href="./CURLOPT_PROXYTYPE.html">CURLOPT_PROXYTYPE</a> can be used to specify which kind of proxy the string identifies.
-<p class="level0">When you tell the library to use a 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 <a Class="emphasis" href="./CURLOPT_QUOTE.html">CURLOPT_QUOTE</a> and similar FTP specifics that don't work unless you tunnel through the HTTP proxy. Such tunneling is activated with <a Class="emphasis" href="./CURLOPT_HTTPPROXYTUNNEL.html">CURLOPT_HTTPPROXYTUNNEL</a>.
-<p class="level0">libcurl respects the environment variables <span Class="bold">http_proxy</span>, <span Class="bold">ftp_proxy</span>, <span Class="bold">all_proxy</span> etc, if any of those are set. The <a Class="emphasis" href="./CURLOPT_PROXY.html">CURLOPT_PROXY</a> option does however override any possibly set environment variables.
-<p class="level0">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.
-<p class="level0">A proxy host string can also include protocol scheme (http://) and embedded user + password. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">Default is NULL, meaning no proxy is used.
-<p class="level0">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! <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All except file://. Note that some protocols don't do very well over proxy. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Since 7.14.1 the proxy environment variable names can include the protocol scheme.
-<p class="level0">Since 7.21.7 the proxy string supports the socks protocols as "schemes".
-<p class="level0">Since 7.50.2, unsupported schemes in proxy strings cause libcurl to return error. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if proxies are supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_PROXYPORT.html">CURLOPT_PROXYPORT</a>, <a Class="manpage" href="./CURLOPT_HTTPPROXYTUNNEL.html">CURLOPT_HTTPPROXYTUNNEL</a>, <a Class="manpage" href="./CURLOPT_PROXYTYPE.html">CURLOPT_PROXYTYPE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_PROXY.pdf b/docs/libcurl/opts/CURLOPT_PROXY.pdf
deleted file mode 100644
index 179a75e73..000000000
--- a/docs/libcurl/opts/CURLOPT_PROXY.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PROXYAUTH.html b/docs/libcurl/opts/CURLOPT_PROXYAUTH.html
deleted file mode 100644
index d9c5f557e..000000000
--- a/docs/libcurl/opts/CURLOPT_PROXYAUTH.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_PROXYAUTH man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_PROXYAUTH - set HTTP proxy authentication methods to try <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYAUTH, long bitmask); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long as parameter, which is set to a bitmask, to tell libcurl which HTTP authentication method(s) you want it to use for your proxy authentication. If more than one bit is set, libcurl will first query the site to see what 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 <a Class="emphasis" href="./CURLOPT_PROXYUSERPWD.html">CURLOPT_PROXYUSERPWD</a> option.
-<p class="level0">The bitmask can be constructed by or'ing together the bits fully listed and described in the <a Class="emphasis" href="./CURLOPT_HTTPAUTH.html">CURLOPT_HTTPAUTH</a> man page. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">CURLAUTH_BASIC <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.10.7 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">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. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_PROXY.html">CURLOPT_PROXY</a>, <a Class="manpage" href="./CURLOPT_PROXYTYPE.html">CURLOPT_PROXYTYPE</a>, <a Class="manpage" href="./CURLOPT_PROXYUSERPWD.html">CURLOPT_PROXYUSERPWD</a>, <a Class="manpage" href="./CURLOPT_PROXYPORT.html">CURLOPT_PROXYPORT</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_PROXYAUTH.pdf b/docs/libcurl/opts/CURLOPT_PROXYAUTH.pdf
deleted file mode 100644
index 57e996ce8..000000000
--- a/docs/libcurl/opts/CURLOPT_PROXYAUTH.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PROXYHEADER.html b/docs/libcurl/opts/CURLOPT_PROXYHEADER.html
deleted file mode 100644
index 5290cf979..000000000
--- a/docs/libcurl/opts/CURLOPT_PROXYHEADER.html
+++ /dev/null
@@ -1,73 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_PROXYHEADER man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_PROXYHEADER - custom HTTP headers to pass to proxy <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYHEADER,
-&nbsp; struct curl_slist *headers);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a linked list of HTTP headers to pass in your HTTP request sent to a proxy. The rules for this list is identical to the <a Class="emphasis" href="./CURLOPT_HTTPHEADER.html">CURLOPT_HTTPHEADER</a> option's.
-<p class="level0">The headers set with this option is only ever used in requests sent to a proxy - when there's also a request sent to a host.
-<p class="level0">The first line in a request (containing the method, usually a GET or POST) is NOT a header and cannot be replaced using this option. Only the lines following the request-line are headers. Adding this method line in this list of headers will only cause your request to send an invalid header.
-<p class="level0">Pass a NULL to this to reset back to no custom headers. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.37.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_HEADEROPT.html">CURLOPT_HEADEROPT</a>, <a Class="manpage" href="./CURLOPT_HTTPHEADER.html">CURLOPT_HTTPHEADER</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_PROXYHEADER.pdf b/docs/libcurl/opts/CURLOPT_PROXYHEADER.pdf
deleted file mode 100644
index d3c0aa187..000000000
--- a/docs/libcurl/opts/CURLOPT_PROXYHEADER.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.3 b/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.3
index 18272c34c..c7fbb179e 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.3
+++ b/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.3
@@ -33,6 +33,9 @@ password to use for authentication with the proxy.
The \fICURLOPT_PROXYPASSWORD(3)\fP option should be used in conjunction with
the \fICURLOPT_PROXYUSERNAME(3)\fP option.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
blank
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.html b/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.html
deleted file mode 100644
index aa74a9f46..000000000
--- a/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_PROXYPASSWORD man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_PROXYPASSWORD - password to use with proxy authentication <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYPASSWORD, char *pwd); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * as parameter, which should be pointing to the zero terminated password to use for authentication with the proxy.
-<p class="level0">The <a Class="emphasis" href="./CURLOPT_PROXYPASSWORD.html">CURLOPT_PROXYPASSWORD</a> option should be used in conjunction with the <a Class="emphasis" href="./CURLOPT_PROXYUSERNAME.html">CURLOPT_PROXYUSERNAME</a> option. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">blank <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">Most <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.19.1 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_PASSWORD.html">CURLOPT_PASSWORD</a>, <a Class="manpage" href="./CURLOPT_PROXYUSERNAME.html">CURLOPT_PROXYUSERNAME</a>, <a Class="manpage" href="./CURLOPT_HTTPAUTH.html">CURLOPT_HTTPAUTH</a>, <a Class="manpage" href="./CURLOPT_PROXYAUTH.html">CURLOPT_PROXYAUTH</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.pdf b/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.pdf
deleted file mode 100644
index 0d585a687..000000000
--- a/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PROXYPORT.3 b/docs/libcurl/opts/CURLOPT_PROXYPORT.3
index 2380e09ec..0e222896e 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYPORT.3
+++ b/docs/libcurl/opts/CURLOPT_PROXYPORT.3
@@ -29,7 +29,8 @@ CURLOPT_PROXYPORT \- port number the proxy listens on
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYPORT, long port);
.SH DESCRIPTION
Pass a long with this option to set the proxy port to connect to unless it is
-specified in the proxy string \fICURLOPT_PROXY(3)\fP or uses the default one.
+specified in the proxy string \fICURLOPT_PROXY(3)\fP or uses 443 for https
+proxies and 1080 for all others as default.
While this accepts a 'long', the port number is 16 bit so it can't be larger
than 65535.
diff --git a/docs/libcurl/opts/CURLOPT_PROXYPORT.html b/docs/libcurl/opts/CURLOPT_PROXYPORT.html
deleted file mode 100644
index 4424a2e9c..000000000
--- a/docs/libcurl/opts/CURLOPT_PROXYPORT.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_PROXYPORT man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_PROXYPORT - port number the proxy listens on <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYPORT, long port); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long with this option to set the proxy port to connect to unless it is specified in the proxy string <a Class="emphasis" href="./CURLOPT_PROXY.html">CURLOPT_PROXY</a> or uses the default one.
-<p class="level0">While this accepts a 'long', the port number is 16 bit so it can't be larger than 65535. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0, not specified which makes it use the default port <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_PROXY.html">CURLOPT_PROXY</a>, <a Class="manpage" href="./CURLOPT_PROXYTYPE.html">CURLOPT_PROXYTYPE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_PROXYPORT.pdf b/docs/libcurl/opts/CURLOPT_PROXYPORT.pdf
deleted file mode 100644
index 7f4ee3f88..000000000
--- a/docs/libcurl/opts/CURLOPT_PROXYPORT.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PROXYTYPE.3 b/docs/libcurl/opts/CURLOPT_PROXYTYPE.3
index d2d924257..19856195e 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYTYPE.3
+++ b/docs/libcurl/opts/CURLOPT_PROXYTYPE.3
@@ -28,15 +28,26 @@ CURLOPT_PROXYTYPE \- proxy protocol type
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYTYPE, long type);
.SH DESCRIPTION
-Pass a long with this option to set type of the proxy. Available options for
-this are \fICURLPROXY_HTTP\fP, \fICURLPROXY_HTTP_1_0\fP
-\fICURLPROXY_SOCKS4\fP, \fICURLPROXY_SOCKS5\fP, \fICURLPROXY_SOCKS4A\fP and
-\fICURLPROXY_SOCKS5_HOSTNAME\fP. The HTTP type is default.
+Pass one of the values below to set the type of the proxy.
-If you set \fICURLOPT_PROXYTYPE(3)\fP to \fICURLPROXY_HTTP_1_0\fP, it will
-only affect how libcurl speaks to a proxy when CONNECT is used. The HTTP
-version used for "regular" HTTP requests is instead controlled with
-\fICURLOPT_HTTP_VERSION(3)\fP.
+.RS
+.IP CURLPROXY_HTTP
+HTTP Proxy. Default.
+.IP CURLPROXY_HTTPS
+HTTPS Proxy. (Added in 7.52.0 for OpenSSL, GnuTLS and NSS)
+.IP CURLPROXY_HTTP_1_0
+HTTP 1.0 Proxy. This is very similar to CURLPROXY_HTTP except it uses HTTP/1.0
+for any CONNECT tunnelling. It does not change the HTTP version of the actual
+HTTP requests, controlled by \fICURLOPT_HTTP_VERSION(3)\fP.
+.IP CURLPROXY_SOCKS4
+SOCKS4 Proxy.
+.IP CURLPROXY_SOCKS4A
+SOCKS4a Proxy. Proxy resolves URL hostname.
+.IP CURLPROXY_SOCKS5
+SOCKS5 Proxy.
+.IP CURLPROXY_SOCKS5_HOSTNAME
+SOCKS5 Proxy. Proxy resolves URL hostname.
+.RE
Often it is more convenient to specify the proxy type with the scheme part of
the \fICURLOPT_PROXY(3)\fP string.
diff --git a/docs/libcurl/opts/CURLOPT_PROXYTYPE.html b/docs/libcurl/opts/CURLOPT_PROXYTYPE.html
deleted file mode 100644
index c3edf6571..000000000
--- a/docs/libcurl/opts/CURLOPT_PROXYTYPE.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_PROXYTYPE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_PROXYTYPE - proxy protocol type <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYTYPE, long type); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long with this option to set type of the proxy. Available options for this are <span Class="emphasis">CURLPROXY_HTTP</span>, <span Class="emphasis">CURLPROXY_HTTP_1_0</span> <span Class="emphasis">CURLPROXY_SOCKS4</span>, <span Class="emphasis">CURLPROXY_SOCKS5</span>, <span Class="emphasis">CURLPROXY_SOCKS4A</span> and <span Class="emphasis">CURLPROXY_SOCKS5_HOSTNAME</span>. The HTTP type is default.
-<p class="level0">If you set <a Class="emphasis" href="./CURLOPT_PROXYTYPE.html">CURLOPT_PROXYTYPE</a> to <span Class="emphasis">CURLPROXY_HTTP_1_0</span>, it will only affect how libcurl speaks to a proxy when CONNECT is used. The HTTP version used for "regular" HTTP requests is instead controlled with <a Class="emphasis" href="./CURLOPT_HTTP_VERSION.html">CURLOPT_HTTP_VERSION</a>.
-<p class="level0">Often it is more convenient to specify the proxy type with the scheme part of the <a Class="emphasis" href="./CURLOPT_PROXY.html">CURLOPT_PROXY</a> string. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">CURLPROXY_HTTP <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">Most <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_PROXY.html">CURLOPT_PROXY</a>, <a Class="manpage" href="./CURLOPT_PROXYPORT.html">CURLOPT_PROXYPORT</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_PROXYTYPE.pdf b/docs/libcurl/opts/CURLOPT_PROXYTYPE.pdf
deleted file mode 100644
index 255af3955..000000000
--- a/docs/libcurl/opts/CURLOPT_PROXYTYPE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.3 b/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.3
index 0d7a241fb..46ecac6bf 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.3
+++ b/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.3
@@ -37,6 +37,9 @@ user name to use for the transfer.
authentication with the proxy.
To specify the proxy password use the \fICURLOPT_PROXYPASSWORD(3)\fP.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
blank
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.html b/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.html
deleted file mode 100644
index 5c73dccfd..000000000
--- a/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_PROXYUSERNAME man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_PROXYUSERNAME - user name to use for proxy authentication <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYUSERNAME,
-&nbsp; char *username);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * as parameter, which should be pointing to the zero terminated user name to use for the transfer.
-<p class="level0"><a Class="emphasis" href="./CURLOPT_PROXYUSERNAME.html">CURLOPT_PROXYUSERNAME</a> sets the user name to be used in protocol authentication with the proxy.
-<p class="level0">To specify the proxy password use the <a Class="emphasis" href="./CURLOPT_PROXYPASSWORD.html">CURLOPT_PROXYPASSWORD</a>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">blank <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">Most <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.19.1 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_PROXYPASSWORD.html">CURLOPT_PROXYPASSWORD</a>, <a Class="manpage" href="./CURLOPT_USERNAME.html">CURLOPT_USERNAME</a>, <a Class="manpage" href="./CURLOPT_HTTPAUTH.html">CURLOPT_HTTPAUTH</a>, <a Class="manpage" href="./CURLOPT_PROXYAUTH.html">CURLOPT_PROXYAUTH</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.pdf b/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.pdf
deleted file mode 100644
index 1fb2d5b95..000000000
--- a/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.3 b/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.3
index 1b47b892f..ebfcfcc99 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.3
+++ b/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.3
@@ -35,6 +35,9 @@ should encode it as %3A. (This is different to how \fICURLOPT_USERPWD(3)\fP is
used - beware.)
Use \fICURLOPT_PROXYAUTH(3)\fP to specify the authentication method.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
This is NULL by default.
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.html b/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.html
deleted file mode 100644
index 7279f2bf1..000000000
--- a/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_PROXYUSERPWD man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_PROXYUSERPWD - user name and password to use for proxy authentication <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYUSERPWD, char *userpwd); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * as parameter, which should be [user name]:[password] to use for the connection to the HTTP proxy. Both the name and the password will be URL decoded before use, so to include for example a colon in the user name you should encode it as %3A. (This is different to how <a Class="emphasis" href="./CURLOPT_USERPWD.html">CURLOPT_USERPWD</a> is used - beware.)
-<p class="level0">Use <a Class="emphasis" href="./CURLOPT_PROXYAUTH.html">CURLOPT_PROXYAUTH</a> to specify the authentication method. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">This is NULL by default. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">Used with all protocols that can use a proxy <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if proxies are supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_PROXY.html">CURLOPT_PROXY</a>, <a Class="manpage" href="./CURLOPT_PROXYTYPE.html">CURLOPT_PROXYTYPE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.pdf b/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.pdf
deleted file mode 100644
index 3de48f5a2..000000000
--- a/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_CAINFO.3 b/docs/libcurl/opts/CURLOPT_PROXY_CAINFO.3
new file mode 100644
index 000000000..43bc32b5b
--- /dev/null
+++ b/docs/libcurl/opts/CURLOPT_PROXY_CAINFO.3
@@ -0,0 +1,73 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, 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>
+
+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.
+
+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
+TODO
+.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 --git a/docs/libcurl/opts/CURLOPT_PROXY_CAPATH.3 b/docs/libcurl/opts/CURLOPT_PROXY_CAPATH.3
new file mode 100644
index 000000000..dc317f03b
--- /dev/null
+++ b/docs/libcurl/opts/CURLOPT_PROXY_CAPATH.3
@@ -0,0 +1,60 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, 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>
+
+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_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
+TODO
+.SH AVAILABILITY
+Added in 7.52.0
+
+This option is supported by the OpenSSL, GnuTLS and PolarSSL 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_CAINFO "(3), "
+.BR CURLOPT_STDERR "(3), " CURLOPT_DEBUGFUNCTION "(3), "
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_CRLFILE.3 b/docs/libcurl/opts/CURLOPT_PROXY_CRLFILE.3
new file mode 100644
index 000000000..9a079a923
--- /dev/null
+++ b/docs/libcurl/opts/CURLOPT_PROXY_CRLFILE.3
@@ -0,0 +1,66 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, 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>
+
+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.
+
+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
+TODO
+.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 --git a/docs/libcurl/opts/CURLOPT_PROXY_KEYPASSWD.3 b/docs/libcurl/opts/CURLOPT_PROXY_KEYPASSWD.3
new file mode 100644
index 000000000..50019e108
--- /dev/null
+++ b/docs/libcurl/opts/CURLOPT_PROXY_KEYPASSWD.3
@@ -0,0 +1,53 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, 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>
+
+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.
+
+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
+TODO
+.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 --git a/docs/libcurl/opts/CURLOPT_PROXY_PINNEDPUBLICKEY.3 b/docs/libcurl/opts/CURLOPT_PROXY_PINNEDPUBLICKEY.3
new file mode 100644
index 000000000..ebe3d7fd2
--- /dev/null
+++ b/docs/libcurl/opts/CURLOPT_PROXY_PINNEDPUBLICKEY.3
@@ -0,0 +1,102 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, 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>
+
+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
+TODO
+.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 --git a/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.3 b/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.3
index a010382fd..27467d955 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.3
@@ -31,6 +31,9 @@ CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SERVICE_NAME, char *name);
Pass a char * as parameter to a string holding the \fIname\fP of the
service. The default service name is "HTTP" for HTTP based proxies and "rcmd"
for SOCKS5. This option allows you to change it.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
See above
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.html b/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.html
deleted file mode 100644
index 1b561c2ed..000000000
--- a/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_PROXY_SERVICE_NAME man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_PROXY_SERVICE_NAME - proxy authentication service name <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SERVICE_NAME, char *name); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * as parameter to a string holding the <span Class="emphasis">name</span> of the service. The default service name is "HTTP" for HTTP based proxies and "rcmd" for SOCKS5. This option allows you to change it. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">See above <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All network protocols <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.43.0 for HTTP proxies, 7.49.0 for SOCKS5 proxies. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_PROXY.html">CURLOPT_PROXY</a>, <a Class="manpage" href="./CURLOPT_PROXYTYPE.html">CURLOPT_PROXYTYPE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.pdf b/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.pdf
deleted file mode 100644
index b55778c76..000000000
--- a/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSLCERT.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSLCERT.3
new file mode 100644
index 000000000..c1b7f27f0
--- /dev/null
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSLCERT.3
@@ -0,0 +1,61 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, 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>
+
+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.
+
+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
+TODO
+.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 --git a/docs/libcurl/opts/CURLOPT_PROXY_SSLCERTTYPE.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSLCERTTYPE.3
new file mode 100644
index 000000000..5e8aa4b29
--- /dev/null
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSLCERTTYPE.3
@@ -0,0 +1,55 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, 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>
+
+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.
+
+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
+TODO
+.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 --git a/docs/libcurl/opts/CURLOPT_PROXY_SSLKEY.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSLKEY.3
new file mode 100644
index 000000000..b38f8c01d
--- /dev/null
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSLKEY.3
@@ -0,0 +1,57 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, 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>
+
+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
+TODO
+.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 --git a/docs/libcurl/opts/CURLOPT_PROXY_SSLKEYTYPE.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSLKEYTYPE.3
new file mode 100644
index 000000000..66e7ce8e0
--- /dev/null
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSLKEYTYPE.3
@@ -0,0 +1,49 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, 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>
+
+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.
+
+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
+TODO
+.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 --git a/docs/libcurl/opts/CURLOPT_PROXY_SSLVERSION.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSLVERSION.3
new file mode 100644
index 000000000..f96a9e6c5
--- /dev/null
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSLVERSION.3
@@ -0,0 +1,74 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, 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>
+
+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
+.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_PROXY_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 --git a/docs/libcurl/opts/CURLOPT_PROXY_SSL_CIPHER_LIST.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSL_CIPHER_LIST.3
new file mode 100644
index 000000000..5cff16d4d
--- /dev/null
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSL_CIPHER_LIST.3
@@ -0,0 +1,71 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, 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>
+
+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
+TODO
+.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 --git a/docs/libcurl/opts/CURLOPT_PROXY_SSL_OPTIONS.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSL_OPTIONS.3
new file mode 100644
index 000000000..bed10dab6
--- /dev/null
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSL_OPTIONS.3
@@ -0,0 +1,61 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, 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>
+
+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
+TODO
+.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 --git a/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYHOST.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYHOST.3
new file mode 100644
index 000000000..de4b15b34
--- /dev/null
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYHOST.3
@@ -0,0 +1,82 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, 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>
+
+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.
+.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), ",
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYPEER.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYPEER.3
new file mode 100644
index 000000000..9473495cf
--- /dev/null
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYPEER.3
@@ -0,0 +1,89 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, 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>
+
+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 --git a/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_PASSWORD.3 b/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_PASSWORD.3
new file mode 100644
index 000000000..b9b6232d7
--- /dev/null
+++ b/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_PASSWORD.3
@@ -0,0 +1,51 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, 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>
+
+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
+TODO
+.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 --git a/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_TYPE.3 b/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_TYPE.3
new file mode 100644
index 000000000..5a30a785c
--- /dev/null
+++ b/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_TYPE.3
@@ -0,0 +1,59 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, 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>
+
+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
+TODO
+.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 --git a/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_USERNAME.3 b/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_USERNAME.3
new file mode 100644
index 000000000..3ba4ef955
--- /dev/null
+++ b/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_USERNAME.3
@@ -0,0 +1,51 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, 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>
+
+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
+TODO
+.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 --git a/docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.html b/docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.html
deleted file mode 100644
index fa4f69772..000000000
--- a/docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_PROXY_TRANSFER_MODE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_PROXY_TRANSFER_MODE - append FTP transfer mode to URL for proxy <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_TRANSFER_MODE, long enabled); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">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 appending ;type=a or ;type=i to the URL. Without this setting, or it being set to 0 (zero, the default), <a Class="emphasis" href="./CURLOPT_TRANSFERTEXT.html">CURLOPT_TRANSFERTEXT</a> has no effect when doing FTP via a proxy. Beware that not all proxies support this feature. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0, disabled <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">FTP over proxy <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.18.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if the enabled value is not supported. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_PROXY.html">CURLOPT_PROXY</a>, <a Class="manpage" href="./CURLOPT_HTTPPROXYTUNNEL.html">CURLOPT_HTTPPROXYTUNNEL</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.pdf b/docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.pdf
deleted file mode 100644
index 8778a20d4..000000000
--- a/docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PUT.html b/docs/libcurl/opts/CURLOPT_PUT.html
deleted file mode 100644
index eb17c66c3..000000000
--- a/docs/libcurl/opts/CURLOPT_PUT.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_PUT man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_PUT - make a HTTP PUT request <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PUT, long put); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">A parameter set to 1 tells the library to use HTTP PUT to transfer data. The data should be set with <a Class="emphasis" href="./CURLOPT_READDATA.html">CURLOPT_READDATA</a> and <a Class="emphasis" href="./CURLOPT_INFILESIZE.html">CURLOPT_INFILESIZE</a>.
-<p class="level0">This option is <span Class="bold">deprecated</span> since version 7.12.1. Use <a Class="emphasis" href="./CURLOPT_UPLOAD.html">CURLOPT_UPLOAD</a>! <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0, disabled <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Deprecated since 7.12.1. Do not use. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_UPLOAD.html">CURLOPT_UPLOAD</a>, <a Class="manpage" href="./CURLOPT_HTTPGET.html">CURLOPT_HTTPGET</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_PUT.pdf b/docs/libcurl/opts/CURLOPT_PUT.pdf
deleted file mode 100644
index e0b8fae00..000000000
--- a/docs/libcurl/opts/CURLOPT_PUT.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_QUOTE.html b/docs/libcurl/opts/CURLOPT_QUOTE.html
deleted file mode 100644
index b1858f595..000000000
--- a/docs/libcurl/opts/CURLOPT_QUOTE.html
+++ /dev/null
@@ -1,91 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_QUOTE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_QUOTE - (S)FTP commands to run before transfer <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_QUOTE, struct curl_slist *cmds); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">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 <span Class="emphasis">curl_slist_append(3)</span> to append strings (commands) to the list, and clear the entire list afterwards with <span Class="emphasis">curl_slist_free_all(3)</span>. Disable this operation again by setting a NULL to this option. When speaking to a 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.
-<p class="level0">The set of valid FTP commands depends on the server (see <a href="http://www.ietf.org/rfc/rfc959.txt">RFC 959</a> for a list of mandatory commands).
-<p class="level0">The valid SFTP commands are:
-<p class="level1">
-<p class="level0"><a name="chgrp"></a><span class="nroffip">chgrp group file</span>
-<p class="level1">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.
-<p class="level0"><a name="chmod"></a><span class="nroffip">chmod mode file</span>
-<p class="level1">The chmod command modifies the file mode bits of the specified file. The mode operand is an octal integer mode number.
-<p class="level0"><a name="chown"></a><span class="nroffip">chown user file</span>
-<p class="level1">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.
-<p class="level0"><a name="ln"></a><span class="nroffip">ln source_file target_file</span>
-<p class="level1">The ln and symlink commands create a symbolic link at the target_file location pointing to the source_file location.
-<p class="level0"><a name="mkdir"></a><span class="nroffip">mkdir directory_name</span>
-<p class="level1">The mkdir command creates the directory named by the directory_name operand.
-<p class="level0"><a name="pwd"></a><span class="nroffip">pwd</span>
-<p class="level1">The pwd command returns the absolute pathname of the current working directory.
-<p class="level0"><a name="rename"></a><span class="nroffip">rename source target</span>
-<p class="level1">The rename command renames the file or directory named by the source operand to the destination path named by the target operand.
-<p class="level0"><a name="rm"></a><span class="nroffip">rm file</span>
-<p class="level1">The rm command removes the file specified by the file operand.
-<p class="level0"><a name="rmdir"></a><span class="nroffip">rmdir directory</span>
-<p class="level1">The rmdir command removes the directory entry specified by the directory operand, provided it is empty.
-<p class="level0"><a name="statvfs"></a><span class="nroffip">statvfs file</span>
-<p class="level1">The statvfs command returns statistics on the file system in which specified file resides. (Added in 7.49.0)
-<p class="level0"><a name="symlink"></a><span class="nroffip">symlink source_file target_file</span>
-<p class="level1">See ln.
-<p class="level0"><a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">SFTP and FTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">SFTP support added in 7.16.3. *-prefix for SFTP added in 7.24.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_POSTQUOTE.html">CURLOPT_POSTQUOTE</a>, <a Class="manpage" href="./CURLOPT_PREQUOTE.html">CURLOPT_PREQUOTE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_QUOTE.pdf b/docs/libcurl/opts/CURLOPT_QUOTE.pdf
deleted file mode 100644
index 79933de1a..000000000
--- a/docs/libcurl/opts/CURLOPT_QUOTE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_RANDOM_FILE.3 b/docs/libcurl/opts/CURLOPT_RANDOM_FILE.3
index c82232505..4c3e13fe4 100644
--- a/docs/libcurl/opts/CURLOPT_RANDOM_FILE.3
+++ b/docs/libcurl/opts/CURLOPT_RANDOM_FILE.3
@@ -30,6 +30,9 @@ CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RANDOM_FILE, char *path);
.SH DESCRIPTION
Pass a char * to a zero terminated file name. The file will be used to read
from to seed the random engine for SSL and more.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
NULL, not used
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_RANDOM_FILE.html b/docs/libcurl/opts/CURLOPT_RANDOM_FILE.html
deleted file mode 100644
index c005acce0..000000000
--- a/docs/libcurl/opts/CURLOPT_RANDOM_FILE.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_RANDOM_FILE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_RANDOM_FILE - specify a source for random data <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RANDOM_FILE, char *path); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * to a zero terminated file name. The file will be used to read from to seed the random engine for SSL and more. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL, not used <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK on success or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_EGDSOCKET.html">CURLOPT_EGDSOCKET</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_RANDOM_FILE.pdf b/docs/libcurl/opts/CURLOPT_RANDOM_FILE.pdf
deleted file mode 100644
index e5a8b5f48..000000000
--- a/docs/libcurl/opts/CURLOPT_RANDOM_FILE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_RANGE.3 b/docs/libcurl/opts/CURLOPT_RANGE.3
index 375a944c6..e90696c01 100644
--- a/docs/libcurl/opts/CURLOPT_RANGE.3
+++ b/docs/libcurl/opts/CURLOPT_RANGE.3
@@ -44,6 +44,9 @@ RTSP, byte ranges are \fBnot\fP permitted. Instead, ranges should be given in
npt, utc, or smpte formats.
Pass a NULL to this option to disable the use of ranges.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
NULL
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_RANGE.html b/docs/libcurl/opts/CURLOPT_RANGE.html
deleted file mode 100644
index c0720427c..000000000
--- a/docs/libcurl/opts/CURLOPT_RANGE.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_RANGE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_RANGE - set byte range to request <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RANGE, char *range); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * as parameter, which should contain the specified range you want to retrieve. It should be in the format "X-Y", where either X or Y may be left out and X and Y are byte indexes.
-<p class="level0">HTTP transfers also support several intervals, separated with commas as in <span Class="emphasis">"X-Y,N-M"</span>. Using this kind of multiple intervals will cause the HTTP server to send the response document in pieces (using standard MIME separation techniques). Unfortunately, the HTTP standard (RFC 7233 section 3.1) allows servers to ignore range requests so even when you set <a Class="emphasis" href="./CURLOPT_RANGE.html">CURLOPT_RANGE</a> for a request, you may end up getting the full response sent back.
-<p class="level0">For RTSP, the formatting of a range should follow <a href="http://www.ietf.org/rfc/rfc2326.txt">RFC 2326</a> Section 12.29. For RTSP, byte ranges are <span Class="bold">not</span> permitted. Instead, ranges should be given in npt, utc, or smpte formats.
-<p class="level0">Pass a NULL to this option to disable the use of ranges. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP, FTP, FILE, RTSP and SFTP. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; /* get the first 200 bytes */
-&nbsp; curl_easy_setopt(curl, CURLOPT_RANGE, "0-199");
-&nbsp;
-&nbsp; /* Perform the request */
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">FILE since 7.18.0, RTSP since 7.20.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK on success or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_RESUME_FROM.html">CURLOPT_RESUME_FROM</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_RANGE.pdf b/docs/libcurl/opts/CURLOPT_RANGE.pdf
deleted file mode 100644
index 1b9f084ba..000000000
--- a/docs/libcurl/opts/CURLOPT_RANGE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_READDATA.html b/docs/libcurl/opts/CURLOPT_READDATA.html
deleted file mode 100644
index 3db38bfc7..000000000
--- a/docs/libcurl/opts/CURLOPT_READDATA.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_READDATA man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_READDATA - custom pointer passed to the read callback <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_READDATA, void *pointer); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Data <span Class="emphasis">pointer</span> to pass to the file read function. If you use the <a Class="emphasis" href="./CURLOPT_READFUNCTION.html">CURLOPT_READFUNCTION</a> option, this is the pointer you'll get as input in the 4th argument to the callback.
-<p class="level0">If you don't specify a read callback but instead rely on the default internal read function, this data must be a valid readable FILE * (cast to 'void *').
-<p class="level0">If you're using libcurl as a win32 DLL, you MUST use a <a Class="emphasis" href="./CURLOPT_READFUNCTION.html">CURLOPT_READFUNCTION</a> if you set this option. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">By default, this is a FILE * to stdin. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">This is used for all protocols when sending data. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-struct MyData this;
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; /* pass pointer that gets passed in to the
-&nbsp; CURLOPT_READFUNCTION callback */
-&nbsp; curl_easy_setopt(curl, CURLOPT_READDATA, &this);
-&nbsp;
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">This option was once known by the older name CURLOPT_INFILE, the name <a Class="emphasis" href="./CURLOPT_READDATA.html">CURLOPT_READDATA</a> was introduced in 7.9.7. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">This will return CURLE_OK. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_READFUNCTION.html">CURLOPT_READFUNCTION</a>, <a Class="manpage" href="./CURLOPT_WRITEDATA.html">CURLOPT_WRITEDATA</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_READDATA.pdf b/docs/libcurl/opts/CURLOPT_READDATA.pdf
deleted file mode 100644
index f321b2876..000000000
--- a/docs/libcurl/opts/CURLOPT_READDATA.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_READFUNCTION.html b/docs/libcurl/opts/CURLOPT_READFUNCTION.html
deleted file mode 100644
index f9c3d08b2..000000000
--- a/docs/libcurl/opts/CURLOPT_READFUNCTION.html
+++ /dev/null
@@ -1,74 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_READFUNCTION man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_READFUNCTION - read callback for data uploads <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">size_t read_callback(char *buffer, size_t size, size_t nitems, void *instream);
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_READFUNCTION, read_callback);
-<p class="level0"><a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to your callback function, as the prototype shows above.
-<p class="level0">This 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 <span Class="emphasis">buffer</span> should be filled up with at most <span Class="emphasis">size</span> multiplied with <span Class="emphasis">nmemb</span> number of bytes by your function.
-<p class="level0">Your 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.
-<p class="level0">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.
-<p class="level0">The read callback may return <span Class="emphasis">CURL_READFUNC_ABORT</span> to stop the current operation immediately, resulting in a <span Class="emphasis">CURLE_ABORTED_BY_CALLBACK</span> error code from the transfer.
-<p class="level0">The callback can return <span Class="emphasis">CURL_READFUNC_PAUSE</span> to cause reading from this connection to pause. See <span Class="emphasis">curl_easy_pause(3)</span> for further details.
-<p class="level0"><span Class="bold">Bugs</span>: when doing TFTP uploads, you must return the exact amount of data that the callback wants, or it will be considered the final packet by the server end and the transfer will end there.
-<p class="level0">If you set this callback pointer to NULL, or don't set it at all, the default internal read function will be used. It is doing an fread() on the FILE * userdata set with <a Class="emphasis" href="./CURLOPT_READDATA.html">CURLOPT_READDATA</a>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">The default internal read callback is fread(). <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">This is used for all protocols when doing uploads. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">Here's an example setting a read callback for reading that to upload to an FTP site: <a href="https://curl.haxx.se/libcurl/c/ftpupload.html">https://curl.haxx.se/libcurl/c/ftpupload.html</a> <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">CURL_READFUNC_PAUSE return code was added in 7.18.0 and CURL_READFUNC_ABORT was added in 7.12.1. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">This will return CURLE_OK. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_READDATA.html">CURLOPT_READDATA</a>, <a Class="manpage" href="./CURLOPT_WRITEFUNCTION.html">CURLOPT_WRITEFUNCTION</a>, <a Class="manpage" href="./CURLOPT_SEEKFUNCTION.html">CURLOPT_SEEKFUNCTION</a>, <a Class="manpage" href="./CURLOPT_UPLOAD.html">CURLOPT_UPLOAD</a>, <a Class="manpage" href="./CURLOPT_POST.html">CURLOPT_POST</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_READFUNCTION.pdf b/docs/libcurl/opts/CURLOPT_READFUNCTION.pdf
deleted file mode 100644
index 36d279284..000000000
--- a/docs/libcurl/opts/CURLOPT_READFUNCTION.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.3 b/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.3
index 8bd76f6b0..3a5c3fcdc 100644
--- a/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.3
+++ b/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.3
@@ -34,6 +34,9 @@ redirect when \fICURLOPT_FOLLOWLOCATION(3)\fP is enabled. This allows you to
limit specific transfers to only be allowed to use a subset of protocols in
redirections.
+Protocols denied by \fICURLOPT_PROTOCOLS(3)\fP are not overridden by this
+option.
+
By default libcurl will allow all protocols on redirect except several disabled
for security reasons: Since 7.19.4 FILE and SCP are disabled, and since 7.40.0
SMB and SMBS are also disabled. \fICURLPROTO_ALL\fP enables all protocols on
diff --git a/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.html b/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.html
deleted file mode 100644
index 77d92f4ef..000000000
--- a/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.html
+++ /dev/null
@@ -1,113 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_REDIR_PROTOCOLS man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_REDIR_PROTOCOLS - set protocols allowed to redirect to <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_REDIR_PROTOCOLS, long bitmask); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long that holds a bitmask of CURLPROTO_* defines. If used, this bitmask limits what protocols libcurl may use in a transfer that it follows to in a redirect when <a Class="emphasis" href="./CURLOPT_FOLLOWLOCATION.html">CURLOPT_FOLLOWLOCATION</a> is enabled. This allows you to limit specific transfers to only be allowed to use a subset of protocols in redirections.
-<p class="level0">By default libcurl will allow all protocols on redirect except several disabled for security reasons: Since 7.19.4 FILE and SCP are disabled, and since 7.40.0 SMB and SMBS are also disabled. <span Class="emphasis">CURLPROTO_ALL</span> enables all protocols on redirect, including those disabled for security.
-<p class="level0">These are the available protocol defines: <pre class="level0">
-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
-</pre>
-
-<p class="level0"><a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">All protocols except for FILE, SCP and since 7.40.0 SMB and SMBS. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-curl = curl_easy_init();
-if(curl) {
-&nbsp; /* pass in the URL from an external source */
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, argv[1]);
-&nbsp;
-&nbsp; /* only allow redirects to HTTP and HTTPS URLs */
-&nbsp; curl_easy_setopt(curl, CURLOPT_REDIR_PROTOCOLS,
-&nbsp; CURLPROTO_HTTP | CURLPROTO_HTTPS);
-&nbsp;
-&nbsp; /* Perform the request */
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.19.4, before then it would follow all protocols. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_PROTOCOLS.html">CURLOPT_PROTOCOLS</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.pdf b/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.pdf
deleted file mode 100644
index f52200ae4..000000000
--- a/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_REFERER.3 b/docs/libcurl/opts/CURLOPT_REFERER.3
index 71aae83f7..881f48c9e 100644
--- a/docs/libcurl/opts/CURLOPT_REFERER.3
+++ b/docs/libcurl/opts/CURLOPT_REFERER.3
@@ -32,6 +32,9 @@ Pass a pointer to a zero terminated string as parameter. It will be used to
set the Referer: header in the http request sent to the remote server. This
can be used to fool servers or scripts. You can also set any custom header
with \fICURLOPT_HTTPHEADER(3)\fP.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
NULL
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_REFERER.html b/docs/libcurl/opts/CURLOPT_REFERER.html
deleted file mode 100644
index 0dc195884..000000000
--- a/docs/libcurl/opts/CURLOPT_REFERER.html
+++ /dev/null
@@ -1,77 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_REFERER man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_REFERER - set the HTTP referer header <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_REFERER, char *where); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a zero terminated string as parameter. It will be used to set the Referer: header in the http request sent to the remote server. This can be used to fool servers or scripts. You can also set any custom header with <a Class="emphasis" href="./CURLOPT_HTTPHEADER.html">CURLOPT_HTTPHEADER</a>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; /* tell it where we found the link to this place */
-&nbsp; curl_easy_setopt(curl, CURLOPT_REFERER, "http://example.com/aboutme.html");
-&nbsp;
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">If built with HTTP support <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if HTTP support is enabled, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_USERAGENT.html">CURLOPT_USERAGENT</a>, <a Class="manpage" href="./CURLOPT_HTTPHEADER.html">CURLOPT_HTTPHEADER</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_REFERER.pdf b/docs/libcurl/opts/CURLOPT_REFERER.pdf
deleted file mode 100644
index 566cbb3dc..000000000
--- a/docs/libcurl/opts/CURLOPT_REFERER.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_RESOLVE.html b/docs/libcurl/opts/CURLOPT_RESOLVE.html
deleted file mode 100644
index 958134f49..000000000
--- a/docs/libcurl/opts/CURLOPT_RESOLVE.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_RESOLVE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_RESOLVE - provide custom host name to IP address resolves <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RESOLVE,
-&nbsp; struct curl_slist *hosts);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a linked list of strings with host name resolve information to use for requests with this handle. The linked list should be a fully valid list of <span Class="bold">struct curl_slist</span> structs properly filled in. Use <span Class="emphasis">curl_slist_append(3)</span> to create the list and <span Class="emphasis">curl_slist_free_all(3)</span> to clean up an entire list.
-<p class="level0">Each single name resolve string should be written using the format HOST:PORT:ADDRESS where HOST is the name libcurl will try to resolve, PORT is the port number of the service where libcurl wants to connect to the HOST and ADDRESS is the numerical IP address. If libcurl is built to support IPv6, ADDRESS can of course be either IPv4 or IPv6 style addressing.
-<p class="level0">This option effectively pre-populates the DNS cache with entries for the host+port pair so redirects and everything that operations against the HOST+PORT will instead use your provided ADDRESS. Addresses set with <a Class="emphasis" href="./CURLOPT_RESOLVE.html">CURLOPT_RESOLVE</a> will not time-out from the DNS cache like ordinary entries.
-<p class="level0">The provided ADDRESS set by this option will be used even if <a Class="emphasis" href="./CURLOPT_IPRESOLVE.html">CURLOPT_IPRESOLVE</a> is set to make libcurl use another IP version.
-<p class="level0">Remove names from the DNS cache again, to stop providing these fake resolves, by including a string in the linked list that uses the format "-HOST:PORT". The host name must be prefixed with a dash, and the host name and port number must exactly match what was already added previously. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl;
-struct curl_slist *host = NULL;
-host = curl_slist_append(NULL, "example.com:80:127.0.0.1");
-&nbsp;
-curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_RESOLVE, host);
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; curl_easy_perform(curl);
-&nbsp;
-&nbsp; /* always cleanup */
-&nbsp; curl_easy_cleanup(curl);
-}
-&nbsp;
-curl_slist_free_all(host);
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.21.3. Removal support added in 7.42.0. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_IPRESOLVE.html">CURLOPT_IPRESOLVE</a>, <a Class="manpage" href="./CURLOPT_DNS_CACHE_TIMEOUT.html">CURLOPT_DNS_CACHE_TIMEOUT</a>, <a Class="manpage" href="./CURLOPT_CONNECT_TO.html">CURLOPT_CONNECT_TO</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_RESOLVE.pdf b/docs/libcurl/opts/CURLOPT_RESOLVE.pdf
deleted file mode 100644
index 3565e35a3..000000000
--- a/docs/libcurl/opts/CURLOPT_RESOLVE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_RESUME_FROM.html b/docs/libcurl/opts/CURLOPT_RESUME_FROM.html
deleted file mode 100644
index 179fc0176..000000000
--- a/docs/libcurl/opts/CURLOPT_RESUME_FROM.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_RESUME_FROM man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_RESUME_FROM - set a point to resume transfer from <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RESUME_FROM, long from); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long as parameter. It contains the offset in number of bytes that you want the transfer to start from. Set this option to 0 to make the transfer start from the beginning (effectively disabling resume). For FTP, set this option to -1 to make the transfer start from the end of the target file (useful to continue an interrupted upload).
-<p class="level0">When doing uploads with FTP, the resume position is where in the local/source file libcurl should try to resume the upload from and it will then append the source file to the remote target file.
-<p class="level0">If you need to resume a transfer beyond the 2GB limit, use <a Class="emphasis" href="./CURLOPT_RESUME_FROM_LARGE.html">CURLOPT_RESUME_FROM_LARGE</a> instead. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0, not used <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP, FTP, SFTP, FILE <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com");
-&nbsp;
-&nbsp; /* resume upload at byte index 200 */
-&nbsp; curl_easy_setopt(curl, CURLOPT_RESUME_FROM, 200L);
-&nbsp;
-&nbsp; /* ask for upload */
-&nbsp; curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
-&nbsp;
-&nbsp; /* set total data amount to expect */
-&nbsp; curl_easy_setopt(curl, CURLOPT_INFILESIZE, size_of_file);
-&nbsp;
-&nbsp; /* Perform the request */
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_RESUME_FROM_LARGE.html">CURLOPT_RESUME_FROM_LARGE</a>, <a Class="manpage" href="./CURLOPT_RANGE.html">CURLOPT_RANGE</a>, <a Class="manpage" href="./CURLOPT_INFILESIZE.html">CURLOPT_INFILESIZE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_RESUME_FROM.pdf b/docs/libcurl/opts/CURLOPT_RESUME_FROM.pdf
deleted file mode 100644
index aae22b945..000000000
--- a/docs/libcurl/opts/CURLOPT_RESUME_FROM.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.html b/docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.html
deleted file mode 100644
index a0bcffa51..000000000
--- a/docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_RESUME_FROM_LARGE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_RESUME_FROM_LARGE - set a point to resume transfer from <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RESUME_FROM_LARGE,
-&nbsp; curl_off_t from);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a curl_off_t as parameter. It contains the offset in number of bytes that you want the transfer to start from. Set this option to 0 to make the transfer start from the beginning (effectively disabling resume). For FTP, set this option to -1 to make the transfer start from the end of the target file (useful to continue an interrupted upload).
-<p class="level0">When doing uploads with FTP, the resume position is where in the local/source file libcurl should try to resume the upload from and it will then append the source file to the remote target file. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0, not used <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP, FTP, SFTP, FILE <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_off_t resume_position = GET_IT_SOMEHOW;
-&nbsp; curl_off_t file_size = GET_IT_SOMEHOW_AS_WELL;
-&nbsp;
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com");
-&nbsp;
-&nbsp; /* resuming upload at this position, possibly beyond 2GB */
-&nbsp; curl_easy_setopt(curl, CURLOPT_RESUME_FROM_LARGE, resume_position);
-&nbsp;
-&nbsp; /* ask for upload */
-&nbsp; curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
-&nbsp;
-&nbsp; /* set total data amount to expect */
-&nbsp; curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, file_size);
-&nbsp;
-&nbsp; /* Perform the request */
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.11.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_RESUME_FROM.html">CURLOPT_RESUME_FROM</a>, <a Class="manpage" href="./CURLOPT_RANGE.html">CURLOPT_RANGE</a>, <a Class="manpage" href="./CURLOPT_INFILESIZE_LARGE.html">CURLOPT_INFILESIZE_LARGE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.pdf b/docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.pdf
deleted file mode 100644
index d3ee2effd..000000000
--- a/docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.html b/docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.html
deleted file mode 100644
index c8776e0eb..000000000
--- a/docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_RTSP_CLIENT_CSEQ man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_RTSP_CLIENT_CSEQ - set the RTSP client CSEQ number <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_CLIENT_CSEQ, long cseq); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">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 name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">RTSP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.20.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_RTSP_SERVER_CSEQ.html">CURLOPT_RTSP_SERVER_CSEQ</a>, <a Class="manpage" href="./CURLOPT_RTSP_REQUEST.html">CURLOPT_RTSP_REQUEST</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.pdf b/docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.pdf
deleted file mode 100644
index 8107c7520..000000000
--- a/docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.html b/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.html
deleted file mode 100644
index 84b4a34fe..000000000
--- a/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_RTSP_REQUEST man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_RTSP_REQUEST - specify RTSP request <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_REQUEST, long request); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Tell libcurl what kind of RTSP request to make. Pass one of the following RTSP enum values as a long in the <span Class="emphasis">request</span> argument. Unless noted otherwise, commands require the Session ID to be initialized.
-<p class="level0"><a name="CURLRTSPREQOPTIONS"></a><span class="nroffip">CURL_RTSPREQ_OPTIONS</span>
-<p class="level1">Used to retrieve the available methods of the server. The application is responsible for parsing and obeying the response. <span class="bold">(The session ID is not needed for this method.)</span>
-<p class="level0"><a name="CURLRTSPREQDESCRIBE"></a><span class="nroffip">CURL_RTSPREQ_DESCRIBE</span>
-<p class="level1">Used to get the low level description of a stream. The application should note what formats it understands in the <span Class="emphasis">'Accept:'</span> header. Unless set manually, libcurl will automatically fill in <span class="emphasis">'Accept: application/sdp'</span>. Time-condition headers will be added to Describe requests if the <a Class="emphasis" href="./CURLOPT_TIMECONDITION.html">CURLOPT_TIMECONDITION</a> option is active. <span class="bold">(The session ID is not needed for this method)</span>
-<p class="level0"><a name="CURLRTSPREQANNOUNCE"></a><span class="nroffip">CURL_RTSPREQ_ANNOUNCE</span>
-<p class="level1">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 <a class="emphasis" href="#CURLRTSPREQSETPARAMETER">CURL_RTSPREQ_SET_PARAMETER</a>
-<p class="level0"><a name="CURLRTSPREQSETUP"></a><span class="nroffip">CURL_RTSPREQ_SETUP</span>
-<p class="level1">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 <a Class="emphasis" href="./CURLOPT_RTSP_TRANSPORT.html">CURLOPT_RTSP_TRANSPORT</a> option prior to calling setup. If no session ID is currently set with <a Class="emphasis" href="./CURLOPT_RTSP_SESSION_ID.html">CURLOPT_RTSP_SESSION_ID</a>, libcurl will extract and use the session ID in the response to this request. <span class="bold">(The session ID is not needed for this method).</span>
-<p class="level0"><a name="CURLRTSPREQPLAY"></a><span class="nroffip">CURL_RTSPREQ_PLAY</span>
-<p class="level1">Send a Play command to the server. Use the <a Class="emphasis" href="./CURLOPT_RANGE.html">CURLOPT_RANGE</a> option to modify the playback time (e.g. 'npt=10-15').
-<p class="level0"><a name="CURLRTSPREQPAUSE"></a><span class="nroffip">CURL_RTSPREQ_PAUSE</span>
-<p class="level1">Send a Pause command to the server. Use the <a Class="emphasis" href="./CURLOPT_RANGE.html">CURLOPT_RANGE</a> option with a single value to indicate when the stream should be halted. (e.g. npt='25')
-<p class="level0"><a name="CURLRTSPREQTEARDOWN"></a><span class="nroffip">CURL_RTSPREQ_TEARDOWN</span>
-<p class="level1">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.
-<p class="level0"><a name="CURLRTSPREQGETPARAMETER"></a><span class="nroffip">CURL_RTSPREQ_GET_PARAMETER</span>
-<p class="level1">Retrieve a parameter from the server. By default, libcurl will automatically include a <span Class="emphasis">Content-Type: text/parameters</span> header on all non-empty requests unless a custom one is set. GET_PARAMETER acts just like a HTTP PUT or POST (see <a class="emphasis" href="#CURLRTSPREQSETPARAMETER">CURL_RTSPREQ_SET_PARAMETER</a>). 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.
-<p class="level0"><a name="CURLRTSPREQSETPARAMETER"></a><span class="nroffip">CURL_RTSPREQ_SET_PARAMETER</span>
-<p class="level1">Set a parameter on the server. By default, libcurl will automatically include a <span Class="emphasis">Content-Type: text/parameters</span> header unless a custom one is set. The interaction with SET_PARAMETER is much like a HTTP PUT or POST. An application may either use <a Class="emphasis" href="./CURLOPT_UPLOAD.html">CURLOPT_UPLOAD</a> with <a Class="emphasis" href="./CURLOPT_READDATA.html">CURLOPT_READDATA</a> like a HTTP PUT, or it may use <a Class="emphasis" href="./CURLOPT_POSTFIELDS.html">CURLOPT_POSTFIELDS</a> like a HTTP POST. No chunked transfers are allowed, so the application must set the <a Class="emphasis" href="./CURLOPT_INFILESIZE.html">CURLOPT_INFILESIZE</a> in the former and <a Class="emphasis" href="./CURLOPT_POSTFIELDSIZE.html">CURLOPT_POSTFIELDSIZE</a> in the latter. Also, there is no use of multi-part POSTs within RTSP.
-<p class="level0"><a name="CURLRTSPREQRECORD"></a><span class="nroffip">CURL_RTSPREQ_RECORD</span>
-<p class="level1">Used to tell the server to record a session. Use the <a Class="emphasis" href="./CURLOPT_RANGE.html">CURLOPT_RANGE</a> option to modify the record time.
-<p class="level0"><a name="CURLRTSPREQRECEIVE"></a><span class="nroffip">CURL_RTSPREQ_RECEIVE</span>
-<p class="level1">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. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0"><a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0"><a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.20.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_RTSP_SESSION_ID.html">CURLOPT_RTSP_SESSION_ID</a>, <a Class="manpage" href="./CURLOPT_RTSP_STREAM_URI.html">CURLOPT_RTSP_STREAM_URI</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.pdf b/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.pdf
deleted file mode 100644
index 2942e30c4..000000000
--- a/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.html b/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.html
deleted file mode 100644
index f6cb9d650..000000000
--- a/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_RTSP_SERVER_CSEQ man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_RTSP_SERVER_CSEQ - set the RTSP server CSEQ number <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_SERVER_CSEQ, long cseq); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long to set the CSEQ number to expect for the next RTSP Server-&gt;Client request. <span Class="bold">NOTE</span>: this feature (listening for Server requests) is unimplemented. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">RTSP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.20.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_RTSP_CLIENT_CSEQ.html">CURLOPT_RTSP_CLIENT_CSEQ</a>, <a Class="manpage" href="./CURLOPT_RTSP_STREAM_URI.html">CURLOPT_RTSP_STREAM_URI</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.pdf b/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.pdf
deleted file mode 100644
index 1d61d010b..000000000
--- a/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.3 b/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.3
index cd3189939..8f5cdff10 100644
--- a/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.3
+++ b/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.3
@@ -34,6 +34,9 @@ set to any non-NULL value, libcurl will return \fICURLE_RTSP_SESSION_ERROR\fP
if ID received from the server does not match. If unset (or set to NULL),
libcurl will automatically set the ID the first time the server sets it in a
response.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
NULL
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.html b/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.html
deleted file mode 100644
index 05ab11e4c..000000000
--- a/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_RTSP_SESSION_ID man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_RTSP_SESSION_ID - set RTSP session ID <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_SESSION_ID, char *id); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * as a parameter to set the value of the current RTSP Session ID for the handle. Useful for resuming an in-progress session. Once this value is set to any non-NULL value, libcurl will return <span Class="emphasis">CURLE_RTSP_SESSION_ERROR</span> if ID received from the server does not match. If unset (or set to NULL), libcurl will automatically set the ID the first time the server sets it in a response. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">RTSP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.20.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_RTSP_REQUEST.html">CURLOPT_RTSP_REQUEST</a>, <a Class="manpage" href="./CURLOPT_RTSP_STREAM_URI.html">CURLOPT_RTSP_STREAM_URI</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.pdf b/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.pdf
deleted file mode 100644
index b7eed80eb..000000000
--- a/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.3 b/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.3
index 1abb61f6d..356455bd4 100644
--- a/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.3
+++ b/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.3
@@ -38,6 +38,9 @@ with RTSP, the \fICURLOPT_RTSP_STREAM_URI(3)\fP indicates what URL to send to
the server in the request header while the \fICURLOPT_URL(3)\fP indicates
where to make the connection to. (e.g. the \fICURLOPT_URL(3)\fP for the above
examples might be set to \fIrtsp://foo/twister\fP
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
'*'
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.html b/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.html
deleted file mode 100644
index 11c83a7c4..000000000
--- a/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_RTSP_STREAM_URI man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_RTSP_STREAM_URI - set RTSP stream URI <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_STREAM_URI, char *URI); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Set the stream <span Class="emphasis">URI</span> to operate on by passing a char * . For example, a single session may be controlling <span Class="emphasis">rtsp://foo/twister/audio</span> and <span Class="emphasis">rtsp://foo/twister/video</span> and the application can switch to the appropriate stream using this option. If unset, libcurl will default to operating on generic server options by passing '*' in the place of the RTSP Stream URI. This option is distinct from <a Class="emphasis" href="./CURLOPT_URL.html">CURLOPT_URL</a>. When working with RTSP, the <a Class="emphasis" href="./CURLOPT_RTSP_STREAM_URI.html">CURLOPT_RTSP_STREAM_URI</a> indicates what URL to send to the server in the request header while the <a Class="emphasis" href="./CURLOPT_URL.html">CURLOPT_URL</a> indicates where to make the connection to. (e.g. the <a Class="emphasis" href="./CURLOPT_URL.html">CURLOPT_URL</a> for the above examples might be set to <span Class="emphasis">rtsp://foo/twister</span> <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">'*' <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">RTSP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.20.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_RTSP_REQUEST.html">CURLOPT_RTSP_REQUEST</a>, <a Class="manpage" href="./CURLOPT_RTSP_TRANSPORT.html">CURLOPT_RTSP_TRANSPORT</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.pdf b/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.pdf
deleted file mode 100644
index 7234f7f18..000000000
--- a/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.3 b/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.3
index 367236b60..52d607845 100644
--- a/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.3
+++ b/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.3
@@ -34,6 +34,9 @@ Pass a char * to tell libcurl what to pass for the Transport: header for this
RTSP session. This is mainly a convenience method to avoid needing to set a
custom Transport: header for every SETUP request. The application must set a
Transport: header before issuing a SETUP request.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
NULL
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.html b/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.html
deleted file mode 100644
index 4e8b4bff4..000000000
--- a/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_RTSP_TRANSPORT man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_RTSP_TRANSPORT - set RTSP Transport: header <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_TRANSPORT,
-&nbsp; char *transport);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * to tell libcurl what to pass for the Transport: header for this RTSP session. This is mainly a convenience method to avoid needing to set a custom Transport: header for every SETUP request. The application must set a Transport: header before issuing a SETUP request. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">RTSP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.20.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_RTSP_REQUEST.html">CURLOPT_RTSP_REQUEST</a>, <a Class="manpage" href="./CURLOPT_RTSP_SESSION_ID.html">CURLOPT_RTSP_SESSION_ID</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.pdf b/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.pdf
deleted file mode 100644
index d1082a223..000000000
--- a/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SASL_IR.html b/docs/libcurl/opts/CURLOPT_SASL_IR.html
deleted file mode 100644
index b53682fd7..000000000
--- a/docs/libcurl/opts/CURLOPT_SASL_IR.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SASL_IR man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SASL_IR - enable sending initial response in first packet <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SASL_IR, long enable); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long. If the value is 1, curl will send the initial response to the server in the first authentication packet in order to reduce the number of ping pong requests. Only applicable to the following supporting SASL authentication mechanisms:
-<p class="level0">* Login * Plain * GSSAPI * NTLM * OAuth 2.0
-<p class="level0">Note: Whilst IMAP supports this option there is no need to explicitly set it, as libcurl can determine the feature itself when the server supports the SASL-IR CAPABILITY. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">IMAP, POP3 and SMTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.31.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_MAIL_AUTH.html">CURLOPT_MAIL_AUTH</a>, <a Class="manpage" href="./CURLOPT_MAIL_FROM.html">CURLOPT_MAIL_FROM</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SASL_IR.pdf b/docs/libcurl/opts/CURLOPT_SASL_IR.pdf
deleted file mode 100644
index 1cf64882d..000000000
--- a/docs/libcurl/opts/CURLOPT_SASL_IR.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SEEKDATA.html b/docs/libcurl/opts/CURLOPT_SEEKDATA.html
deleted file mode 100644
index c2dfec096..000000000
--- a/docs/libcurl/opts/CURLOPT_SEEKDATA.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SEEKDATA man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SEEKDATA - custom pointer passed to the seek callback <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SEEKDATA, void *pointer); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Data <span Class="emphasis">pointer</span> to pass to the seek callback function. If you use the <a Class="emphasis" href="./CURLOPT_SEEKFUNCTION.html">CURLOPT_SEEKFUNCTION</a> option, this is the pointer you'll get as input. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">If you don't set this, NULL is passed to the callback. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP, FTP, SFTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.18.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0"><a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_STDERR.html">CURLOPT_STDERR</a>, <a Class="manpage" href="./CURLOPT_DEBUGFUNCTION.html">CURLOPT_DEBUGFUNCTION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SEEKDATA.pdf b/docs/libcurl/opts/CURLOPT_SEEKDATA.pdf
deleted file mode 100644
index 00651421a..000000000
--- a/docs/libcurl/opts/CURLOPT_SEEKDATA.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.html b/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.html
deleted file mode 100644
index 58030c033..000000000
--- a/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SEEKFUNCTION man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SEEKFUNCTION - user callback for seeking in input stream <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-/* These are the return codes for the seek callbacks */
-&#35;define CURL_SEEKFUNC_OK 0
-&#35;define CURL_SEEKFUNC_FAIL 1 /* fail the entire transfer */
-&#35;define CURL_SEEKFUNC_CANTSEEK 2 /* tell libcurl seeking can't be done, so
-&nbsp; libcurl might try other means instead */
-&nbsp;
-int seek_callback(void *userp, curl_off_t offset, int origin);
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SEEKFUNCTION, seek_callback);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to your callback function, which should match the prototype shown above.
-<p class="level0">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 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 <span Class="emphasis">origin</span>, although libcurl currently only passes SEEK_SET.
-<p class="level0"><span Class="emphasis">userp</span> is the pointer you set with <a Class="emphasis" href="./CURLOPT_SEEKDATA.html">CURLOPT_SEEKDATA</a>.
-<p class="level0">The callback function must return <span Class="emphasis">CURL_SEEKFUNC_OK</span> on success, <span Class="emphasis">CURL_SEEKFUNC_FAIL</span> to cause the upload operation to fail or <span Class="emphasis">CURL_SEEKFUNC_CANTSEEK</span> 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.
-<p class="level0">If you forward the input arguments directly to fseek(3) or lseek(3), note that the data type for <span Class="emphasis">offset</span> is not the same as defined for curl_off_t on many systems! <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">By default, this is NULL and unused. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP, FTP, SFTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.18.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SEEKDATA.html">CURLOPT_SEEKDATA</a>, <a Class="manpage" href="./CURLOPT_IOCTLFUNCTION.html">CURLOPT_IOCTLFUNCTION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.pdf b/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.pdf
deleted file mode 100644
index c73581784..000000000
--- a/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SERVICE_NAME.3 b/docs/libcurl/opts/CURLOPT_SERVICE_NAME.3
index b9f491b03..baed963db 100644
--- a/docs/libcurl/opts/CURLOPT_SERVICE_NAME.3
+++ b/docs/libcurl/opts/CURLOPT_SERVICE_NAME.3
@@ -32,6 +32,9 @@ Pass a char * as parameter to a string holding the \fIname\fP of the service
for DIGEST-MD5, SPNEGO and Kerberos 5 authentication mechanisms. The default
service names are "ftp", "HTTP", "imap", "pop" and "smtp". This option allows
you to change them.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
See above
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_SERVICE_NAME.html b/docs/libcurl/opts/CURLOPT_SERVICE_NAME.html
deleted file mode 100644
index 02ddcbaa2..000000000
--- a/docs/libcurl/opts/CURLOPT_SERVICE_NAME.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SERVICE_NAME man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SERVICE_NAME - authentication service name <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SERVICE_NAME, char *name); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * as parameter to a string holding the <span Class="emphasis">name</span> of the service for DIGEST-MD5, SPNEGO and Kerberos 5 authentication mechanisms. The default service names are "ftp", "HTTP", "imap", "pop" and "smtp". This option allows you to change them. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">See above <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP, FTP, IMAP, POP and SMTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.43.0 for HTTP, 7.49.0 for FTP, IMAP, POP3 and SMTP. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_PROXY.html">CURLOPT_PROXY</a>, <a Class="manpage" href="./CURLOPT_PROXYTYPE.html">CURLOPT_PROXYTYPE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SERVICE_NAME.pdf b/docs/libcurl/opts/CURLOPT_SERVICE_NAME.pdf
deleted file mode 100644
index 70962a914..000000000
--- a/docs/libcurl/opts/CURLOPT_SERVICE_NAME.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SHARE.html b/docs/libcurl/opts/CURLOPT_SHARE.html
deleted file mode 100644
index bf0232616..000000000
--- a/docs/libcurl/opts/CURLOPT_SHARE.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SHARE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SHARE - specify share handle to use <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SHARE, CURLSH *share); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a <span Class="emphasis">share</span> handle as a parameter. The share handle must have been created by a previous call to <span Class="emphasis">curl_share_init(3)</span>. Setting this option, will make this curl handle use the data from the shared handle instead of keeping the data to itself. This enables several curl handles to share data. If the curl handles are used simultaneously in multiple threads, you <span Class="bold">MUST</span> use the locking methods in the share handle. See <span Class="emphasis">curl_share_setopt(3)</span> for details.
-<p class="level0">If you add a share that is set to share cookies, your easy handle will use that cookie cache and get the cookie engine enabled. If you unshare an object that was using cookies (or change to another object that doesn't share cookies), the easy handle will get its cookie engine disabled.
-<p class="level0">Data that the share object is not set to share will be dealt with the usual way, as if no share was used.
-<p class="level0">Set this option to NULL again to stop using that share object. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_COOKIE.html">CURLOPT_COOKIE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SHARE.pdf b/docs/libcurl/opts/CURLOPT_SHARE.pdf
deleted file mode 100644
index e984c51ca..000000000
--- a/docs/libcurl/opts/CURLOPT_SHARE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.html b/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.html
deleted file mode 100644
index 4b2a91bb6..000000000
--- a/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SOCKOPTDATA man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SOCKOPTDATA - custom pointer to pass to sockopt callback <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SOCKOPTDATA, void *pointer); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a <span Class="emphasis">pointer</span> that will be untouched by libcurl and passed as the first argument in the sockopt callback set with <a Class="emphasis" href="./CURLOPT_SOCKOPTFUNCTION.html">CURLOPT_SOCKOPTFUNCTION</a>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">The default value of this parameter is NULL. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.16.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns <span Class="emphasis">CURLE_OK</span> if the option is supported, and <span Class="emphasis">CURLE_UNKNOWN_OPTION</span> if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SOCKOPTFUNCTION.html">CURLOPT_SOCKOPTFUNCTION</a>, <a Class="manpage" href="./CURLOPT_OPENSOCKETFUNCTION.html">CURLOPT_OPENSOCKETFUNCTION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.pdf b/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.pdf
deleted file mode 100644
index 04e0b6262..000000000
--- a/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.html b/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.html
deleted file mode 100644
index 261513738..000000000
--- a/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.html
+++ /dev/null
@@ -1,89 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SOCKOPTFUNCTION man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SOCKOPTFUNCTION - set callback for setting socket options <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-typedef enum {
-&nbsp; CURLSOCKTYPE_IPCXN, /* socket created for a specific IP connection */
-&nbsp; CURLSOCKTYPE_ACCEPT, /* socket created by accept() call */
-&nbsp; CURLSOCKTYPE_LAST /* never use */
-} curlsocktype;
-&nbsp;
-&#35;define CURL_SOCKOPT_OK 0
-&#35;define CURL_SOCKOPT_ERROR 1 /* causes libcurl to abort and return
-&nbsp; CURLE_ABORTED_BY_CALLBACK */
-&#35;define CURL_SOCKOPT_ALREADY_CONNECTED 2
-&nbsp;
-int sockopt_callback(void *clientp,
-&nbsp; curl_socket_t curlfd,
-&nbsp; curlsocktype purpose);
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SOCKOPTFUNCTION, sockopt_callback);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to your callback function, which should match the prototype shown above.
-<p class="level0">When set, this callback function gets called by libcurl when the socket has been created, but before the connect call to allow applications to change specific socket options. The callback's <span Class="emphasis">purpose</span> argument identifies the exact purpose for this particular socket:
-<p class="level0"><span Class="emphasis">CURLSOCKTYPE_IPCXN</span> for actively created connections or since 7.28.0 <span Class="emphasis">CURLSOCKTYPE_ACCEPT</span> for FTP when the connection was setup with PORT/EPSV (in earlier versions these sockets weren't passed to this callback).
-<p class="level0">Future versions of libcurl may support more purposes. libcurl passes the newly created socket descriptor to the callback in the <span Class="emphasis">curlfd</span> parameter so additional setsockopt() calls can be done at the user's discretion.
-<p class="level0">The <span Class="emphasis">clientp</span> pointer contains whatever user-defined value set using the <a Class="emphasis" href="./CURLOPT_SOCKOPTDATA.html">CURLOPT_SOCKOPTDATA</a> function.
-<p class="level0">Return <span Class="emphasis">CURL_SOCKOPT_OK</span> from the callback on success. Return <span Class="emphasis">CURL_SOCKOPT_ERROR</span> from the callback function to signal an unrecoverable error to the library and it will close the socket and return <span Class="emphasis">CURLE_COULDNT_CONNECT</span>. Alternatively, the callback function can return <span Class="emphasis">CURL_SOCKOPT_ALREADY_CONNECTED</span>, to tell libcurl that the socket is already connected and then libcurl will not attempt to connect it. This allows an application to pass in an already connected socket with <a Class="emphasis" href="./CURLOPT_OPENSOCKETFUNCTION.html">CURLOPT_OPENSOCKETFUNCTION</a> and then have this function make libcurl not attempt to connect (again). <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">By default, this callback is NULL and unused. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.16.0. The <span Class="emphasis">CURL_SOCKOPT_ALREADY_CONNECTED</span> return code was added in 7.21.5. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SOCKOPTDATA.html">CURLOPT_SOCKOPTDATA</a>, <a Class="manpage" href="./CURLOPT_OPENSOCKETFUNCTION.html">CURLOPT_OPENSOCKETFUNCTION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.pdf b/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.pdf
deleted file mode 100644
index ec0bc583a..000000000
--- a/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.html b/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.html
deleted file mode 100644
index 304db632e..000000000
--- a/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SOCKS5_GSSAPI_NEC man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SOCKS5_GSSAPI_NEC - set socks proxy gssapi negotiation protection <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SOCKS5_GSSAPI_NEC, long nec); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long set to 1 to enable or 0 to disable. As part of the gssapi negotiation a protection mode is negotiated. The <a href="http://www.ietf.org/rfc/rfc1961.txt">RFC 1961</a> says in section 4.3/4.4 it should be protected, but the NEC reference implementation does not. If enabled, this option allows the unprotected exchange of the protection mode negotiation. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">? <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">Most <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.19.4 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SOCKS5_GSSAPI_SERVICE.html">CURLOPT_SOCKS5_GSSAPI_SERVICE</a>, <a Class="manpage" href="./CURLOPT_PROXY.html">CURLOPT_PROXY</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.pdf b/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.pdf
deleted file mode 100644
index e4a429803..000000000
--- a/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.3 b/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.3
index 440f0894f..1eda29c8a 100644
--- a/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.3
+++ b/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.3
@@ -33,6 +33,9 @@ Deprecated since 7.49.0. Use \fICURLOPT_PROXY_SERVICE_NAME(3)\fP instead.
Pass a char * as parameter to a string holding the \fIname\fP of the service.
The default service name for a SOCKS5 server is "rcmd". This option allows you
to change it.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
See above
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.html b/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.html
deleted file mode 100644
index a71de57fd..000000000
--- a/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SOCKS5_GSSAPI_SERVICE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SOCKS5_GSSAPI_SERVICE - SOCKS5 proxy authentication service name <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SOCKS5_GSSAPI_SERVICE, char *name); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Deprecated since 7.49.0. Use <a Class="emphasis" href="./CURLOPT_PROXY_SERVICE_NAME.html">CURLOPT_PROXY_SERVICE_NAME</a> instead.
-<p class="level0">Pass a char * as parameter to a string holding the <span Class="emphasis">name</span> of the service. The default service name for a SOCKS5 server is "rcmd". This option allows you to change it. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">See above <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All network protocols <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.19.4, deprecated in 7.49.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_PROXY.html">CURLOPT_PROXY</a>, <a Class="manpage" href="./CURLOPT_PROXYTYPE.html">CURLOPT_PROXYTYPE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.pdf b/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.pdf
deleted file mode 100644
index eae9cb009..000000000
--- a/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.html b/docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.html
deleted file mode 100644
index 96a2aeddd..000000000
--- a/docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SSH_AUTH_TYPES man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SSH_AUTH_TYPES - set desired auth types for SFTP and SCP <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_AUTH_TYPES, long bitmask); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long set to a bitmask consisting of one or more of CURLSSH_AUTH_PUBLICKEY, CURLSSH_AUTH_PASSWORD, CURLSSH_AUTH_HOST, CURLSSH_AUTH_KEYBOARD and CURLSSH_AUTH_AGENT.
-<p class="level0">Set <span Class="emphasis">CURLSSH_AUTH_ANY</span> to let libcurl pick a suitable one. Currently CURLSSH_AUTH_HOST has no effect. If CURLSSH_AUTH_AGENT is used, libcurl attempts to connect to ssh-agent or pageant and let the agent attempt the authentication. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">None <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">SFTP and SCP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">CURLSSH_AUTH_HOST was added in 7.16.1, CURLSSH_AUTH_AGENT was added in 7.28.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.html">CURLOPT_SSH_HOST_PUBLIC_KEY_MD5</a>, <a Class="manpage" href="./CURLOPT_SSH_PUBLIC_KEYFILE.html">CURLOPT_SSH_PUBLIC_KEYFILE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.pdf b/docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.pdf
deleted file mode 100644
index 02a5476de..000000000
--- a/docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3 b/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3
index 2ea236024..d9001b55b 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3
@@ -33,6 +33,9 @@ CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_HOST_PUBLIC_KEY_MD5,
Pass a char * pointing to a string containing 32 hexadecimal digits. The
string should be the 128 bit MD5 checksum of the remote host's public key, and
libcurl will reject the connection to the host unless the md5sums match.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
NULL
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.html b/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.html
deleted file mode 100644
index 2eb6be437..000000000
--- a/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 - checksum of SSH server public key <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_HOST_PUBLIC_KEY_MD5,
-&nbsp; char *md5);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * pointing to a string containing 32 hexadecimal digits. The string should be the 128 bit MD5 checksum of the remote host's public key, and libcurl will reject the connection to the host unless the md5sums match. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">SCP and SFTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.17.1 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SSH_PUBLIC_KEYFILE.html">CURLOPT_SSH_PUBLIC_KEYFILE</a>, <a Class="manpage" href="./CURLOPT_SSH_AUTH_TYPES.html">CURLOPT_SSH_AUTH_TYPES</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.pdf b/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.pdf
deleted file mode 100644
index 7d0dc68a9..000000000
--- a/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSH_KEYDATA.html b/docs/libcurl/opts/CURLOPT_SSH_KEYDATA.html
deleted file mode 100644
index edb0f0e32..000000000
--- a/docs/libcurl/opts/CURLOPT_SSH_KEYDATA.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SSH_KEYDATA man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SSH_KEYDATA - pointer to pass to the SSH key callback <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_KEYDATA, void *pointer); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a void * as parameter. This <span Class="emphasis">pointer</span> will be passed along verbatim to the callback set with <a Class="emphasis" href="./CURLOPT_SSH_KEYFUNCTION.html">CURLOPT_SSH_KEYFUNCTION</a>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">SFTP and SCP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.19.6 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SSH_KEYDATA.html">CURLOPT_SSH_KEYDATA</a>, <a Class="manpage" href="./CURLOPT_SSH_KNOWNHOSTS.html">CURLOPT_SSH_KNOWNHOSTS</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SSH_KEYDATA.pdf b/docs/libcurl/opts/CURLOPT_SSH_KEYDATA.pdf
deleted file mode 100644
index d260654b3..000000000
--- a/docs/libcurl/opts/CURLOPT_SSH_KEYDATA.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.html b/docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.html
deleted file mode 100644
index 967adbee0..000000000
--- a/docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.html
+++ /dev/null
@@ -1,111 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SSH_KEYFUNCTION man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SSH_KEYFUNCTION - callback for known host matching logic <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-enum curl_khstat {
-&nbsp; CURLKHSTAT_FINE_ADD_TO_FILE,
-&nbsp; CURLKHSTAT_FINE,
-&nbsp; CURLKHSTAT_REJECT, /* reject the connection, return an error */
-&nbsp; CURLKHSTAT_DEFER, /* do not accept it, but we can't answer right
-&nbsp; now so this causes a CURLE_DEFER error but
-&nbsp; otherwise the connection will be left intact
-&nbsp; etc */
-};
-&nbsp;
-enum curl_khmatch {
-&nbsp; CURLKHMATCH_OK, /* match */
-&nbsp; CURLKHMATCH_MISMATCH, /* host found, key mismatch! */
-&nbsp; CURLKHMATCH_MISSING, /* no matching host/key found */
-};
-&nbsp;
-struct curl_khkey {
-&nbsp; const char *key; /* points to a zero-terminated string encoded with
-&nbsp; base64 if len is zero, otherwise to the "raw"
-&nbsp; data */
-&nbsp; size_t len;
-&nbsp; enum curl_khtype keytype;
-};
-&nbsp;
-int ssh_keycallback(CURL *easy,
-&nbsp; const struct curl_khkey *knownkey,
-&nbsp; const struct curl_khkey *foundkey,
-&nbsp; enum curl_khmatch,
-&nbsp; void *clientp);
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_KEYFUNCTION,
-&nbsp; ssh_keycallback);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to your callback function, which should match the prototype shown above.
-<p class="level0">It gets called when the known_host matching has been done, to allow the application to act and decide for libcurl how to proceed. The callback will only be called if <a Class="emphasis" href="./CURLOPT_SSH_KNOWNHOSTS.html">CURLOPT_SSH_KNOWNHOSTS</a> is also set.
-<p class="level0">This callback function gets passed the CURL handle, the key from the known_hosts file <span Class="emphasis">knownkey</span>, the key from the remote site <span Class="emphasis">foundkey</span>, info from libcurl on the matching status and a custom pointer (set with <a Class="emphasis" href="./CURLOPT_SSH_KEYDATA.html">CURLOPT_SSH_KEYDATA</a>). It MUST return one of the following return codes to tell libcurl how to act:
-<p class="level0">
-<p class="level0"><a name="CURLKHSTATFINEADDTOFILE"></a><span class="nroffip">CURLKHSTAT_FINE_ADD_TO_FILE</span>
-<p class="level1">The host+key is accepted and libcurl will append it to the known_hosts file before continuing with the connection. This will also add the host+key combo to the known_host pool kept in memory if it wasn't already present there. The adding of data to the file is done by completely replacing the file with a new copy, so the permissions of the file must allow this.
-<p class="level0"><a name="CURLKHSTATFINE"></a><span class="nroffip">CURLKHSTAT_FINE</span>
-<p class="level1">The host+key is accepted libcurl will continue with the connection. This will also add the host+key combo to the known_host pool kept in memory if it wasn't already present there.
-<p class="level0"><a name="CURLKHSTATREJECT"></a><span class="nroffip">CURLKHSTAT_REJECT</span>
-<p class="level1">The host+key is rejected. libcurl will deny the connection to continue and it will be closed.
-<p class="level0"><a name="CURLKHSTATDEFER"></a><span class="nroffip">CURLKHSTAT_DEFER</span>
-<p class="level1">The host+key is rejected, but the SSH connection is asked to be kept alive. This feature could be used when the app wants to somehow return back and act on the host+key situation and then retry without needing the overhead of setting it up from scratch again. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">SFTP and SCP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.19.6 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SSH_KEYDATA.html">CURLOPT_SSH_KEYDATA</a>, <a Class="manpage" href="./CURLOPT_SSH_KNOWNHOSTS.html">CURLOPT_SSH_KNOWNHOSTS</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.pdf b/docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.pdf
deleted file mode 100644
index 4d1e0f7c3..000000000
--- a/docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.3 b/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.3
index 9ea0c8647..e82ee4247 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.3
@@ -34,6 +34,9 @@ format as supported by libssh2. If this file is specified, libcurl will only
accept connections with hosts that are known and present in that file, with a
matching public key. Use \fICURLOPT_SSH_KEYFUNCTION(3)\fP to alter the default
behavior on host and key (mis)matching.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
NULL
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.html b/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.html
deleted file mode 100644
index e1844ad93..000000000
--- a/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SSH_KNOWNHOSTS man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SSH_KNOWNHOSTS - file name holding the SSH known hosts <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_KNOWNHOSTS, char *fname); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a zero terminated string holding the file name of the known_host file to use. The known_hosts file should use the OpenSSH file format as supported by libssh2. If this file is specified, libcurl will only accept connections with hosts that are known and present in that file, with a matching public key. Use <a Class="emphasis" href="./CURLOPT_SSH_KEYFUNCTION.html">CURLOPT_SSH_KEYFUNCTION</a> to alter the default behavior on host and key (mis)matching. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">SFTP and SCP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.19.6 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SSH_AUTH_TYPES.html">CURLOPT_SSH_AUTH_TYPES</a>, <a Class="manpage" href="./CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.html">CURLOPT_SSH_HOST_PUBLIC_KEY_MD5</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.pdf b/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.pdf
deleted file mode 100644
index 1f2b7778c..000000000
--- a/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.3 b/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.3
index 0c35ed55a..7c24a903a 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.3
@@ -36,6 +36,9 @@ is set, and just "id_dsa" in the current directory if HOME is not set.
If the file is password-protected, set the password with
\fICURLOPT_KEYPASSWD(3)\fP.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
As explained above
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.html b/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.html
deleted file mode 100644
index f13673c80..000000000
--- a/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SSH_PRIVATE_KEYFILE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SSH_PRIVATE_KEYFILE - set private key file for SSH auth <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_PRIVATE_KEYFILE,
-&nbsp; char *filename);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * pointing to a <span Class="emphasis">filename</span> for your private key. If not used, libcurl defaults to <span Class="bold">$HOME/.ssh/id_dsa</span> if the HOME environment variable is set, and just "id_dsa" in the current directory if HOME is not set.
-<p class="level0">If the file is password-protected, set the password with <a Class="emphasis" href="./CURLOPT_KEYPASSWD.html">CURLOPT_KEYPASSWD</a>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">As explained above <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">SFTP and SCP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.16.1 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SSH_PUBLIC_KEYFILE.html">CURLOPT_SSH_PUBLIC_KEYFILE</a>, <a Class="manpage" href="./CURLOPT_SSH_AUTH_TYPES.html">CURLOPT_SSH_AUTH_TYPES</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.pdf b/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.pdf
deleted file mode 100644
index a709701f8..000000000
--- a/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.3 b/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.3
index f9aaeaef3..1dbdf6595 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.3
@@ -38,6 +38,9 @@ set.
If NULL (or an empty string) is passed, libcurl will pass no public key to
libssh2, which then tries to compute it from the private key. This is known
to work with libssh2 1.4.0+ linked against OpenSSL.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
NULL
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.html b/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.html
deleted file mode 100644
index 0a6473efe..000000000
--- a/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SSH_PUBLIC_KEYFILE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SSH_PUBLIC_KEYFILE - set public key file for SSH auth <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_PUBLIC_KEYFILE,
-&nbsp; char *filename);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * pointing to a <span Class="emphasis">filename</span> for your public key. If not used, libcurl defaults to <span Class="bold">$HOME/.ssh/id_dsa.pub</span> if the HOME environment variable is set, and just "id_dsa.pub" in the current directory if HOME is not set.
-<p class="level0">If NULL (or an empty string) is passed, libcurl will pass no public key to libssh2, which then tries to compute it from the private key. This is known to work with libssh2 1.4.0+ linked against OpenSSL. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">SFTP and SCP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">The "" trick was added in 7.26.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SSH_PRIVATE_KEYFILE.html">CURLOPT_SSH_PRIVATE_KEYFILE</a>, <a Class="manpage" href="./CURLOPT_SSH_AUTH_TYPES.html">CURLOPT_SSH_AUTH_TYPES</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.pdf b/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.pdf
deleted file mode 100644
index dfd48e9cd..000000000
--- a/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSLCERT.3 b/docs/libcurl/opts/CURLOPT_SSLCERT.3
index b5d68cf79..dd6e48b19 100644
--- a/docs/libcurl/opts/CURLOPT_SSLCERT.3
+++ b/docs/libcurl/opts/CURLOPT_SSLCERT.3
@@ -40,6 +40,9 @@ 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_SSLKEY(3)\fP.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
NULL
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_SSLCERT.html b/docs/libcurl/opts/CURLOPT_SSLCERT.html
deleted file mode 100644
index d0a8950a4..000000000
--- a/docs/libcurl/opts/CURLOPT_SSLCERT.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SSLCERT man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SSLCERT - set SSL client certificate <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLCERT, char *cert); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">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 <a Class="emphasis" href="./CURLOPT_SSLCERTTYPE.html">CURLOPT_SSLCERTTYPE</a>.
-<p class="level0">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.
-<p class="level0">When using a client certificate, you most likely also need to provide a private key with <a Class="emphasis" href="./CURLOPT_SSLKEY.html">CURLOPT_SSLKEY</a>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">If built TLS enabled. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if TLS enabled, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SSLCERTTYPE.html">CURLOPT_SSLCERTTYPE</a>, <a Class="manpage" href="./CURLOPT_SSLKEY.html">CURLOPT_SSLKEY</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SSLCERT.pdf b/docs/libcurl/opts/CURLOPT_SSLCERT.pdf
deleted file mode 100644
index bfd5555b2..000000000
--- a/docs/libcurl/opts/CURLOPT_SSLCERT.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.3 b/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.3
index 98df39d7a..d68362a01 100644
--- a/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.3
+++ b/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.3
@@ -33,6 +33,9 @@ the format of your certificate. 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
diff --git a/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.html b/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.html
deleted file mode 100644
index 5d44dcd57..000000000
--- a/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SSLCERTTYPE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SSLCERTTYPE - specify type of the client SSL certificate <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLCERTTYPE, char *type); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a zero terminated string as parameter. The string should be the format of your certificate. 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&#35;12-encoded files. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">"PEM" <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">If built TLS enabled. Added in 7.9.3 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if TLS is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SSLCERT.html">CURLOPT_SSLCERT</a>, <a Class="manpage" href="./CURLOPT_SSLKEY.html">CURLOPT_SSLKEY</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.pdf b/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.pdf
deleted file mode 100644
index de80b1bd1..000000000
--- a/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSLENGINE.3 b/docs/libcurl/opts/CURLOPT_SSLENGINE.3
index d0c48a4b2..c691a85c8 100644
--- a/docs/libcurl/opts/CURLOPT_SSLENGINE.3
+++ b/docs/libcurl/opts/CURLOPT_SSLENGINE.3
@@ -30,6 +30,9 @@ CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLENGINE, char *id);
.SH DESCRIPTION
Pass a pointer to a zero terminated string as parameter. It will be used as
the identifier for the crypto engine you want to use for your private key.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
NULL
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_SSLENGINE.html b/docs/libcurl/opts/CURLOPT_SSLENGINE.html
deleted file mode 100644
index fac92fda4..000000000
--- a/docs/libcurl/opts/CURLOPT_SSLENGINE.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SSLENGINE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SSLENGINE - set SSL engine identifier <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLENGINE, char *id); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a zero terminated string as parameter. It will be used as the identifier for the crypto engine you want to use for your private key. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Only if the SSL backend is OpenSSL built with engine support. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">CURLE_OK - Engine found.
-<p class="level0">CURLE_SSL_ENGINE_NOTFOUND - Engine not found, or OpenSSL was not built with engine support.
-<p class="level0">CURLE_SSL_ENGINE_INITFAILED - Engine found but initialization failed.
-<p class="level0">CURLE_NOT_BUILT_IN - Option not built in, OpenSSL is not the SSL backend.
-<p class="level0">CURLE_UNKNOWN_OPTION - Option not recognized.
-<p class="level0">CURLE_OUT_OF_MEMORY - Insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SSLENGINE_DEFAULT.html">CURLOPT_SSLENGINE_DEFAULT</a>, <a Class="manpage" href="./CURLOPT_SSLKEY.html">CURLOPT_SSLKEY</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SSLENGINE.pdf b/docs/libcurl/opts/CURLOPT_SSLENGINE.pdf
deleted file mode 100644
index 53c0f96c5..000000000
--- a/docs/libcurl/opts/CURLOPT_SSLENGINE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.html b/docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.html
deleted file mode 100644
index e94aa3dda..000000000
--- a/docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SSLENGINE_DEFAULT man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SSLENGINE_DEFAULT - make SSL engine default <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLENGINE_DEFAULT, long val); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long set to 1 to make the already specified crypto engine the default for (asymmetric) crypto operations.
-<p class="level0">This option has no effect unless set after <a Class="emphasis" href="./CURLOPT_SSLENGINE.html">CURLOPT_SSLENGINE</a>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">None <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Only if the SSL backend is OpenSSL built with engine support. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">CURLE_OK - Engine set as default.
-<p class="level0">CURLE_SSL_ENGINE_SETFAILED - Engine could not be set as default.
-<p class="level0">CURLE_NOT_BUILT_IN - Option not built in, OpenSSL is not the SSL backend.
-<p class="level0">CURLE_UNKNOWN_OPTION - Option not recognized.
-<p class="level0">CURLE_OUT_OF_MEMORY - Insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SSLENGINE.html">CURLOPT_SSLENGINE</a>, <a Class="manpage" href="./CURLOPT_SSLCERT.html">CURLOPT_SSLCERT</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.pdf b/docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.pdf
deleted file mode 100644
index 917eddbc9..000000000
--- a/docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSLKEY.3 b/docs/libcurl/opts/CURLOPT_SSLKEY.3
index 8bc82058b..b8027c4b3 100644
--- a/docs/libcurl/opts/CURLOPT_SSLKEY.3
+++ b/docs/libcurl/opts/CURLOPT_SSLKEY.3
@@ -35,6 +35,9 @@ changed with \fICURLOPT_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
diff --git a/docs/libcurl/opts/CURLOPT_SSLKEY.html b/docs/libcurl/opts/CURLOPT_SSLKEY.html
deleted file mode 100644
index dcac3bf85..000000000
--- a/docs/libcurl/opts/CURLOPT_SSLKEY.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SSLKEY man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SSLKEY - specify private keyfile for TLS and SSL client cert <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLKEY, char *keyfile); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a zero terminated string as parameter. The string should be the file name of your private key. The default format is "PEM" and can be changed with <a Class="emphasis" href="./CURLOPT_SSLKEYTYPE.html">CURLOPT_SSLKEYTYPE</a>.
-<p class="level0">(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&#35;12 file containing the certificate. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">If built TLS enabled. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if TLS is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SSLKEYTYPE.html">CURLOPT_SSLKEYTYPE</a>, <a Class="manpage" href="./CURLOPT_SSLCERT.html">CURLOPT_SSLCERT</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SSLKEY.pdf b/docs/libcurl/opts/CURLOPT_SSLKEY.pdf
deleted file mode 100644
index 9ddb615e7..000000000
--- a/docs/libcurl/opts/CURLOPT_SSLKEY.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.3 b/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.3
index 7616a3f44..2e044346a 100644
--- a/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.3
+++ b/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.3
@@ -35,6 +35,9 @@ The format "ENG" enables you to load the private key from a crypto engine. In
this case \fICURLOPT_SSLKEY(3)\fP is used as an identifier passed to the
engine. You have to set the crypto engine with \fICURLOPT_SSLENGINE(3)\fP.
\&"DER" format key file currently does not work because of a bug in OpenSSL.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
"PEM"
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.html b/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.html
deleted file mode 100644
index c0f230e44..000000000
--- a/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SSLKEYTYPE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SSLKEYTYPE - set type of the private key file <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLKEYTYPE, char *type); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">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".
-<p class="level0">The format "ENG" enables you to load the private key from a crypto engine. In this case <a Class="emphasis" href="./CURLOPT_SSLKEY.html">CURLOPT_SSLKEY</a> is used as an identifier passed to the engine. You have to set the crypto engine with <a Class="emphasis" href="./CURLOPT_SSLENGINE.html">CURLOPT_SSLENGINE</a>. "DER" format key file currently does not work because of a bug in OpenSSL. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">"PEM" <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">If built TLS enabled. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if TLS is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SSLKEY.html">CURLOPT_SSLKEY</a>, <a Class="manpage" href="./CURLOPT_SSLCERT.html">CURLOPT_SSLCERT</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.pdf b/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.pdf
deleted file mode 100644
index 35546f4e0..000000000
--- a/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSLVERSION.3 b/docs/libcurl/opts/CURLOPT_SSLVERSION.3
index 2f40e4631..77dfcd49d 100644
--- a/docs/libcurl/opts/CURLOPT_SSLVERSION.3
+++ b/docs/libcurl/opts/CURLOPT_SSLVERSION.3
@@ -48,6 +48,8 @@ TLSv1.0 (Added in 7.34.0)
TLSv1.1 (Added in 7.34.0)
.IP CURL_SSLVERSION_TLSv1_2
TLSv1.2 (Added in 7.34.0)
+.IP CURL_SSLVERSION_TLSv1_3
+TLSv1.3 (Added in 7.52.0)
.RE
.SH DEFAULT
CURL_SSLVERSION_DEFAULT
diff --git a/docs/libcurl/opts/CURLOPT_SSLVERSION.html b/docs/libcurl/opts/CURLOPT_SSLVERSION.html
deleted file mode 100644
index e1bd845fb..000000000
--- a/docs/libcurl/opts/CURLOPT_SSLVERSION.html
+++ /dev/null
@@ -1,96 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SSLVERSION man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SSLVERSION - set preferred TLS/SSL version <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLVERSION, long version); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long as parameter to control which version of SSL/TLS to attempt to use.
-<p class="level0">Use one of the available defines for this purpose. The available options are:
-<p class="level1">
-<p class="level0"><a name="CURLSSLVERSIONDEFAULT"></a><span class="nroffip">CURL_SSLVERSION_DEFAULT</span>
-<p class="level1">The default action. This will attempt to figure out the remote SSL protocol version.
-<p class="level0"><a name="CURLSSLVERSIONTLSv1"></a><span class="nroffip">CURL_SSLVERSION_TLSv1</span>
-<p class="level1">TLSv1.x
-<p class="level0"><a name="CURLSSLVERSIONSSLv2"></a><span class="nroffip">CURL_SSLVERSION_SSLv2</span>
-<p class="level1">SSLv2
-<p class="level0"><a name="CURLSSLVERSIONSSLv3"></a><span class="nroffip">CURL_SSLVERSION_SSLv3</span>
-<p class="level1">SSLv3
-<p class="level0"><a name="CURLSSLVERSIONTLSv10"></a><span class="nroffip">CURL_SSLVERSION_TLSv1_0</span>
-<p class="level1">TLSv1.0 (Added in 7.34.0)
-<p class="level0"><a name="CURLSSLVERSIONTLSv11"></a><span class="nroffip">CURL_SSLVERSION_TLSv1_1</span>
-<p class="level1">TLSv1.1 (Added in 7.34.0)
-<p class="level0"><a name="CURLSSLVERSIONTLSv12"></a><span class="nroffip">CURL_SSLVERSION_TLSv1_2</span>
-<p class="level1">TLSv1.2 (Added in 7.34.0)
-<p class="level0"><a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">CURL_SSLVERSION_DEFAULT <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
-&nbsp;
-&nbsp; /* ask libcurl to use TLS version 1.0 or later */
-&nbsp; curl_easy_setopt(curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
-&nbsp;
-&nbsp; /* Perform the request */
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">SSLv2 is disabled by default since 7.18.1. Other SSL versions availability may vary depending on which backend libcurl has been built to use.
-<p class="level0">SSLv3 is disabled by default since 7.39.0. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_USE_SSL.html">CURLOPT_USE_SSL</a>, <a Class="manpage" href="./CURLOPT_HTTP_VERSION.html">CURLOPT_HTTP_VERSION</a>, <a Class="manpage" href="./CURLOPT_IPRESOLVE.html">CURLOPT_IPRESOLVE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SSLVERSION.pdf b/docs/libcurl/opts/CURLOPT_SSLVERSION.pdf
deleted file mode 100644
index de9616620..000000000
--- a/docs/libcurl/opts/CURLOPT_SSLVERSION.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.3 b/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.3
index 71833b555..ddf2c05b0 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -40,16 +40,18 @@ compile OpenSSL.
You'll find more details about cipher lists on this URL:
- https://www.openssl.org/docs/apps/ciphers.html
+ https://curl.haxx.se/docs/ssl-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:
+For WolfSSL, valid examples of cipher lists include
+\'ECDHE-RSA-RC4-SHA\', 'AES256-SHA:AES256-SHA256', etc.
- 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
diff --git a/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.html b/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.html
deleted file mode 100644
index 090df66c5..000000000
--- a/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SSL_CIPHER_LIST man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SSL_CIPHER_LIST - specify ciphers to use for TLS <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_CIPHER_LIST, char *list); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char *, pointing to a zero terminated string holding the list of ciphers to use for the SSL connection. 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.
-<p class="level0">For OpenSSL and GnuTLS valid examples of cipher lists include 'RC4-SHA', &acute;SHA1+DES&acute;, 'TLSv1' and 'DEFAULT'. The default list is normally set when you compile OpenSSL.
-<p class="level0">You'll find more details about cipher lists on this URL:
-<p class="level0">&nbsp;https://www.openssl.org/docs/apps/ciphers.html
-<p class="level0">For NSS, valid examples of cipher lists include 'rsa_rc4_128_md5', &acute;rsa_aes_128_sha&acute;, 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.
-<p class="level0">You'll find more details about the NSS cipher lists on this URL:
-<p class="level0">&nbsp;http://git.fedorahosted.org/cgit/mod_nss.git/plain/docs/mod_nss.html&#35;Directives <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL, use internal default <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">If built TLS enabled. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if TLS is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SSLVERSION.html">CURLOPT_SSLVERSION</a>, <a Class="manpage" href="./CURLOPT_USE_SSL.html">CURLOPT_USE_SSL</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.pdf b/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.pdf
deleted file mode 100644
index 5eac8bc2e..000000000
--- a/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.html b/docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.html
deleted file mode 100644
index e25c9f2e0..000000000
--- a/docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SSL_CTX_DATA man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SSL_CTX_DATA - custom pointer passed to ssl_ctx callback <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_CTX_DATA, void *pointer); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Data <span Class="emphasis">pointer</span> to pass to the ssl context callback set by the option <a Class="emphasis" href="./CURLOPT_SSL_CTX_FUNCTION.html">CURLOPT_SSL_CTX_FUNCTION</a>, this is the pointer you'll get as third parameter. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.11.0 for OpenSSL. Added in 7.42.0 for wolfSSL/CyaSSL. Other SSL backends not supported. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SSL_CTX_FUNCTION.html">CURLOPT_SSL_CTX_FUNCTION</a>, <a Class="manpage" href="./CURLOPT_SSLVERSION.html">CURLOPT_SSLVERSION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.pdf b/docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.pdf
deleted file mode 100644
index ff7203e08..000000000
--- a/docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.html b/docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.html
deleted file mode 100644
index 6fc4524ed..000000000
--- a/docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.html
+++ /dev/null
@@ -1,150 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SSL_CTX_FUNCTION man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SSL_CTX_FUNCTION - SSL context callback for OpenSSL or wolfSSL/CyaSSL <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode ssl_ctx_callback(CURL *curl, void *ssl_ctx, void *userptr);
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_CTX_FUNCTION,
-&nbsp; ssl_ctx_callback);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">This option only works for libcurl powered by OpenSSL or wolfSSL/CyaSSL. If libcurl was built against another SSL library this functionality is absent.
-<p class="level0">Pass a pointer to your callback function, which should match the prototype shown above.
-<p class="level0">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 <span Class="emphasis">ssl_ctx</span> parameter is actually a pointer to the SSL library's <span Class="emphasis">SSL_CTX</span>. 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 <span Class="emphasis">userptr</span> argument with the <a Class="emphasis" href="./CURLOPT_SSL_CTX_DATA.html">CURLOPT_SSL_CTX_DATA</a> option.
-<p class="level0">This function will get called on all new connections made to a server, during the SSL negotiation. The SSL_CTX pointer will be a new one every time.
-<p class="level0">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. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-/* OpenSSL specific */
-&nbsp;
-&#35;include &lt;openssl/ssl.h&gt;
-&#35;include &lt;curl/curl.h&gt;
-&#35;include &lt;stdio.h&gt;
-&nbsp;
-static CURLcode sslctx_function(CURL *curl, void *sslctx, void *parm)
-{
-&nbsp; X509_STORE *store;
-&nbsp; X509 *cert=NULL;
-&nbsp; BIO *bio;
-&nbsp; char *mypem = /* example CA cert PEM - shortened */
-&nbsp; "-----BEGIN CERTIFICATE-----n"
-&nbsp; "MIIHPTCCBSWgAwIBAgIBADANBgkqhkiG9w0BAQQFADB5MRAwDgYDVQQKEwdSb290n"
-&nbsp; "IENBMR4wHAYDVQQLExVodHRwOi8vd3d3LmNhY2VydC5vcmcxIjAgBgNVBAMTGUNBn"
-&nbsp; "IENlcnQgU2lnbmluZyBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEnN1cHBvcnRAn"
-&nbsp; "Y2FjZXJ0Lm9yZzAeFw0wMzAzMzAxMjI5NDlaFw0zMzAzMjkxMjI5NDlaMHkxEDAOn"
-&nbsp; "GCSNe9FINSkYQKyTYOGWhlC0elnYjyELn8+CkcY7v2vcB5G5l1YjqrZslMZIBjzkn"
-&nbsp; "zk6q5PYvCdxTby78dOs6Y5nCpqyJvKeyRKANihDjbPIky/qbn3BHLt4Ui9SyIAmWn"
-&nbsp; "omTxJBzcoTWcFbLUvFUufQb1nA5V9FrWk9p2rSVzTMVDn"\
-&nbsp; "-----END CERTIFICATE-----n";
-&nbsp; /* get a BIO */
-&nbsp; bio=BIO_new_mem_buf(mypem, -1);
-&nbsp; /* use it to read the PEM formatted certificate from memory into an X509
-&nbsp; * structure that SSL can use
-&nbsp; */
-&nbsp; PEM_read_bio_X509(bio, &cert, 0, NULL);
-&nbsp; if(cert == NULL)
-&nbsp; printf("PEM_read_bio_X509 failed...n");
-&nbsp;
-&nbsp; /* get a pointer to the X509 certificate store (which may be empty!) */
-&nbsp; store=SSL_CTX_get_cert_store((SSL_CTX *)sslctx);
-&nbsp;
-&nbsp; /* add our certificate to this store */
-&nbsp; if(X509_STORE_add_cert(store, cert)==0)
-&nbsp; printf("error adding certificaten");
-&nbsp;
-&nbsp; /* decrease reference counts */
-&nbsp; X509_free(cert);
-&nbsp; BIO_free(bio);
-&nbsp;
-&nbsp; /* all set to go */
-&nbsp; return CURLE_OK;
-}
-&nbsp;
-int main(void)
-{
-&nbsp; CURL * ch;
-&nbsp; CURLcode rv;
-&nbsp;
-&nbsp; rv=curl_global_init(CURL_GLOBAL_ALL);
-&nbsp; ch=curl_easy_init();
-&nbsp; rv=curl_easy_setopt(ch, CURLOPT_SSLCERTTYPE, "PEM");
-&nbsp; rv=curl_easy_setopt(ch, CURLOPT_SSL_VERIFYPEER, 1L);
-&nbsp; rv=curl_easy_setopt(ch, CURLOPT_URL, "https://www.example.com/");
-&nbsp;
-&nbsp; /* Retrieve page using cacerts' certificate -&gt; will succeed
-&nbsp; * load the certificate by installing a function doing the nescessary
-&nbsp; * "modifications" to the SSL CONTEXT just before link init
-&nbsp; */
-&nbsp; rv=curl_easy_setopt(ch, CURLOPT_SSL_CTX_FUNCTION, *sslctx_function);
-&nbsp; rv=curl_easy_perform(ch);
-&nbsp; if(rv==CURLE_OK)
-&nbsp; printf("*** transfer succeeded ***n");
-&nbsp; else
-&nbsp; printf("*** transfer failed ***n");
-&nbsp;
-&nbsp; curl_easy_cleanup(ch);
-&nbsp; curl_global_cleanup();
-&nbsp; return rv;
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.11.0 for OpenSSL. Added in 7.42.0 for wolfSSL/CyaSSL. Other SSL backends not supported. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SSL_CTX_DATA.html">CURLOPT_SSL_CTX_DATA</a>, <a Class="manpage" href="./CURLOPT_SSL_VERIFYPEER.html">CURLOPT_SSL_VERIFYPEER</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.pdf b/docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.pdf
deleted file mode 100644
index eebc0638f..000000000
--- a/docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.html b/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.html
deleted file mode 100644
index bea4c301c..000000000
--- a/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SSL_ENABLE_ALPN man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SSL_ENABLE_ALPN - enable ALPN <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_ENABLE_ALPN, long npn); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long as parameter, 0 or 1 where 1 is for enable and 0 for disable. This option enables/disables ALPN in the SSL handshake (if the SSL backend libcurl is built to use supports it), which can be used to negotiate http2. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">1, enabled <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.36.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SSL_ENABLE_NPN.html">CURLOPT_SSL_ENABLE_NPN</a>, <a Class="manpage" href="./CURLOPT_SSL_OPTIONS.html">CURLOPT_SSL_OPTIONS</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.pdf b/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.pdf
deleted file mode 100644
index 321aeb61c..000000000
--- a/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.html b/docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.html
deleted file mode 100644
index e81c76d95..000000000
--- a/docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SSL_ENABLE_NPN man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SSL_ENABLE_NPN - enable NPN <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_ENABLE_NPN, long npn); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long as parameter, 0 or 1 where 1 is for enable and 0 for disable. This option enables/disables NPN in the SSL handshake (if the SSL backend libcurl is built to use supports it), which can be used to negotiate http2. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">1, enabled <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.36.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SSL_ENABLE_ALPN.html">CURLOPT_SSL_ENABLE_ALPN</a>, <a Class="manpage" href="./CURLOPT_SSL_OPTIONS.html">CURLOPT_SSL_OPTIONS</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.pdf b/docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.pdf
deleted file mode 100644
index b4d26fbdd..000000000
--- a/docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSL_FALSESTART.html b/docs/libcurl/opts/CURLOPT_SSL_FALSESTART.html
deleted file mode 100644
index d6830983c..000000000
--- a/docs/libcurl/opts/CURLOPT_SSL_FALSESTART.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SSL_FALSESTART man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SSL_FALSESTART - enable TLS false start <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_FALSESTART, long enable); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long as parameter set to 1 to enable or 0 to disable.
-<p class="level0">This option determines whether libcurl should use false start during the TLS handshake. False start is a mode where a TLS client will start sending application data before verifying the server's Finished message, thus saving a round trip when performing a full handshake. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.42.0. This option is currently only supported by the NSS and Secure Transport (on iOS 7.0 or later, or OS X 10.9 or later) TLS backends. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if false start is supported by the SSL backend, otherwise returns CURLE_NOT_BUILT_IN. <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SSL_FALSESTART.pdf b/docs/libcurl/opts/CURLOPT_SSL_FALSESTART.pdf
deleted file mode 100644
index f5c41814a..000000000
--- a/docs/libcurl/opts/CURLOPT_SSL_FALSESTART.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.html b/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.html
deleted file mode 100644
index 9491b4fba..000000000
--- a/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SSL_OPTIONS man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SSL_OPTIONS - set SSL behavior options <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_OPTIONS, long bitmask); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long with a bitmask to tell libcurl about specific SSL behaviors.
-<p class="level0"><span Class="emphasis">CURLSSLOPT_ALLOW_BEAST</span> 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.
-<p class="level0">Added in 7.44.0:
-<p class="level0"><span Class="emphasis">CURLSSLOPT_NO_REVOKE</span> tells libcurl to disable certificate revocation checks for those SSL backends where such behavior is present. <span class="bold">Currently 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.</span> This option may have broader support to accommodate other SSL backends in the future. <a href="https://curl.haxx.se/docs/ssl-compared.html">https://curl.haxx.se/docs/ssl-compared.html</a>
-<p class="level0">
-<p class="level0"><a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All TLS-based protocols <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.25.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SSLVERSION.html">CURLOPT_SSLVERSION</a>, <a Class="manpage" href="./CURLOPT_SSL_CIPHER_LIST.html">CURLOPT_SSL_CIPHER_LIST</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.pdf b/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.pdf
deleted file mode 100644
index faf0f88f7..000000000
--- a/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.html b/docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.html
deleted file mode 100644
index 7e6777ad5..000000000
--- a/docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SSL_SESSIONID_CACHE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SSL_SESSIONID_CACHE - enable/disable use of the SSL session-ID cache <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_SESSIONID_CACHE,
-&nbsp; long enabled);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long set to 0 to disable libcurl's use of SSL session-ID caching. Set this to 1 to enable it. By default all transfers are done using the cache enabled. While nothing ever should get hurt by attempting to reuse SSL session-IDs, there seem to be or have been broken SSL implementations in the wild that may require you to disable this in order for you to succeed. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">1 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All TLS-based <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.16.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_DNS_CACHE_TIMEOUT.html">CURLOPT_DNS_CACHE_TIMEOUT</a>, <a Class="manpage" href="./CURLOPT_SSLVERSION.html">CURLOPT_SSLVERSION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.pdf b/docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.pdf
deleted file mode 100644
index 1e07e161f..000000000
--- a/docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.html b/docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.html
deleted file mode 100644
index 40b8381a7..000000000
--- a/docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SSL_VERIFYHOST man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SSL_VERIFYHOST - verify the certificate's name against host <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_VERIFYHOST, long verify); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long as parameter specifying what to <span Class="emphasis">verify</span>.
-<p class="level0">This option determines whether libcurl verifies that the server cert is for the server it is known as.
-<p class="level0">When negotiating TLS and SSL connections, the server sends a certificate indicating its identity.
-<p class="level0">When <a Class="emphasis" href="./CURLOPT_SSL_VERIFYHOST.html">CURLOPT_SSL_VERIFYHOST</a> is 2, that certificate must indicate that the server is the server to which you meant to connect, or the connection fails. Simply put, it means it has to have the same name in the certificate as is in the URL you operate against.
-<p class="level0">Curl considers the server the intended one when the Common Name field or a Subject Alternate Name field in the certificate matches the host name in the URL to which you told Curl to connect.
-<p class="level0">When the <span Class="emphasis">verify</span> value is 1, <span Class="emphasis">curl_easy_setopt</span> will return an error and the option value will not be changed. It was previously (in 7.28.0 and earlier) a debug option of some sorts, but it is no longer supported due to frequently leading to programmer mistakes. Future versions will stop returning an error for 1 and just treat 1 and 2 the same.
-<p class="level0">When the <span Class="emphasis">verify</span> value is 0, the connection succeeds regardless of the names in the certificate. Use that ability with caution!
-<p class="level0">The default value for this option is 2.
-<p class="level0">This option controls checking the server's certificate's claimed identity. The server could be lying. To control lying, see <a Class="emphasis" href="./CURLOPT_SSL_VERIFYPEER.html">CURLOPT_SSL_VERIFYPEER</a>. If libcurl is built against NSS and <a Class="emphasis" href="./CURLOPT_SSL_VERIFYPEER.html">CURLOPT_SSL_VERIFYPEER</a> is zero, <a Class="emphasis" href="./CURLOPT_SSL_VERIFYHOST.html">CURLOPT_SSL_VERIFYHOST</a> is also set to zero and cannot be overridden. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">2 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
-&nbsp;
-&nbsp; /* Set the default value: strict name check please */
-&nbsp; curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 2L);
-&nbsp;
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">If built TLS enabled. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if TLS is supported, and CURLE_UNKNOWN_OPTION if not.
-<p class="level0">If 1 is set as argument, <span Class="emphasis">CURLE_BAD_FUNCTION_ARGUMENT</span> is returned. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SSL_VERIFYPEER.html">CURLOPT_SSL_VERIFYPEER</a>, <a Class="manpage" href="./CURLOPT_CAINFO.html">CURLOPT_CAINFO</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.pdf b/docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.pdf
deleted file mode 100644
index 4fe09f63e..000000000
--- a/docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.3 b/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.3
index 5a63481ad..f7ff1b203 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -79,3 +79,5 @@ If built TLS enabled.
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
.SH "SEE ALSO"
.BR CURLOPT_SSL_VERIFYHOST "(3), "
+.BR CURLOPT_PROXY_SSL_VERIFYPEER "(3), "
+.BR CURLOPT_PROXY_SSL_VERIFYHOST "(3), "
diff --git a/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.html b/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.html
deleted file mode 100644
index df73b74df..000000000
--- a/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SSL_VERIFYPEER man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SSL_VERIFYPEER - verify the peer's SSL certificate <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_VERIFYPEER, long verify); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long as parameter to enable or disable.
-<p class="level0">This option determines whether curl verifies the authenticity of the peer's certificate. A value of 1 means curl verifies; 0 (zero) means it doesn't.
-<p class="level0">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 <a Class="emphasis" href="./CURLOPT_CAINFO.html">CURLOPT_CAINFO</a> option or the <a Class="emphasis" href="./CURLOPT_CAPATH.html">CURLOPT_CAPATH</a> option.
-<p class="level0">When <a Class="emphasis" href="./CURLOPT_SSL_VERIFYPEER.html">CURLOPT_SSL_VERIFYPEER</a> 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.
-<p class="level0">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 <a Class="emphasis" href="./CURLOPT_SSL_VERIFYHOST.html">CURLOPT_SSL_VERIFYHOST</a> 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 <a Class="emphasis" href="./CURLOPT_SSL_VERIFYPEER.html">CURLOPT_SSL_VERIFYPEER</a> option.
-<p class="level0">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. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">By default, curl assumes a value of 1. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
-&nbsp;
-&nbsp; /* Set the default value: strict certificate check please */
-&nbsp; curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 1L);
-&nbsp;
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">If built TLS enabled. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SSL_VERIFYHOST.html">CURLOPT_SSL_VERIFYHOST</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.pdf b/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.pdf
deleted file mode 100644
index 333dd529e..000000000
--- a/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.html b/docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.html
deleted file mode 100644
index f7dfdd1f7..000000000
--- a/docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_SSL_VERIFYSTATUS man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_SSL_VERIFYSTATUS - verify the certificate's status <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_VERIFYSTATUS, long verify); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long as parameter set to 1 to enable or 0 to disable.
-<p class="level0">This option determines whether libcurl verifies the status of the server cert using the "Certificate Status Request" TLS extension (aka. OCSP stapling).
-<p class="level0">Note that if this option is enabled but the server does not support the TLS extension, the verification will fail. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.41.0. This option is currently only supported by the OpenSSL, GnuTLS and NSS TLS backends. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if OCSP stapling is supported by the SSL backend, otherwise returns CURLE_NOT_BUILT_IN. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SSL_VERIFYHOST.html">CURLOPT_SSL_VERIFYHOST</a>, <a Class="manpage" href="./CURLOPT_SSL_VERIFYPEER.html">CURLOPT_SSL_VERIFYPEER</a>, <a Class="manpage" href="./CURLOPT_CAINFO.html">CURLOPT_CAINFO</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.pdf b/docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.pdf
deleted file mode 100644
index 6fbb5259e..000000000
--- a/docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_STDERR.html b/docs/libcurl/opts/CURLOPT_STDERR.html
deleted file mode 100644
index d4fe49665..000000000
--- a/docs/libcurl/opts/CURLOPT_STDERR.html
+++ /dev/null
@@ -1,76 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_STDERR man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_STDERR - redirect stderr to another stream <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STDERR, FILE *stream); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a FILE * as parameter. Tell libcurl to use this <span Class="emphasis">stream</span> instead of stderr when showing the progress meter and displaying <a Class="emphasis" href="./CURLOPT_VERBOSE.html">CURLOPT_VERBOSE</a> data. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">stderr <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-FILE *filep = fopen("dump", "wb");
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp; curl_easy_setopt(curl, CURLOPT_STDERR, filep);
-&nbsp;
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_VERBOSE.html">CURLOPT_VERBOSE</a>, <a Class="manpage" href="./CURLOPT_NOPROGRESS.html">CURLOPT_NOPROGRESS</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_STDERR.pdf b/docs/libcurl/opts/CURLOPT_STDERR.pdf
deleted file mode 100644
index f8d73159f..000000000
--- a/docs/libcurl/opts/CURLOPT_STDERR.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.html b/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.html
deleted file mode 100644
index 7ce6b9636..000000000
--- a/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_STREAM_DEPENDS man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_STREAM_DEPENDS - set stream this transfer depends on <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STREAM_DEPENDS, CURL *dephandle); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a CURL * pointer in <span Class="emphasis">dephandle</span> to identify the stream within the same connection that this stream is depending upon. This option clears the exclusive it and is mutually exclusive to the <a Class="emphasis" href="./CURLOPT_STREAM_DEPENDS_E.html">CURLOPT_STREAM_DEPENDS_E</a> option.
-<p class="level0">The spec says "Including a dependency expresses a preference to allocate resources to the identified stream rather than to the dependent stream."
-<p class="level0">This option can be set during transfer.
-<p class="level0"><span Class="emphasis">dephandle</span> must not be the same as <span Class="emphasis">handle</span>, 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. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP/2 <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.46.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_STREAM_WEIGHT.html">CURLOPT_STREAM_WEIGHT</a>, <a Class="manpage" href="./CURLOPT_STREAM_DEPENDS_E.html">CURLOPT_STREAM_DEPENDS_E</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.pdf b/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.pdf
deleted file mode 100644
index 682c3fc72..000000000
--- a/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.html b/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.html
deleted file mode 100644
index c8903f661..000000000
--- a/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_STREAM_DEPENDS_E man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_STREAM_DEPENDS_E - set stream this transfer depends on execlusively <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STREAM_DEPENDS_E, CURL *dephandle); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a CURL * pointer in <span Class="emphasis">dephandle</span> 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.
-<p class="level0">The spec says "Including a dependency expresses a preference to allocate resources to the identified stream rather than to the dependent stream."
-<p class="level0">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.
-<p class="level0">This option can be set during transfer.
-<p class="level0"><span Class="emphasis">dephandle</span> must not be the same as <span Class="emphasis">handle</span>, 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. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP/2 <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.46.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_STREAM_WEIGHT.html">CURLOPT_STREAM_WEIGHT</a>, <a Class="manpage" href="./CURLOPT_STREAM_DEPENDS.html">CURLOPT_STREAM_DEPENDS</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.pdf b/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.pdf
deleted file mode 100644
index 2caf05207..000000000
--- a/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.html b/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.html
deleted file mode 100644
index f46b0be5e..000000000
--- a/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_STREAM_WEIGHT man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_STREAM_WEIGHT - set numerical stream weight <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STREAM_WEIGHT, long weight); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Set the long <span Class="emphasis">weight</span> to a number between 1 and 256.
-<p class="level0">When using HTTP/2, this option sets the individual weight for this particular stream used by the easy <span Class="emphasis">handle</span>. 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 <a Class="emphasis" href="./CURLMOPT_PIPELINING.html">CURLMOPT_PIPELINING</a>.
-<p class="level0">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 server.
-<p class="level0">See section 5.3 of <a href="http://www.ietf.org/rfc/rfc7540.txt">RFC 7540</a> for protocol details: <a href="https://httpwg.github.io/specs/rfc7540.html&#35;StreamPriority">https://httpwg.github.io/specs/rfc7540.html&#35;StreamPriority</a>
-<p class="level0">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). <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">If nothing is set, the HTTP/2 protocol itself will use its own default which is 16. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP/2 <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.46.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_STREAM_DEPENDS.html">CURLOPT_STREAM_DEPENDS</a>, <a Class="manpage" href="./CURLOPT_STREAM_DEPENDS_E.html">CURLOPT_STREAM_DEPENDS_E</a>, <a Class="manpage" href="./CURLOPT_PIPEWAIT.html">CURLOPT_PIPEWAIT</a>, <a Class="manpage" href="./CURLMOPT_PIPELINING.html">CURLMOPT_PIPELINING</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.pdf b/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.pdf
deleted file mode 100644
index e823c441c..000000000
--- a/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_TCP_FASTOPEN.html b/docs/libcurl/opts/CURLOPT_TCP_FASTOPEN.html
deleted file mode 100644
index 160100594..000000000
--- a/docs/libcurl/opts/CURLOPT_TCP_FASTOPEN.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_TCP_FASTOPEN man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_TCP_FASTOPEN - enable TCP Fast Open <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TCP_FASTOPEN, long enable); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long as parameter set to 1 to enable or 0 to disable.
-<p class="level0">TCP Fast Open (RFC7413) is a mechanism that allows data to be carried in the SYN and SYN-ACK packets and consumed by the receiving end during the initial connection handshake, saving up to one full round-trip time (RTT). <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.49.0. This option is currently only supported on Linux and OS X El Capitan. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if fast open is supported by the operating system, otherwise returns CURLE_NOT_BUILT_IN. <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_TCP_FASTOPEN.pdf b/docs/libcurl/opts/CURLOPT_TCP_FASTOPEN.pdf
deleted file mode 100644
index 8aa26159d..000000000
--- a/docs/libcurl/opts/CURLOPT_TCP_FASTOPEN.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.html b/docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.html
deleted file mode 100644
index 015202da4..000000000
--- a/docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_TCP_KEEPALIVE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_TCP_KEEPALIVE - enable TCP keep-alive probing <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TCP_KEEPALIVE, long probe); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long. If set to 1, TCP keepalive probes will be sent. The delay and frequency of these probes can be controlled by the <a Class="emphasis" href="./CURLOPT_TCP_KEEPIDLE.html">CURLOPT_TCP_KEEPIDLE</a> and <a Class="emphasis" href="./CURLOPT_TCP_KEEPINTVL.html">CURLOPT_TCP_KEEPINTVL</a> options, provided the operating system supports them. Set to 0 (default behavior) to disable keepalive probes <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; /* enable TCP keep-alive for this transfer */
-&nbsp; curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE, 1L);
-&nbsp;
-&nbsp; /* keep-alive idle time to 120 seconds */
-&nbsp; curl_easy_setopt(curl, CURLOPT_TCP_KEEPIDLE, 120L);
-&nbsp;
-&nbsp; /* interval time between keep-alive probes: 60 seconds */
-&nbsp; curl_easy_setopt(curl, CURLOPT_TCP_KEEPINTVL, 60L);
-&nbsp;
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.25.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_TCP_KEEPIDLE.html">CURLOPT_TCP_KEEPIDLE</a>, <a Class="manpage" href="./CURLOPT_TCP_KEEPINTVL.html">CURLOPT_TCP_KEEPINTVL</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.pdf b/docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.pdf
deleted file mode 100644
index 1c1ede037..000000000
--- a/docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.3 b/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.3
index f5f57628f..4d587a9b4 100644
--- a/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.3
+++ b/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.3
@@ -32,7 +32,7 @@ Pass a long. Sets the \fIdelay\fP, in seconds, that the operating system will
wait while the connection is idle before sending keepalive probes. Not all
operating systems support this option.
.SH DEFAULT
-?
+60
.SH PROTOCOLS
All
.SH EXAMPLE
diff --git a/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.html b/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.html
deleted file mode 100644
index a1edda3a6..000000000
--- a/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_TCP_KEEPIDLE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_TCP_KEEPIDLE - set TCP keep-alive idle time wait <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TCP_KEEPIDLE, long delay); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long. Sets the <span Class="emphasis">delay</span>, in seconds, that the operating system will wait while the connection is idle before sending keepalive probes. Not all operating systems support this option. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">? <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; /* enable TCP keep-alive for this transfer */
-&nbsp; curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE, 1L);
-&nbsp;
-&nbsp; /* set keep-alive idle time to 120 seconds */
-&nbsp; curl_easy_setopt(curl, CURLOPT_TCP_KEEPIDLE, 120L);
-&nbsp;
-&nbsp; /* interval time between keep-alive probes: 60 seconds */
-&nbsp; curl_easy_setopt(curl, CURLOPT_TCP_KEEPINTVL, 60L);
-&nbsp;
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.25.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_TCP_KEEPALIVE.html">CURLOPT_TCP_KEEPALIVE</a>, <a Class="manpage" href="./CURLOPT_TCP_KEEPINTVL.html">CURLOPT_TCP_KEEPINTVL</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.pdf b/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.pdf
deleted file mode 100644
index 825a2b396..000000000
--- a/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.3 b/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.3
index f332a8f45..a755c0546 100644
--- a/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.3
+++ b/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.3
@@ -32,7 +32,9 @@ Pass a long. Sets the interval, in seconds, that the operating system will
wait between sending keepalive probes. Not all operating systems support this
option. (Added in 7.25.0)
.SH DEFAULT
+60
.SH PROTOCOLS
+All
.SH EXAMPLE
.nf
CURL *curl = curl_easy_init();
@@ -42,7 +44,7 @@ if(curl) {
/* enable TCP keep-alive for this transfer */
curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE, 1L);
- /* keep-alive idle time to 120 seconds */
+ /* set keep-alive idle time to 120 seconds */
curl_easy_setopt(curl, CURLOPT_TCP_KEEPIDLE, 120L);
/* interval time between keep-alive probes: 60 seconds */
diff --git a/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.html b/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.html
deleted file mode 100644
index 3bcf4fb3e..000000000
--- a/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_TCP_KEEPINTVL man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_TCP_KEEPINTVL - set TCP keep-alive interval <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TCP_KEEPINTVL, long interval); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long. Sets the interval, in seconds, that the operating system will wait between sending keepalive probes. Not all operating systems support this option. (Added in 7.25.0) <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0"><a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0"><a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; /* enable TCP keep-alive for this transfer */
-&nbsp; curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE, 1L);
-&nbsp;
-&nbsp; /* keep-alive idle time to 120 seconds */
-&nbsp; curl_easy_setopt(curl, CURLOPT_TCP_KEEPIDLE, 120L);
-&nbsp;
-&nbsp; /* interval time between keep-alive probes: 60 seconds */
-&nbsp; curl_easy_setopt(curl, CURLOPT_TCP_KEEPINTVL, 60L);
-&nbsp;
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_TCP_KEEPALIVE.html">CURLOPT_TCP_KEEPALIVE</a>, <a Class="manpage" href="./CURLOPT_TCP_KEEPIDLE.html">CURLOPT_TCP_KEEPIDLE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.pdf b/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.pdf
deleted file mode 100644
index 9f33fdd90..000000000
--- a/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_TCP_NODELAY.html b/docs/libcurl/opts/CURLOPT_TCP_NODELAY.html
deleted file mode 100644
index b19ac98cd..000000000
--- a/docs/libcurl/opts/CURLOPT_TCP_NODELAY.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_TCP_NODELAY man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_TCP_NODELAY - set the TCP_NODELAY option <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TCP_NODELAY, long nodelay); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long specifying whether the TCP_NODELAY option is to be set or cleared (1 = set, 0 = clear). The option is set by default. This will have no effect after the connection has been established.
-<p class="level0">Setting this option will disable TCP's Nagle algorithm. The purpose of this algorithm is to try to minimize the number of small packets on the network (where "small packets" means TCP segments less than the Maximum Segment Size (MSS) for the network).
-<p class="level0">Maximizing the amount of data sent per TCP segment is good because it amortizes the overhead of the send. However, in some cases small segments may need to be sent without delay. This is less efficient than sending larger amounts of data at a time, and can contribute to congestion on the network if overdone. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">1 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always. The default was changed to 1 from 0 in 7.50.2. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SOCKOPTFUNCTION.html">CURLOPT_SOCKOPTFUNCTION</a>, <a Class="manpage" href="./CURLOPT_TCP_KEEPALIVE.html">CURLOPT_TCP_KEEPALIVE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_TCP_NODELAY.pdf b/docs/libcurl/opts/CURLOPT_TCP_NODELAY.pdf
deleted file mode 100644
index eb83249c6..000000000
--- a/docs/libcurl/opts/CURLOPT_TCP_NODELAY.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_TELNETOPTIONS.html b/docs/libcurl/opts/CURLOPT_TELNETOPTIONS.html
deleted file mode 100644
index 25f292327..000000000
--- a/docs/libcurl/opts/CURLOPT_TELNETOPTIONS.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_TELNETOPTIONS man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_TELNETOPTIONS - custom telnet options <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TELNETOPTIONS, &nbsp; struct curl_slist *cmds); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Provide a pointer to a curl_slist with variables to pass to the telnet negotiations. The variables should be in the format &lt;option=value&gt;. libcurl supports the options 'TTYPE', 'XDISPLOC' and 'NEW_ENV'. See the TELNET standard for details. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">TELNET <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Along with TELNET <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if TELNET is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_HTTPHEADER.html">CURLOPT_HTTPHEADER</a>, <a Class="manpage" href="./CURLOPT_QUOTE.html">CURLOPT_QUOTE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_TELNETOPTIONS.pdf b/docs/libcurl/opts/CURLOPT_TELNETOPTIONS.pdf
deleted file mode 100644
index 84d8f2eaa..000000000
--- a/docs/libcurl/opts/CURLOPT_TELNETOPTIONS.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.html b/docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.html
deleted file mode 100644
index 237e4e744..000000000
--- a/docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_TFTP_BLKSIZE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_TFTP_BLKSIZE - TFTP block size <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TFTP_BLKSIZE, long blocksize); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Specify <span Class="emphasis">blocksize</span> to use for TFTP data transmission. Valid range as per <a href="http://www.ietf.org/rfc/rfc2348.txt">RFC 2348</a> is 8-65464 bytes. The default of 512 bytes will be used if this option is not specified. The specified block size will only be used pending support by the remote server. If the server does not return an option acknowledgement or returns an option acknowledgement with no blksize, the default of 512 bytes will be used. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">512 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">TFTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.19.4 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_MAXFILESIZE.html">CURLOPT_MAXFILESIZE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.pdf b/docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.pdf
deleted file mode 100644
index ed03d6b78..000000000
--- a/docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.html b/docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.html
deleted file mode 100644
index 7666925f6..000000000
--- a/docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_TFTP_NO_OPTIONS man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_TFTP_NO_OPTIONS - Do not send TFTP options requests. <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TFTP_NO_OPTIONS, long onoff); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Set <span Class="emphasis">onoff</span> to 1L to exclude all TFTP options defined in <a href="http://www.ietf.org/rfc/rfc2347.txt">RFC 2347</a>, <a href="http://www.ietf.org/rfc/rfc2348.txt">RFC 2348</a> and <a href="http://www.ietf.org/rfc/rfc2349.txt">RFC 2349</a> from read and write requests (RRQs/WRQs).
-<p class="level0">This option improves interop with some legacy servers that do not acknowledge or properly implement TFTP options. When this option is used <a Class="emphasis" href="./CURLOPT_TFTP_BLKSIZE.html">CURLOPT_TFTP_BLKSIZE</a> is ignored. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">TFTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-size_t write_callback(char *ptr, size_t size, size_t nmemb, void *fp)
-{
-&nbsp; return fwrite(ptr, size, nmemb, (FILE *)fp);
-}
-&nbsp;
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; FILE *fp = fopen("foo.bin", "wb");
-&nbsp; if(fp) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void *)fp);
-&nbsp; curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback);
-&nbsp;
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "tftp://example.com/foo.bin");
-&nbsp;
-&nbsp; /* do not send TFTP options requests */
-&nbsp; curl_easy_setopt(curl, CURLOPT_TFTP_NO_OPTIONS, 1L);
-&nbsp;
-&nbsp; /* Perform the request */
-&nbsp; curl_easy_perform(curl);
-&nbsp;
-&nbsp; fclose(fp);
-&nbsp; }
-&nbsp; curl_easy_cleanup(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.48.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.pdf b/docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.pdf
deleted file mode 100644
index 28908ef45..000000000
--- a/docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_TIMECONDITION.html b/docs/libcurl/opts/CURLOPT_TIMECONDITION.html
deleted file mode 100644
index 2cc7d2e2d..000000000
--- a/docs/libcurl/opts/CURLOPT_TIMECONDITION.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_TIMECONDITION man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_TIMECONDITION - select condition for a time request <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TIMECONDITION, long cond); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long as parameter. This defines how the <a Class="emphasis" href="./CURLOPT_TIMEVALUE.html">CURLOPT_TIMEVALUE</a> time value is treated. You can set this parameter to <span Class="emphasis">CURL_TIMECOND_IFMODSINCE</span> or <span Class="emphasis">CURL_TIMECOND_IFUNMODSINCE</span>.
-<p class="level0">The last modification time of a file is not always known and in such instances this feature will have no effect even if the given time condition would not have been met. <span Class="emphasis">curl_easy_getinfo(3)</span> with the <span Class="emphasis">CURLINFO_CONDITION_UNMET</span> option can be used after a transfer to learn if a zero-byte successful "transfer" was due to this condition not matching. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">CURL_TIMECOND_NONE (0) <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP, FTP, RTSP, and FILE <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; /* January 1, 2020 is 1577833200 */
-&nbsp; curl_easy_setopt(curl, CURLOPT_TIMEVALUE, 1577833200L);
-&nbsp;
-&nbsp; /* If-Modified-Since the above time stamp */
-&nbsp; curl_easy_setopt(curl, CURLOPT_TIMECONDITION, CURL_TIMECOND_IFMODSINCE);
-&nbsp;
-&nbsp; /* Perform the request */
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_TIMEVALUE.html">CURLOPT_TIMEVALUE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_TIMECONDITION.pdf b/docs/libcurl/opts/CURLOPT_TIMECONDITION.pdf
deleted file mode 100644
index d54b777fe..000000000
--- a/docs/libcurl/opts/CURLOPT_TIMECONDITION.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_TIMEOUT.html b/docs/libcurl/opts/CURLOPT_TIMEOUT.html
deleted file mode 100644
index 5f0fe6289..000000000
--- a/docs/libcurl/opts/CURLOPT_TIMEOUT.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_TIMEOUT man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_TIMEOUT - set maximum time the request is allowed to take <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TIMEOUT, long timeout); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long as parameter containing <span Class="emphasis">timeout</span> - the maximum time in seconds that you allow the libcurl transfer operation to take. Normally, name lookups can take a considerable time and limiting operations to less than a few minutes risk aborting perfectly normal operations. This option may cause libcurl to use the SIGALRM signal to timeout system calls.
-<p class="level0">In unix-like systems, this might cause signals to be used unless <a Class="emphasis" href="./CURLOPT_NOSIGNAL.html">CURLOPT_NOSIGNAL</a> is set.
-<p class="level0">If both <a Class="emphasis" href="./CURLOPT_TIMEOUT.html">CURLOPT_TIMEOUT</a> and <a Class="emphasis" href="./CURLOPT_TIMEOUT_MS.html">CURLOPT_TIMEOUT_MS</a> are set, the value set last will be used.
-<p class="level0">Since this puts a hard limit for how long time a request is allowed to take, it has limited use in dynamic use cases with varying transfer times. You are then advised to explore <a Class="emphasis" href="./CURLOPT_LOW_SPEED_LIMIT.html">CURLOPT_LOW_SPEED_LIMIT</a>, <a Class="emphasis" href="./CURLOPT_LOW_SPEED_TIME.html">CURLOPT_LOW_SPEED_TIME</a> or using <a Class="emphasis" href="./CURLOPT_PROGRESSFUNCTION.html">CURLOPT_PROGRESSFUNCTION</a> to implement your own timeout logic. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">Default timeout is 0 (zero) which means it never times out during transfer. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; /* complete within 20 seconds */
-&nbsp; curl_easy_setopt(curl, CURLOPT_TIMEOUT, 20L);
-&nbsp;
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_TIMEOUT_MS.html">CURLOPT_TIMEOUT_MS</a>, <a Class="manpage" href="./CURLOPT_CONNECTTIMEOUT.html">CURLOPT_CONNECTTIMEOUT</a>, <a Class="manpage" href="./CURLOPT_LOW_SPEED_LIMIT.html">CURLOPT_LOW_SPEED_LIMIT</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_TIMEOUT.pdf b/docs/libcurl/opts/CURLOPT_TIMEOUT.pdf
deleted file mode 100644
index df3f23e74..000000000
--- a/docs/libcurl/opts/CURLOPT_TIMEOUT.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.html b/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.html
deleted file mode 100644
index 503694ad2..000000000
--- a/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_TIMEOUT_MS man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_TIMEOUT_MS - set maximum time the request is allowed to take <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TIMEOUT_MS, long timeout); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long as parameter containing <span Class="emphasis">timeout</span> - the maximum time in milliseconds that you allow the libcurl transfer operation to take. Normally, name lookups can take a considerable time and limiting operations to less than a few minutes risk aborting perfectly normal operations. This option may cause libcurl to use the SIGALRM signal to timeout system calls.
-<p class="level0">If libcurl is built to use the standard system name resolver, that portion of the transfer will still use full-second resolution for timeouts with a minimum timeout allowed of one second.
-<p class="level0">In unix-like systems, this might cause signals to be used unless <a Class="emphasis" href="./CURLOPT_NOSIGNAL.html">CURLOPT_NOSIGNAL</a> is set.
-<p class="level0">If both <a Class="emphasis" href="./CURLOPT_TIMEOUT.html">CURLOPT_TIMEOUT</a> and <a Class="emphasis" href="./CURLOPT_TIMEOUT_MS.html">CURLOPT_TIMEOUT_MS</a> are set, the value set last will be used.
-<p class="level0">Since this puts a hard limit for how long time a request is allowed to take, it has limited use in dynamic use cases with varying transfer times. You are then advised to explore <a Class="emphasis" href="./CURLOPT_LOW_SPEED_LIMIT.html">CURLOPT_LOW_SPEED_LIMIT</a>, <a Class="emphasis" href="./CURLOPT_LOW_SPEED_TIME.html">CURLOPT_LOW_SPEED_TIME</a> or using <a Class="emphasis" href="./CURLOPT_PROGRESSFUNCTION.html">CURLOPT_PROGRESSFUNCTION</a> to implement your own timeout logic. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">Default timeout is 0 (zero) which means it never times out during transfer. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; /* complete within 20000 milliseconds */
-&nbsp; curl_easy_setopt(curl, CURLOPT_TIMEOUT_MS, 20000L);
-&nbsp;
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_TIMEOUT.html">CURLOPT_TIMEOUT</a>, <a Class="manpage" href="./CURLOPT_CONNECTTIMEOUT.html">CURLOPT_CONNECTTIMEOUT</a>, <a Class="manpage" href="./CURLOPT_LOW_SPEED_LIMIT.html">CURLOPT_LOW_SPEED_LIMIT</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.pdf b/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.pdf
deleted file mode 100644
index c97bcf171..000000000
--- a/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_TIMEVALUE.html b/docs/libcurl/opts/CURLOPT_TIMEVALUE.html
deleted file mode 100644
index 086339424..000000000
--- a/docs/libcurl/opts/CURLOPT_TIMEVALUE.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_TIMEVALUE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_TIMEVALUE - set time value for conditional <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TIMEVALUE, long val); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long <span Class="emphasis">val</span> 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 <a Class="emphasis" href="./CURLOPT_TIMECONDITION.html">CURLOPT_TIMECONDITION</a>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP, FTP, RTSP, and FILE <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; /* January 1, 2020 is 1577833200 */
-&nbsp; curl_easy_setopt(curl, CURLOPT_TIMEVALUE, 1577833200L);
-&nbsp;
-&nbsp; /* If-Modified-Since the above time stamp */
-&nbsp; curl_easy_setopt(curl, CURLOPT_TIMECONDITION, CURL_TIMECOND_IFMODSINCE);
-&nbsp;
-&nbsp; /* Perform the request */
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_TIMECONDITION.html">CURLOPT_TIMECONDITION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_TIMEVALUE.pdf b/docs/libcurl/opts/CURLOPT_TIMEVALUE.pdf
deleted file mode 100644
index ebb563dcb..000000000
--- a/docs/libcurl/opts/CURLOPT_TIMEVALUE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.3 b/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.3
index 78fad0efb..c6b6a7410 100644
--- a/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.3
+++ b/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.3
@@ -32,6 +32,9 @@ Pass a char * as parameter, which should point to the zero terminated password
to use for the TLS authentication method specified with the
\fICURLOPT_TLSAUTH_TYPE(3)\fP option. Requires that the
\fICURLOPT_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
diff --git a/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.html b/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.html
deleted file mode 100644
index da60f3c8e..000000000
--- a/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_TLSAUTH_PASSWORD man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_TLSAUTH_PASSWORD - password to use for TLS authentication <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TLSAUTH_PASSWORD, char *pwd); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * as parameter, which should point to the zero terminated password to use for the TLS authentication method specified with the <a Class="emphasis" href="./CURLOPT_TLSAUTH_TYPE.html">CURLOPT_TLSAUTH_TYPE</a> option. Requires that the <a Class="emphasis" href="./CURLOPT_TLSAUTH_USERNAME.html">CURLOPT_TLSAUTH_USERNAME</a> option also be set. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All TLS-based protocols <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.21.4 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_TLSAUTH_TYPE.html">CURLOPT_TLSAUTH_TYPE</a>, <a Class="manpage" href="./CURLOPT_TLSAUTH_USERNAME.html">CURLOPT_TLSAUTH_USERNAME</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.pdf b/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.pdf
deleted file mode 100644
index aa4a1bdea..000000000
--- a/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.3 b/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.3
index 5655e7d71..8620423da 100644
--- a/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.3
+++ b/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.3
@@ -37,6 +37,9 @@ defined in RFC5054 and provides mutual authentication if both sides have a
shared secret. To use TLS-SRP, you must also set the
\fICURLOPT_TLSAUTH_USERNAME(3)\fP and \fICURLOPT_TLSAUTH_PASSWORD(3)\fP
options.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
blank
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.html b/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.html
deleted file mode 100644
index df70349a2..000000000
--- a/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_TLSAUTH_TYPE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_TLSAUTH_TYPE - set TLS authentication methods <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TLSAUTH_TYPE, char *type); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a zero terminated string as parameter. The string should be the method of the TLS authentication. Supported method is "SRP".
-<p class="level0">
-<p class="level0"><a name="SRP"></a><span class="nroffip">SRP</span>
-<p class="level1">TLS-SRP authentication. Secure Remote Password authentication for TLS is defined in <a href="http://www.ietf.org/rfc/rfc5054.txt">RFC 5054</a> and provides mutual authentication if both sides have a shared secret. To use TLS-SRP, you must also set the <a Class="emphasis" href="./CURLOPT_TLSAUTH_USERNAME.html">CURLOPT_TLSAUTH_USERNAME</a> and <a Class="emphasis" href="./CURLOPT_TLSAUTH_PASSWORD.html">CURLOPT_TLSAUTH_PASSWORD</a> options. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">blank <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All TLS-based protocols <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">You need to build libcurl with GnuTLS or OpenSSL with TLS-SRP support for this to work. Added in 7.21.4 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_TLSAUTH_USERNAME.html">CURLOPT_TLSAUTH_USERNAME</a>, <a Class="manpage" href="./CURLOPT_TLSAUTH_PASSWORD.html">CURLOPT_TLSAUTH_PASSWORD</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.pdf b/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.pdf
deleted file mode 100644
index 43b28593f..000000000
--- a/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.3 b/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.3
index 5022e4e08..a9b46e3e8 100644
--- a/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.3
+++ b/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.3
@@ -32,6 +32,9 @@ Pass a char * as parameter, which should point to the zero terminated username
to use for the TLS authentication method specified with the
\fICURLOPT_TLSAUTH_TYPE(3)\fP option. Requires that the
\fICURLOPT_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
diff --git a/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.html b/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.html
deleted file mode 100644
index f5873cb65..000000000
--- a/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_TLSAUTH_USERNAME man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_TLSAUTH_USERNAME - user name to use for TLS authentication <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TLSAUTH_USERNAME, char *user); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * as parameter, which should point to the zero terminated username to use for the TLS authentication method specified with the <a Class="emphasis" href="./CURLOPT_TLSAUTH_TYPE.html">CURLOPT_TLSAUTH_TYPE</a> option. Requires that the <a Class="emphasis" href="./CURLOPT_TLSAUTH_PASSWORD.html">CURLOPT_TLSAUTH_PASSWORD</a> option also be set. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All TLS-based protocols <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.21.4 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_TLSAUTH_TYPE.html">CURLOPT_TLSAUTH_TYPE</a>, <a Class="manpage" href="./CURLOPT_TLSAUTH_PASSWORD.html">CURLOPT_TLSAUTH_PASSWORD</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.pdf b/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.pdf
deleted file mode 100644
index 933f1b7da..000000000
--- a/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.html b/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.html
deleted file mode 100644
index a852a68e2..000000000
--- a/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_TRANSFERTEXT man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_TRANSFERTEXT - request a text based transfer for FTP <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TRANSFERTEXT, long text); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">A parameter set to 1 tells the library to use ASCII mode for FTP transfers, instead of the default binary transfer. For win32 systems it does not set the stdout to binary mode. This option can be usable when transferring text data between systems with different views on certain characters, such as newlines or similar.
-<p class="level0">libcurl does not do a complete ASCII conversion when doing ASCII transfers over FTP. This is a known limitation/flaw that nobody has rectified. libcurl simply sets the mode to ASCII and performs a standard transfer. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0, disabled <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">FTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Along with FTP <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if FTP is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_CRLF.html">CURLOPT_CRLF</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.pdf b/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.pdf
deleted file mode 100644
index 1bcfaf6e0..000000000
--- a/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.html b/docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.html
deleted file mode 100644
index a8f939072..000000000
--- a/docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_TRANSFER_ENCODING man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_TRANSFER_ENCODING - ask for HTTP Transfer Encoding <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TRANSFER_ENCODING, long enable); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long set to 1 to <span Class="emphasis">enable</span> or 0 to disable.
-<p class="level0">Adds a request for compressed Transfer Encoding in the outgoing HTTP request. If the server supports this and so desires, it can respond with the HTTP response sent using a compressed Transfer-Encoding that will be automatically uncompressed by libcurl on reception.
-<p class="level0">Transfer-Encoding differs slightly from the Content-Encoding you ask for with <a Class="emphasis" href="./CURLOPT_ACCEPT_ENCODING.html">CURLOPT_ACCEPT_ENCODING</a> in that a Transfer-Encoding is strictly meant to be for the transfer and thus MUST be decoded before the data arrives in the client. Traditionally, Transfer-Encoding has been much less used and supported by both HTTP clients and HTTP servers. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.21.6 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_ACCEPT_ENCODING.html">CURLOPT_ACCEPT_ENCODING</a>, <a Class="manpage" href="./CURLOPT_HTTP_TRANSFER_DECODING.html">CURLOPT_HTTP_TRANSFER_DECODING</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.pdf b/docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.pdf
deleted file mode 100644
index 5805e5103..000000000
--- a/docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.3 b/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.3
index 299c3ccba..8cf4d24ea 100644
--- a/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.3
+++ b/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -33,9 +33,9 @@ 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
+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.
+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.
@@ -46,6 +46,9 @@ 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
diff --git a/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.html b/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.html
deleted file mode 100644
index 83733fb68..000000000
--- a/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_UNIX_SOCKET_PATH man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_UNIX_SOCKET_PATH - set Unix domain socket <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_UNIX_SOCKET_PATH, char *path); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Enables the use of Unix domain sockets as connection endpoint and sets the path to <span Class="emphasis">path</span>. If <span Class="emphasis">path</span> 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.
-<p class="level0">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.
-<p class="level0">The maximum path length on Cygwin, Linux and Solaris is 107. On other platforms it might be even less.
-<p class="level0">Proxy and TCP options such as <a Class="manpage" href="./CURLOPT_TCP_NODELAY.html">CURLOPT_TCP_NODELAY</a>are not supported. Proxy options such as <a Class="manpage" href="./CURLOPT_PROXY.html">CURLOPT_PROXY</a>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. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">Default is NULL, meaning that no Unix domain sockets are used. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">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). <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">Given that you have an nginx server running, listening on /tmp/nginx.sock, you can request a HTTP resource with:
-<p class="level0"><pre class="level0">
-&nbsp; curl_easy_setopt(curl_handle, CURLOPT_UNIX_SOCKET_PATH, "/tmp/nginx.sock");
-&nbsp; curl_easy_setopt(curl_handle, CURLOPT_URL, "http://localhost/");
-</pre>
-
-<p class="level0">
-<p class="level0">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:
-<p class="level0"><pre class="level0">
-&nbsp; int dirfd = open(long_directory_path_to_socket, O_DIRECTORY | O_RDONLY);
-&nbsp; char path[108];
-&nbsp; snprintf(path, sizeof(path), "/proc/self/fd/%d/nginx.sock", dirfd);
-&nbsp; curl_easy_setopt(curl_handle, CURLOPT_UNIX_SOCKET_PATH, path);
-&nbsp; /* Be sure to keep dirfd valid until you discard the handle */
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Since 7.40.0. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_OPENSOCKETFUNCTION.html">CURLOPT_OPENSOCKETFUNCTION</a>, <span Class="manpage">unix (7)</span><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.pdf b/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.pdf
deleted file mode 100644
index fe3748a50..000000000
--- a/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.html b/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.html
deleted file mode 100644
index daa98f1ef..000000000
--- a/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_UNRESTRICTED_AUTH man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_UNRESTRICTED_AUTH - send credentials to other hosts too <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_UNRESTRICTED_AUTH,
-&nbsp; long goahead);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">A long parameter set to 1 tells libcurl it can continue to send authentication (user+password) credentials when following locations, even when hostname changed. This option is meaningful only when setting <a Class="emphasis" href="./CURLOPT_FOLLOWLOCATION.html">CURLOPT_FOLLOWLOCATION</a>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0 <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Along with HTTP <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_FOLLOWLOCATION.html">CURLOPT_FOLLOWLOCATION</a>, <a Class="manpage" href="./CURLOPT_USERPWD.html">CURLOPT_USERPWD</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.pdf b/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.pdf
deleted file mode 100644
index a0623def0..000000000
--- a/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_UPLOAD.html b/docs/libcurl/opts/CURLOPT_UPLOAD.html
deleted file mode 100644
index 7de44b8ba..000000000
--- a/docs/libcurl/opts/CURLOPT_UPLOAD.html
+++ /dev/null
@@ -1,90 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_UPLOAD man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_UPLOAD - enable data upload <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_UPLOAD, long upload); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">The long parameter <span Class="emphasis">upload</span> set to 1 tells the library to prepare for and perform an upload. The <a Class="emphasis" href="./CURLOPT_READDATA.html">CURLOPT_READDATA</a> and <a Class="emphasis" href="./CURLOPT_INFILESIZE.html">CURLOPT_INFILESIZE</a> or <a Class="emphasis" href="./CURLOPT_INFILESIZE_LARGE.html">CURLOPT_INFILESIZE_LARGE</a> options are also interesting for uploads. If the protocol is HTTP, uploading means using the PUT request unless you tell libcurl otherwise.
-<p class="level0">Using PUT with HTTP 1.1 implies the use of a "Expect: 100-continue" header. You can disable this header with <a Class="emphasis" href="./CURLOPT_HTTPHEADER.html">CURLOPT_HTTPHEADER</a> as usual.
-<p class="level0">If you use PUT to a 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 <a Class="emphasis" href="./CURLOPT_HTTPHEADER.html">CURLOPT_HTTPHEADER</a>. With HTTP 1.0 or without chunked transfer, you must specify the size. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0, default is download <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">Most <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; /* we want to use our own read function */
-&nbsp; curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback);
-&nbsp;
-&nbsp; /* enable uploading */
-&nbsp; curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
-&nbsp;
-&nbsp; /* specify target */
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/dir/to/newfile");
-&nbsp;
-&nbsp; /* now specify which pointer to pass to our callback */
-&nbsp; curl_easy_setopt(curl, CURLOPT_READDATA, hd_src);
-&nbsp;
-&nbsp; /* Set the size of the file to upload */
-&nbsp; curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, (curl_off_t)fsize);
-&nbsp;
-&nbsp; /* Now run off and do what you've been told! */
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_PUT.html">CURLOPT_PUT</a>, <a Class="manpage" href="./CURLOPT_READFUNCTION.html">CURLOPT_READFUNCTION</a>, <a Class="manpage" href="./CURLOPT_INFILESIZE_LARGE.html">CURLOPT_INFILESIZE_LARGE</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_UPLOAD.pdf b/docs/libcurl/opts/CURLOPT_UPLOAD.pdf
deleted file mode 100644
index cae48978c..000000000
--- a/docs/libcurl/opts/CURLOPT_UPLOAD.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_URL.3 b/docs/libcurl/opts/CURLOPT_URL.3
index a7d81df2c..879f18323 100644
--- a/docs/libcurl/opts/CURLOPT_URL.3
+++ b/docs/libcurl/opts/CURLOPT_URL.3
@@ -283,6 +283,9 @@ 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 DEFAULT
There is no default URL. If this option isn't set, no transfer can be
performed.
diff --git a/docs/libcurl/opts/CURLOPT_URL.html b/docs/libcurl/opts/CURLOPT_URL.html
deleted file mode 100644
index e9a87d2dd..000000000
--- a/docs/libcurl/opts/CURLOPT_URL.html
+++ /dev/null
@@ -1,167 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_URL man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_URL - provide the URL to use in the request <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_URL, char *URL); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass in a pointer to the <span Class="emphasis">URL</span> to work with. The parameter should be a char * to a zero terminated string which must be URL-encoded in the following format:
-<p class="level0">scheme://host:port/path
-<p class="level0">For a greater explanation of the format please see <a href="http://www.ietf.org/rfc/rfc3986.txt">RFC 3986</a>.
-<p class="level0">libcurl doesn't validate the syntax or use this variable until the transfer is issued. Even if you set a crazy value here, <span Class="emphasis">curl_easy_setopt(3)</span> will still return <span Class="emphasis">CURLE_OK</span>.
-<p class="level0">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 <a Class="emphasis" href="./CURLOPT_DEFAULT_PROTOCOL.html">CURLOPT_DEFAULT_PROTOCOL</a> for details.
-<p class="level0">Should the protocol, either that specified by the scheme or deduced by libcurl from the host name, not be supported by libcurl then <span Class="emphasis">CURLE_UNSUPPORTED_PROTOCOL</span> will be returned from either the <span Class="emphasis">curl_easy_perform(3)</span> or <span Class="emphasis">curl_multi_perform(3)</span> functions when you call them. Use <span Class="emphasis">curl_version_info(3)</span> for detailed information of which protocols are supported by the build of libcurl you are using.
-<p class="level0"><a Class="emphasis" href="./CURLOPT_PROTOCOLS.html">CURLOPT_PROTOCOLS</a> 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.
-<p class="level0"><a Class="emphasis" href="./CURLOPT_URL.html">CURLOPT_URL</a> is the only option that <span Class="bold">must</span> be set before a transfer is started.
-<p class="level0">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:
-<p class="level0"><a href="http://www.example.com/">http://www.example.com/</a>
-<p class="level0"><a href="http://hostname/">http://hostname/</a>
-<p class="level0"><a href="http://192.168.0.1/">http://192.168.0.1/</a>
-<p class="level0"><a href="http://[2001:1890:1112:1::20]/">http://[2001:1890:1112:1::20]/</a>
-<p class="level0">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:
-<p class="level0"><a href="http://user:password@www.example.com">http://user:password@www.example.com</a>
-<p class="level0"><a href="ftp://user:password@ftp.example.com">ftp://user:password@ftp.example.com</a>
-<p class="level0">smb://domain%2fuser:password@server.example.com
-<p class="level0">imap://user:password;options@mail.example.com
-<p class="level0">pop3://user:password;options@mail.example.com
-<p class="level0">smtp://user:password;options@mail.example.com
-<p class="level0">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 <a href="http://www.ietf.org/rfc/rfc2384.txt">RFC 2384</a>, <a href="http://www.ietf.org/rfc/rfc5092.txt">RFC 5092</a> and IETF draft draft-earhart-url-smtp-00.txt (Added in 7.31.0).
-<p class="level0">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:
-<p class="level0"><a href="http://www.example.com:8080/">http://www.example.com:8080/</a> - This will connect to a web server using port 8080 rather than 80.
-<p class="level0">smtp://mail.example.com:587/ - This will connect to a SMTP server on the alternative mail port.
-<p class="level0">The path part of the URL is protocol specific and whilst some examples are given below this list is not conclusive:
-<p class="level0">
-<p class="level0"><a name="HTTP"></a><span class="nroffip">HTTP</span>
-<p class="level1">The path part of a 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.
-<p class="level1"><a href="http://www.example.com">http://www.example.com</a> - This gets the main page from the web server.
-<p class="level1"><a href="http://www.example.com/index.html">http://www.example.com/index.html</a> - This returns the main page by explicitly requesting it.
-<p class="level1"><a href="http://www.example.com/contactus/">http://www.example.com/contactus/</a> - This returns the default document from the contactus directory.
-<p class="level1">
-<p class="level0"><a name="FTP"></a><span class="nroffip">FTP</span>
-<p class="level1">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.
-<p class="level1"><a href="ftp://ftp.example.com">ftp://ftp.example.com</a> - This retrieves the directory listing for the root directory.
-<p class="level1"><a href="ftp://ftp.example.com/readme.txt">ftp://ftp.example.com/readme.txt</a> - This downloads the file readme.txt from the root directory.
-<p class="level1"><a href="ftp://ftp.example.com/libcurl/readme.txt">ftp://ftp.example.com/libcurl/readme.txt</a> - This downloads readme.txt from the libcurl directory.
-<p class="level1"><a href="ftp://user:password@ftp.example.com/readme.txt">ftp://user:password@ftp.example.com/readme.txt</a> - 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.
-<p class="level1"><a href="ftp://user:password@ftp.example.com//readme.txt">ftp://user:password@ftp.example.com//readme.txt</a> - This retrieves the readme.txt from the root directory when logging in as a specified user.
-<p class="level1">
-<p class="level0"><a name="SMTP"></a><span class="nroffip">SMTP</span>
-<p class="level1">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.
-<p class="level1">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.
-<p class="level1">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.
-<p class="level1">
-<p class="level0"><a name="POP3"></a><span class="nroffip">POP3</span>
-<p class="level1">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.
-<p class="level1">pop3://user:password@mail.example.com - This lists the available messages for the user
-<p class="level1">pop3://user:password@mail.example.com/1 - This retrieves the first message for the user
-<p class="level1">
-<p class="level0"><a name="IMAP"></a><span class="nroffip">IMAP</span>
-<p class="level1">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).
-<p class="level1">imap://user:password@mail.example.com - Performs a top level folder list
-<p class="level1">imap://user:password@mail.example.com/INBOX - Performs a folder list on the user's inbox
-<p class="level1">imap://user:password@mail.example.com/INBOX/;UID=1 - Selects the user's inbox and fetches message 1
-<p class="level1">imap://user:password@mail.example.com/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
-<p class="level1">imap://user:password@mail.example.com/INBOX/;UID=3/;SECTION=TEXT - Selects the user's inbox and fetches the text portion of message 3
-<p class="level1">imap://user:password@mail.example.com/INBOX/;UID=4/;PARTIAL=0.1024 - Selects the user's inbox and fetches the first 1024 octets of message 4
-<p class="level1">imap://user:password@mail.example.com/INBOX?NEW - Selects the user's inbox and checks for NEW messages
-<p class="level1">imap://user:password@mail.example.com/INBOX?SUBJECT%20shadows - Selects the user's inbox and searches for messages containing "shadows" in the subject line
-<p class="level1">For more information about the individual components of an IMAP URL please see <a href="http://www.ietf.org/rfc/rfc5092.txt">RFC 5092</a>.
-<p class="level1">
-<p class="level0"><a name="SCP"></a><span class="nroffip">SCP</span>
-<p class="level1">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 <a Class="emphasis" href="./CURLOPT_USERPWD.html">CURLOPT_USERPWD</a> or <a Class="emphasis" href="./CURLOPT_USERNAME.html">CURLOPT_USERNAME</a> option.
-<p class="level1">scp://user@example.com/etc/issue - This specifies the file /etc/issue
-<p class="level1">scp://example.com/~/my-file - This specifies the file my-file in the user's home directory on the server
-<p class="level1">
-<p class="level0"><a name="SFTP"></a><span class="nroffip">SFTP</span>
-<p class="level1">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 <a Class="emphasis" href="./CURLOPT_USERPWD.html">CURLOPT_USERPWD</a> or <a Class="emphasis" href="./CURLOPT_USERNAME.html">CURLOPT_USERNAME</a> option.
-<p class="level1">sftp://user:password@example.com/etc/issue - This specifies the file /etc/issue
-<p class="level1">sftp://user@example.com/~/my-file - This specifies the file my-file in the user's home directory
-<p class="level1">sftp://ssh.example.com/~/Documents/ - This requests a directory listing of the Documents directory under the user's home directory
-<p class="level1">
-<p class="level0"><a name="SMB"></a><span class="nroffip">SMB</span>
-<p class="level1">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 <a Class="emphasis" href="./CURLOPT_USERPWD.html">CURLOPT_USERPWD</a> or <a Class="emphasis" href="./CURLOPT_USERNAME.html">CURLOPT_USERNAME</a> 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.
-<p class="level1">smb://server.example.com/files/issue - This specifies the file "issue" located in the root of the "files" share
-<p class="level1">smb://server.example.com/files/ -T issue - This specifies the file "issue" will be uploaded to the root of the "files" share.
-<p class="level1">
-<p class="level0"><a name="LDAP"></a><span class="nroffip">LDAP</span>
-<p class="level1">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.
-<p class="level1">ldap://ldap.example.com/o=My%20Organisation - This will perform a LDAP search with the DN as My Organisation.
-<p class="level1">ldap://ldap.example.com/o=My%20Organisation?postalAddress - This will perform the same search but will only return postalAddress attributes.
-<p class="level1">ldap://ldap.example.com/?rootDomainNamingContext - This specifies an empty DN and requests information about the rootDomainNamingContext attribute for an Active Directory server.
-<p class="level1">For more information about the individual components of a LDAP URL please see <a href="http://www.ietf.org/rfc/rfc4516.txt">RFC 4516</a>.
-<p class="level0"><a name="RTMP"></a><span class="nroffip">RTMP</span>
-<p class="level1">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.
-<p class="level1">While space is not typically a "legal" letter, libcurl accepts them. When a user wants to pass in a '&#35;' (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". <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">There is no default URL. If this option isn't set, no transfer can be performed. <a name="SECURITY"></a><h2 class="nroffsh">SECURITY CONCERNS</h2>
-<p class="level0">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.
-<p class="level0">Getting a URL from an external untrusted party will bring reasons for several security concerns:
-<p class="level0">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.
-<p class="level0">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.
-<p class="level0">Accepting external URLs may also use other protocols than http:// or other common ones. Restrict what accept with <a Class="emphasis" href="./CURLOPT_PROTOCOLS.html">CURLOPT_PROTOCOLS</a>.
-<p class="level0">User provided URLs can also be made to point to sites that redirect further on (possibly to other protocols too). Consider your <a Class="emphasis" href="./CURLOPT_FOLLOWLOCATION.html">CURLOPT_FOLLOWLOCATION</a> and <a Class="emphasis" href="./CURLOPT_REDIR_PROTOCOLS.html">CURLOPT_REDIR_PROTOCOLS</a> settings. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">POP3 and SMTP were added in 7.31.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK on success or CURLE_OUT_OF_MEMORY if there was insufficient heap space.
-<p class="level0">Note that <span Class="emphasis">curl_easy_setopt(3)</span> won't actually parse the given string so given a bad URL, it will not be detected until <span Class="emphasis">curl_easy_perform(3)</span> or similar is called. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_VERBOSE.html">CURLOPT_VERBOSE</a>, <a Class="manpage" href="./CURLOPT_PROTOCOLS.html">CURLOPT_PROTOCOLS</a>, <a Class="manpage" href="./CURLOPT_FORBID_REUSE.html">CURLOPT_FORBID_REUSE</a>, <a Class="manpage" href="./CURLOPT_FRESH_CONNECT.html">CURLOPT_FRESH_CONNECT</a>, <span Class="manpage">curl_easy_perform (3)</span>, <a Class="manpage" href="./CURLINFO_REDIRECT_URL.html">CURLINFO_REDIRECT_URL</a>, <a Class="manpage" href="./CURLOPT_PATH_AS_IS.html">CURLOPT_PATH_AS_IS</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_URL.pdf b/docs/libcurl/opts/CURLOPT_URL.pdf
deleted file mode 100644
index 1e518278b..000000000
--- a/docs/libcurl/opts/CURLOPT_URL.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_USERAGENT.3 b/docs/libcurl/opts/CURLOPT_USERAGENT.3
index c769e955a..bf58f2bc9 100644
--- a/docs/libcurl/opts/CURLOPT_USERAGENT.3
+++ b/docs/libcurl/opts/CURLOPT_USERAGENT.3
@@ -32,6 +32,9 @@ Pass a pointer to a zero terminated string as parameter. It will be used to
set the User-Agent: header in the HTTP request sent to the remote server. This
can be used to fool servers or scripts. You can also set any custom header
with \fICURLOPT_HTTPHEADER(3)\fP.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
NULL, no User-Agent: header is used by default.
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_USERAGENT.html b/docs/libcurl/opts/CURLOPT_USERAGENT.html
deleted file mode 100644
index 52f7f97cb..000000000
--- a/docs/libcurl/opts/CURLOPT_USERAGENT.html
+++ /dev/null
@@ -1,76 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_USERAGENT man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_USERAGENT - set HTTP user-agent header <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_USERAGENT, char *ua); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to a zero terminated string as parameter. It will be used to set the User-Agent: header in the HTTP request sent to the remote server. This can be used to fool servers or scripts. You can also set any custom header with <a Class="emphasis" href="./CURLOPT_HTTPHEADER.html">CURLOPT_HTTPHEADER</a>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL, no User-Agent: header is used by default. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">HTTP, HTTPS <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; curl_easy_setopt(curl, CURLOPT_USERAGENT, "Dark Secret Ninja/1.0");
-&nbsp;
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">As long as HTTP is supported <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if HTTP is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_REFERER.html">CURLOPT_REFERER</a>, <a Class="manpage" href="./CURLOPT_HTTPHEADER.html">CURLOPT_HTTPHEADER</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_USERAGENT.pdf b/docs/libcurl/opts/CURLOPT_USERAGENT.pdf
deleted file mode 100644
index 46fa31c74..000000000
--- a/docs/libcurl/opts/CURLOPT_USERAGENT.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_USERNAME.3 b/docs/libcurl/opts/CURLOPT_USERNAME.3
index ec6001078..1e4b90fd6 100644
--- a/docs/libcurl/opts/CURLOPT_USERNAME.3
+++ b/docs/libcurl/opts/CURLOPT_USERNAME.3
@@ -55,6 +55,9 @@ authentication as well.
To specify the password and login options, along with the user name, use the
\fICURLOPT_PASSWORD(3)\fP and \fICURLOPT_LOGIN_OPTIONS(3)\fP options.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
blank
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_USERNAME.html b/docs/libcurl/opts/CURLOPT_USERNAME.html
deleted file mode 100644
index 60e6ffaae..000000000
--- a/docs/libcurl/opts/CURLOPT_USERNAME.html
+++ /dev/null
@@ -1,76 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_USERNAME man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_USERNAME - user name to use in authentication <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_USERNAME,
-&nbsp; char *username);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * as parameter, which should be pointing to the zero terminated user name to use for the transfer.
-<p class="level0"><a Class="emphasis" href="./CURLOPT_USERNAME.html">CURLOPT_USERNAME</a> sets the user name to be used in protocol authentication. You should not use this option together with the (older) <a Class="emphasis" href="./CURLOPT_USERPWD.html">CURLOPT_USERPWD</a> option.
-<p class="level0">When using Kerberos V5 authentication with a Windows based server, you should include the domain name in order for the server to successfully obtain a Kerberos Ticket. If you don't then the initial part of the authentication handshake may fail.
-<p class="level0">When using NTLM, the user name can be specified simply as the user name without the domain name should the server be part of a single domain and forest.
-<p class="level0">To include the domain name use either Down-Level Logon Name or UPN (User Principal Name) formats. For example, EXAMPLE\user and user@example.com respectively.
-<p class="level0">Some HTTP servers (on Windows) support inclusion of the domain for Basic authentication as well.
-<p class="level0">To specify the password and login options, along with the user name, use the <a Class="emphasis" href="./CURLOPT_PASSWORD.html">CURLOPT_PASSWORD</a> and <a Class="emphasis" href="./CURLOPT_LOGIN_OPTIONS.html">CURLOPT_LOGIN_OPTIONS</a> options. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">blank <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">Most <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.19.1 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_USERPWD.html">CURLOPT_USERPWD</a>, <a Class="manpage" href="./CURLOPT_PASSWORD.html">CURLOPT_PASSWORD</a>, <a Class="manpage" href="./CURLOPT_HTTPAUTH.html">CURLOPT_HTTPAUTH</a>, <a Class="manpage" href="./CURLOPT_PROXYAUTH.html">CURLOPT_PROXYAUTH</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_USERNAME.pdf b/docs/libcurl/opts/CURLOPT_USERNAME.pdf
deleted file mode 100644
index 3ac6328c4..000000000
--- a/docs/libcurl/opts/CURLOPT_USERNAME.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_USERPWD.3 b/docs/libcurl/opts/CURLOPT_USERPWD.3
index 19404f6b6..ad5742063 100644
--- a/docs/libcurl/opts/CURLOPT_USERPWD.3
+++ b/docs/libcurl/opts/CURLOPT_USERPWD.3
@@ -61,6 +61,9 @@ SMTP options.
The user and password strings are not URL decoded, so there's no way to send
in a user name containing a colon using this option. Use
\fICURLOPT_USERNAME(3)\fP for that, or include it in the URL.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
NULL
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_USERPWD.html b/docs/libcurl/opts/CURLOPT_USERPWD.html
deleted file mode 100644
index 659c99ab1..000000000
--- a/docs/libcurl/opts/CURLOPT_USERPWD.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_USERPWD man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_USERPWD - user name and password to use in authentication <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_USERPWD, char *userpwd); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * as parameter, pointing to a zero terminated login details string for the connection. The format of which is: [user name]:[password].
-<p class="level0">When using Kerberos V5 authentication with a Windows based server, you should specify the user name part with the domain name in order for the server to successfully obtain a Kerberos Ticket. If you don't then the initial part of the authentication handshake may fail.
-<p class="level0">When using NTLM, the user name can be specified simply as the user name without the domain name should the server be part of a single domain and forest.
-<p class="level0">To specify the domain name use either Down-Level Logon Name or UPN (User Principal Name) formats. For example, EXAMPLE\user and user@example.com respectively.
-<p class="level0">Some HTTP servers (on Windows) support inclusion of the domain for Basic authentication as well.
-<p class="level0">When using HTTP and <a Class="emphasis" href="./CURLOPT_FOLLOWLOCATION.html">CURLOPT_FOLLOWLOCATION</a>, libcurl might perform several requests to possibly different hosts. libcurl will only send this user and password information to hosts using the initial host name (unless <a Class="emphasis" href="./CURLOPT_UNRESTRICTED_AUTH.html">CURLOPT_UNRESTRICTED_AUTH</a> is set), so if libcurl follows locations to other hosts it will not send the user and password to those. This is enforced to prevent accidental information leakage.
-<p class="level0">Use <a Class="emphasis" href="./CURLOPT_HTTPAUTH.html">CURLOPT_HTTPAUTH</a> to specify the authentication method for HTTP based connections or <a Class="emphasis" href="./CURLOPT_LOGIN_OPTIONS.html">CURLOPT_LOGIN_OPTIONS</a> to control IMAP, POP3 and SMTP options.
-<p class="level0">The user and password strings are not URL decoded, so there's no way to send in a user name containing a colon using this option. Use <a Class="emphasis" href="./CURLOPT_USERNAME.html">CURLOPT_USERNAME</a> for that, or include it in the URL. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">Most <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK on success or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_USERNAME.html">CURLOPT_USERNAME</a>, <a Class="manpage" href="./CURLOPT_PASSWORD.html">CURLOPT_PASSWORD</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_USERPWD.pdf b/docs/libcurl/opts/CURLOPT_USERPWD.pdf
deleted file mode 100644
index 6fcd452bb..000000000
--- a/docs/libcurl/opts/CURLOPT_USERPWD.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_USE_SSL.html b/docs/libcurl/opts/CURLOPT_USE_SSL.html
deleted file mode 100644
index 639be8d7e..000000000
--- a/docs/libcurl/opts/CURLOPT_USE_SSL.html
+++ /dev/null
@@ -1,88 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_USE_SSL man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_USE_SSL - request using SSL / TLS for the transfer <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_USE_SSL, long level); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a long using one of the values from below, to make libcurl use your desired <span Class="emphasis">level</span> of SSL for the transfer.
-<p class="level0">These are all protocols that start out plain text and get "upgraded" to SSL using the STARTTLS command.
-<p class="level0">This is for enabling SSL/TLS when you use FTP, SMTP, POP3, IMAP etc.
-<p class="level0"><a name="CURLUSESSLNONE"></a><span class="nroffip">CURLUSESSL_NONE</span>
-<p class="level1">Don't attempt to use SSL.
-<p class="level0"><a name="CURLUSESSLTRY"></a><span class="nroffip">CURLUSESSL_TRY</span>
-<p class="level1">Try using SSL, proceed as normal otherwise.
-<p class="level0"><a name="CURLUSESSLCONTROL"></a><span class="nroffip">CURLUSESSL_CONTROL</span>
-<p class="level1">Require SSL for the control connection or fail with <span Class="emphasis">CURLE_USE_SSL_FAILED</span>.
-<p class="level0"><a name="CURLUSESSLALL"></a><span class="nroffip">CURLUSESSL_ALL</span>
-<p class="level1">Require SSL for all communication or fail with <span Class="emphasis">CURLE_USE_SSL_FAILED</span>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">CURLUSESSL_NONE <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">FTP, SMTP, POP3, IMAP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/dir/file.ext");
-&nbsp;
-&nbsp; /* require use of SSL for this, or fail */
-&nbsp; curl_easy_setopt(curl, CURLOPT_USE_SSL, CURLUSESSL_ALL);
-&nbsp;
-&nbsp; /* Perform the request */
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.11.0. This option was known as CURLOPT_FTP_SSL up to 7.16.4, and the constants were known as CURLFTPSSL_* <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_SSLVERSION.html">CURLOPT_SSLVERSION</a>, <a Class="manpage" href="./CURLOPT_SSL_OPTIONS.html">CURLOPT_SSL_OPTIONS</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_USE_SSL.pdf b/docs/libcurl/opts/CURLOPT_USE_SSL.pdf
deleted file mode 100644
index 8dac213dc..000000000
--- a/docs/libcurl/opts/CURLOPT_USE_SSL.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_VERBOSE.html b/docs/libcurl/opts/CURLOPT_VERBOSE.html
deleted file mode 100644
index 58d5e94fe..000000000
--- a/docs/libcurl/opts/CURLOPT_VERBOSE.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_VERBOSE man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_VERBOSE - set verbose mode on/off <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_VERBOSE, long onoff); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Set the <span Class="emphasis">onoff</span> parameter to 1 to make the library display a lot of verbose information about its operations on this <span Class="emphasis">handle</span>. Very useful for libcurl and/or protocol debugging and understanding. The verbose information will be sent to stderr, or the stream set with <a Class="emphasis" href="./CURLOPT_STDERR.html">CURLOPT_STDERR</a>.
-<p class="level0">You hardly ever want this set in production use, you will almost always want this when you debug/report problems.
-<p class="level0">To also get all the protocol data sent and received, consider using the <a Class="emphasis" href="./CURLOPT_DEBUGFUNCTION.html">CURLOPT_DEBUGFUNCTION</a>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">0, meaning disabled. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><pre class="level0">
-CURL *curl = curl_easy_init();
-if(curl) {
-&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
-&nbsp;
-&nbsp; /* ask libcurl to show us the verbose output */
-&nbsp; curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
-&nbsp;
-&nbsp; /* Perform the request */
-&nbsp; curl_easy_perform(curl);
-}
-</pre>
-
-<p class="level0"><a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Always <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_STDERR.html">CURLOPT_STDERR</a>, <a Class="manpage" href="./CURLOPT_DEBUGFUNCTION.html">CURLOPT_DEBUGFUNCTION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_VERBOSE.pdf b/docs/libcurl/opts/CURLOPT_VERBOSE.pdf
deleted file mode 100644
index 7ba595f96..000000000
--- a/docs/libcurl/opts/CURLOPT_VERBOSE.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.html b/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.html
deleted file mode 100644
index 56c886600..000000000
--- a/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.html
+++ /dev/null
@@ -1,88 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_WILDCARDMATCH man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_WILDCARDMATCH - enable directory wildcard transfers <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_WILDCARDMATCH, long onoff); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Set <span Class="emphasis">onoff</span> to 1 if you want to transfer multiple files according to a file name pattern. The pattern can be specified as part of the <a Class="emphasis" href="./CURLOPT_URL.html">CURLOPT_URL</a> option, using an fnmatch-like pattern (Shell Pattern Matching) in the last part of URL (file name).
-<p class="level0">By default, libcurl uses its internal wildcard matching implementation. You can provide your own matching function by the <a Class="emphasis" href="./CURLOPT_FNMATCH_FUNCTION.html">CURLOPT_FNMATCH_FUNCTION</a> option.
-<p class="level0">A brief introduction of its syntax follows:
-<p class="level1">
-<p class="level0"><a name=""></a><span class="nroffip">* - ASTERISK</span>
-<p class="level1"><a href="ftp://example.com/some/path/">ftp://example.com/some/path/</a><span Class="bold">*.txt</span> (for all txt's from the root directory)
-<p class="level0">
-<p class="level1">
-<p class="level0"><a name=""></a><span class="nroffip">? - QUESTION MARK</span>
-<p class="level1">Question mark matches any (exactly one) character.
-<p class="level1"><a href="ftp://example.com/some/path/">ftp://example.com/some/path/</a><span Class="bold">photo?.jpeg</span>
-<p class="level0">
-<p class="level1">
-<p class="level0"><a name=""></a><span class="nroffip">[ - BRACKET EXPRESSION</span>
-<p class="level1">The left bracket opens a bracket expression. The question mark and asterisk have no special meaning in a bracket expression. Each bracket expression ends by the right bracket and matches exactly one character. Some examples follow:
-<p class="level1"><span Class="bold">[a-zA-Z0-9]</span> or <span Class="bold">[f-gF-G]</span> - character interval
-<p class="level1"><span Class="bold">[abc]</span> - character enumeration
-<p class="level1"><span Class="bold">[^abc]</span> or <span Class="bold">[!abc]</span> - negation
-<p class="level1"><a class="bold" href="#">[[:</a><span Class="emphasis">name</span><a class="bold" href="#">:]]</a> class expression. Supported classes are <span Class="bold">alnum</span>,<span Class="bold">lower</span>, <span Class="bold">space</span>, <span Class="bold">alpha</span>, <span Class="bold">digit</span>, <span Class="bold">print</span>, <span Class="bold">upper</span>, <span Class="bold">blank</span>, <span Class="bold">graph</span>, <span Class="bold">xdigit</span>.
-<p class="level1"><span Class="bold">[][-!^]</span> - special case - matches only '-', ']', '[', '!' or '^'. These characters have no special purpose.
-<p class="level1"><a class="bold" href="#">[\[\]\\]</a> - escape syntax. Matches '[', ']' or '&acute;.
-<p class="level1">Using the rules above, a file name pattern can be constructed:
-<p class="level1"><a href="ftp://example.com/some/path/">ftp://example.com/some/path/</a><span Class="bold">[a-z[:upper:]\\].jpeg</span>
-<p class="level0">
-<p class="level0"><a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">This feature is only supported for FTP download. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">See <a href="https://curl.haxx.se/libcurl/c/ftp-wildcard.html">https://curl.haxx.se/libcurl/c/ftp-wildcard.html</a> <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.21.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_FNMATCH_FUNCTION.html">CURLOPT_FNMATCH_FUNCTION</a>, <a Class="manpage" href="./CURLOPT_URL.html">CURLOPT_URL</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.pdf b/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.pdf
deleted file mode 100644
index e6fbe09f2..000000000
--- a/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_WRITEDATA.html b/docs/libcurl/opts/CURLOPT_WRITEDATA.html
deleted file mode 100644
index c147ef07d..000000000
--- a/docs/libcurl/opts/CURLOPT_WRITEDATA.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_WRITEDATA man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_WRITEDATA - custom pointer passed to the write callback <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_WRITEDATA, void *pointer); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">A data <span Class="emphasis">pointer</span> to pass to the write callback. If you use the <a Class="emphasis" href="./CURLOPT_WRITEFUNCTION.html">CURLOPT_WRITEFUNCTION</a> option, this is the pointer you'll get in that callback's 4th argument. If you don't use a write callback, you must make <span Class="emphasis">pointer</span> a 'FILE *' (cast to 'void *') as libcurl will pass this to <span Class="emphasis">fwrite(3)</span> when writing data.
-<p class="level0">The internal <a Class="emphasis" href="./CURLOPT_WRITEFUNCTION.html">CURLOPT_WRITEFUNCTION</a> will write the data to the FILE * given with this option, or to stdout if this option hasn't been set.
-<p class="level0">If you're using libcurl as a win32 DLL, you <span Class="bold">MUST</span> use the <a Class="emphasis" href="./CURLOPT_WRITEFUNCTION.html">CURLOPT_WRITEFUNCTION</a> if you set this option or you will experience crashes. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">By default, this is a FILE * to stdout. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">Used for all protocols. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">A common technique is to use the write callback to store the incoming data into a dynamically growing allocated buffer, and then this <a Class="emphasis" href="./CURLOPT_WRITEDATA.html">CURLOPT_WRITEDATA</a> is used to point to a struct or the buffer to store data in. Like in the getinmemory example: <a href="https://curl.haxx.se/libcurl/c/getinmemory.html">https://curl.haxx.se/libcurl/c/getinmemory.html</a> <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Available in all libcurl versions. This option was formerly known as <span Class="emphasis">CURLOPT_FILE</span>, the name <a Class="emphasis" href="./CURLOPT_WRITEDATA.html">CURLOPT_WRITEDATA</a> was introduced in 7.9.7. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">This will return CURLE_OK. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_WRITEFUNCTION.html">CURLOPT_WRITEFUNCTION</a>, <a Class="manpage" href="./CURLOPT_READDATA.html">CURLOPT_READDATA</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_WRITEDATA.pdf b/docs/libcurl/opts/CURLOPT_WRITEDATA.pdf
deleted file mode 100644
index 5a7a276e3..000000000
--- a/docs/libcurl/opts/CURLOPT_WRITEDATA.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.html b/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.html
deleted file mode 100644
index 3acb7e653..000000000
--- a/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_WRITEFUNCTION man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_WRITEFUNCTION - set callback for writing received data <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0"><pre class="level0">
-&#35;include &lt;curl/curl.h&gt;
-&nbsp;
-size_t write_callback(char *ptr, size_t size, size_t nmemb, void *userdata);
-&nbsp;
-CURLcode curl_easy_setopt(CURL *handle, CURLOPT_WRITEFUNCTION, write_callback);
-</pre>
-<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to your callback function, which should match the prototype shown above.
-<p class="level0">This callback function gets called by libcurl as soon as there is data received that needs to be saved. <span Class="emphasis">ptr</span> points to the delivered data, and the size of that data is <span Class="emphasis">size</span> multiplied with <span Class="emphasis">nmemb</span>.
-<p class="level0">The callback function will be passed as much data as possible in all invokes, but you must not make any assumptions. It may be one byte, it may be thousands. The maximum amount of body data that will be passed to the write callback is defined in the curl.h header file: <span Class="emphasis">CURL_MAX_WRITE_SIZE</span> (the usual default is 16K). If <a Class="emphasis" href="./CURLOPT_HEADER.html">CURLOPT_HEADER</a> is enabled, which makes header data get passed to the write callback, you can get up to <span Class="emphasis">CURL_MAX_HTTP_HEADER</span> bytes of header data passed into it. This usually means 100K.
-<p class="level0">This function may be called with zero bytes data if the transferred file is empty.
-<p class="level0">The data passed to this function will not be zero terminated!
-<p class="level0">Set the <span Class="emphasis">userdata</span> argument with the <a Class="emphasis" href="./CURLOPT_WRITEDATA.html">CURLOPT_WRITEDATA</a> option.
-<p class="level0">Your callback should return the number of bytes actually taken care of. If that amount differs from the amount passed to your callback function, it'll signal an error condition to the library. This will cause the transfer to get aborted and the libcurl function used will return <span Class="emphasis">CURLE_WRITE_ERROR</span>.
-<p class="level0">If your callback function returns CURL_WRITEFUNC_PAUSE it will cause this transfer to become paused. See <span Class="emphasis">curl_easy_pause(3)</span> for further details.
-<p class="level0">Set this option to NULL to get the internal default function used instead of your callback. The internal default function will write the data to the FILE * given with <a Class="emphasis" href="./CURLOPT_WRITEDATA.html">CURLOPT_WRITEDATA</a>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">libcurl will use 'fwrite' as a callback by default. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">For all protocols <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Support for the CURL_WRITEFUNC_PAUSE return code was added in version 7.18.0. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">This will return CURLE_OK. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">A common technique is to use this callback to store the incoming data into a dynamically growing allocated buffer. Like in the getinmemory example: <a href="https://curl.haxx.se/libcurl/c/getinmemory.html">https://curl.haxx.se/libcurl/c/getinmemory.html</a> <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_WRITEDATA.html">CURLOPT_WRITEDATA</a>, <a Class="manpage" href="./CURLOPT_READFUNCTION.html">CURLOPT_READFUNCTION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.pdf b/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.pdf
deleted file mode 100644
index 6c013abd4..000000000
--- a/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_XFERINFODATA.html b/docs/libcurl/opts/CURLOPT_XFERINFODATA.html
deleted file mode 100644
index 8946e15bb..000000000
--- a/docs/libcurl/opts/CURLOPT_XFERINFODATA.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_XFERINFODATA man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_XFERINFODATA - custom pointer passed to the progress callback <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_XFERINFODATA, void *pointer); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a <span Class="emphasis">pointer</span> that will be untouched by libcurl and passed as the first argument in the progress callback set with <a Class="emphasis" href="./CURLOPT_XFERINFOFUNCTION.html">CURLOPT_XFERINFOFUNCTION</a>.
-<p class="level0">This is an alias for <a Class="emphasis" href="./CURLOPT_PROGRESSDATA.html">CURLOPT_PROGRESSDATA</a>. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">The default value of this parameter is NULL. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><a href="https://curl.haxx.se/libcurl/c/progressfunc.html">https://curl.haxx.se/libcurl/c/progressfunc.html</a> <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.32.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_XFERINFOFUNCTION.html">CURLOPT_XFERINFOFUNCTION</a>, <a Class="manpage" href="./CURLOPT_XFERINFOFUNCTION.html">CURLOPT_XFERINFOFUNCTION</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_XFERINFODATA.pdf b/docs/libcurl/opts/CURLOPT_XFERINFODATA.pdf
deleted file mode 100644
index 6a1f67dae..000000000
--- a/docs/libcurl/opts/CURLOPT_XFERINFODATA.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.html b/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.html
deleted file mode 100644
index a5a2e5887..000000000
--- a/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.html
+++ /dev/null
@@ -1,73 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_XFERINFOFUNCTION man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_XFERINFOFUNCTION - callback to progress meter function <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">int progress_callback(void *clientp, &nbsp; curl_off_t dltotal, &nbsp; curl_off_t dlnow, &nbsp; curl_off_t ultotal, &nbsp; curl_off_t ulnow);
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_XFERINFOFUNCTION, progress_callback); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a pointer to your callback function, which should match the prototype shown above.
-<p class="level0">This function gets called by libcurl instead of its internal equivalent with a frequent interval. While data is being transferred it will be called very frequently, and during slow periods like when nothing is being transferred it can slow down to about one call per second.
-<p class="level0"><span Class="emphasis">clientp</span> is the pointer set with <a Class="emphasis" href="./CURLOPT_XFERINFODATA.html">CURLOPT_XFERINFODATA</a>, it is not used by libcurl but is only passed along from the application to the callback.
-<p class="level0">The callback gets told how much data libcurl will transfer and has transferred, in number of bytes. <span Class="emphasis">dltotal</span> is the total number of bytes libcurl expects to download in this transfer. <span Class="emphasis">dlnow</span> is the number of bytes downloaded so far. <span Class="emphasis">ultotal</span> is the total number of bytes libcurl expects to upload in this transfer. <span Class="emphasis">ulnow</span> is the number of bytes uploaded so far.
-<p class="level0">Unknown/unused argument values passed to the callback will be set to zero (like if you only download data, the upload size will remain 0). Many times the callback will be called one or more times first, before it knows the data sizes so a program must be made to handle that.
-<p class="level0">Returning a non-zero value from this callback will cause libcurl to abort the transfer and return <span Class="emphasis">CURLE_ABORTED_BY_CALLBACK</span>.
-<p class="level0">If you transfer data with the multi interface, this function will not be called during periods of idleness unless you call the appropriate libcurl function that performs transfers.
-<p class="level0"><a Class="emphasis" href="./CURLOPT_NOPROGRESS.html">CURLOPT_NOPROGRESS</a> must be set to 0 to make this function actually get called. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">By default, libcurl has an internal progress meter. That's rarely wanted by users. <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">All <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0"><a href="https://curl.haxx.se/libcurl/c/progressfunc.html">https://curl.haxx.se/libcurl/c/progressfunc.html</a> <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.32.0. This callback replaces <a Class="emphasis" href="./CURLOPT_PROGRESSFUNCTION.html">CURLOPT_PROGRESSFUNCTION</a> <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_XFERINFODATA.html">CURLOPT_XFERINFODATA</a>, <a Class="manpage" href="./CURLOPT_NOPROGRESS.html">CURLOPT_NOPROGRESS</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.pdf b/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.pdf
deleted file mode 100644
index 70ae49be7..000000000
--- a/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.3 b/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.3
index b6c1feef6..f5c59ac5b 100644
--- a/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.3
+++ b/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.3
@@ -34,6 +34,9 @@ the OAuth 2.0 Authorization Framework.
Note: The user name used to generate the Bearer Token should be supplied via
the \fICURLOPT_USERNAME(3)\fP option.
+
+The application does not have to keep the string around after setting this
+option.
.SH DEFAULT
NULL
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.html b/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.html
deleted file mode 100644
index e502102dc..000000000
--- a/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>CURLOPT_XOAUTH2_BEARER man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">CURLOPT_XOAUTH2_BEARER - specify OAuth 2.0 access token <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">&#35;include &lt;curl/curl.h&gt;
-<p class="level0">CURLcode curl_easy_setopt(CURL *handle, CURLOPT_XOAUTH2_BEARER, char *token); <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">Pass a char * as parameter, which should point to the zero terminated OAuth 2.0 Bearer Access Token for use with IMAP, POP3 and SMTP servers that support the OAuth 2.0 Authorization Framework.
-<p class="level0">Note: The user name used to generate the Bearer Token should be supplied via the <a Class="emphasis" href="./CURLOPT_USERNAME.html">CURLOPT_USERNAME</a> option. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
-<p class="level0">NULL <a name="PROTOCOLS"></a><h2 class="nroffsh">PROTOCOLS</h2>
-<p class="level0">IMAP, POP3 and SMTP <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
-<p class="level0">TODO <a name="AVAILABILITY"></a><h2 class="nroffsh">AVAILABILITY</h2>
-<p class="level0">Added in 7.33.0 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
-<p class="level0">Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. <a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><a Class="manpage" href="./CURLOPT_MAIL_AUTH.html">CURLOPT_MAIL_AUTH</a>, <a Class="manpage" href="./CURLOPT_USERNAME.html">CURLOPT_USERNAME</a><p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.pdf b/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.pdf
deleted file mode 100644
index a6585bdde..000000000
--- a/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.pdf
+++ /dev/null
Binary files differ
diff --git a/docs/libcurl/opts/Makefile.am b/docs/libcurl/opts/Makefile.am
index a3fc0647f..80f28ca9b 100644
--- a/docs/libcurl/opts/Makefile.am
+++ b/docs/libcurl/opts/Makefile.am
@@ -49,7 +49,9 @@ man_MANS = \
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 \
@@ -59,6 +61,7 @@ man_MANS = \
CURLINFO_RTSP_CSEQ_RECV.3 \
CURLINFO_RTSP_SERVER_CSEQ.3 \
CURLINFO_RTSP_SESSION_ID.3 \
+ CURLINFO_SCHEME.3 \
CURLINFO_SIZE_DOWNLOAD.3 \
CURLINFO_SIZE_UPLOAD.3 \
CURLINFO_SPEED_DOWNLOAD.3 \
@@ -84,6 +87,7 @@ man_MANS = \
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 \
@@ -170,6 +174,7 @@ man_MANS = \
CURLOPT_IOCTLFUNCTION.3 \
CURLOPT_IPRESOLVE.3 \
CURLOPT_ISSUERCERT.3 \
+ CURLOPT_KEEP_SENDING_ON_ERROR.3 \
CURLOPT_KEYPASSWD.3 \
CURLOPT_KRBLEVEL.3 \
CURLOPT_LOCALPORT.3 \
@@ -208,6 +213,7 @@ man_MANS = \
CURLOPT_POSTQUOTE.3 \
CURLOPT_POSTREDIR.3 \
CURLOPT_PREQUOTE.3 \
+ CURLOPT_PRE_PROXY.3 \
CURLOPT_PRIVATE.3 \
CURLOPT_PROGRESSDATA.3 \
CURLOPT_PROGRESSFUNCTION.3 \
@@ -220,7 +226,24 @@ man_MANS = \
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 \
@@ -326,6 +349,7 @@ HTMLPAGES = \
CURLINFO_HEADER_SIZE.html \
CURLINFO_HTTPAUTH_AVAIL.html \
CURLINFO_HTTP_CONNECTCODE.html \
+ CURLINFO_HTTP_VERSION.html \
CURLINFO_LASTSOCKET.html \
CURLINFO_LOCAL_IP.html \
CURLINFO_LOCAL_PORT.html \
@@ -336,7 +360,9 @@ HTMLPAGES = \
CURLINFO_PRIMARY_IP.html \
CURLINFO_PRIMARY_PORT.html \
CURLINFO_PRIVATE.html \
+ CURLINFO_PROTOCOL.html \
CURLINFO_PROXYAUTH_AVAIL.html \
+ CURLINFO_PROXY_SSL_VERIFYRESULT.html \
CURLINFO_REDIRECT_COUNT.html \
CURLINFO_REDIRECT_TIME.html \
CURLINFO_REDIRECT_URL.html \
@@ -346,6 +372,7 @@ HTMLPAGES = \
CURLINFO_RTSP_CSEQ_RECV.html \
CURLINFO_RTSP_SERVER_CSEQ.html \
CURLINFO_RTSP_SESSION_ID.html \
+ CURLINFO_SCHEME.html \
CURLINFO_SIZE_DOWNLOAD.html \
CURLINFO_SIZE_UPLOAD.html \
CURLINFO_SPEED_DOWNLOAD.html \
@@ -371,6 +398,7 @@ HTMLPAGES = \
CURLMOPT_SOCKETFUNCTION.html \
CURLMOPT_TIMERDATA.html \
CURLMOPT_TIMERFUNCTION.html \
+ CURLOPT_ABSTRACT_UNIX_SOCKET.html \
CURLOPT_ACCEPTTIMEOUT_MS.html \
CURLOPT_ACCEPT_ENCODING.html \
CURLOPT_ADDRESS_SCOPE.html \
@@ -457,6 +485,7 @@ HTMLPAGES = \
CURLOPT_IOCTLFUNCTION.html \
CURLOPT_IPRESOLVE.html \
CURLOPT_ISSUERCERT.html \
+ CURLOPT_KEEP_SENDING_ON_ERROR.html \
CURLOPT_KEYPASSWD.html \
CURLOPT_KRBLEVEL.html \
CURLOPT_LOCALPORT.html \
@@ -495,6 +524,7 @@ HTMLPAGES = \
CURLOPT_POSTQUOTE.html \
CURLOPT_POSTREDIR.html \
CURLOPT_PREQUOTE.html \
+ CURLOPT_PRE_PROXY.html \
CURLOPT_PRIVATE.html \
CURLOPT_PROGRESSDATA.html \
CURLOPT_PROGRESSFUNCTION.html \
@@ -507,7 +537,24 @@ HTMLPAGES = \
CURLOPT_PROXYTYPE.html \
CURLOPT_PROXYUSERNAME.html \
CURLOPT_PROXYUSERPWD.html \
+ CURLOPT_PROXY_CAINFO.html \
+ CURLOPT_PROXY_CAPATH.html \
+ CURLOPT_PROXY_CRLFILE.html \
+ CURLOPT_PROXY_KEYPASSWD.html \
+ CURLOPT_PROXY_PINNEDPUBLICKEY.html \
CURLOPT_PROXY_SERVICE_NAME.html \
+ CURLOPT_PROXY_SSLCERT.html \
+ CURLOPT_PROXY_SSLCERTTYPE.html \
+ CURLOPT_PROXY_SSLKEY.html \
+ CURLOPT_PROXY_SSLKEYTYPE.html \
+ CURLOPT_PROXY_SSLVERSION.html \
+ CURLOPT_PROXY_SSL_CIPHER_LIST.html \
+ CURLOPT_PROXY_SSL_OPTIONS.html \
+ CURLOPT_PROXY_SSL_VERIFYHOST.html \
+ CURLOPT_PROXY_SSL_VERIFYPEER.html \
+ CURLOPT_PROXY_TLSAUTH_PASSWORD.html \
+ CURLOPT_PROXY_TLSAUTH_TYPE.html \
+ CURLOPT_PROXY_TLSAUTH_USERNAME.html \
CURLOPT_PROXY_TRANSFER_MODE.html \
CURLOPT_PUT.html \
CURLOPT_QUOTE.html \
@@ -613,6 +660,7 @@ PDFPAGES = \
CURLINFO_HEADER_SIZE.pdf \
CURLINFO_HTTPAUTH_AVAIL.pdf \
CURLINFO_HTTP_CONNECTCODE.pdf \
+ CURLINFO_HTTP_VERSION.pdf \
CURLINFO_LASTSOCKET.pdf \
CURLINFO_LOCAL_IP.pdf \
CURLINFO_LOCAL_PORT.pdf \
@@ -623,7 +671,9 @@ PDFPAGES = \
CURLINFO_PRIMARY_IP.pdf \
CURLINFO_PRIMARY_PORT.pdf \
CURLINFO_PRIVATE.pdf \
+ CURLINFO_PROTOCOL.pdf \
CURLINFO_PROXYAUTH_AVAIL.pdf \
+ CURLINFO_PROXY_SSL_VERIFYRESULT.pdf \
CURLINFO_REDIRECT_COUNT.pdf \
CURLINFO_REDIRECT_TIME.pdf \
CURLINFO_REDIRECT_URL.pdf \
@@ -633,6 +683,7 @@ PDFPAGES = \
CURLINFO_RTSP_CSEQ_RECV.pdf \
CURLINFO_RTSP_SERVER_CSEQ.pdf \
CURLINFO_RTSP_SESSION_ID.pdf \
+ CURLINFO_SCHEME.pdf \
CURLINFO_SIZE_DOWNLOAD.pdf \
CURLINFO_SIZE_UPLOAD.pdf \
CURLINFO_SPEED_DOWNLOAD.pdf \
@@ -658,6 +709,7 @@ PDFPAGES = \
CURLMOPT_SOCKETFUNCTION.pdf \
CURLMOPT_TIMERDATA.pdf \
CURLMOPT_TIMERFUNCTION.pdf \
+ CURLOPT_ABSTRACT_UNIX_SOCKET.pdf \
CURLOPT_ACCEPTTIMEOUT_MS.pdf \
CURLOPT_ACCEPT_ENCODING.pdf \
CURLOPT_ADDRESS_SCOPE.pdf \
@@ -744,6 +796,7 @@ PDFPAGES = \
CURLOPT_IOCTLFUNCTION.pdf \
CURLOPT_IPRESOLVE.pdf \
CURLOPT_ISSUERCERT.pdf \
+ CURLOPT_KEEP_SENDING_ON_ERROR.pdf \
CURLOPT_KEYPASSWD.pdf \
CURLOPT_KRBLEVEL.pdf \
CURLOPT_LOCALPORT.pdf \
@@ -782,6 +835,7 @@ PDFPAGES = \
CURLOPT_POSTQUOTE.pdf \
CURLOPT_POSTREDIR.pdf \
CURLOPT_PREQUOTE.pdf \
+ CURLOPT_PRE_PROXY.pdf \
CURLOPT_PRIVATE.pdf \
CURLOPT_PROGRESSDATA.pdf \
CURLOPT_PROGRESSFUNCTION.pdf \
@@ -794,7 +848,24 @@ PDFPAGES = \
CURLOPT_PROXYTYPE.pdf \
CURLOPT_PROXYUSERNAME.pdf \
CURLOPT_PROXYUSERPWD.pdf \
+ CURLOPT_PROXY_CAINFO.pdf \
+ CURLOPT_PROXY_CAPATH.pdf \
+ CURLOPT_PROXY_CRLFILE.pdf \
+ CURLOPT_PROXY_KEYPASSWD.pdf \
+ CURLOPT_PROXY_PINNEDPUBLICKEY.pdf \
CURLOPT_PROXY_SERVICE_NAME.pdf \
+ CURLOPT_PROXY_SSLCERT.pdf \
+ CURLOPT_PROXY_SSLCERTTYPE.pdf \
+ CURLOPT_PROXY_SSLKEY.pdf \
+ CURLOPT_PROXY_SSLKEYTYPE.pdf \
+ CURLOPT_PROXY_SSLVERSION.pdf \
+ CURLOPT_PROXY_SSL_CIPHER_LIST.pdf \
+ CURLOPT_PROXY_SSL_OPTIONS.pdf \
+ CURLOPT_PROXY_SSL_VERIFYHOST.pdf \
+ CURLOPT_PROXY_SSL_VERIFYPEER.pdf \
+ CURLOPT_PROXY_TLSAUTH_PASSWORD.pdf \
+ CURLOPT_PROXY_TLSAUTH_TYPE.pdf \
+ CURLOPT_PROXY_TLSAUTH_USERNAME.pdf \
CURLOPT_PROXY_TRANSFER_MODE.pdf \
CURLOPT_PUT.pdf \
CURLOPT_QUOTE.pdf \
@@ -886,7 +957,7 @@ PDFPAGES = \
CLEANFILES = $(HTMLPAGES) $(PDFPAGES)
-EXTRA_DIST = $(man_MANS) $(HTMLPAGES) $(PDFPAGES)
+EXTRA_DIST = $(man_MANS)
MAN2HTML= roffit --mandir=. $< >$@
SUFFIXES = .3 .html
@@ -907,3 +978,9 @@ pdf: $(PDFPAGES)
mancheck:
@cd $(top_srcdir)/docs/libcurl/opts && ls `awk -F, '!/OBSOLETE/ && /^ CINIT/ { a=substr($$1, 9); print "CURLOPT_" a ".3"}' $(top_srcdir)/include/curl/curl.h`
+ rm -f in_temp
+ @(for a in $(man_MANS); do echo $$a >>in_temp; done)
+ sort in_temp > in_makefile
+ ls CURL*.3 > in_directory
+ -diff -u in_makefile in_directory
+ rm in_temp in_directory in_makefile
diff --git a/docs/libcurl/opts/Makefile.in b/docs/libcurl/opts/Makefile.in
index ab461ed54..65db42ef6 100644
--- a/docs/libcurl/opts/Makefile.in
+++ b/docs/libcurl/opts/Makefile.in
@@ -408,7 +408,9 @@ man_MANS = \
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 \
@@ -418,6 +420,7 @@ man_MANS = \
CURLINFO_RTSP_CSEQ_RECV.3 \
CURLINFO_RTSP_SERVER_CSEQ.3 \
CURLINFO_RTSP_SESSION_ID.3 \
+ CURLINFO_SCHEME.3 \
CURLINFO_SIZE_DOWNLOAD.3 \
CURLINFO_SIZE_UPLOAD.3 \
CURLINFO_SPEED_DOWNLOAD.3 \
@@ -443,6 +446,7 @@ man_MANS = \
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 \
@@ -529,6 +533,7 @@ man_MANS = \
CURLOPT_IOCTLFUNCTION.3 \
CURLOPT_IPRESOLVE.3 \
CURLOPT_ISSUERCERT.3 \
+ CURLOPT_KEEP_SENDING_ON_ERROR.3 \
CURLOPT_KEYPASSWD.3 \
CURLOPT_KRBLEVEL.3 \
CURLOPT_LOCALPORT.3 \
@@ -567,6 +572,7 @@ man_MANS = \
CURLOPT_POSTQUOTE.3 \
CURLOPT_POSTREDIR.3 \
CURLOPT_PREQUOTE.3 \
+ CURLOPT_PRE_PROXY.3 \
CURLOPT_PRIVATE.3 \
CURLOPT_PROGRESSDATA.3 \
CURLOPT_PROGRESSFUNCTION.3 \
@@ -579,7 +585,24 @@ man_MANS = \
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 \
@@ -685,6 +708,7 @@ HTMLPAGES = \
CURLINFO_HEADER_SIZE.html \
CURLINFO_HTTPAUTH_AVAIL.html \
CURLINFO_HTTP_CONNECTCODE.html \
+ CURLINFO_HTTP_VERSION.html \
CURLINFO_LASTSOCKET.html \
CURLINFO_LOCAL_IP.html \
CURLINFO_LOCAL_PORT.html \
@@ -695,7 +719,9 @@ HTMLPAGES = \
CURLINFO_PRIMARY_IP.html \
CURLINFO_PRIMARY_PORT.html \
CURLINFO_PRIVATE.html \
+ CURLINFO_PROTOCOL.html \
CURLINFO_PROXYAUTH_AVAIL.html \
+ CURLINFO_PROXY_SSL_VERIFYRESULT.html \
CURLINFO_REDIRECT_COUNT.html \
CURLINFO_REDIRECT_TIME.html \
CURLINFO_REDIRECT_URL.html \
@@ -705,6 +731,7 @@ HTMLPAGES = \
CURLINFO_RTSP_CSEQ_RECV.html \
CURLINFO_RTSP_SERVER_CSEQ.html \
CURLINFO_RTSP_SESSION_ID.html \
+ CURLINFO_SCHEME.html \
CURLINFO_SIZE_DOWNLOAD.html \
CURLINFO_SIZE_UPLOAD.html \
CURLINFO_SPEED_DOWNLOAD.html \
@@ -730,6 +757,7 @@ HTMLPAGES = \
CURLMOPT_SOCKETFUNCTION.html \
CURLMOPT_TIMERDATA.html \
CURLMOPT_TIMERFUNCTION.html \
+ CURLOPT_ABSTRACT_UNIX_SOCKET.html \
CURLOPT_ACCEPTTIMEOUT_MS.html \
CURLOPT_ACCEPT_ENCODING.html \
CURLOPT_ADDRESS_SCOPE.html \
@@ -816,6 +844,7 @@ HTMLPAGES = \
CURLOPT_IOCTLFUNCTION.html \
CURLOPT_IPRESOLVE.html \
CURLOPT_ISSUERCERT.html \
+ CURLOPT_KEEP_SENDING_ON_ERROR.html \
CURLOPT_KEYPASSWD.html \
CURLOPT_KRBLEVEL.html \
CURLOPT_LOCALPORT.html \
@@ -854,6 +883,7 @@ HTMLPAGES = \
CURLOPT_POSTQUOTE.html \
CURLOPT_POSTREDIR.html \
CURLOPT_PREQUOTE.html \
+ CURLOPT_PRE_PROXY.html \
CURLOPT_PRIVATE.html \
CURLOPT_PROGRESSDATA.html \
CURLOPT_PROGRESSFUNCTION.html \
@@ -866,7 +896,24 @@ HTMLPAGES = \
CURLOPT_PROXYTYPE.html \
CURLOPT_PROXYUSERNAME.html \
CURLOPT_PROXYUSERPWD.html \
+ CURLOPT_PROXY_CAINFO.html \
+ CURLOPT_PROXY_CAPATH.html \
+ CURLOPT_PROXY_CRLFILE.html \
+ CURLOPT_PROXY_KEYPASSWD.html \
+ CURLOPT_PROXY_PINNEDPUBLICKEY.html \
CURLOPT_PROXY_SERVICE_NAME.html \
+ CURLOPT_PROXY_SSLCERT.html \
+ CURLOPT_PROXY_SSLCERTTYPE.html \
+ CURLOPT_PROXY_SSLKEY.html \
+ CURLOPT_PROXY_SSLKEYTYPE.html \
+ CURLOPT_PROXY_SSLVERSION.html \
+ CURLOPT_PROXY_SSL_CIPHER_LIST.html \
+ CURLOPT_PROXY_SSL_OPTIONS.html \
+ CURLOPT_PROXY_SSL_VERIFYHOST.html \
+ CURLOPT_PROXY_SSL_VERIFYPEER.html \
+ CURLOPT_PROXY_TLSAUTH_PASSWORD.html \
+ CURLOPT_PROXY_TLSAUTH_TYPE.html \
+ CURLOPT_PROXY_TLSAUTH_USERNAME.html \
CURLOPT_PROXY_TRANSFER_MODE.html \
CURLOPT_PUT.html \
CURLOPT_QUOTE.html \
@@ -972,6 +1019,7 @@ PDFPAGES = \
CURLINFO_HEADER_SIZE.pdf \
CURLINFO_HTTPAUTH_AVAIL.pdf \
CURLINFO_HTTP_CONNECTCODE.pdf \
+ CURLINFO_HTTP_VERSION.pdf \
CURLINFO_LASTSOCKET.pdf \
CURLINFO_LOCAL_IP.pdf \
CURLINFO_LOCAL_PORT.pdf \
@@ -982,7 +1030,9 @@ PDFPAGES = \
CURLINFO_PRIMARY_IP.pdf \
CURLINFO_PRIMARY_PORT.pdf \
CURLINFO_PRIVATE.pdf \
+ CURLINFO_PROTOCOL.pdf \
CURLINFO_PROXYAUTH_AVAIL.pdf \
+ CURLINFO_PROXY_SSL_VERIFYRESULT.pdf \
CURLINFO_REDIRECT_COUNT.pdf \
CURLINFO_REDIRECT_TIME.pdf \
CURLINFO_REDIRECT_URL.pdf \
@@ -992,6 +1042,7 @@ PDFPAGES = \
CURLINFO_RTSP_CSEQ_RECV.pdf \
CURLINFO_RTSP_SERVER_CSEQ.pdf \
CURLINFO_RTSP_SESSION_ID.pdf \
+ CURLINFO_SCHEME.pdf \
CURLINFO_SIZE_DOWNLOAD.pdf \
CURLINFO_SIZE_UPLOAD.pdf \
CURLINFO_SPEED_DOWNLOAD.pdf \
@@ -1017,6 +1068,7 @@ PDFPAGES = \
CURLMOPT_SOCKETFUNCTION.pdf \
CURLMOPT_TIMERDATA.pdf \
CURLMOPT_TIMERFUNCTION.pdf \
+ CURLOPT_ABSTRACT_UNIX_SOCKET.pdf \
CURLOPT_ACCEPTTIMEOUT_MS.pdf \
CURLOPT_ACCEPT_ENCODING.pdf \
CURLOPT_ADDRESS_SCOPE.pdf \
@@ -1103,6 +1155,7 @@ PDFPAGES = \
CURLOPT_IOCTLFUNCTION.pdf \
CURLOPT_IPRESOLVE.pdf \
CURLOPT_ISSUERCERT.pdf \
+ CURLOPT_KEEP_SENDING_ON_ERROR.pdf \
CURLOPT_KEYPASSWD.pdf \
CURLOPT_KRBLEVEL.pdf \
CURLOPT_LOCALPORT.pdf \
@@ -1141,6 +1194,7 @@ PDFPAGES = \
CURLOPT_POSTQUOTE.pdf \
CURLOPT_POSTREDIR.pdf \
CURLOPT_PREQUOTE.pdf \
+ CURLOPT_PRE_PROXY.pdf \
CURLOPT_PRIVATE.pdf \
CURLOPT_PROGRESSDATA.pdf \
CURLOPT_PROGRESSFUNCTION.pdf \
@@ -1153,7 +1207,24 @@ PDFPAGES = \
CURLOPT_PROXYTYPE.pdf \
CURLOPT_PROXYUSERNAME.pdf \
CURLOPT_PROXYUSERPWD.pdf \
+ CURLOPT_PROXY_CAINFO.pdf \
+ CURLOPT_PROXY_CAPATH.pdf \
+ CURLOPT_PROXY_CRLFILE.pdf \
+ CURLOPT_PROXY_KEYPASSWD.pdf \
+ CURLOPT_PROXY_PINNEDPUBLICKEY.pdf \
CURLOPT_PROXY_SERVICE_NAME.pdf \
+ CURLOPT_PROXY_SSLCERT.pdf \
+ CURLOPT_PROXY_SSLCERTTYPE.pdf \
+ CURLOPT_PROXY_SSLKEY.pdf \
+ CURLOPT_PROXY_SSLKEYTYPE.pdf \
+ CURLOPT_PROXY_SSLVERSION.pdf \
+ CURLOPT_PROXY_SSL_CIPHER_LIST.pdf \
+ CURLOPT_PROXY_SSL_OPTIONS.pdf \
+ CURLOPT_PROXY_SSL_VERIFYHOST.pdf \
+ CURLOPT_PROXY_SSL_VERIFYPEER.pdf \
+ CURLOPT_PROXY_TLSAUTH_PASSWORD.pdf \
+ CURLOPT_PROXY_TLSAUTH_TYPE.pdf \
+ CURLOPT_PROXY_TLSAUTH_USERNAME.pdf \
CURLOPT_PROXY_TRANSFER_MODE.pdf \
CURLOPT_PUT.pdf \
CURLOPT_QUOTE.pdf \
@@ -1244,7 +1315,7 @@ PDFPAGES = \
CURLOPT_XOAUTH2_BEARER.pdf
CLEANFILES = $(HTMLPAGES) $(PDFPAGES)
-EXTRA_DIST = $(man_MANS) $(HTMLPAGES) $(PDFPAGES)
+EXTRA_DIST = $(man_MANS)
MAN2HTML = roffit --mandir=. $< >$@
SUFFIXES = .3 .html
all: all-am
@@ -1502,6 +1573,12 @@ pdf: $(PDFPAGES)
mancheck:
@cd $(top_srcdir)/docs/libcurl/opts && ls `awk -F, '!/OBSOLETE/ && /^ CINIT/ { a=substr($$1, 9); print "CURLOPT_" a ".3"}' $(top_srcdir)/include/curl/curl.h`
+ rm -f in_temp
+ @(for a in $(man_MANS); do echo $$a >>in_temp; done)
+ sort in_temp > in_makefile
+ ls CURL*.3 > in_directory
+ -diff -u in_makefile in_directory
+ rm in_temp in_directory in_makefile
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/docs/libcurl/symbols-in-versions b/docs/libcurl/symbols-in-versions
index 5aadef2a6..8834ada54 100644
--- a/docs/libcurl/symbols-in-versions
+++ b/docs/libcurl/symbols-in-versions
@@ -140,6 +140,7 @@ CURLE_UPLOAD_FAILED 7.16.3
CURLE_URL_MALFORMAT 7.1
CURLE_URL_MALFORMAT_USER 7.1 7.17.0
CURLE_USE_SSL_FAILED 7.17.0
+CURLE_WEIRD_SERVER_REPLY 7.51.0
CURLE_WRITE_ERROR 7.1
CURLFILETYPE_DEVICE_BLOCK 7.21.0
CURLFILETYPE_DEVICE_CHAR 7.21.0
@@ -238,7 +239,9 @@ CURLINFO_PRETRANSFER_TIME 7.4.1
CURLINFO_PRIMARY_IP 7.19.0
CURLINFO_PRIMARY_PORT 7.21.0
CURLINFO_PRIVATE 7.10.3
+CURLINFO_PROTOCOL 7.52.0
CURLINFO_PROXYAUTH_AVAIL 7.10.8
+CURLINFO_PROXY_SSL_VERIFYRESULT 7.52.0
CURLINFO_REDIRECT_COUNT 7.9.7
CURLINFO_REDIRECT_TIME 7.9.7
CURLINFO_REDIRECT_URL 7.18.2
@@ -248,6 +251,7 @@ CURLINFO_RTSP_CLIENT_CSEQ 7.20.0
CURLINFO_RTSP_CSEQ_RECV 7.20.0
CURLINFO_RTSP_SERVER_CSEQ 7.20.0
CURLINFO_RTSP_SESSION_ID 7.20.0
+CURLINFO_SCHEME 7.52.0
CURLINFO_SIZE_DOWNLOAD 7.4.1
CURLINFO_SIZE_UPLOAD 7.4.1
CURLINFO_SLIST 7.12.3
@@ -313,6 +317,7 @@ CURLOPTTYPE_LONG 7.1
CURLOPTTYPE_OBJECTPOINT 7.1
CURLOPTTYPE_OFF_T 7.11.0
CURLOPTTYPE_STRINGPOINT 7.46.0
+CURLOPT_ABSTRACT_UNIX_SOCKET 7.53.0
CURLOPT_ACCEPTTIMEOUT_MS 7.24.0
CURLOPT_ACCEPT_ENCODING 7.21.6
CURLOPT_ADDRESS_SCOPE 7.19.0
@@ -410,6 +415,7 @@ CURLOPT_IOCTLFUNCTION 7.12.3
CURLOPT_IPRESOLVE 7.10.8
CURLOPT_ISSUERCERT 7.19.0
CURLOPT_KEYPASSWD 7.17.0
+CURLOPT_KEEP_SENDING_ON_ERROR 7.51.0
CURLOPT_KRB4LEVEL 7.3 7.17.0
CURLOPT_KRBLEVEL 7.16.4
CURLOPT_LOCALPORT 7.15.2
@@ -454,6 +460,7 @@ CURLOPT_POSTFIELDSIZE_LARGE 7.11.1
CURLOPT_POSTQUOTE 7.1
CURLOPT_POSTREDIR 7.19.1
CURLOPT_PREQUOTE 7.9.5
+CURLOPT_PRE_PROXY 7.52.0
CURLOPT_PRIVATE 7.10.3
CURLOPT_PROGRESSDATA 7.1
CURLOPT_PROGRESSFUNCTION 7.1 7.32.0
@@ -466,7 +473,24 @@ CURLOPT_PROXYPORT 7.1
CURLOPT_PROXYTYPE 7.10
CURLOPT_PROXYUSERNAME 7.19.1
CURLOPT_PROXYUSERPWD 7.1
+CURLOPT_PROXY_CAINFO 7.52.0
+CURLOPT_PROXY_CAPATH 7.52.0
+CURLOPT_PROXY_CRLFILE 7.52.0
+CURLOPT_PROXY_KEYPASSWD 7.52.0
+CURLOPT_PROXY_PINNEDPUBLICKEY 7.52.0
CURLOPT_PROXY_SERVICE_NAME 7.43.0
+CURLOPT_PROXY_SSLCERT 7.52.0
+CURLOPT_PROXY_SSLCERTTYPE 7.52.0
+CURLOPT_PROXY_SSLKEY 7.52.0
+CURLOPT_PROXY_SSLKEYTYPE 7.52.0
+CURLOPT_PROXY_SSLVERSION 7.52.0
+CURLOPT_PROXY_SSL_CIPHER_LIST 7.52.0
+CURLOPT_PROXY_SSL_OPTIONS 7.52.0
+CURLOPT_PROXY_SSL_VERIFYHOST 7.52.0
+CURLOPT_PROXY_SSL_VERIFYPEER 7.52.0
+CURLOPT_PROXY_TLSAUTH_PASSWORD 7.52.0
+CURLOPT_PROXY_TLSAUTH_TYPE 7.52.0
+CURLOPT_PROXY_TLSAUTH_USERNAME 7.52.0
CURLOPT_PROXY_TRANSFER_MODE 7.18.0
CURLOPT_PUT 7.1
CURLOPT_QUOTE 7.1
@@ -609,6 +633,7 @@ CURLPROTO_TELNET 7.19.4
CURLPROTO_TFTP 7.19.4
CURLPROXY_HTTP 7.10
CURLPROXY_HTTP_1_0 7.19.4
+CURLPROXY_HTTPS 7.52.0
CURLPROXY_SOCKS4 7.10
CURLPROXY_SOCKS4A 7.18.0
CURLPROXY_SOCKS5 7.10
@@ -723,6 +748,7 @@ CURL_LOCK_TYPE_DNS 7.10 - 7.10.2
CURL_LOCK_TYPE_NONE 7.10 - 7.10.2
CURL_LOCK_TYPE_SSL_SESSION 7.10 - 7.10.2
CURL_MAX_HTTP_HEADER 7.19.7
+CURL_MAX_READ_SIZE 7.53.0
CURL_MAX_WRITE_SIZE 7.9.7
CURL_NETRC_IGNORED 7.9.8
CURL_NETRC_OPTIONAL 7.9.8
@@ -771,6 +797,7 @@ CURL_SSLVERSION_TLSv1 7.9.2
CURL_SSLVERSION_TLSv1_0 7.34.0
CURL_SSLVERSION_TLSv1_1 7.34.0
CURL_SSLVERSION_TLSv1_2 7.34.0
+CURL_SSLVERSION_TLSv1_3 7.52.0
CURL_TIMECOND_IFMODSINCE 7.9.7
CURL_TIMECOND_IFUNMODSINCE 7.9.7
CURL_TIMECOND_LASTMOD 7.9.7
@@ -784,6 +811,7 @@ CURL_VERSION_DEBUG 7.10.6
CURL_VERSION_GSSAPI 7.38.0
CURL_VERSION_GSSNEGOTIATE 7.10.6 7.38.0
CURL_VERSION_HTTP2 7.33.0
+CURL_VERSION_HTTPS_PROXY 7.52.0
CURL_VERSION_IDN 7.12.0
CURL_VERSION_IPV6 7.10
CURL_VERSION_KERBEROS4 7.10 7.33.0
diff --git a/docs/mk-ca-bundle.html b/docs/mk-ca-bundle.html
deleted file mode 100644
index f0ed07a2e..000000000
--- a/docs/mk-ca-bundle.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html><head>
-<title>mk-ca-bundle man page</title>
-<meta name="generator" content="roffit">
-<STYLE type="text/css">
-pre {
- overflow: auto;
- margin: 0;
-}
-
-P.level0, pre.level0 {
- padding-left: 2em;
-}
-
-P.level1, pre.level1 {
- padding-left: 4em;
-}
-
-P.level2, pre.level2 {
- padding-left: 6em;
-}
-
-span.emphasis {
- font-style: italic;
-}
-
-span.bold {
- font-weight: bold;
-}
-
-span.manpage {
- font-weight: bold;
-}
-
-h2.nroffsh {
- background-color: #e0e0e0;
-}
-
-span.nroffip {
- font-weight: bold;
- font-size: 120%;
- font-family: monospace;
-}
-
-p.roffit {
- text-align: center;
- font-size: 80%;
-}
-</STYLE>
-</head><body>
-
-<p class="level0"><a name="NAME"></a><h2 class="nroffsh">NAME</h2>
-<p class="level0">mk-ca-bundle - convert mozilla's certdata.txt to PEM format <a name="SYNOPSIS"></a><h2 class="nroffsh">SYNOPSIS</h2>
-<p class="level0">mk-ca-bundle [bilnpqstuv] <span Class="emphasis">[outputfile]</span> <a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
-<p class="level0">The mk-ca-bundle tool downloads the certdata.txt file from Mozilla's source tree over HTTP, then parses certdata.txt and extracts certificates into PEM format. By default, only CA root certificates trusted to issue SSL server authentication certificates are extracted. These are then processed with the OpenSSL commandline tool to produce the final ca-bundle file.
-<p class="level0">The default <span Class="emphasis">outputfile</span> name is <span Class="bold">ca-bundle.crt</span>. By setting it to '-' (a single dash) you will get the output sent to STDOUT instead of a file.
-<p class="level0">The PEM format this scripts uses for output makes the result readily available for use by just about all OpenSSL or GnuTLS powered applications, such as curl, wget and more. <a name="OPTIONS"></a><h2 class="nroffsh">OPTIONS</h2>
-<p class="level0">The following options are supported:
-<p class="level0"><a name="-b"></a><span class="nroffip">-b</span>
-<p class="level1">backup an existing version of <span Class="emphasis">outputfilename</span>
-<p class="level0"><a name="-d"></a><span class="nroffip">-d [name]</span>
-<p class="level1">specify which Mozilla tree to pull certdata.txt from (or a custom URL). Valid names are: aurora, beta, central, mozilla, nss, release (default). They are shortcuts for which source tree to get the cert data from.
-<p class="level0"><a name="-f"></a><span class="nroffip">-f</span>
-<p class="level1">force rebuild even if certdata.txt is current (Added in version 1.17)
-<p class="level0"><a name="-i"></a><span class="nroffip">-i</span>
-<p class="level1">print version info about used modules
-<p class="level0"><a name="-l"></a><span class="nroffip">-l</span>
-<p class="level1">print license info about certdata.txt
-<p class="level0"><a name="-m"></a><span class="nroffip">-m</span>
-<p class="level1">(Added in 1.26) Include meta data comments in the output. The meta data is specific information about each certificate that is stored in the original file as comments and using this option will make those comments get passed on to the output file. The meta data is not parsed in any way by mk-ca-bundle.
-<p class="level0"><a name="-n"></a><span class="nroffip">-n</span>
-<p class="level1">no download of certdata.txt (to use existing)
-<p class="level0"><a name="-p"></a><span class="nroffip">-p [purposes]:[levels]</span>
-<p class="level1">list of Mozilla trust purposes and levels for certificates to include in output. Takes the form of a comma separated list of purposes, a colon, and a comma separated list of levels. The default is to include all certificates trusted to issue SSL Server certificates (SERVER_AUTH:TRUSTED_DELEGATOR).
-<p class="level1">(Added in version 1.21, Perl only)
-<p class="level1">Valid purposes are:
-<p class="level2">ALL, DIGITAL_SIGNATURE, NON_REPUDIATION, KEY_ENCIPHERMENT, DATA_ENCIPHERMENT, KEY_AGREEMENT, KEY_CERT_SIGN, CRL_SIGN, SERVER_AUTH (default), CLIENT_AUTH, CODE_SIGNING, EMAIL_PROTECTION, IPSEC_END_SYSTEM, IPSEC_TUNNEL, IPSEC_USER, TIME_STAMPING, STEP_UP_APPROVED
-<p class="level1">
-<p class="level0"><a name=""></a><span class="nroffip"></span>
-<p class="level1">Valid trust levels are:
-<p class="level2">ALL, TRUSTED_DELEGATOR (default), NOT_TRUSTED, MUST_VERIFY_TRUST, TRUSTED
-<p class="level1">
-<p class="level0"><a name="-q"></a><span class="nroffip">-q</span>
-<p class="level1">be really quiet (no progress output at all)
-<p class="level0"><a name="-t"></a><span class="nroffip">-t</span>
-<p class="level1">include plain text listing of certificates
-<p class="level0"><a name="-s"></a><span class="nroffip">-s [algorithms]</span>
-<p class="level1">comma separated list of signature algorithms with which to hash/fingerprint each certificate and output when run in plain text mode.
-<p class="level1">(Added in version 1.21, Perl only)
-<p class="level1">Valid algorithms are:
-<p class="level2">ALL, NONE, MD5 (default), SHA1, SHA256, SHA384, SHA512
-<p class="level1">
-<p class="level0"><a name="-u"></a><span class="nroffip">-u</span>
-<p class="level1">unlink (remove) certdata.txt after processing
-<p class="level0"><a name="-v"></a><span class="nroffip">-v</span>
-<p class="level1">be verbose and print out processed CAs <a name="EXIT"></a><h2 class="nroffsh">EXIT STATUS</h2>
-<p class="level0">Returns 0 on success. Returns 1 if it fails to download data. <a name="CERTDATA"></a><h2 class="nroffsh">CERTDATA FORMAT</h2>
-<p class="level0">The file format used by Mozilla for this trust information seems to be documented here: <pre class="level0">
-http://p11-glue.freedesktop.org/doc/storing-trust-policy/storing-trust-existing.html
-</pre>
-
-<p class="level0"><a name="SEE"></a><h2 class="nroffsh">SEE ALSO</h2>
-<p class="level0"><span Class="manpage">curl (1)</span><a name="HISTORY"></a><h2 class="nroffsh">HISTORY</h2>
-<p class="level0"><span Class="bold">mk-ca-bundle</span> is a command line tool that is shipped as part of every curl and libcurl release (see <a href="https://curl.haxx.se/).">https://curl.haxx.se/).</a> It was originally based on the parse-certs script written by Roland Krikava and was later much improved by Guenter Knauf. This manual page was initially written by Jan Schaumann &lt;jschauma@netmeister.org&gt;. <p class="roffit">
- This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
-</body></html>
diff --git a/docs/mk-ca-bundle.pdf b/docs/mk-ca-bundle.pdf
deleted file mode 100644
index df410df9b..000000000
--- a/docs/mk-ca-bundle.pdf
+++ /dev/null
Binary files differ