summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorAlessandro Ghedini <alessandro@ghedini.me>2015-08-12 10:34:59 +0200
committerAlessandro Ghedini <alessandro@ghedini.me>2015-08-12 10:34:59 +0200
commit9456f51adb76b83ceb4b95c8481325de62b25ad2 (patch)
treee5cfc1f4bc28cd81e93a96f9707a0efb143d278a /docs
parentdbada9f3efae6d9d47b24d0fc06b31d5c48e59a9 (diff)
Imported Upstream version 7.44.0
Diffstat (limited to 'docs')
-rw-r--r--docs/CODE_OF_CONDUCT.md32
-rw-r--r--docs/INSTALL9
-rw-r--r--docs/Makefile.am2
-rw-r--r--docs/Makefile.in25
-rw-r--r--docs/SSL-PROBLEMS24
-rw-r--r--docs/TODO52
-rw-r--r--docs/curl-config.pdfbin6016 -> 6016 bytes
-rw-r--r--docs/curl.119
-rw-r--r--docs/curl.html10
-rw-r--r--docs/curl.pdfbin108345 -> 108728 bytes
-rw-r--r--docs/examples/10-at-a-time.c9
-rw-r--r--docs/examples/Makefile.in75
-rw-r--r--docs/examples/Makefile.inc2
-rw-r--r--docs/examples/Makefile.m322
-rw-r--r--docs/examples/Makefile.netware2
-rw-r--r--docs/examples/anyauthput.c7
-rw-r--r--docs/examples/asiohiper.cpp10
-rw-r--r--docs/examples/cacertinmem.c14
-rw-r--r--docs/examples/certinfo.c6
-rw-r--r--docs/examples/chkspeed.c6
-rw-r--r--docs/examples/cookie_interface.c7
-rw-r--r--docs/examples/curlgtk.c7
-rw-r--r--docs/examples/curlx.c5
-rw-r--r--docs/examples/debug.c6
-rw-r--r--docs/examples/evhiperfifo.c6
-rw-r--r--docs/examples/externalsocket.c7
-rw-r--r--docs/examples/fileupload.c6
-rw-r--r--docs/examples/fopen.c4
-rw-r--r--docs/examples/ftp-wildcard.c6
-rw-r--r--docs/examples/ftpget.c10
-rw-r--r--docs/examples/ftpgetinfo.c8
-rw-r--r--docs/examples/ftpgetresp.c10
-rw-r--r--docs/examples/ftpsget.c10
-rw-r--r--docs/examples/ftpupload.c11
-rw-r--r--docs/examples/ftpuploadresume.c12
-rw-r--r--docs/examples/getinfo.c11
-rw-r--r--docs/examples/getinmemory.c10
-rw-r--r--docs/examples/ghiper.c6
-rw-r--r--docs/examples/hiperfifo.c6
-rw-r--r--docs/examples/href_extractor.c14
-rw-r--r--docs/examples/htmltidy.c13
-rw-r--r--docs/examples/htmltitle.cpp8
-rw-r--r--docs/examples/http-post.c6
-rw-r--r--docs/examples/http2-download.c4
-rw-r--r--docs/examples/http2-serverpush.c317
-rw-r--r--docs/examples/http2-upload.c4
-rw-r--r--docs/examples/httpcustomheader.c6
-rw-r--r--docs/examples/httpput.c6
-rw-r--r--docs/examples/https.c6
-rw-r--r--docs/examples/imap-append.c6
-rw-r--r--docs/examples/multi-debugcallback.c7
-rw-r--r--docs/examples/multi-double.c6
-rw-r--r--docs/examples/multi-post.c9
-rw-r--r--docs/examples/multi-single.c9
-rw-r--r--docs/examples/multi-uv.c6
-rw-r--r--docs/examples/multithread.c8
-rw-r--r--docs/examples/opensslthreadlock.c13
-rw-r--r--docs/examples/persistant.c6
-rw-r--r--docs/examples/post-callback.c6
-rw-r--r--docs/libcurl/ABI70
-rw-r--r--docs/libcurl/Makefile.am42
-rw-r--r--docs/libcurl/Makefile.in68
-rw-r--r--docs/libcurl/curl_easy_cleanup.pdfbin4581 -> 4581 bytes
-rw-r--r--docs/libcurl/curl_easy_duphandle.pdfbin4058 -> 4058 bytes
-rw-r--r--docs/libcurl/curl_easy_escape.pdfbin4154 -> 4154 bytes
-rw-r--r--docs/libcurl/curl_easy_getinfo.pdfbin18522 -> 18522 bytes
-rw-r--r--docs/libcurl/curl_easy_init.pdfbin4197 -> 4197 bytes
-rw-r--r--docs/libcurl/curl_easy_pause.pdfbin7373 -> 7373 bytes
-rw-r--r--docs/libcurl/curl_easy_perform.pdfbin4986 -> 4986 bytes
-rw-r--r--docs/libcurl/curl_easy_recv.32
-rw-r--r--docs/libcurl/curl_easy_recv.html2
-rw-r--r--docs/libcurl/curl_easy_recv.pdfbin5431 -> 5493 bytes
-rw-r--r--docs/libcurl/curl_easy_reset.pdfbin3701 -> 3701 bytes
-rw-r--r--docs/libcurl/curl_easy_send.pdfbin5208 -> 5208 bytes
-rw-r--r--docs/libcurl/curl_easy_setopt.34
-rw-r--r--docs/libcurl/curl_easy_setopt.html5
-rw-r--r--docs/libcurl/curl_easy_setopt.pdfbin25313 -> 25370 bytes
-rw-r--r--docs/libcurl/curl_easy_strerror.pdfbin3667 -> 3667 bytes
-rw-r--r--docs/libcurl/curl_easy_unescape.pdfbin4179 -> 4179 bytes
-rw-r--r--docs/libcurl/curl_escape.pdfbin4014 -> 4014 bytes
-rw-r--r--docs/libcurl/curl_formadd.35
-rw-r--r--docs/libcurl/curl_formadd.html1
-rw-r--r--docs/libcurl/curl_formadd.pdfbin12395 -> 12533 bytes
-rw-r--r--docs/libcurl/curl_formfree.pdfbin3767 -> 3767 bytes
-rw-r--r--docs/libcurl/curl_formget.34
-rw-r--r--docs/libcurl/curl_formget.html2
-rw-r--r--docs/libcurl/curl_formget.pdfbin4410 -> 4403 bytes
-rw-r--r--docs/libcurl/curl_free.pdfbin3356 -> 3356 bytes
-rw-r--r--docs/libcurl/curl_getdate.pdfbin6462 -> 6462 bytes
-rw-r--r--docs/libcurl/curl_getenv.pdfbin4188 -> 4188 bytes
-rw-r--r--docs/libcurl/curl_global_cleanup.pdfbin3860 -> 3860 bytes
-rw-r--r--docs/libcurl/curl_global_init.pdfbin5107 -> 5107 bytes
-rw-r--r--docs/libcurl/curl_global_init_mem.310
-rw-r--r--docs/libcurl/curl_global_init_mem.html5
-rw-r--r--docs/libcurl/curl_global_init_mem.pdfbin4083 -> 4281 bytes
-rw-r--r--docs/libcurl/curl_mprintf.pdfbin5924 -> 5924 bytes
-rw-r--r--docs/libcurl/curl_multi_add_handle.pdfbin4737 -> 4737 bytes
-rw-r--r--docs/libcurl/curl_multi_assign.pdfbin4570 -> 4570 bytes
-rw-r--r--docs/libcurl/curl_multi_cleanup.pdfbin3812 -> 3812 bytes
-rw-r--r--docs/libcurl/curl_multi_fdset.pdfbin5480 -> 5480 bytes
-rw-r--r--docs/libcurl/curl_multi_info_read.pdfbin5883 -> 5883 bytes
-rw-r--r--docs/libcurl/curl_multi_init.pdfbin3423 -> 3423 bytes
-rw-r--r--docs/libcurl/curl_multi_perform.pdfbin7082 -> 7082 bytes
-rw-r--r--docs/libcurl/curl_multi_remove_handle.32
-rw-r--r--docs/libcurl/curl_multi_remove_handle.html2
-rw-r--r--docs/libcurl/curl_multi_remove_handle.pdfbin3980 -> 3953 bytes
-rw-r--r--docs/libcurl/curl_multi_setopt.342
-rw-r--r--docs/libcurl/curl_multi_setopt.html40
-rw-r--r--docs/libcurl/curl_multi_setopt.pdfbin5280 -> 5358 bytes
-rw-r--r--docs/libcurl/curl_multi_socket.pdfbin9402 -> 9402 bytes
-rw-r--r--docs/libcurl/curl_multi_socket_action.pdfbin9638 -> 9638 bytes
-rw-r--r--docs/libcurl/curl_multi_strerror.pdfbin3433 -> 3433 bytes
-rw-r--r--docs/libcurl/curl_multi_timeout.pdfbin4872 -> 4872 bytes
-rw-r--r--docs/libcurl/curl_multi_wait.pdfbin4947 -> 4947 bytes
-rw-r--r--docs/libcurl/curl_share_cleanup.pdfbin3630 -> 3630 bytes
-rw-r--r--docs/libcurl/curl_share_init.pdfbin3839 -> 3839 bytes
-rw-r--r--docs/libcurl/curl_share_setopt.pdfbin5585 -> 5585 bytes
-rw-r--r--docs/libcurl/curl_share_strerror.pdfbin3432 -> 3432 bytes
-rw-r--r--docs/libcurl/curl_slist_append.36
-rw-r--r--docs/libcurl/curl_slist_append.html4
-rw-r--r--docs/libcurl/curl_slist_append.pdfbin3817 -> 3842 bytes
-rw-r--r--docs/libcurl/curl_slist_free_all.pdf18
-rw-r--r--docs/libcurl/curl_strequal.pdfbin4148 -> 4148 bytes
-rw-r--r--docs/libcurl/curl_unescape.pdfbin3967 -> 3967 bytes
-rw-r--r--docs/libcurl/curl_version.pdfbin3490 -> 3490 bytes
-rw-r--r--docs/libcurl/curl_version_info.pdfbin8845 -> 8845 bytes
-rw-r--r--docs/libcurl/index.html1
-rw-r--r--docs/libcurl/libcurl-easy.pdfbin4914 -> 4914 bytes
-rw-r--r--docs/libcurl/libcurl-errors.34
-rw-r--r--docs/libcurl/libcurl-errors.html2
-rw-r--r--docs/libcurl/libcurl-errors.pdfbin17578 -> 17585 bytes
-rw-r--r--docs/libcurl/libcurl-multi.349
-rw-r--r--docs/libcurl/libcurl-multi.html12
-rw-r--r--docs/libcurl/libcurl-multi.pdfbin11838 -> 11820 bytes
-rw-r--r--docs/libcurl/libcurl-share.pdfbin4999 -> 4999 bytes
-rw-r--r--docs/libcurl/libcurl-symbols.312
-rw-r--r--docs/libcurl/libcurl-symbols.html10
-rw-r--r--docs/libcurl/libcurl-symbols.pdfbin38053 -> 38043 bytes
-rw-r--r--docs/libcurl/libcurl-thread.395
-rw-r--r--docs/libcurl/libcurl-thread.html90
-rw-r--r--docs/libcurl/libcurl-thread.pdfbin0 -> 6705 bytes
-rw-r--r--docs/libcurl/libcurl-tutorial.356
-rw-r--r--docs/libcurl/libcurl-tutorial.html22
-rw-r--r--docs/libcurl/libcurl-tutorial.pdfbin74083 -> 71613 bytes
-rw-r--r--docs/libcurl/libcurl.315
-rw-r--r--docs/libcurl/libcurl.html5
-rw-r--r--docs/libcurl/libcurl.pdfbin13825 -> 13572 bytes
-rw-r--r--docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.pdfbin4079 -> 4079 bytes
-rw-r--r--docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.pdfbin4035 -> 4035 bytes
-rw-r--r--docs/libcurl/opts/CURLMOPT_MAXCONNECTS.pdfbin4199 -> 4199 bytes
-rw-r--r--docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.pdfbin4324 -> 4324 bytes
-rw-r--r--docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.pdf18
-rw-r--r--docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.pdfbin4098 -> 4098 bytes
-rw-r--r--docs/libcurl/opts/CURLMOPT_PIPELINING.pdfbin4497 -> 4497 bytes
-rw-r--r--docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.pdfbin4043 -> 4043 bytes
-rw-r--r--docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.pdfbin3787 -> 3787 bytes
-rw-r--r--docs/libcurl/opts/CURLMOPT_PUSHDATA.349
-rw-r--r--docs/libcurl/opts/CURLMOPT_PUSHDATA.html70
-rw-r--r--docs/libcurl/opts/CURLMOPT_PUSHDATA.pdfbin0 -> 3790 bytes
-rw-r--r--docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.3132
-rw-r--r--docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.html131
-rw-r--r--docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.pdfbin0 -> 6933 bytes
-rw-r--r--docs/libcurl/opts/CURLMOPT_SOCKETDATA.pdfbin3836 -> 3836 bytes
-rw-r--r--docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.pdfbin4421 -> 4421 bytes
-rw-r--r--docs/libcurl/opts/CURLMOPT_TIMERDATA.pdfbin3792 -> 3792 bytes
-rw-r--r--docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.pdfbin5815 -> 5815 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.pdfbin3663 -> 3663 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.pdfbin4671 -> 4671 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.pdfbin3515 -> 3515 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_APPEND.pdfbin3599 -> 3599 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_AUTOREFERER.pdfbin3603 -> 3603 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_BUFFERSIZE.pdfbin4047 -> 4047 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CAINFO.pdfbin4416 -> 4416 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CAPATH.pdfbin4289 -> 4289 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CERTINFO.pdfbin3939 -> 3939 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.pdfbin4558 -> 4558 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CHUNK_DATA.pdfbin3762 -> 3762 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.pdfbin3885 -> 3885 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.pdfbin3813 -> 3813 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.pdfbin4160 -> 4160 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.pdfbin4037 -> 4037 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.pdfbin4026 -> 4026 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CONNECT_ONLY.pdfbin4060 -> 4060 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.pdfbin5150 -> 5150 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.pdfbin5050 -> 5050 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.pdfbin5129 -> 5129 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_COOKIE.pdfbin4913 -> 4913 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_COOKIEFILE.pdfbin4173 -> 4173 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_COOKIEJAR.pdfbin4607 -> 4607 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_COOKIELIST.pdfbin6463 -> 6463 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_COOKIESESSION.pdf18
-rw-r--r--docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.pdfbin4668 -> 4668 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CRLF.pdfbin3745 -> 3753 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CRLFILE.pdfbin4541 -> 4541 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.pdfbin6299 -> 6299 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_DEBUGDATA.pdfbin3822 -> 3822 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.pdfbin7759 -> 7759 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_DIRLISTONLY.pdfbin4586 -> 4586 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.pdfbin4454 -> 4454 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_INTERFACE.pdfbin3946 -> 3946 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.pdfbin4046 -> 4048 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.pdfbin4058 -> 4060 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_SERVERS.pdfbin4081 -> 4081 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.pdfbin4015 -> 4015 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_EGDSOCKET.pdfbin3736 -> 3736 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_ERRORBUFFER.326
-rw-r--r--docs/libcurl/opts/CURLOPT_ERRORBUFFER.html26
-rw-r--r--docs/libcurl/opts/CURLOPT_ERRORBUFFER.pdfbin4609 -> 5769 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.pdfbin3851 -> 3851 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FAILONERROR.35
-rw-r--r--docs/libcurl/opts/CURLOPT_FAILONERROR.html3
-rw-r--r--docs/libcurl/opts/CURLOPT_FAILONERROR.pdfbin4046 -> 4089 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FILETIME.pdfbin3849 -> 3849 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FNMATCH_DATA.pdfbin3756 -> 3756 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.pdfbin3948 -> 3948 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.pdfbin4656 -> 4656 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FORBID_REUSE.pdfbin3990 -> 3990 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FRESH_CONNECT.pdfbin4013 -> 4013 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FTPPORT.pdfbin4725 -> 4725 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FTPSSLAUTH.pdfbin4065 -> 4065 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.pdfbin3777 -> 3777 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.pdfbin3933 -> 3933 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.pdfbin4696 -> 4696 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.pdfbin4449 -> 4449 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.pdfbin4087 -> 4087 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.pdfbin4127 -> 4127 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.pdfbin3918 -> 3918 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.pdfbin3999 -> 3999 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.pdfbin3956 -> 3956 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_USE_PRET.pdfbin3708 -> 3708 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.pdfbin4142 -> 4142 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_HEADER.pdfbin4076 -> 4076 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_HEADERDATA.pdfbin3901 -> 3901 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_HEADERFUNCTION.pdfbin6757 -> 6757 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_HEADEROPT.pdfbin4438 -> 4438 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTP200ALIASES.pdfbin4251 -> 4251 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTPAUTH.pdfbin7475 -> 7475 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTPGET.pdfbin4043 -> 4043 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTPHEADER.pdfbin6648 -> 6648 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTPPOST.pdfbin4474 -> 4474 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.pdfbin4188 -> 4188 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.pdfbin3785 -> 3785 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.pdfbin3635 -> 3635 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTP_VERSION.pdfbin4205 -> 4205 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.pdfbin4063 -> 4063 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_INFILESIZE.pdfbin4384 -> 4384 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.pdfbin4356 -> 4356 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_INTERFACE.pdfbin4392 -> 4392 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.pdfbin3852 -> 3852 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.pdfbin4939 -> 4939 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_IOCTLDATA.pdfbin3781 -> 3781 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.pdfbin4728 -> 4728 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_IPRESOLVE.pdfbin3784 -> 3784 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_ISSUERCERT.pdfbin4457 -> 4457 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_KEYPASSWD.pdf18
-rw-r--r--docs/libcurl/opts/CURLOPT_KRBLEVEL.pdfbin3969 -> 3969 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_LOCALPORT.pdfbin3868 -> 3868 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.pdfbin4116 -> 4116 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.pdfbin4083 -> 4083 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.pdfbin3822 -> 3822 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.pdfbin3763 -> 3763 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_MAIL_AUTH.pdfbin4377 -> 4377 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_MAIL_FROM.pdfbin3879 -> 3879 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_MAIL_RCPT.pdfbin4289 -> 4289 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_MAXCONNECTS.pdfbin4258 -> 4258 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_MAXFILESIZE.pdfbin4081 -> 4081 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.pdfbin4081 -> 4083 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_MAXREDIRS.pdfbin4129 -> 4129 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.pdfbin3970 -> 3970 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.pdfbin4011 -> 4011 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_NETRC.pdfbin4768 -> 4768 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_NETRC_FILE.pdfbin3990 -> 3990 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.pdfbin4091 -> 4091 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.pdfbin4053 -> 4053 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_NOBODY.pdfbin3883 -> 3883 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_NOPROGRESS.pdfbin3733 -> 3733 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_NOPROXY.pdf18
-rw-r--r--docs/libcurl/opts/CURLOPT_NOSIGNAL.pdfbin4514 -> 4514 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.pdfbin3816 -> 3816 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.pdfbin6058 -> 6058 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PASSWORD.pdfbin3952 -> 3952 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PATH_AS_IS.pdfbin4220 -> 4220 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.319
-rw-r--r--docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.html14
-rw-r--r--docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.pdfbin4754 -> 5848 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PIPEWAIT.pdfbin4577 -> 4577 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PORT.pdfbin3981 -> 3981 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_POST.pdfbin5251 -> 5251 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_POSTFIELDS.pdfbin5851 -> 5851 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.pdf18
-rw-r--r--docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.pdfbin3880 -> 3880 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_POSTQUOTE.pdf18
-rw-r--r--docs/libcurl/opts/CURLOPT_POSTREDIR.pdfbin4682 -> 4682 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PREQUOTE.pdfbin3868 -> 3868 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PRIVATE.pdf18
-rw-r--r--docs/libcurl/opts/CURLOPT_PROGRESSDATA.pdfbin3809 -> 3809 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.pdfbin5873 -> 5873 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PROTOCOLS.pdfbin5240 -> 5240 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY.pdfbin6395 -> 6395 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYAUTH.pdfbin4289 -> 4289 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYHEADER.pdfbin4117 -> 4117 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYPASSWORD.pdfbin4050 -> 4050 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYPORT.pdfbin3853 -> 3853 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYTYPE.pdfbin4194 -> 4194 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYUSERNAME.pdfbin4059 -> 4059 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYUSERPWD.pdfbin4166 -> 4166 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.pdfbin3812 -> 3812 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.pdfbin4040 -> 4042 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_PUT.pdfbin3830 -> 3830 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_QUOTE.pdfbin5637 -> 5637 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_RANDOM_FILE.pdfbin3574 -> 3574 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_RANGE.pdfbin4492 -> 4492 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_READDATA.pdfbin4334 -> 4334 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_READFUNCTION.pdfbin5194 -> 5194 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.pdfbin5208 -> 5208 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_REFERER.pdfbin4048 -> 4048 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_RESOLVE.35
-rw-r--r--docs/libcurl/opts/CURLOPT_RESOLVE.html4
-rw-r--r--docs/libcurl/opts/CURLOPT_RESOLVE.pdfbin4987 -> 5745 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_RESUME_FROM.pdfbin4411 -> 4411 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.pdfbin4323 -> 4323 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.pdfbin3654 -> 3654 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_REQUEST.pdfbin7519 -> 7519 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.pdf18
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.pdfbin4028 -> 4028 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.pdfbin4313 -> 4313 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.pdfbin3874 -> 3874 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SASL_IR.pdfbin3862 -> 3862 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SEEKDATA.pdf18
-rw-r--r--docs/libcurl/opts/CURLOPT_SEEKFUNCTION.pdfbin5022 -> 5022 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SERVICE_NAME.pdfbin3783 -> 3783 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SHARE.pdfbin4248 -> 4248 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SOCKOPTDATA.pdf18
-rw-r--r--docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.pdfbin6183 -> 6183 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.pdfbin3684 -> 3684 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.pdfbin3841 -> 3841 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.pdfbin4003 -> 4003 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.pdfbin3812 -> 3812 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_KEYDATA.pdfbin3792 -> 3792 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.pdfbin6709 -> 6709 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.pdf18
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.pdfbin4210 -> 4210 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.pdfbin4321 -> 4321 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLCERT.pdfbin4341 -> 4341 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLCERTTYPE.pdfbin3933 -> 3933 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLENGINE.pdfbin3954 -> 3954 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.pdfbin3981 -> 3981 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLKEY.pdfbin4171 -> 4171 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLKEYTYPE.pdfbin4186 -> 4186 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLVERSION.pdfbin4783 -> 4783 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.pdfbin4476 -> 4476 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.pdfbin3847 -> 3847 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.pdfbin4969 -> 4969 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.pdfbin3662 -> 3662 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.pdfbin3663 -> 3663 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_FALSESTART.pdfbin3947 -> 3947 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_OPTIONS.326
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_OPTIONS.html6
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_OPTIONS.pdfbin4100 -> 4570 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.pdfbin3844 -> 3844 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.pdfbin5814 -> 5814 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.pdfbin5713 -> 5713 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.pdf18
-rw-r--r--docs/libcurl/opts/CURLOPT_STDERR.pdfbin3794 -> 3794 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.pdfbin4122 -> 4122 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.pdfbin4011 -> 4011 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.pdfbin3856 -> 3856 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_TCP_NODELAY.pdfbin4246 -> 4246 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_TELNETOPTIONS.pdfbin3661 -> 3661 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.pdfbin3830 -> 3830 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_TIMECONDITION.pdfbin4165 -> 4165 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_TIMEOUT.pdfbin4618 -> 4618 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_TIMEOUT_MS.pdfbin4735 -> 4735 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_TIMEVALUE.pdfbin3732 -> 3732 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.pdfbin3940 -> 3940 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.pdfbin4117 -> 4117 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.pdfbin3922 -> 3922 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_TRANSFERTEXT.pdfbin3972 -> 3972 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.pdfbin4111 -> 4111 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.pdfbin5029 -> 5029 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.pdfbin3808 -> 3808 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_UPLOAD.pdfbin4742 -> 4742 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_URL.pdfbin15854 -> 15854 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_USERAGENT.pdfbin4142 -> 4142 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_USERNAME.pdfbin4731 -> 4731 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_USERPWD.pdfbin5037 -> 5037 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_USE_SSL.pdfbin4371 -> 4371 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_VERBOSE.pdfbin4253 -> 4254 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_WILDCARDMATCH.pdfbin5926 -> 5926 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_WRITEDATA.pdfbin4674 -> 4674 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_WRITEFUNCTION.pdfbin5273 -> 5273 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_XFERINFODATA.pdfbin3814 -> 3814 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.pdfbin5111 -> 5111 bytes
-rw-r--r--docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.pdfbin4044 -> 4044 bytes
-rw-r--r--docs/libcurl/opts/Makefile.am8
-rw-r--r--docs/libcurl/opts/Makefile.in30
-rw-r--r--docs/libcurl/symbols-in-versions5
-rw-r--r--docs/mk-ca-bundle.pdfbin7060 -> 7060 bytes
398 files changed, 1792 insertions, 604 deletions
diff --git a/docs/CODE_OF_CONDUCT.md b/docs/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000..04ea66ed
--- /dev/null
+++ b/docs/CODE_OF_CONDUCT.md
@@ -0,0 +1,32 @@
+Contributor Code of Conduct
+===========================
+
+As contributors and maintainers of this project, we pledge to respect all
+people who contribute through reporting issues, posting feature requests,
+updating documentation, submitting pull requests or patches, and other
+activities.
+
+We are committed to making participation in this project a harassment-free
+experience for everyone, regardless of level of experience, gender, gender
+identity and expression, sexual orientation, disability, personal appearance,
+body size, race, ethnicity, age, or religion.
+
+Examples of unacceptable behavior by participants include the use of sexual
+language or imagery, derogatory comments or personal attacks, trolling, public
+or private harassment, insults, or other unprofessional conduct.
+
+Project maintainers have the right and responsibility to remove, edit, or
+reject comments, commits, code, wiki edits, issues, and other contributions
+that are not aligned to this Code of Conduct. Project maintainers who do not
+follow the Code of Conduct may be removed from the project team.
+
+This code of conduct applies both within project spaces and in public spaces
+when an individual is representing the project or its community.
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be
+reported by opening an issue or contacting one or more of the project
+maintainers.
+
+This Code of Conduct is adapted from the [Contributor
+Covenant](http://contributor-covenant.org), version 1.1.0, available at
+[http://contributor-covenant.org/version/1/1/0/](http://contributor-covenant.org/version/1/1/0/)
diff --git a/docs/INSTALL b/docs/INSTALL
index 45703188..67cd489d 100644
--- a/docs/INSTALL
+++ b/docs/INSTALL
@@ -471,6 +471,15 @@ Win32
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
======================
diff --git a/docs/Makefile.am b/docs/Makefile.am
index e3e27d33..cfef3e9a 100644
--- a/docs/Makefile.am
+++ b/docs/Makefile.am
@@ -38,7 +38,7 @@ EXTRA_DIST = MANUAL BUGS CONTRIBUTE FAQ FEATURES INTERNALS SSLCERTS \
KNOWN_BUGS BINDINGS $(man_MANS) $(HTMLPAGES) HISTORY INSTALL \
$(PDFPAGES) LICENSE-MIXING README.netware DISTRO-DILEMMA INSTALL.devcpp \
MAIL-ETIQUETTE HTTP-COOKIES SECURITY RELEASE-PROCEDURE \
- SSL-PROBLEMS HTTP2.md ROADMAP.md
+ SSL-PROBLEMS HTTP2.md ROADMAP.md CODE_OF_CONDUCT.md
MAN2HTML= roffit < $< >$@
diff --git a/docs/Makefile.in b/docs/Makefile.in
index cf60b2cb..97502697 100644
--- a/docs/Makefile.in
+++ b/docs/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# 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,
@@ -36,7 +36,17 @@
#
###########################################################################
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+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 \
?) ;; \
@@ -100,8 +110,6 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = docs
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am INSTALL \
- THANKS TODO
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/curl-compilers.m4 \
$(top_srcdir)/m4/curl-confopts.m4 \
@@ -122,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/curl-compilers.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
@@ -214,6 +223,7 @@ am__define_uniq_tagged_files = \
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in INSTALL THANKS TODO
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
am__relativize = \
dir0=`pwd`; \
@@ -439,7 +449,7 @@ EXTRA_DIST = MANUAL BUGS CONTRIBUTE FAQ FEATURES INTERNALS SSLCERTS \
KNOWN_BUGS BINDINGS $(man_MANS) $(HTMLPAGES) HISTORY INSTALL \
$(PDFPAGES) LICENSE-MIXING README.netware DISTRO-DILEMMA INSTALL.devcpp \
MAIL-ETIQUETTE HTTP-COOKIES SECURITY RELEASE-PROCEDURE \
- SSL-PROBLEMS HTTP2.md ROADMAP.md
+ SSL-PROBLEMS HTTP2.md ROADMAP.md CODE_OF_CONDUCT.md
MAN2HTML = roffit < $< >$@
SUFFIXES = .1 .html .pdf
@@ -459,7 +469,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign docs/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign docs/Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -800,6 +809,8 @@ uninstall-man: uninstall-man1
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
uninstall-am uninstall-man uninstall-man1
+.PRECIOUS: Makefile
+
html: $(HTMLPAGES)
cd libcurl; make html
diff --git a/docs/SSL-PROBLEMS b/docs/SSL-PROBLEMS
index 36502672..45faa241 100644
--- a/docs/SSL-PROBLEMS
+++ b/docs/SSL-PROBLEMS
@@ -26,7 +26,7 @@ CA bundle missing intermediate certificates
problems if your CA cert does not have the certificates for the
intermediates in the whole trust chain.
-SSL version
+Protocol version
Some broken servers fail to support the protocol negotiation properly that
SSL servers are supposed to handle. This may cause the connection to fail
@@ -36,7 +36,9 @@ SSL version
An additional complication can be that modern SSL libraries sometimes are
built with support for older SSL and TLS versions disabled!
-SSL ciphers
+ All versions of SSL are considered insecure and should be avoided. Use TLS.
+
+Ciphers
Clients give servers a list of ciphers to select from. If the list doesn't
include any ciphers the server wants/can use, the connection handshake
@@ -51,6 +53,10 @@ SSL ciphers
Note that these weak ciphers are identified as flawed. For example, this
includes symmetric ciphers with less than 128 bit keys and RC4.
+ WinSSL in Windows XP is not able to connect to servers that no longer
+ support the legacy handshakes and algorithms used by those versions, so we
+ advice against building curl to use WinSSL on really old Windows versions.
+
References:
https://tools.ietf.org/html/draft-popov-tls-prohibiting-rc4-01
@@ -65,3 +71,17 @@ Allow BEAST
introduced. Exactly as it sounds, it re-introduces the BEAST vulnerability
but on the other hand it allows curl to connect to that kind of strange
servers.
+
+Disabling certificate revocation checks
+
+ Some SSL backends may do certificate revocation checks (CRL, OCSP, etc)
+ depending on the OS or build configuration. The --ssl-no-revoke option was
+ introduced in 7.44.0 to disable revocation checking but currently 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. This option may have broader support to accommodate other SSL
+ backends in the future.
+
+ References:
+
+ http://curl.haxx.se/docs/ssl-compared.html
diff --git a/docs/TODO b/docs/TODO
index 65bf2ff7..9eb6b268 100644
--- a/docs/TODO
+++ b/docs/TODO
@@ -25,6 +25,8 @@
1.7 Detect when called from within callbacks
1.8 Allow SSL (HTTPS) to proxy
1.9 Cache negative name resolves
+ 1.10 Support IDNA2008
+ 1.11 minimize dependencies with dynamicly loaded modules
2. libcurl - multi interface
2.1 More non-blocking
@@ -112,6 +114,7 @@
17.7 warning when sending binary output to terminal
17.8 offer color-coded HTTP header output
17.9 Choose the name of file in braces for complex URLs
+ 17.10 improve how curl works in a windows console window
18. Build
18.1 roffit
@@ -218,6 +221,19 @@
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
+ would be the ones that link to 3rd party libs. That would allow us to avoid
+ having to load ALL dependencies since only the necessary ones for this
+ app/invoke/used protocols would be necessary to load. See
+ https://github.com/bagder/curl/issues/349
2. libcurl - multi interface
@@ -608,32 +624,38 @@ Currently the SMB authentication uses NTLMv1.
17.6 warning when setting an option
- Display a warning when libcurl returns an error when setting an option.
- This can be useful to tell when support for a particular feature hasn't been
- compiled into the library.
+ Display a warning when libcurl returns an error when setting an option.
+ This can be useful to tell when support for a particular feature hasn't been
+ compiled into the library.
17.7 warning when sending binary output to terminal
- Provide a way that prompts the user for confirmation before binary data is
- sent to the terminal, much in the style 'less' does it.
+ Provide a way that prompts the user for confirmation before binary data is
+ sent to the terminal, much in the style 'less' does it.
17.8 offer color-coded HTTP header output
- By offering different color output on the header name and the header
- contents, they could be made more readable and thus help users working on
- HTTP services.
+ By offering different color output on the header name and the header
+ contents, they could be made more readable and thus help users working on
+ HTTP services.
17.9 Choose the name of file in braces for complex URLs
- When using braces to download a list of URLs and you use complicated names
- in the list of alternatives, it could be handy to allow curl to use other
- names when saving.
+ When using braces to download a list of URLs and you use complicated names
+ in the list of alternatives, it could be handy to allow curl to use other
+ names when saving.
+
+ Consider a way to offer that. Possibly like
+ {partURL1:name1,partURL2:name2,partURL3:name3} where the name following the
+ colon is the output name.
+
+ See https://github.com/bagder/curl/issues/221
- Consider a way to offer that. Possibly like
- {partURL1:name1,partURL2:name2,partURL3:name3} where the name following the
- colon is the output name.
+17.10 improve how curl works in a windows console window
- See https://github.com/bagder/curl/issues/221
+ If you pull the scrollbar when transferring with curl in a Windows console
+ window, the transfer is interrupted and can get disconnected. This can
+ probably be improved. See https://github.com/bagder/curl/issues/322
18. Build
diff --git a/docs/curl-config.pdf b/docs/curl-config.pdf
index c8561d38..e3abdea2 100644
--- a/docs/curl-config.pdf
+++ b/docs/curl-config.pdf
Binary files differ
diff --git a/docs/curl.1 b/docs/curl.1
index 11b95d4e..e3303a54 100644
--- a/docs/curl.1
+++ b/docs/curl.1
@@ -544,9 +544,11 @@ OpenSSL-powered curl to make SSL-connections much more efficiently than using
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>"
-(SSL) Tells curl to use the specified public key file to verify the peer. The
-file must contain a single public key in PEM or DER format.
+.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 seperated 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
@@ -554,7 +556,8 @@ if it does not exactly match the public key provided to this option, curl will
abort the connection before sending or receiving any data.
Added in 7.39.0 for OpenSSL, GnuTLS and GSKit. Added in 7.43.0 for NSS and
-wolfSSL/CyaSSL. Other SSL backends not supported.
+wolfSSL/CyaSSL. sha256 support added in 7.44.0 for OpenSSL,
+GnuTLS, NSS and wolfSSL/CyaSSL. Other SSL backends not supported.
If this option is used several times, the last one will be used.
.IP "--cert-status"
@@ -604,7 +607,9 @@ input:
\fBcurl\fP -F password=@/etc/passwd www.mypasswords.com
To read content from stdin instead of a file, use - as the filename. This goes
-for both @ and < constructs.
+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:
@@ -1542,6 +1547,10 @@ 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)
.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)
diff --git a/docs/curl.html b/docs/curl.html
index cb6dedb6..c8374c4a 100644
--- a/docs/curl.html
+++ b/docs/curl.html
@@ -250,10 +250,10 @@ p.roffit {
<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&gt;</span>
-<p class="level1">(SSL) Tells curl to use the specified public key file to verify the peer. The file must contain a single public key in PEM or DER format.
+<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 seperated 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">Added in 7.39.0 for OpenSSL, GnuTLS and GSKit. Added in 7.43.0 for NSS and wolfSSL/CyaSSL. Other SSL backends not supported.
+<p class="level1">Added in 7.39.0 for OpenSSL, GnuTLS and GSKit. Added in 7.43.0 for NSS and wolfSSL/CyaSSL. sha256 support added in 7.44.0 for OpenSSL, GnuTLS, NSS and wolfSSL/CyaSSL. 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.
@@ -270,7 +270,7 @@ p.roffit {
<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 your password file to the server, where 'password' is the name of the form-field to which /etc/passwd will be the input:
<p class="level1"><span Class="bold">curl</span> -F password=@/etc/passwd www.mypasswords.com
-<p class="level1">To read content from stdin instead of a file, use - as the filename. This goes for both @ and &lt; constructs.
+<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" url.com
<p class="level1">or
@@ -657,6 +657,8 @@ referer = "<a href="http://nowhereatall.com/">http://nowhereatall.com/</a>"
<p class="level1">This option was formerly known as <span Class="emphasis">--ftp-ssl-reqd</span> (added in 7.15.5). That option name can still be used but will be removed in a future version.
<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.
diff --git a/docs/curl.pdf b/docs/curl.pdf
index b05eeedd..5e838d84 100644
--- a/docs/curl.pdf
+++ b/docs/curl.pdf
Binary files differ
diff --git a/docs/examples/10-at-a-time.c b/docs/examples/10-at-a-time.c
index 5d95a8a8..f43dc75e 100644
--- a/docs/examples/10-at-a-time.c
+++ b/docs/examples/10-at-a-time.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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,9 +19,10 @@
* KIND, either express or implied.
*
***************************************************************************/
-/* Example application source code using the multi interface to download many
- * files, but with a capped maximum amount of simultaneous transfers.
- *
+/* <DESC>
+ * Source code using the multi interface to download many
+ * files, with a capped maximum amount of simultaneous transfers.
+ * </DESC>
* Written by Michael Wallner
*/
diff --git a/docs/examples/Makefile.in b/docs/examples/Makefile.in
index 6e77f3fd..0b8c786c 100644
--- a/docs/examples/Makefile.in
+++ b/docs/examples/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# 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,
@@ -58,7 +58,17 @@
#
###########################################################################
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+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 \
?) ;; \
@@ -122,8 +132,6 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
@USE_CPPFLAG_CURL_STATICLIB_TRUE@am__append_1 = -DCURL_STATICLIB
-DIST_COMMON = $(srcdir)/Makefile.inc $(srcdir)/Makefile.in \
- $(srcdir)/Makefile.am $(top_srcdir)/depcomp README
check_PROGRAMS = 10-at-a-time$(EXEEXT) anyauthput$(EXEEXT) \
cookie_interface$(EXEEXT) debug$(EXEEXT) fileupload$(EXEEXT) \
fopen$(EXEEXT) ftpget$(EXEEXT) ftpgetresp$(EXEEXT) \
@@ -149,7 +157,8 @@ check_PROGRAMS = 10-at-a-time$(EXEEXT) anyauthput$(EXEEXT) \
imap-copy$(EXEEXT) imap-noop$(EXEEXT) imap-ssl$(EXEEXT) \
imap-tls$(EXEEXT) imap-multi$(EXEEXT) url2file$(EXEEXT) \
sftpget$(EXEEXT) ftpsget$(EXEEXT) postinmemory$(EXEEXT) \
- http2-download$(EXEEXT) http2-upload$(EXEEXT)
+ http2-download$(EXEEXT) http2-upload$(EXEEXT) \
+ http2-serverpush$(EXEEXT)
subdir = docs/examples
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/curl-compilers.m4 \
@@ -171,6 +180,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/curl-compilers.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
@@ -311,6 +321,13 @@ http2_download_LDADD = $(LDADD)
@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
@USE_EXPLICIT_LIB_DEPS_TRUE@http2_download_DEPENDENCIES = \
@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
+http2_serverpush_SOURCES = http2-serverpush.c
+http2_serverpush_OBJECTS = http2-serverpush.$(OBJEXT)
+http2_serverpush_LDADD = $(LDADD)
+@USE_EXPLICIT_LIB_DEPS_FALSE@http2_serverpush_DEPENDENCIES = \
+@USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la
+@USE_EXPLICIT_LIB_DEPS_TRUE@http2_serverpush_DEPENDENCIES = \
+@USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la
http2_upload_SOURCES = http2-upload.c
http2_upload_OBJECTS = http2-upload.$(OBJEXT)
http2_upload_LDADD = $(LDADD)
@@ -717,14 +734,15 @@ SOURCES = 10-at-a-time.c anyauthput.c certinfo.c chkspeed.c \
cookie_interface.c debug.c externalsocket.c fileupload.c \
fopen.c ftp-wildcard.c ftpget.c ftpgetinfo.c ftpgetresp.c \
ftpsget.c ftpupload.c getinfo.c getinmemory.c http-post.c \
- http2-download.c http2-upload.c httpcustomheader.c httpput.c \
- https.c imap-append.c imap-copy.c imap-create.c imap-delete.c \
- imap-examine.c imap-fetch.c imap-list.c imap-lsub.c \
- imap-multi.c imap-noop.c imap-search.c imap-ssl.c imap-store.c \
- imap-tls.c multi-app.c multi-debugcallback.c multi-double.c \
- multi-post.c multi-single.c persistant.c pop3-dele.c \
- pop3-list.c pop3-multi.c pop3-noop.c pop3-retr.c pop3-ssl.c \
- pop3-stat.c pop3-tls.c pop3-top.c pop3-uidl.c post-callback.c \
+ http2-download.c http2-serverpush.c http2-upload.c \
+ httpcustomheader.c httpput.c https.c imap-append.c imap-copy.c \
+ imap-create.c imap-delete.c imap-examine.c imap-fetch.c \
+ imap-list.c imap-lsub.c imap-multi.c imap-noop.c imap-search.c \
+ imap-ssl.c imap-store.c imap-tls.c multi-app.c \
+ multi-debugcallback.c multi-double.c multi-post.c \
+ multi-single.c persistant.c pop3-dele.c pop3-list.c \
+ pop3-multi.c pop3-noop.c pop3-retr.c pop3-ssl.c pop3-stat.c \
+ pop3-tls.c pop3-top.c pop3-uidl.c post-callback.c \
postinmemory.c postit2.c progressfunc.c resolve.c rtsp.c \
sendrecv.c sepheaders.c sftpget.c simple.c simplepost.c \
simplessl.c smtp-expn.c smtp-mail.c smtp-multi.c smtp-ssl.c \
@@ -733,14 +751,15 @@ DIST_SOURCES = 10-at-a-time.c anyauthput.c certinfo.c chkspeed.c \
cookie_interface.c debug.c externalsocket.c fileupload.c \
fopen.c ftp-wildcard.c ftpget.c ftpgetinfo.c ftpgetresp.c \
ftpsget.c ftpupload.c getinfo.c getinmemory.c http-post.c \
- http2-download.c http2-upload.c httpcustomheader.c httpput.c \
- https.c imap-append.c imap-copy.c imap-create.c imap-delete.c \
- imap-examine.c imap-fetch.c imap-list.c imap-lsub.c \
- imap-multi.c imap-noop.c imap-search.c imap-ssl.c imap-store.c \
- imap-tls.c multi-app.c multi-debugcallback.c multi-double.c \
- multi-post.c multi-single.c persistant.c pop3-dele.c \
- pop3-list.c pop3-multi.c pop3-noop.c pop3-retr.c pop3-ssl.c \
- pop3-stat.c pop3-tls.c pop3-top.c pop3-uidl.c post-callback.c \
+ http2-download.c http2-serverpush.c http2-upload.c \
+ httpcustomheader.c httpput.c https.c imap-append.c imap-copy.c \
+ imap-create.c imap-delete.c imap-examine.c imap-fetch.c \
+ imap-list.c imap-lsub.c imap-multi.c imap-noop.c imap-search.c \
+ imap-ssl.c imap-store.c imap-tls.c multi-app.c \
+ multi-debugcallback.c multi-double.c multi-post.c \
+ multi-single.c persistant.c pop3-dele.c pop3-list.c \
+ pop3-multi.c pop3-noop.c pop3-retr.c pop3-ssl.c pop3-stat.c \
+ pop3-tls.c pop3-top.c pop3-uidl.c post-callback.c \
postinmemory.c postit2.c progressfunc.c resolve.c rtsp.c \
sendrecv.c sepheaders.c sftpget.c simple.c simplepost.c \
simplessl.c smtp-expn.c smtp-mail.c smtp-multi.c smtp-ssl.c \
@@ -769,6 +788,8 @@ am__define_uniq_tagged_files = \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.inc \
+ $(top_srcdir)/depcomp README
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
@@ -1005,7 +1026,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/Ma
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign docs/examples/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign docs/examples/Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -1014,7 +1034,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(srcdir)/Makefile.inc:
+$(srcdir)/Makefile.inc $(am__empty):
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -1110,6 +1130,10 @@ http2-download$(EXEEXT): $(http2_download_OBJECTS) $(http2_download_DEPENDENCIES
@rm -f http2-download$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(http2_download_OBJECTS) $(http2_download_LDADD) $(LIBS)
+http2-serverpush$(EXEEXT): $(http2_serverpush_OBJECTS) $(http2_serverpush_DEPENDENCIES) $(EXTRA_http2_serverpush_DEPENDENCIES)
+ @rm -f http2-serverpush$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(http2_serverpush_OBJECTS) $(http2_serverpush_LDADD) $(LIBS)
+
http2-upload$(EXEEXT): $(http2_upload_OBJECTS) $(http2_upload_DEPENDENCIES) $(EXTRA_http2_upload_DEPENDENCIES)
@rm -f http2-upload$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(http2_upload_OBJECTS) $(http2_upload_LDADD) $(LIBS)
@@ -1347,6 +1371,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getinmemory.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http-post.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http2-download.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http2-serverpush.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http2-upload.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/httpcustomheader.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/httpput.Po@am__quote@
@@ -1635,6 +1660,8 @@ uninstall-am:
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags tags-am uninstall uninstall-am
+.PRECIOUS: Makefile
+
# Makefile.inc provides the check_PROGRAMS and COMPLICATED_EXAMPLES defines
diff --git a/docs/examples/Makefile.inc b/docs/examples/Makefile.inc
index 4b0c28ff..b2161300 100644
--- a/docs/examples/Makefile.inc
+++ b/docs/examples/Makefile.inc
@@ -32,7 +32,7 @@ check_PROGRAMS = 10-at-a-time anyauthput cookie_interface debug fileupload \
imap-list imap-lsub imap-fetch imap-store imap-append imap-examine \
imap-search imap-create imap-delete imap-copy imap-noop imap-ssl \
imap-tls imap-multi url2file sftpget ftpsget postinmemory http2-download \
- http2-upload
+ http2-upload http2-serverpush
# These examples require external dependencies that may not be commonly
# available on POSIX systems, so don't bother attempting to compile them here.
diff --git a/docs/examples/Makefile.m32 b/docs/examples/Makefile.m32
index 2da5294e..7be640c1 100644
--- a/docs/examples/Makefile.m32
+++ b/docs/examples/Makefile.m32
@@ -50,7 +50,7 @@ LIBRTMP_PATH = ../../../librtmp-2.4
endif
# Edit the path below to point to the base of your libidn package.
ifndef LIBIDN_PATH
-LIBIDN_PATH = ../../../libidn-1.30
+LIBIDN_PATH = ../../../libidn-1.32
endif
# Edit the path below to point to the base of your MS IDN package.
# Microsoft Internationalized Domain Names (IDN) Mitigation APIs 1.1
diff --git a/docs/examples/Makefile.netware b/docs/examples/Makefile.netware
index f8e9955e..2d85e736 100644
--- a/docs/examples/Makefile.netware
+++ b/docs/examples/Makefile.netware
@@ -34,7 +34,7 @@ endif
# Edit the path below to point to the base of your libidn package.
ifndef LIBIDN_PATH
-LIBIDN_PATH = ../../../libidn-1.30
+LIBIDN_PATH = ../../../libidn-1.32
endif
# Edit the path below to point to the base of your librtmp package.
diff --git a/docs/examples/anyauthput.c b/docs/examples/anyauthput.c
index b89dca2e..2962645b 100644
--- a/docs/examples/anyauthput.c
+++ b/docs/examples/anyauthput.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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,6 +19,11 @@
* KIND, either express or implied.
*
***************************************************************************/
+/* <DESC>
+ * HTTP PUT upload with authentiction using "any" method. libcurl picks the
+ * one the server supports/wants.
+ * </DESC>
+ */
#include <stdio.h>
#include <fcntl.h>
#ifdef WIN32
diff --git a/docs/examples/asiohiper.cpp b/docs/examples/asiohiper.cpp
index eb5cd038..ff413485 100644
--- a/docs/examples/asiohiper.cpp
+++ b/docs/examples/asiohiper.cpp
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 2012 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 2012 - 2015, 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,11 +20,11 @@
*
***************************************************************************/
+/* <DESC>
+ * demonstrate the use of multi socket interface with boost::asio
+ * </DESC>
+ */
/*
- * file: asiohiper.cpp
- * Example program to demonstrate the use of multi socket interface
- * with boost::asio
- *
* This program is in c++ and uses boost::asio instead of libevent/libev.
* Requires boost::asio, boost::bind and boost::system
*
diff --git a/docs/examples/cacertinmem.c b/docs/examples/cacertinmem.c
index 30a5153a..67fd382b 100644
--- a/docs/examples/cacertinmem.c
+++ b/docs/examples/cacertinmem.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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,17 +19,11 @@
* KIND, either express or implied.
*
***************************************************************************/
-/* Example using a "in core" PEM certificate to retrieve a https page.
- * Written by Theo Borm
+/* <DESC>
+ * CA cert in memory with OpenSSL to get a HTTPS page.
+ * </DESC>
*/
-/* on a netBSD system with OPENSSL& LIBCURL installed from
- * pkgsrc (using default paths) this program can be compiled using:
- * gcc -I/usr/pkg/include -L/usr/pkg/lib -lcurl -Wl,-R/usr/pkg/lib -lssl
- * -lcrypto -lz -o curlcacerttest curlcacerttest.c
- * on other operating systems you may want to change paths to headers
- * and libraries
-*/
#include <openssl/ssl.h>
#include <curl/curl.h>
#include <stdio.h>
diff --git a/docs/examples/certinfo.c b/docs/examples/certinfo.c
index ac0109b0..7ec70ee1 100644
--- a/docs/examples/certinfo.c
+++ b/docs/examples/certinfo.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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,6 +19,10 @@
* KIND, either express or implied.
*
***************************************************************************/
+/* <DESC>
+ * Extract lots of TLS certificate info.
+ * </DESC>
+ */
#include <stdio.h>
#include <curl/curl.h>
diff --git a/docs/examples/chkspeed.c b/docs/examples/chkspeed.c
index 31949b89..bae8ea6b 100644
--- a/docs/examples/chkspeed.c
+++ b/docs/examples/chkspeed.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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,6 +19,10 @@
* KIND, either express or implied.
*
***************************************************************************/
+/* <DESC>
+ * Show transfer timing info after download completes.
+ * </DESC>
+ */
/* Example source code to show how the callback function can be used to
* download data into a chunk of memory instead of storing it in a file.
* After successful download we use curl_easy_getinfo() calls to get the
diff --git a/docs/examples/cookie_interface.c b/docs/examples/cookie_interface.c
index 28ee7817..b67051c7 100644
--- a/docs/examples/cookie_interface.c
+++ b/docs/examples/cookie_interface.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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,10 @@
* KIND, either express or implied.
*
***************************************************************************/
-/* This example shows usage of simple cookie interface. */
+/* <DESC>
+ * Import and export cookies with COOKIELIST.
+ * </DESC>
+ */
#include <stdio.h>
#include <string.h>
diff --git a/docs/examples/curlgtk.c b/docs/examples/curlgtk.c
index 8cb9914c..df6b419f 100644
--- a/docs/examples/curlgtk.c
+++ b/docs/examples/curlgtk.c
@@ -5,9 +5,12 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
+ * Copyright (c) 2000 David Odin (aka DindinX) for MandrakeSoft
+ */
+/* <DESC>
+ * use the libcurl in a gtk-threaded application
+ * </DESC>
*/
-/* Copyright (c) 2000 David Odin (aka DindinX) for MandrakeSoft */
-/* an attempt to use the curl library in concert with a gtk-threaded application */
#include <stdio.h>
#include <gtk/gtk.h>
diff --git a/docs/examples/curlx.c b/docs/examples/curlx.c
index c68cf0dd..9bfb0cbd 100644
--- a/docs/examples/curlx.c
+++ b/docs/examples/curlx.c
@@ -9,7 +9,10 @@
certificate presented during ssl session establishment.
*/
-
+/* <DESC>
+ * demonstrates use of SSL context callback, requires OpenSSL
+ * </DESC>
+ */
/*
* Copyright (c) 2003 The OpenEvidence Project. All rights reserved.
diff --git a/docs/examples/debug.c b/docs/examples/debug.c
index 36dd80d7..6baab440 100644
--- a/docs/examples/debug.c
+++ b/docs/examples/debug.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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,6 +19,10 @@
* KIND, either express or implied.
*
***************************************************************************/
+/* <DESC>
+ * Show how CURLOPT_DEBUGFUNCTION can be used.
+ * </DESC>
+ */
#include <stdio.h>
#include <curl/curl.h>
diff --git a/docs/examples/evhiperfifo.c b/docs/examples/evhiperfifo.c
index e03801d8..5a60c8d2 100644
--- a/docs/examples/evhiperfifo.c
+++ b/docs/examples/evhiperfifo.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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,6 +19,10 @@
* KIND, either express or implied.
*
***************************************************************************/
+/* <DESC>
+ * multi socket interface together with libev
+ * </DESC>
+ */
/* Example application source code using the multi socket interface to
* download many files at once.
*
diff --git a/docs/examples/externalsocket.c b/docs/examples/externalsocket.c
index 5486d125..cae5ccc7 100644
--- a/docs/examples/externalsocket.c
+++ b/docs/examples/externalsocket.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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,9 +19,10 @@
* KIND, either express or implied.
*
***************************************************************************/
-/*
- * This is an example demonstrating how an application can pass in a custom
+/* <DESC>
+ * An example demonstrating how an application can pass in a custom
* socket to libcurl to use. This example also handles the connect itself.
+ * </DESC>
*/
#include <stdio.h>
#include <string.h>
diff --git a/docs/examples/fileupload.c b/docs/examples/fileupload.c
index 665eca0a..b695a2a6 100644
--- a/docs/examples/fileupload.c
+++ b/docs/examples/fileupload.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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,6 +19,10 @@
* KIND, either express or implied.
*
***************************************************************************/
+/* <DESC>
+ * Upload to a file:// URL
+ * </DESC>
+ */
#include <stdio.h>
#include <curl/curl.h>
#include <sys/stat.h>
diff --git a/docs/examples/fopen.c b/docs/examples/fopen.c
index 0aad0abf..de9ce19a 100644
--- a/docs/examples/fopen.c
+++ b/docs/examples/fopen.c
@@ -42,6 +42,10 @@
*
* This example requires libcurl 7.9.7 or later.
*/
+/* <DESC>
+ * implements an fopen() abstraction allowing reading from URLs
+ * </DESC>
+ */
#include <stdio.h>
#include <string.h>
diff --git a/docs/examples/ftp-wildcard.c b/docs/examples/ftp-wildcard.c
index d175ddfd..ae0855cb 100644
--- a/docs/examples/ftp-wildcard.c
+++ b/docs/examples/ftp-wildcard.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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,6 +19,10 @@
* KIND, either express or implied.
*
***************************************************************************/
+/* <DESC>
+ * FTP wildcard pattern matching
+ * </DESC>
+ */
#include <curl/curl.h>
#include <stdio.h>
diff --git a/docs/examples/ftpget.c b/docs/examples/ftpget.c
index 285283f7..8ec7d733 100644
--- a/docs/examples/ftpget.c
+++ b/docs/examples/ftpget.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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
@@ -23,11 +23,9 @@
#include <curl/curl.h>
-/*
- * This is an example showing how to get a single file from an FTP server.
- * It delays the actual destination file creation until the first write
- * callback so that it won't create an empty file in case the remote file
- * doesn't exist or something else fails.
+/* <DESC>
+ * Get a single file from an FTP server.
+ * </DESC>
*/
struct FtpFile {
diff --git a/docs/examples/ftpgetinfo.c b/docs/examples/ftpgetinfo.c
index dfdcf78b..baea7d8e 100644
--- a/docs/examples/ftpgetinfo.c
+++ b/docs/examples/ftpgetinfo.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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
@@ -24,9 +24,9 @@
#include <curl/curl.h>
-/*
- * This is an example showing how to check a single file's size and mtime
- * from an FTP server.
+/* <DESC>
+ * Checks a single file's size and mtime from an FTP server.
+ * </DESC>
*/
static size_t throw_away(void *ptr, size_t size, size_t nmemb, void *data)
diff --git a/docs/examples/ftpgetresp.c b/docs/examples/ftpgetresp.c
index dcb296ad..76c512bb 100644
--- a/docs/examples/ftpgetresp.c
+++ b/docs/examples/ftpgetresp.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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
@@ -23,13 +23,11 @@
#include <curl/curl.h>
-/*
- * Similar to ftpget.c but this also stores the received response-lines
+/* <DESC>
+ * Similar to ftpget.c but also stores the received response-lines
* in a separate file using our own callback!
- *
- * This functionality was introduced in libcurl 7.9.3.
+ * </DESC>
*/
-
static size_t
write_response(void *ptr, size_t size, size_t nmemb, void *data)
{
diff --git a/docs/examples/ftpsget.c b/docs/examples/ftpsget.c
index dae45348..2c1fd3e9 100644
--- a/docs/examples/ftpsget.c
+++ b/docs/examples/ftpsget.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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
@@ -24,11 +24,9 @@
#include <curl/curl.h>
-/*
- * This is an example showing how to get a single file from an FTPS server.
- * It delays the actual destination file creation until the first write
- * callback so that it won't create an empty file in case the remote file
- * doesn't exist or something else fails.
+/* <DESC>
+ * Get a single file from an FTPS server.
+ * </DESC>
*/
struct FtpFile {
diff --git a/docs/examples/ftpupload.c b/docs/examples/ftpupload.c
index e79f8d84..b4fc79f9 100644
--- a/docs/examples/ftpupload.c
+++ b/docs/examples/ftpupload.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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,11 +33,10 @@
#include <unistd.h>
#endif
-/*
- * This example shows an FTP upload, with a rename of the file just after
- * a successful upload.
- *
- * Example based on source code provided by Erick Nuwendam. Thanks!
+/* <DESC>
+ * Performs an FTP upload and renames the file just after a successful
+ * transfer.
+ * </DESC>
*/
#define LOCAL_FILE "/tmp/uploadthis.txt"
diff --git a/docs/examples/ftpuploadresume.c b/docs/examples/ftpuploadresume.c
index 55b8986c..1a24f7cb 100644
--- a/docs/examples/ftpuploadresume.c
+++ b/docs/examples/ftpuploadresume.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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,13 +19,9 @@
* KIND, either express or implied.
*
***************************************************************************/
-/* Upload to FTP, resuming failed transfers
- *
- * Compile for MinGW like this:
- * gcc -Wall -pedantic -std=c99 ftpuploadwithresume.c -o ftpuploadresume.exe
- * -lcurl -lmsvcr70
- *
- * Written by Philip Bock
+/* <DESC>
+ * Upload to FTP, resuming failed transfers.
+ * </DESC>
*/
#include <stdlib.h>
diff --git a/docs/examples/getinfo.c b/docs/examples/getinfo.c
index acbe1e1a..7f578df4 100644
--- a/docs/examples/getinfo.c
+++ b/docs/examples/getinfo.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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,6 +19,10 @@
* KIND, either express or implied.
*
***************************************************************************/
+/* <DESC>
+ * Use getinfo to get content-type after completed transfer.
+ * </DESC>
+ */
#include <stdio.h>
#include <curl/curl.h>
@@ -27,18 +31,14 @@ int main(void)
CURL *curl;
CURLcode res;
- /* http://curl.haxx.se/libcurl/c/curl_easy_init.html */
curl = curl_easy_init();
if(curl) {
- /* http://curl.haxx.se/libcurl/c/curl_easy_setopt.html#CURLOPTURL */
curl_easy_setopt(curl, CURLOPT_URL, "http://www.example.com/");
- /* http://curl.haxx.se/libcurl/c/curl_easy_perform.html */
res = curl_easy_perform(curl);
if(CURLE_OK == res) {
char *ct;
/* ask for the content-type */
- /* http://curl.haxx.se/libcurl/c/curl_easy_getinfo.html */
res = curl_easy_getinfo(curl, CURLINFO_CONTENT_TYPE, &ct);
if((CURLE_OK == res) && ct)
@@ -46,7 +46,6 @@ int main(void)
}
/* always cleanup */
- /* http://curl.haxx.se/libcurl/c/curl_easy_cleanup.html */
curl_easy_cleanup(curl);
}
return 0;
diff --git a/docs/examples/getinmemory.c b/docs/examples/getinmemory.c
index a1c21404..2cf201e9 100644
--- a/docs/examples/getinmemory.c
+++ b/docs/examples/getinmemory.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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,8 +19,10 @@
* KIND, either express or implied.
*
***************************************************************************/
-/* Example source code to show how the callback function can be used to
- * download data into a chunk of memory instead of storing it in a file.
+/* <DESC>
+ * Shows how the write callback function can be used to download data into a
+ * chunk of memory instead of storing it in a file.
+ * </DESC>
*/
#include <stdio.h>
@@ -34,7 +36,6 @@ struct MemoryStruct {
size_t size;
};
-
static size_t
WriteMemoryCallback(void *contents, size_t size, size_t nmemb, void *userp)
{
@@ -55,7 +56,6 @@ WriteMemoryCallback(void *contents, size_t size, size_t nmemb, void *userp)
return realsize;
}
-
int main(void)
{
CURL *curl_handle;
diff --git a/docs/examples/ghiper.c b/docs/examples/ghiper.c
index 7571ffa3..0621d3ee 100644
--- a/docs/examples/ghiper.c
+++ b/docs/examples/ghiper.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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,6 +19,10 @@
* KIND, either express or implied.
*
***************************************************************************/
+/* <DESC>
+ * multi socket API usage together with with glib2
+ * </DESC>
+ */
/* Example application source code using the multi socket interface to
* download many files at once.
*
diff --git a/docs/examples/hiperfifo.c b/docs/examples/hiperfifo.c
index 84035aa2..63614f7d 100644
--- a/docs/examples/hiperfifo.c
+++ b/docs/examples/hiperfifo.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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,6 +19,10 @@
* KIND, either express or implied.
*
***************************************************************************/
+/* <DESC>
+ * multi socket API usage with libevent 2
+ * </DESC>
+ */
/* Example application source code using the multi socket interface to
download many files at once.
diff --git a/docs/examples/href_extractor.c b/docs/examples/href_extractor.c
index c11325d2..f2c324e3 100644
--- a/docs/examples/href_extractor.c
+++ b/docs/examples/href_extractor.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 2012 - 2015, 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,13 +20,13 @@
*
***************************************************************************/
+/* <DESC>
+ * Uses the "Streaming HTML parser" to extract the href pieces in a streaming
+ * manner from a downloaded HTML.
+ * </DESC>
+ */
/*
- * This example uses the "Streaming HTML parser" to extract the href pieces in
- * a streaming manner from a downloaded HTML. Kindly donated by Michał
- * Kowalczyk.
- *
- * The parser is found at
- * http://code.google.com/p/htmlstreamparser/
+ * The HTML parser is found at http://code.google.com/p/htmlstreamparser/
*/
#include <stdio.h>
diff --git a/docs/examples/htmltidy.c b/docs/examples/htmltidy.c
index a36e331b..c1d9508d 100644
--- a/docs/examples/htmltidy.c
+++ b/docs/examples/htmltidy.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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,13 +19,12 @@
* KIND, either express or implied.
*
***************************************************************************/
-/* Download a document and use libtidy to parse the HTML.
- * Written by Jeff Pohlmeyer
- *
+/* <DESC>
+ * Download a document and use libtidy to parse the HTML.
+ * </DESC>
+ */
+/*
* LibTidy => http://tidy.sourceforge.net
- *
- * gcc -Wall -I/usr/local/include tidycurl.c -lcurl -ltidy -o tidycurl
- *
*/
#include <stdio.h>
diff --git a/docs/examples/htmltitle.cpp b/docs/examples/htmltitle.cpp
index ab89bb6a..d91b505a 100644
--- a/docs/examples/htmltitle.cpp
+++ b/docs/examples/htmltitle.cpp
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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,8 +19,10 @@
* KIND, either express or implied.
*
***************************************************************************/
-// Get a web page, parse it with libxml.
-//
+/* <DESC>
+ * Get a web page, extract the title with libxml.
+ * </DESC>
+ */
// Written by Lars Nilsson
//
// GNU C++ compile command line suggestion (edit paths accordingly):
diff --git a/docs/examples/http-post.c b/docs/examples/http-post.c
index f1975b1e..a213c398 100644
--- a/docs/examples/http-post.c
+++ b/docs/examples/http-post.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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,6 +19,10 @@
* KIND, either express or implied.
*
***************************************************************************/
+/* <DESC>
+ * simple HTTP POST using the easy interface
+ * </DESC>
+ */
#include <stdio.h>
#include <curl/curl.h>
diff --git a/docs/examples/http2-download.c b/docs/examples/http2-download.c
index 3b7ca81d..8b065073 100644
--- a/docs/examples/http2-download.c
+++ b/docs/examples/http2-download.c
@@ -19,6 +19,10 @@
* KIND, either express or implied.
*
***************************************************************************/
+/* <DESC>
+ * Multiplexed HTTP/2 downloads over a single connection
+ * </DESC>
+ */
#include <stdio.h>
#include <stdlib.h>
diff --git a/docs/examples/http2-serverpush.c b/docs/examples/http2-serverpush.c
new file mode 100644
index 00000000..53c491b3
--- /dev/null
+++ b/docs/examples/http2-serverpush.c
@@ -0,0 +1,317 @@
+/***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2015, 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 http://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.
+ *
+ ***************************************************************************/
+/* <DESC>
+ * HTTP/2 server push
+ * </DESC>
+ */
+#include <stdio.h>
+#include <stdlib.h>
+
+/* somewhat unix-specific */
+#include <sys/time.h>
+#include <unistd.h>
+
+/* curl stuff */
+#include <curl/curl.h>
+
+#ifndef CURLPIPE_MULTIPLEX
+#error "too old libcurl, can't do HTTP/2 server push!"
+#endif
+
+static
+void dump(const char *text, unsigned char *ptr, size_t size,
+ char nohex)
+{
+ size_t i;
+ size_t c;
+
+ unsigned int width=0x10;
+
+ if(nohex)
+ /* without the hex output, we can fit more on screen */
+ width = 0x40;
+
+ fprintf(stderr, "%s, %ld bytes (0x%lx)\n",
+ text, (long)size, (long)size);
+
+ for(i=0; i<size; i+= width) {
+
+ fprintf(stderr, "%4.4lx: ", (long)i);
+
+ if(!nohex) {
+ /* hex not disabled, show it */
+ for(c = 0; c < width; c++)
+ if(i+c < size)
+ fprintf(stderr, "%02x ", ptr[i+c]);
+ else
+ fputs(" ", stderr);
+ }
+
+ for(c = 0; (c < width) && (i+c < size); c++) {
+ /* check for 0D0A; if found, skip past and start a new line of output */
+ if (nohex && (i+c+1 < size) && ptr[i+c]==0x0D && ptr[i+c+1]==0x0A) {
+ i+=(c+2-width);
+ break;
+ }
+ fprintf(stderr, "%c",
+ (ptr[i+c]>=0x20) && (ptr[i+c]<0x80)?ptr[i+c]:'.');
+ /* check again for 0D0A, to avoid an extra \n if it's at width */
+ if (nohex && (i+c+2 < size) && ptr[i+c+1]==0x0D && ptr[i+c+2]==0x0A) {
+ i+=(c+3-width);
+ break;
+ }
+ }
+ fputc('\n', stderr); /* newline */
+ }
+}
+
+static
+int my_trace(CURL *handle, curl_infotype type,
+ char *data, size_t size,
+ void *userp)
+{
+ const char *text;
+ (void)handle; /* prevent compiler warning */
+ (void)userp;
+ switch (type) {
+ case CURLINFO_TEXT:
+ fprintf(stderr, "== Info: %s", data);
+ default: /* in case a new one is introduced to shock us */
+ return 0;
+
+ case CURLINFO_HEADER_OUT:
+ text = "=> Send header";
+ break;
+ case CURLINFO_DATA_OUT:
+ text = "=> Send data";
+ break;
+ case CURLINFO_SSL_DATA_OUT:
+ text = "=> Send SSL data";
+ break;
+ case CURLINFO_HEADER_IN:
+ text = "<= Recv header";
+ break;
+ case CURLINFO_DATA_IN:
+ text = "<= Recv data";
+ break;
+ case CURLINFO_SSL_DATA_IN:
+ text = "<= Recv SSL data";
+ break;
+ }
+
+ dump(text, (unsigned char *)data, size, 1);
+ return 0;
+}
+
+static void setup(CURL *hnd)
+{
+ FILE *out = fopen("dl", "wb");
+
+ /* write to this file */
+ curl_easy_setopt(hnd, CURLOPT_WRITEDATA, out);
+
+ /* set the same URL */
+ curl_easy_setopt(hnd, CURLOPT_URL, "https://localhost:8443/index.html");
+
+ /* send it verbose for max debuggaility */
+ curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L);
+ curl_easy_setopt(hnd, CURLOPT_DEBUGFUNCTION, my_trace);
+
+ /* HTTP/2 please */
+ curl_easy_setopt(hnd, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2_0);
+
+ /* we use a self-signed test server, skip verification during debugging */
+ curl_easy_setopt(hnd, CURLOPT_SSL_VERIFYPEER, 0L);
+ curl_easy_setopt(hnd, CURLOPT_SSL_VERIFYHOST, 0L);
+
+#if (CURLPIPE_MULTIPLEX > 0)
+ /* wait for pipe connection to confirm */
+ curl_easy_setopt(hnd, CURLOPT_PIPEWAIT, 1L);
+#endif
+
+}
+
+/* called when there's an incoming push */
+static int server_push_callback(CURL *parent,
+ CURL *easy,
+ size_t num_headers,
+ struct curl_pushheaders *headers,
+ void *userp)
+{
+ char *headp;
+ size_t i;
+ int *transfers = (int *)userp;
+ char filename[128];
+ FILE *out;
+ static unsigned int count = 0;
+
+ (void)parent; /* we have no use for this */
+
+ sprintf(filename, "push%u", count++);
+
+ /* here's a new stream, save it in a new file for each new push */
+ out = fopen(filename, "wb");
+
+ /* write to this file */
+ curl_easy_setopt(easy, CURLOPT_WRITEDATA, out);
+
+ fprintf(stderr, "**** push callback approves stream %u, got %d headers!\n",
+ count, (int)num_headers);
+
+ for(i=0; i<num_headers; i++) {
+ headp = curl_pushheader_bynum(headers, i);
+ fprintf(stderr, "**** header %u: %s\n", (int)i, headp);
+ }
+
+ headp = curl_pushheader_byname(headers, ":path");
+ if(headp) {
+ fprintf(stderr, "**** The PATH is %s\n", headp /* skip :path + colon */ );
+ }
+
+ (*transfers)++; /* one more */
+ return CURL_PUSH_OK;
+}
+
+
+/*
+ * Download a file over HTTP/2, take care of server push.
+ */
+int main(void)
+{
+ CURL *easy;
+ CURLM *multi_handle;
+ int still_running; /* keep number of running handles */
+ int transfers=1; /* we start with one */
+ struct CURLMsg *m;
+
+ /* init a multi stack */
+ multi_handle = curl_multi_init();
+
+ easy = curl_easy_init();
+
+ /* set options */
+ setup(easy);
+
+ /* add the easy transfer */
+ curl_multi_add_handle(multi_handle, easy);
+
+ curl_multi_setopt(multi_handle, CURLMOPT_PIPELINING, CURLPIPE_MULTIPLEX);
+ curl_multi_setopt(multi_handle, CURLMOPT_PUSHFUNCTION, server_push_callback);
+ curl_multi_setopt(multi_handle, CURLMOPT_PUSHDATA, &transfers);
+
+ /* we start some action by calling perform right away */
+ curl_multi_perform(multi_handle, &still_running);
+
+ do {
+ struct timeval timeout;
+ int rc; /* select() return code */
+ CURLMcode mc; /* curl_multi_fdset() return code */
+
+ fd_set fdread;
+ fd_set fdwrite;
+ fd_set fdexcep;
+ int maxfd = -1;
+
+ long curl_timeo = -1;
+
+ FD_ZERO(&fdread);
+ FD_ZERO(&fdwrite);
+ FD_ZERO(&fdexcep);
+
+ /* set a suitable timeout to play around with */
+ timeout.tv_sec = 1;
+ timeout.tv_usec = 0;
+
+ curl_multi_timeout(multi_handle, &curl_timeo);
+ if(curl_timeo >= 0) {
+ timeout.tv_sec = curl_timeo / 1000;
+ if(timeout.tv_sec > 1)
+ timeout.tv_sec = 1;
+ else
+ timeout.tv_usec = (curl_timeo % 1000) * 1000;
+ }
+
+ /* get file descriptors from the transfers */
+ mc = curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd);
+
+ if(mc != CURLM_OK) {
+ fprintf(stderr, "curl_multi_fdset() failed, code %d.\n", mc);
+ break;
+ }
+
+ /* On success the value of maxfd is guaranteed to be >= -1. We call
+ select(maxfd + 1, ...); specially in case of (maxfd == -1) there are
+ no fds ready yet so we call select(0, ...) --or Sleep() on Windows--
+ to sleep 100ms, which is the minimum suggested value in the
+ curl_multi_fdset() doc. */
+
+ if(maxfd == -1) {
+#ifdef _WIN32
+ Sleep(100);
+ rc = 0;
+#else
+ /* Portable sleep for platforms other than Windows. */
+ struct timeval wait = { 0, 100 * 1000 }; /* 100ms */
+ rc = select(0, NULL, NULL, NULL, &wait);
+#endif
+ }
+ else {
+ /* Note that on some platforms 'timeout' may be modified by select().
+ If you need access to the original value save a copy beforehand. */
+ rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout);
+ }
+
+ switch(rc) {
+ case -1:
+ /* select error */
+ break;
+ case 0:
+ default:
+ /* timeout or readable/writable sockets */
+ curl_multi_perform(multi_handle, &still_running);
+ break;
+ }
+
+ /*
+ * A little caution when doing server push is that libcurl itself has
+ * created and added one or more easy handles but we need to clean them up
+ * when we are done.
+ */
+
+ do {
+ int msgq = 0;;
+ m = curl_multi_info_read(multi_handle, &msgq);
+ if(m && (m->msg == CURLMSG_DONE)) {
+ CURL *e = m->easy_handle;
+ transfers--;
+ curl_multi_remove_handle(multi_handle, e);
+ curl_easy_cleanup(e);
+ }
+ } while(m);
+
+ } while(transfers); /* as long as we have transfers going */
+
+ curl_multi_cleanup(multi_handle);
+
+
+ return 0;
+}
diff --git a/docs/examples/http2-upload.c b/docs/examples/http2-upload.c
index bca16c0d..2ec55059 100644
--- a/docs/examples/http2-upload.c
+++ b/docs/examples/http2-upload.c
@@ -19,6 +19,10 @@
* KIND, either express or implied.
*
***************************************************************************/
+/* <DESC>
+ * Multiplexed HTTP/2 uploads over a single connection
+ * </DESC>
+ */
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
diff --git a/docs/examples/httpcustomheader.c b/docs/examples/httpcustomheader.c
index 8542ead5..e742db96 100644
--- a/docs/examples/httpcustomheader.c
+++ b/docs/examples/httpcustomheader.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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,6 +19,10 @@
* KIND, either express or implied.
*
***************************************************************************/
+/* <DESC>
+ * HTTP request with custom modified, removed and added headers
+ * </DESC>
+ */
#include <stdio.h>
#include <curl/curl.h>
diff --git a/docs/examples/httpput.c b/docs/examples/httpput.c
index 2e9dc217..71191164 100644
--- a/docs/examples/httpput.c
+++ b/docs/examples/httpput.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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,6 +19,10 @@
* KIND, either express or implied.
*
***************************************************************************/
+/* <DESC>
+ * HTTP PUT with easy interface and read callback
+ * </DESC>
+ */
#include <stdio.h>
#include <fcntl.h>
#include <sys/stat.h>
diff --git a/docs/examples/https.c b/docs/examples/https.c
index bd9a33ba..2d5909ea 100644
--- a/docs/examples/https.c
+++ b/docs/examples/https.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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,6 +19,10 @@
* KIND, either express or implied.
*
***************************************************************************/
+/* <DESC>
+ * Simple HTTPS GET
+ * </DESC>
+ */
#include <stdio.h>
#include <curl/curl.h>
diff --git a/docs/examples/imap-append.c b/docs/examples/imap-append.c
index fa531a8c..fb58b4b2 100644
--- a/docs/examples/imap-append.c
+++ b/docs/examples/imap-append.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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,6 +19,10 @@
* KIND, either express or implied.
*
***************************************************************************/
+/* <DESC>
+ * Simple IMAP APPEND use
+ * </DESC>
+ */
#include <stdio.h>
#include <string.h>
#include <curl/curl.h>
diff --git a/docs/examples/multi-debugcallback.c b/docs/examples/multi-debugcallback.c
index 5fb86bea..6769024a 100644
--- a/docs/examples/multi-debugcallback.c
+++ b/docs/examples/multi-debugcallback.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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,10 @@
* KIND, either express or implied.
*
***************************************************************************/
-/* This is an example showing the multi interface and the debug callback. */
+/* <DESC>
+ * multi interface and debug callback
+ * </DESC>
+ */
#include <stdio.h>
#include <string.h>
diff --git a/docs/examples/multi-double.c b/docs/examples/multi-double.c
index 0d8d0de4..d652e7ca 100644
--- a/docs/examples/multi-double.c
+++ b/docs/examples/multi-double.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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,6 +19,10 @@
* KIND, either express or implied.
*
***************************************************************************/
+/* <DESC>
+ * multi interface code doing two parallel HTTP transfers
+ * </DESC>
+ */
#include <stdio.h>
#include <string.h>
diff --git a/docs/examples/multi-post.c b/docs/examples/multi-post.c
index 5bfdcfd1..115dc0ce 100644
--- a/docs/examples/multi-post.c
+++ b/docs/examples/multi-post.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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,8 +19,11 @@
* KIND, either express or implied.
*
***************************************************************************/
-/* This is an example application source code using the multi interface
- * to do a multipart formpost without "blocking". */
+/* <DESC>
+ * using the multi interface to do a multipart formpost without blocking
+ * </DESC>
+ */
+
#include <stdio.h>
#include <string.h>
#include <sys/time.h>
diff --git a/docs/examples/multi-single.c b/docs/examples/multi-single.c
index a43a9f52..1df94442 100644
--- a/docs/examples/multi-single.c
+++ b/docs/examples/multi-single.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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,10 @@
* KIND, either express or implied.
*
***************************************************************************/
-/* This is a very simple example using the multi interface. */
+/* <DESC>
+ * using the multi interface to do a single download
+ * </DESC>
+ */
#include <stdio.h>
#include <string.h>
@@ -76,7 +79,7 @@ int main(void)
if(mc != CURLM_OK)
{
- fprintf(stderr, "curl_multi_fdset() failed, code %d.\n", mc);
+ fprintf(stderr, "curl_multi_wait() failed, code %d.\n", mc);
break;
}
diff --git a/docs/examples/multi-uv.c b/docs/examples/multi-uv.c
index 0c0f8a2b..3d6e6de7 100644
--- a/docs/examples/multi-uv.c
+++ b/docs/examples/multi-uv.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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,6 +20,10 @@
*
***************************************************************************/
+/* <DESC>
+ * 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.
diff --git a/docs/examples/multithread.c b/docs/examples/multithread.c
index 831a0746..23d5d8aa 100644
--- a/docs/examples/multithread.c
+++ b/docs/examples/multithread.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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,8 +19,10 @@
* KIND, either express or implied.
*
***************************************************************************/
-/* A multi-threaded example that uses pthreads extensively to fetch
- * X remote files at once */
+/* <DESC>
+ * A multi-threaded example that uses pthreads to fetch several files at once
+ * </DESC>
+ */
#include <stdio.h>
#include <pthread.h>
diff --git a/docs/examples/opensslthreadlock.c b/docs/examples/opensslthreadlock.c
index ad54f08e..03ec1f29 100644
--- a/docs/examples/opensslthreadlock.c
+++ b/docs/examples/opensslthreadlock.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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,16 +19,17 @@
* KIND, either express or implied.
*
***************************************************************************/
-/* Example source code to show one way to set the necessary OpenSSL locking
- * callbacks if you want to do multi-threaded transfers with HTTPS/FTPS with
- * libcurl built to use OpenSSL.
- *
+/* <DESC>
+ * one way to set the necessary OpenSSL locking callbacks if you want to do
+ * multi-threaded transfers with HTTPS/FTPS with libcurl built to use OpenSSL.
+ * </DESC>
+ */
+/*
* This is not a complete stand-alone example.
*
* Author: Jeremy Brown
*/
-
#include <stdio.h>
#include <pthread.h>
#include <openssl/err.h>
diff --git a/docs/examples/persistant.c b/docs/examples/persistant.c
index 0917dfdb..3e6af18f 100644
--- a/docs/examples/persistant.c
+++ b/docs/examples/persistant.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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,6 +19,10 @@
* KIND, either express or implied.
*
***************************************************************************/
+/* <DESC>
+ * re-using handles to do HTTP persistent connections
+ * </DESC>
+ */
#include <stdio.h>
#include <unistd.h>
#include <curl/curl.h>
diff --git a/docs/examples/post-callback.c b/docs/examples/post-callback.c
index 3e1cfb06..a2f0427f 100644
--- a/docs/examples/post-callback.c
+++ b/docs/examples/post-callback.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2015, 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,8 +19,10 @@
* KIND, either express or implied.
*
***************************************************************************/
-/* An example source code that issues a HTTP POST and we provide the actual
+/* <DESC>
+ * An example source code that issues a HTTP POST and we provide the actual
* data through a read callback.
+ * </DESC>
*/
#include <stdio.h>
#include <string.h>
diff --git a/docs/libcurl/ABI b/docs/libcurl/ABI
index ef0caa6f..c7c91420 100644
--- a/docs/libcurl/ABI
+++ b/docs/libcurl/ABI
@@ -1,63 +1,55 @@
- _ _ ____ _
- ___| | | | _ \| |
- / __| | | | |_) | |
- | (__| |_| | _ <| |___
- \___|\___/|_| \_\_____|
-
- libcurl's binary interface
-
ABI - Application Binary Interface
-----------------------------------
+==================================
- "ABI" describes the low-level interface between an application program and a
- library. Calling conventions, function arguments, return values, struct
- sizes/defines and more.
+ "ABI" describes the low-level interface between an application program and a
+ library. Calling conventions, function arguments, return values, struct
+ sizes/defines and more.
- [Wikipedia has a longer description](http://en.wikipedia.org/wiki/Application_binary_interface)
+ [Wikipedia has a longer description](https://en.wikipedia.org/wiki/Application_binary_interface)
Upgrades
--------
- In the vast majority of all cases, a typical libcurl upgrade does not break
- the ABI at all. Your application can remain using libcurl just as before,
- only with less bugs and possibly with added new features. You need to read
- the release notes, and if they mention an ABI break/soname bump, you may
- have to verify that your application still builds fine and uses libcurl as
- it now is defined to work.
+ In the vast majority of all cases, a typical libcurl upgrade does not break
+ the ABI at all. Your application can remain using libcurl just as before,
+ only with less bugs and possibly with added new features. You need to read
+ the release notes, and if they mention an ABI break/soname bump, you may have
+ to verify that your application still builds fine and uses libcurl as it now
+ is defined to work.
Version Numbers
---------------
- In libcurl land, you really can't tell by the libcurl version number if that
- libcurl is binary compatible or not with another libcurl version.
+ In libcurl land, you really can't tell by the libcurl version number if that
+ libcurl is binary compatible or not with another libcurl version.
Soname Bumps
------------
- Whenever there are changes done to the library that will cause an ABI
- breakage, that may require your application to get attention or possibly be
- changed to adhere to new things, we will bump the soname. Then the library
- will get a different output name and thus can in fact be installed in
- parallel with an older installed lib (on most systems). Thus, old
- applications built against the previous ABI version will remain working and
- using the older lib, while newer applications build and use the newer one.
+ Whenever there are changes done to the library that will cause an ABI
+ breakage, that may require your application to get attention or possibly be
+ changed to adhere to new things, we will bump the soname. Then the library
+ will get a different output name and thus can in fact be installed in
+ parallel with an older installed lib (on most systems). Thus, old
+ applications built against the previous ABI version will remain working and
+ using the older lib, while newer applications build and use the newer one.
- During the first seven years of libcurl releases, there have only been four
- ABI breakages.
+ During the first seven years of libcurl releases, there have only been four
+ ABI breakages.
- We are determined to bump the SONAME as rarely as possible. Ideally, we
- never do it again.
+ We are determined to bump the SONAME as rarely as possible. Ideally, we
+ never do it again.
Downgrades
----------
- Going to an older libcurl version from one you're currently using can be a
- tricky thing. Mostly we add features and options to newer libcurls as that
- won't break ABI or hamper existing applications. This has the implication
- that going backwards may get you in a situation where you pick a libcurl
- that doesn't support the options your application needs. Or possibly you
- even downgrade so far so you cross an ABI break border and thus a different
- soname, and then your application may need to adapt to the modified ABI.
+ Going to an older libcurl version from one you're currently using can be a
+ tricky thing. Mostly we add features and options to newer libcurls as that
+ won't break ABI or hamper existing applications. This has the implication
+ that going backwards may get you in a situation where you pick a libcurl that
+ doesn't support the options your application needs. Or possibly you even
+ downgrade so far so you cross an ABI break border and thus a different
+ soname, and then your application may need to adapt to the modified ABI.
History
-------
diff --git a/docs/libcurl/Makefile.am b/docs/libcurl/Makefile.am
index 39272ac4..5456ee41 100644
--- a/docs/libcurl/Makefile.am
+++ b/docs/libcurl/Makefile.am
@@ -29,18 +29,19 @@ man_MANS = curl_easy_cleanup.3 curl_easy_getinfo.3 curl_easy_init.3 \
curl_formadd.3 curl_formfree.3 curl_getdate.3 curl_getenv.3 \
curl_slist_append.3 curl_slist_free_all.3 curl_version.3 \
curl_version_info.3 curl_escape.3 curl_unescape.3 curl_free.3 \
- curl_strequal.3 curl_mprintf.3 curl_global_init.3 curl_global_cleanup.3 \
- curl_multi_add_handle.3 curl_multi_cleanup.3 curl_multi_fdset.3 \
- curl_multi_info_read.3 curl_multi_init.3 curl_multi_perform.3 \
- curl_multi_remove_handle.3 curl_share_cleanup.3 curl_share_init.3 \
- curl_share_setopt.3 libcurl.3 libcurl-easy.3 libcurl-multi.3 \
- libcurl-share.3 libcurl-errors.3 curl_easy_strerror.3 \
+ curl_strequal.3 curl_mprintf.3 curl_global_init.3 \
+ curl_global_cleanup.3 curl_multi_add_handle.3 curl_multi_cleanup.3 \
+ curl_multi_fdset.3 curl_multi_info_read.3 curl_multi_init.3 \
+ curl_multi_perform.3 curl_multi_remove_handle.3 curl_share_cleanup.3 \
+ curl_share_init.3 curl_share_setopt.3 libcurl.3 libcurl-easy.3 \
+ libcurl-multi.3 libcurl-share.3 libcurl-errors.3 curl_easy_strerror.3 \
curl_multi_strerror.3 curl_share_strerror.3 curl_global_init_mem.3 \
libcurl-tutorial.3 curl_easy_reset.3 curl_easy_escape.3 \
curl_easy_unescape.3 curl_multi_setopt.3 curl_multi_socket.3 \
curl_multi_timeout.3 curl_formget.3 curl_multi_assign.3 \
curl_easy_pause.3 curl_easy_recv.3 curl_easy_send.3 \
- curl_multi_socket_action.3 curl_multi_wait.3 libcurl-symbols.3
+ curl_multi_socket_action.3 curl_multi_wait.3 libcurl-symbols.3 \
+ libcurl-thread.3
HTMLPAGES = curl_easy_cleanup.html curl_easy_getinfo.html \
curl_easy_init.html curl_easy_perform.html curl_easy_setopt.html \
@@ -60,27 +61,28 @@ HTMLPAGES = curl_easy_cleanup.html curl_easy_getinfo.html \
curl_easy_unescape.html curl_multi_setopt.html curl_multi_socket.html \
curl_multi_timeout.html curl_formget.html curl_multi_assign.html \
curl_easy_pause.html curl_easy_recv.html curl_easy_send.html \
- curl_multi_socket_action.html curl_multi_wait.html libcurl-symbols.html
+ curl_multi_socket_action.html curl_multi_wait.html \
+ libcurl-symbols.html libcurl-thread.html
PDFPAGES = curl_easy_cleanup.pdf curl_easy_getinfo.pdf \
curl_easy_init.pdf curl_easy_perform.pdf curl_easy_setopt.pdf \
curl_easy_duphandle.pdf curl_formadd.pdf curl_formfree.pdf \
- curl_getdate.pdf curl_getenv.pdf curl_slist_append.pdf \
- curl_slist_free_all.pdf curl_version.pdf curl_version_info.pdf \
+ curl_getdate.pdf curl_getenv.pdf curl_slist_append.pdf \
+ curl_slist_free_all.pdf curl_version.pdf curl_version_info.pdf \
curl_escape.pdf curl_unescape.pdf curl_free.pdf curl_strequal.pdf \
curl_mprintf.pdf curl_global_init.pdf curl_global_cleanup.pdf \
curl_multi_add_handle.pdf curl_multi_cleanup.pdf curl_multi_fdset.pdf \
curl_multi_info_read.pdf curl_multi_init.pdf curl_multi_perform.pdf \
- curl_multi_remove_handle.pdf curl_share_cleanup.pdf curl_share_init.pdf \
- curl_share_setopt.pdf libcurl.pdf libcurl-multi.pdf libcurl-easy.pdf \
- libcurl-share.pdf libcurl-errors.pdf curl_easy_strerror.pdf \
- curl_multi_strerror.pdf curl_share_strerror.pdf \
- curl_global_init_mem.pdf libcurl-tutorial.pdf curl_easy_reset.pdf \
- curl_easy_escape.pdf curl_easy_unescape.pdf curl_multi_setopt.pdf \
- curl_multi_socket.pdf curl_multi_timeout.pdf curl_formget.pdf \
- curl_multi_assign.pdf curl_easy_pause.pdf curl_easy_recv.pdf \
- curl_easy_send.pdf curl_multi_socket_action.pdf curl_multi_wait.pdf \
- libcurl-symbols.pdf
+ curl_multi_remove_handle.pdf curl_share_cleanup.pdf \
+ curl_share_init.pdf curl_share_setopt.pdf libcurl.pdf \
+ libcurl-multi.pdf libcurl-easy.pdf libcurl-share.pdf \
+ libcurl-errors.pdf curl_easy_strerror.pdf curl_multi_strerror.pdf \
+ curl_share_strerror.pdf curl_global_init_mem.pdf libcurl-tutorial.pdf \
+ curl_easy_reset.pdf curl_easy_escape.pdf curl_easy_unescape.pdf \
+ curl_multi_setopt.pdf curl_multi_socket.pdf curl_multi_timeout.pdf \
+ curl_formget.pdf curl_multi_assign.pdf curl_easy_pause.pdf \
+ curl_easy_recv.pdf curl_easy_send.pdf curl_multi_socket_action.pdf \
+ curl_multi_wait.pdf libcurl-symbols.pdf libcurl-thread.pdf
m4macrodir = $(datadir)/aclocal
dist_m4macro_DATA = libcurl.m4
diff --git a/docs/libcurl/Makefile.in b/docs/libcurl/Makefile.in
index e8ebe6ae..26b036cd 100644
--- a/docs/libcurl/Makefile.in
+++ b/docs/libcurl/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# 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,
@@ -37,7 +37,17 @@
###########################################################################
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+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 \
?) ;; \
@@ -101,8 +111,6 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = docs/libcurl
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
- $(dist_m4macro_DATA) $(top_srcdir)/test-driver
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/curl-compilers.m4 \
$(top_srcdir)/m4/curl-confopts.m4 \
@@ -123,6 +131,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/curl-compilers.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(dist_m4macro_DATA) \
+ $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/lib/curl_config.h \
$(top_builddir)/include/curl/curlbuild.h
@@ -392,6 +402,7 @@ TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
$(TEST_LOG_FLAGS)
DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/test-driver
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
am__relativize = \
dir0=`pwd`; \
@@ -611,18 +622,19 @@ man_MANS = curl_easy_cleanup.3 curl_easy_getinfo.3 curl_easy_init.3 \
curl_formadd.3 curl_formfree.3 curl_getdate.3 curl_getenv.3 \
curl_slist_append.3 curl_slist_free_all.3 curl_version.3 \
curl_version_info.3 curl_escape.3 curl_unescape.3 curl_free.3 \
- curl_strequal.3 curl_mprintf.3 curl_global_init.3 curl_global_cleanup.3 \
- curl_multi_add_handle.3 curl_multi_cleanup.3 curl_multi_fdset.3 \
- curl_multi_info_read.3 curl_multi_init.3 curl_multi_perform.3 \
- curl_multi_remove_handle.3 curl_share_cleanup.3 curl_share_init.3 \
- curl_share_setopt.3 libcurl.3 libcurl-easy.3 libcurl-multi.3 \
- libcurl-share.3 libcurl-errors.3 curl_easy_strerror.3 \
+ curl_strequal.3 curl_mprintf.3 curl_global_init.3 \
+ curl_global_cleanup.3 curl_multi_add_handle.3 curl_multi_cleanup.3 \
+ curl_multi_fdset.3 curl_multi_info_read.3 curl_multi_init.3 \
+ curl_multi_perform.3 curl_multi_remove_handle.3 curl_share_cleanup.3 \
+ curl_share_init.3 curl_share_setopt.3 libcurl.3 libcurl-easy.3 \
+ libcurl-multi.3 libcurl-share.3 libcurl-errors.3 curl_easy_strerror.3 \
curl_multi_strerror.3 curl_share_strerror.3 curl_global_init_mem.3 \
libcurl-tutorial.3 curl_easy_reset.3 curl_easy_escape.3 \
curl_easy_unescape.3 curl_multi_setopt.3 curl_multi_socket.3 \
curl_multi_timeout.3 curl_formget.3 curl_multi_assign.3 \
curl_easy_pause.3 curl_easy_recv.3 curl_easy_send.3 \
- curl_multi_socket_action.3 curl_multi_wait.3 libcurl-symbols.3
+ curl_multi_socket_action.3 curl_multi_wait.3 libcurl-symbols.3 \
+ libcurl-thread.3
HTMLPAGES = curl_easy_cleanup.html curl_easy_getinfo.html \
curl_easy_init.html curl_easy_perform.html curl_easy_setopt.html \
@@ -642,27 +654,28 @@ HTMLPAGES = curl_easy_cleanup.html curl_easy_getinfo.html \
curl_easy_unescape.html curl_multi_setopt.html curl_multi_socket.html \
curl_multi_timeout.html curl_formget.html curl_multi_assign.html \
curl_easy_pause.html curl_easy_recv.html curl_easy_send.html \
- curl_multi_socket_action.html curl_multi_wait.html libcurl-symbols.html
+ curl_multi_socket_action.html curl_multi_wait.html \
+ libcurl-symbols.html libcurl-thread.html
PDFPAGES = curl_easy_cleanup.pdf curl_easy_getinfo.pdf \
curl_easy_init.pdf curl_easy_perform.pdf curl_easy_setopt.pdf \
curl_easy_duphandle.pdf curl_formadd.pdf curl_formfree.pdf \
- curl_getdate.pdf curl_getenv.pdf curl_slist_append.pdf \
- curl_slist_free_all.pdf curl_version.pdf curl_version_info.pdf \
+ curl_getdate.pdf curl_getenv.pdf curl_slist_append.pdf \
+ curl_slist_free_all.pdf curl_version.pdf curl_version_info.pdf \
curl_escape.pdf curl_unescape.pdf curl_free.pdf curl_strequal.pdf \
curl_mprintf.pdf curl_global_init.pdf curl_global_cleanup.pdf \
curl_multi_add_handle.pdf curl_multi_cleanup.pdf curl_multi_fdset.pdf \
curl_multi_info_read.pdf curl_multi_init.pdf curl_multi_perform.pdf \
- curl_multi_remove_handle.pdf curl_share_cleanup.pdf curl_share_init.pdf \
- curl_share_setopt.pdf libcurl.pdf libcurl-multi.pdf libcurl-easy.pdf \
- libcurl-share.pdf libcurl-errors.pdf curl_easy_strerror.pdf \
- curl_multi_strerror.pdf curl_share_strerror.pdf \
- curl_global_init_mem.pdf libcurl-tutorial.pdf curl_easy_reset.pdf \
- curl_easy_escape.pdf curl_easy_unescape.pdf curl_multi_setopt.pdf \
- curl_multi_socket.pdf curl_multi_timeout.pdf curl_formget.pdf \
- curl_multi_assign.pdf curl_easy_pause.pdf curl_easy_recv.pdf \
- curl_easy_send.pdf curl_multi_socket_action.pdf curl_multi_wait.pdf \
- libcurl-symbols.pdf
+ curl_multi_remove_handle.pdf curl_share_cleanup.pdf \
+ curl_share_init.pdf curl_share_setopt.pdf libcurl.pdf \
+ libcurl-multi.pdf libcurl-easy.pdf libcurl-share.pdf \
+ libcurl-errors.pdf curl_easy_strerror.pdf curl_multi_strerror.pdf \
+ curl_share_strerror.pdf curl_global_init_mem.pdf libcurl-tutorial.pdf \
+ curl_easy_reset.pdf curl_easy_escape.pdf curl_easy_unescape.pdf \
+ curl_multi_setopt.pdf curl_multi_socket.pdf curl_multi_timeout.pdf \
+ curl_formget.pdf curl_multi_assign.pdf curl_easy_pause.pdf \
+ curl_easy_recv.pdf curl_easy_send.pdf curl_multi_socket_action.pdf \
+ curl_multi_wait.pdf libcurl-symbols.pdf libcurl-thread.pdf
m4macrodir = $(datadir)/aclocal
dist_m4macro_DATA = libcurl.m4
@@ -694,7 +707,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign docs/libcurl/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign docs/libcurl/Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -912,7 +924,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
if test -n "$$am__remaking_logs"; then \
echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
"recursion detected" >&2; \
- else \
+ elif test -n "$$redo_logs"; then \
am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
fi; \
if $(am__make_dryrun); then :; else \
@@ -1232,6 +1244,8 @@ uninstall-man: uninstall-man3
uninstall uninstall-am uninstall-dist_m4macroDATA \
uninstall-man uninstall-man3
+.PRECIOUS: Makefile
+
libcurl-symbols.3: $(srcdir)/symbols-in-versions $(srcdir)/mksymbolsmanpage.pl
perl $(srcdir)/mksymbolsmanpage.pl < $(srcdir)/symbols-in-versions > $@
diff --git a/docs/libcurl/curl_easy_cleanup.pdf b/docs/libcurl/curl_easy_cleanup.pdf
index db280be2..1ec0302f 100644
--- a/docs/libcurl/curl_easy_cleanup.pdf
+++ b/docs/libcurl/curl_easy_cleanup.pdf
Binary files differ
diff --git a/docs/libcurl/curl_easy_duphandle.pdf b/docs/libcurl/curl_easy_duphandle.pdf
index c5ea731e..c0c0b62c 100644
--- a/docs/libcurl/curl_easy_duphandle.pdf
+++ b/docs/libcurl/curl_easy_duphandle.pdf
Binary files differ
diff --git a/docs/libcurl/curl_easy_escape.pdf b/docs/libcurl/curl_easy_escape.pdf
index 897170dc..a642be88 100644
--- a/docs/libcurl/curl_easy_escape.pdf
+++ b/docs/libcurl/curl_easy_escape.pdf
Binary files differ
diff --git a/docs/libcurl/curl_easy_getinfo.pdf b/docs/libcurl/curl_easy_getinfo.pdf
index 1007619e..009c5890 100644
--- a/docs/libcurl/curl_easy_getinfo.pdf
+++ b/docs/libcurl/curl_easy_getinfo.pdf
Binary files differ
diff --git a/docs/libcurl/curl_easy_init.pdf b/docs/libcurl/curl_easy_init.pdf
index 78ec7a95..c74dfa73 100644
--- a/docs/libcurl/curl_easy_init.pdf
+++ b/docs/libcurl/curl_easy_init.pdf
Binary files differ
diff --git a/docs/libcurl/curl_easy_pause.pdf b/docs/libcurl/curl_easy_pause.pdf
index 39b4fc64..a1149871 100644
--- a/docs/libcurl/curl_easy_pause.pdf
+++ b/docs/libcurl/curl_easy_pause.pdf
Binary files differ
diff --git a/docs/libcurl/curl_easy_perform.pdf b/docs/libcurl/curl_easy_perform.pdf
index 6182f6a2..490486b2 100644
--- a/docs/libcurl/curl_easy_perform.pdf
+++ b/docs/libcurl/curl_easy_perform.pdf
Binary files differ
diff --git a/docs/libcurl/curl_easy_recv.3 b/docs/libcurl/curl_easy_recv.3
index 9de63649..d425fe2b 100644
--- a/docs/libcurl/curl_easy_recv.3
+++ b/docs/libcurl/curl_easy_recv.3
@@ -42,7 +42,7 @@ buffer. The variable \fBn\fP points to will receive the number of received
bytes.
To establish the connection, set \fBCURLOPT_CONNECT_ONLY(3)\fP option before
-calling \fIcurl_easy_perform(3)\fP or \cIcurl_multi_perform(3)\fP. Note that
+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.
diff --git a/docs/libcurl/curl_easy_recv.html b/docs/libcurl/curl_easy_recv.html
index 010691b7..e38a7e88 100644
--- a/docs/libcurl/curl_easy_recv.html
+++ b/docs/libcurl/curl_easy_recv.html
@@ -57,7 +57,7 @@ p.roffit {
<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="bold">CURLOPT_CONNECT_ONLY(3)</span> option before calling <a Class="emphasis" href="./curl_easy_perform.html">curl_easy_perform</a> or cIcurl_multi_perform(3)</span>. 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">To establish the connection, set <span Class="bold">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="bold">CURLINFO_LASTSOCKET</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>.
diff --git a/docs/libcurl/curl_easy_recv.pdf b/docs/libcurl/curl_easy_recv.pdf
index 6048d284..e445f9a8 100644
--- a/docs/libcurl/curl_easy_recv.pdf
+++ b/docs/libcurl/curl_easy_recv.pdf
Binary files differ
diff --git a/docs/libcurl/curl_easy_reset.pdf b/docs/libcurl/curl_easy_reset.pdf
index 8cd7544b..6defb7b4 100644
--- a/docs/libcurl/curl_easy_reset.pdf
+++ b/docs/libcurl/curl_easy_reset.pdf
Binary files differ
diff --git a/docs/libcurl/curl_easy_send.pdf b/docs/libcurl/curl_easy_send.pdf
index 55a22336..a9474480 100644
--- a/docs/libcurl/curl_easy_send.pdf
+++ b/docs/libcurl/curl_easy_send.pdf
Binary files differ
diff --git a/docs/libcurl/curl_easy_setopt.3 b/docs/libcurl/curl_easy_setopt.3
index 4e5b8dec..a9a6230f 100644
--- a/docs/libcurl/curl_easy_setopt.3
+++ b/docs/libcurl/curl_easy_setopt.3
@@ -50,6 +50,8 @@ really \fICURLOPT_POSTFIELDS(3)\fP, but the alternative that copies the string
\fICURLOPT_COPYPOSTFIELDS(3)\fP has some usage characteristics you need to
read up on.
+The order in which the options are set does not matter.
+
Before version 7.17.0, strings were not copied. Instead the user was forced
keep them available until libcurl no longer needed them.
@@ -291,6 +293,8 @@ Disable Content decoding. See \fICURLOPT_HTTP_CONTENT_DECODING(3)\fP
Disable Transfer decoding. See \fICURLOPT_HTTP_TRANSFER_DECODING(3)\fP
.IP CURLOPT_EXPECT_100_TIMEOUT_MS
100-continue timeout. See \fICURLOPT_EXPECT_100_TIMEOUT_MS(3)\fP
+.IP CURLOPT_PIPEWAIT
+Wait on connection to pipeline on it. See \fICURLOPT_PIPEWAIT(3)\fP
.SH SMTP OPTIONS
.IP CURLOPT_MAIL_FROM
Address of the sender. See \fICURLOPT_MAIL_FROM(3)\fP
diff --git a/docs/libcurl/curl_easy_setopt.html b/docs/libcurl/curl_easy_setopt.html
index 3bfba8ec..890097c3 100644
--- a/docs/libcurl/curl_easy_setopt.html
+++ b/docs/libcurl/curl_easy_setopt.html
@@ -57,6 +57,7 @@ p.roffit {
<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">
@@ -294,7 +295,9 @@ p.roffit {
<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> <a name="SMTP"></a><h2 class="nroffsh">SMTP OPTIONS</h2>
+<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> <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>
diff --git a/docs/libcurl/curl_easy_setopt.pdf b/docs/libcurl/curl_easy_setopt.pdf
index 4e9c8eb6..9e2eff06 100644
--- a/docs/libcurl/curl_easy_setopt.pdf
+++ b/docs/libcurl/curl_easy_setopt.pdf
Binary files differ
diff --git a/docs/libcurl/curl_easy_strerror.pdf b/docs/libcurl/curl_easy_strerror.pdf
index f22ca4e3..633eb323 100644
--- a/docs/libcurl/curl_easy_strerror.pdf
+++ b/docs/libcurl/curl_easy_strerror.pdf
Binary files differ
diff --git a/docs/libcurl/curl_easy_unescape.pdf b/docs/libcurl/curl_easy_unescape.pdf
index 647a6e47..b04a4941 100644
--- a/docs/libcurl/curl_easy_unescape.pdf
+++ b/docs/libcurl/curl_easy_unescape.pdf
Binary files differ
diff --git a/docs/libcurl/curl_escape.pdf b/docs/libcurl/curl_escape.pdf
index ca666701..271e5bc0 100644
--- a/docs/libcurl/curl_escape.pdf
+++ b/docs/libcurl/curl_escape.pdf
Binary files differ
diff --git a/docs/libcurl/curl_formadd.3 b/docs/libcurl/curl_formadd.3
index 3e48149e..cdae51be 100644
--- a/docs/libcurl/curl_formadd.3
+++ b/docs/libcurl/curl_formadd.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2015, 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
@@ -103,6 +103,9 @@ given file match one of the internally known file extensions. For
providing multiple \fBCURLFORM_FILE\fP arguments each followed by the filename
(and each \fICURLFORM_FILE\fP is allowed to have a
\fICURLFORM_CONTENTTYPE\fP).
+
+The given upload file has to exist in its full in the file system already when
+the upload starts, as libcurl needs to read the correct file size beforehand.
.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
diff --git a/docs/libcurl/curl_formadd.html b/docs/libcurl/curl_formadd.html
index 4f0d4ce1..d0b9e298 100644
--- a/docs/libcurl/curl_formadd.html
+++ b/docs/libcurl/curl_formadd.html
@@ -77,6 +77,7 @@ p.roffit {
<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>
diff --git a/docs/libcurl/curl_formadd.pdf b/docs/libcurl/curl_formadd.pdf
index 22b3fad1..27bdeda8 100644
--- a/docs/libcurl/curl_formadd.pdf
+++ b/docs/libcurl/curl_formadd.pdf
Binary files differ
diff --git a/docs/libcurl/curl_formfree.pdf b/docs/libcurl/curl_formfree.pdf
index caf83a38..b713cc63 100644
--- a/docs/libcurl/curl_formfree.pdf
+++ b/docs/libcurl/curl_formfree.pdf
Binary files differ
diff --git a/docs/libcurl/curl_formget.3 b/docs/libcurl/curl_formget.3
index b5262213..5781bce1 100644
--- a/docs/libcurl/curl_formget.3
+++ b/docs/libcurl/curl_formget.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2015, 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
@@ -26,7 +26,7 @@ curl_formget - serialize a previously built multipart/formdata HTTP POST chain
.nf
.B #include <curl/curl.h>
-void curl_formget(struct curl_httppost * form, void *userp,
+int curl_formget(struct curl_httppost * form, void *userp,
curl_formget_callback append );
.SH DESCRIPTION
curl_formget() is used to serialize data previously built/appended with
diff --git a/docs/libcurl/curl_formget.html b/docs/libcurl/curl_formget.html
index 0347be34..c4e40aa9 100644
--- a/docs/libcurl/curl_formget.html
+++ b/docs/libcurl/curl_formget.html
@@ -55,7 +55,7 @@ p.roffit {
<p class="level0"><pre class="level0">
<span Class="bold">#include &lt;curl/curl.h&gt;</span>
&nbsp;
-void curl_formget(struct curl_httppost * form, void *userp,
+int curl_formget(struct curl_httppost * form, void *userp,
&nbsp; curl_formget_callback append );
</pre>
<a name="DESCRIPTION"></a><h2 class="nroffsh">DESCRIPTION</h2>
diff --git a/docs/libcurl/curl_formget.pdf b/docs/libcurl/curl_formget.pdf
index 27825dde..62e679b7 100644
--- a/docs/libcurl/curl_formget.pdf
+++ b/docs/libcurl/curl_formget.pdf
Binary files differ
diff --git a/docs/libcurl/curl_free.pdf b/docs/libcurl/curl_free.pdf
index a968731b..8df5481d 100644
--- a/docs/libcurl/curl_free.pdf
+++ b/docs/libcurl/curl_free.pdf
Binary files differ
diff --git a/docs/libcurl/curl_getdate.pdf b/docs/libcurl/curl_getdate.pdf
index d9512fbd..36c7c7ab 100644
--- a/docs/libcurl/curl_getdate.pdf
+++ b/docs/libcurl/curl_getdate.pdf
Binary files differ
diff --git a/docs/libcurl/curl_getenv.pdf b/docs/libcurl/curl_getenv.pdf
index 50a23a5c..16beec2e 100644
--- a/docs/libcurl/curl_getenv.pdf
+++ b/docs/libcurl/curl_getenv.pdf
Binary files differ
diff --git a/docs/libcurl/curl_global_cleanup.pdf b/docs/libcurl/curl_global_cleanup.pdf
index 51ad7434..1de52a54 100644
--- a/docs/libcurl/curl_global_cleanup.pdf
+++ b/docs/libcurl/curl_global_cleanup.pdf
Binary files differ
diff --git a/docs/libcurl/curl_global_init.pdf b/docs/libcurl/curl_global_init.pdf
index 33968fe9..6d234fd2 100644
--- a/docs/libcurl/curl_global_init.pdf
+++ b/docs/libcurl/curl_global_init.pdf
Binary files differ
diff --git a/docs/libcurl/curl_global_init_mem.3 b/docs/libcurl/curl_global_init_mem.3
index 9cddef7c..a21e63d8 100644
--- a/docs/libcurl/curl_global_init_mem.3
+++ b/docs/libcurl/curl_global_init_mem.3
@@ -36,9 +36,10 @@ This function works exactly as \fIcurl_global_init(3)\fP with one addition: it
allows the application to set callbacks to replace the otherwise used internal
memory functions.
-This man page only adds documentation for the callbacks, see the
-\fIcurl_global_init(3)\fP man page for all the rest. When you use this
-function, all callback arguments must be set to valid function pointers.
+When you use this function, all callback arguments must be set to valid
+function pointers. \fBIf you are using libcurl from multiple threads or with
+the threaded resolver (the default in Windows) the callback replacement
+functions must be thread safe.\fP
The prototypes for the given callbacks should match these:
.IP "void *malloc_callback(size_t size);"
@@ -51,6 +52,9 @@ To replace realloc()
To replace strdup()
.IP "void *calloc_callback(size_t nmemb, size_t size);"
To replace calloc()
+.RE
+This function is otherwise the same as \fIcurl_global_init(3)\fP, please refer
+to that man page for documentation.
.SH "CAUTION"
Manipulating these gives considerable powers to the application to severely
screw things up for libcurl. Take care!
diff --git a/docs/libcurl/curl_global_init_mem.html b/docs/libcurl/curl_global_init_mem.html
index a31a6b9b..b8c4bcd2 100644
--- a/docs/libcurl/curl_global_init_mem.html
+++ b/docs/libcurl/curl_global_init_mem.html
@@ -62,7 +62,7 @@ p.roffit {
</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">This man page only adds documentation for the callbacks, see the <a Class="emphasis" href="./curl_global_init.html">curl_global_init</a> man page for all the rest. When you use this function, all callback arguments must be set to valid function pointers.
+<p class="level0">When you use this function, all callback arguments must be set to valid function pointers. <span class="bold">If you are using libcurl from multiple threads or with the threaded resolver (the default in Windows) the callback replacement functions must be thread safe.</span>
<p class="level0">The prototypes for the given callbacks should 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()
@@ -73,7 +73,8 @@ p.roffit {
<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() <a name="CAUTION"></a><h2 class="nroffsh">CAUTION</h2>
+<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>, <span Class="manpage"> </span> <a Class="manpage" href="./curl_global_cleanup.html">curl_global_cleanup</a>, <span Class="manpage"> </span>
<p class="level0"><p class="roffit">
diff --git a/docs/libcurl/curl_global_init_mem.pdf b/docs/libcurl/curl_global_init_mem.pdf
index 88805f88..1d98c683 100644
--- a/docs/libcurl/curl_global_init_mem.pdf
+++ b/docs/libcurl/curl_global_init_mem.pdf
Binary files differ
diff --git a/docs/libcurl/curl_mprintf.pdf b/docs/libcurl/curl_mprintf.pdf
index 3e78fe06..ac74bc42 100644
--- a/docs/libcurl/curl_mprintf.pdf
+++ b/docs/libcurl/curl_mprintf.pdf
Binary files differ
diff --git a/docs/libcurl/curl_multi_add_handle.pdf b/docs/libcurl/curl_multi_add_handle.pdf
index f4d65ff1..f9ec5667 100644
--- a/docs/libcurl/curl_multi_add_handle.pdf
+++ b/docs/libcurl/curl_multi_add_handle.pdf
Binary files differ
diff --git a/docs/libcurl/curl_multi_assign.pdf b/docs/libcurl/curl_multi_assign.pdf
index 20250e73..a3f1e269 100644
--- a/docs/libcurl/curl_multi_assign.pdf
+++ b/docs/libcurl/curl_multi_assign.pdf
Binary files differ
diff --git a/docs/libcurl/curl_multi_cleanup.pdf b/docs/libcurl/curl_multi_cleanup.pdf
index 81331148..8204aee8 100644
--- a/docs/libcurl/curl_multi_cleanup.pdf
+++ b/docs/libcurl/curl_multi_cleanup.pdf
Binary files differ
diff --git a/docs/libcurl/curl_multi_fdset.pdf b/docs/libcurl/curl_multi_fdset.pdf
index 905ba793..5b83a0e4 100644
--- a/docs/libcurl/curl_multi_fdset.pdf
+++ b/docs/libcurl/curl_multi_fdset.pdf
Binary files differ
diff --git a/docs/libcurl/curl_multi_info_read.pdf b/docs/libcurl/curl_multi_info_read.pdf
index 5fc42353..9fe52da7 100644
--- a/docs/libcurl/curl_multi_info_read.pdf
+++ b/docs/libcurl/curl_multi_info_read.pdf
Binary files differ
diff --git a/docs/libcurl/curl_multi_init.pdf b/docs/libcurl/curl_multi_init.pdf
index c45bb447..168a740c 100644
--- a/docs/libcurl/curl_multi_init.pdf
+++ b/docs/libcurl/curl_multi_init.pdf
Binary files differ
diff --git a/docs/libcurl/curl_multi_perform.pdf b/docs/libcurl/curl_multi_perform.pdf
index ddc739bb..d3803f64 100644
--- a/docs/libcurl/curl_multi_perform.pdf
+++ b/docs/libcurl/curl_multi_perform.pdf
Binary files differ
diff --git a/docs/libcurl/curl_multi_remove_handle.3 b/docs/libcurl/curl_multi_remove_handle.3
index 1c2165b6..c819fc9e 100644
--- a/docs/libcurl/curl_multi_remove_handle.3
+++ b/docs/libcurl/curl_multi_remove_handle.3
@@ -28,7 +28,7 @@ curl_multi_remove_handle - remove an easy handle from a multi session
CURLMcode curl_multi_remove_handle(CURLM *multi_handle, CURL *easy_handle);
.ad
.SH DESCRIPTION
-Removes a given \fIeasy_handle\fI from the \fImulti_handle\fI. This will make
+Removes a given \fIeasy_handle\fP from the \fImulti_handle\fP. This will make
the specified easy handle be removed from this multi handle's control.
When the easy handle has been removed from a multi stack, it is again
diff --git a/docs/libcurl/curl_multi_remove_handle.html b/docs/libcurl/curl_multi_remove_handle.html
index 68295064..df13ac78 100644
--- a/docs/libcurl/curl_multi_remove_handle.html
+++ b/docs/libcurl/curl_multi_remove_handle.html
@@ -55,7 +55,7 @@ p.roffit {
<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 class="emphasis"> from the <span class="emphasis">multi_handle<span class="emphasis">. This will make the specified easy handle be removed from this multi handle's control.
+<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>
diff --git a/docs/libcurl/curl_multi_remove_handle.pdf b/docs/libcurl/curl_multi_remove_handle.pdf
index 89cf7650..36bafde8 100644
--- a/docs/libcurl/curl_multi_remove_handle.pdf
+++ b/docs/libcurl/curl_multi_remove_handle.pdf
Binary files differ
diff --git a/docs/libcurl/curl_multi_setopt.3 b/docs/libcurl/curl_multi_setopt.3
index 951349f7..95651932 100644
--- a/docs/libcurl/curl_multi_setopt.3
+++ b/docs/libcurl/curl_multi_setopt.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2015, 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,32 +37,36 @@ 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.
.SH OPTIONS
-.IP CURLMOPT_SOCKETFUNCTION
-See \fICURLMOPT_SOCKETFUNCTION(3)\fP
-.IP CURLMOPT_SOCKETDATA
-See \fICURLMOPT_SOCKETDATA(3)\fP
-.IP CURLMOPT_PIPELINING
-See \fICURLMOPT_PIPELINING(3)\fP
-.IP CURLMOPT_TIMERFUNCTION
-See \fICURLMOPT_TIMERFUNCTION(3)\fP
-.IP CURLMOPT_TIMERDATA
-See \fICURLMOPT_TIMERDATA(3)\fP
-.IP CURLMOPT_MAXCONNECTS
-See \fICURLMOPT_MAXCONNECTS(3)\fP
+.IP CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE
+See \fICURLMOPT_CHUNK_LENGTH_PENALTY_SIZE(3)\fP
+.IP CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE
+See \fICURLMOPT_CONTENT_LENGTH_PENALTY_SIZE(3)\fP
.IP CURLMOPT_MAX_HOST_CONNECTIONS
See \fICURLMOPT_MAX_HOST_CONNECTIONS(3)\fP
.IP CURLMOPT_MAX_PIPELINE_LENGTH
See \fICURLMOPT_MAX_PIPELINE_LENGTH(3)\fP
-.IP CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE
-See \fICURLMOPT_CONTENT_LENGTH_PENALTY_SIZE(3)\fP
-.IP CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE
-See \fICURLMOPT_CHUNK_LENGTH_PENALTY_SIZE(3)\fP
+.IP CURLMOPT_MAX_TOTAL_CONNECTIONS
+See \fICURLMOPT_MAX_TOTAL_CONNECTIONS(3)\fP
+.IP CURLMOPT_MAXCONNECTS
+See \fICURLMOPT_MAXCONNECTS(3)\fP
+.IP CURLMOPT_PIPELINING
+See \fICURLMOPT_PIPELINING(3)\fP
.IP CURLMOPT_PIPELINING_SITE_BL
See \fICURLMOPT_PIPELINING_SITE_BL(3)\fP
.IP CURLMOPT_PIPELINING_SERVER_BL
See \fICURLMOPT_PIPELINING_SERVER_BL(3)\fP
-.IP CURLMOPT_MAX_TOTAL_CONNECTIONS
-See \fICURLMOPT_MAX_TOTAL_CONNECTIONS(3)\fP
+.IP CURLMOPT_PUSHFUNCTION
+See \fICURLMOPT_PUSHFUNCTION(3)\fP
+.IP CURLMOPT_PUSHDATA
+See \fICURLMOPT_PUSHDATA(3)\fP
+.IP CURLMOPT_SOCKETFUNCTION
+See \fICURLMOPT_SOCKETFUNCTION(3)\fP
+.IP CURLMOPT_SOCKETDATA
+See \fICURLMOPT_SOCKETDATA(3)\fP
+.IP CURLMOPT_TIMERFUNCTION
+See \fICURLMOPT_TIMERFUNCTION(3)\fP
+.IP CURLMOPT_TIMERDATA
+See \fICURLMOPT_TIMERDATA(3)\fP
.SH RETURNS
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
diff --git a/docs/libcurl/curl_multi_setopt.html b/docs/libcurl/curl_multi_setopt.html
index e2f58e58..3edcf240 100644
--- a/docs/libcurl/curl_multi_setopt.html
+++ b/docs/libcurl/curl_multi_setopt.html
@@ -57,32 +57,36 @@ p.roffit {
<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="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="CURLMOPTPIPELINING"></a><span class="nroffip">CURLMOPT_PIPELINING</span>
-<p class="level1">See <span Class="emphasis">CURLMOPT_PIPELINING(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>
-<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="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="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="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="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="CURLMOPTMAXTOTALCONNECTIONS"></a><span class="nroffip">CURLMOPT_MAX_TOTAL_CONNECTIONS</span>
-<p class="level1">See <span Class="emphasis">CURLMOPT_MAX_TOTAL_CONNECTIONS(3)</span> <a name="RETURNS"></a><h2 class="nroffsh">RETURNS</h2>
+<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>, <span Class="manpage"> </span> <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">
diff --git a/docs/libcurl/curl_multi_setopt.pdf b/docs/libcurl/curl_multi_setopt.pdf
index 17bcf180..3e2ccaf7 100644
--- a/docs/libcurl/curl_multi_setopt.pdf
+++ b/docs/libcurl/curl_multi_setopt.pdf
Binary files differ
diff --git a/docs/libcurl/curl_multi_socket.pdf b/docs/libcurl/curl_multi_socket.pdf
index e7e8359c..6fbf1873 100644
--- a/docs/libcurl/curl_multi_socket.pdf
+++ b/docs/libcurl/curl_multi_socket.pdf
Binary files differ
diff --git a/docs/libcurl/curl_multi_socket_action.pdf b/docs/libcurl/curl_multi_socket_action.pdf
index b44f5eb4..6ef1a487 100644
--- a/docs/libcurl/curl_multi_socket_action.pdf
+++ b/docs/libcurl/curl_multi_socket_action.pdf
Binary files differ
diff --git a/docs/libcurl/curl_multi_strerror.pdf b/docs/libcurl/curl_multi_strerror.pdf
index 189f4d74..41c7ec01 100644
--- a/docs/libcurl/curl_multi_strerror.pdf
+++ b/docs/libcurl/curl_multi_strerror.pdf
Binary files differ
diff --git a/docs/libcurl/curl_multi_timeout.pdf b/docs/libcurl/curl_multi_timeout.pdf
index 994af949..bd5b983a 100644
--- a/docs/libcurl/curl_multi_timeout.pdf
+++ b/docs/libcurl/curl_multi_timeout.pdf
Binary files differ
diff --git a/docs/libcurl/curl_multi_wait.pdf b/docs/libcurl/curl_multi_wait.pdf
index 6af89977..3fe2fd00 100644
--- a/docs/libcurl/curl_multi_wait.pdf
+++ b/docs/libcurl/curl_multi_wait.pdf
Binary files differ
diff --git a/docs/libcurl/curl_share_cleanup.pdf b/docs/libcurl/curl_share_cleanup.pdf
index 11ad707a..ce11d4bc 100644
--- a/docs/libcurl/curl_share_cleanup.pdf
+++ b/docs/libcurl/curl_share_cleanup.pdf
Binary files differ
diff --git a/docs/libcurl/curl_share_init.pdf b/docs/libcurl/curl_share_init.pdf
index 2d0ee88c..c922db59 100644
--- a/docs/libcurl/curl_share_init.pdf
+++ b/docs/libcurl/curl_share_init.pdf
Binary files differ
diff --git a/docs/libcurl/curl_share_setopt.pdf b/docs/libcurl/curl_share_setopt.pdf
index b41cafca..a6798b69 100644
--- a/docs/libcurl/curl_share_setopt.pdf
+++ b/docs/libcurl/curl_share_setopt.pdf
Binary files differ
diff --git a/docs/libcurl/curl_share_strerror.pdf b/docs/libcurl/curl_share_strerror.pdf
index 9c72d31b..536ea8a8 100644
--- a/docs/libcurl/curl_share_strerror.pdf
+++ b/docs/libcurl/curl_share_strerror.pdf
Binary files differ
diff --git a/docs/libcurl/curl_slist_append.3 b/docs/libcurl/curl_slist_append.3
index 529560e8..1a0a6579 100644
--- a/docs/libcurl/curl_slist_append.3
+++ b/docs/libcurl/curl_slist_append.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2015, 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
@@ -46,6 +46,10 @@ pointer is returned.
struct curl_slist *slist=NULL;
slist = curl_slist_append(slist, "pragma:");
+
+ if (slist == NULL)
+ return -1;
+
curl_easy_setopt(handle, CURLOPT_HTTPHEADER, slist);
curl_easy_perform(handle);
diff --git a/docs/libcurl/curl_slist_append.html b/docs/libcurl/curl_slist_append.html
index 17b75884..3d7b0575 100644
--- a/docs/libcurl/curl_slist_append.html
+++ b/docs/libcurl/curl_slist_append.html
@@ -63,6 +63,10 @@ p.roffit {
&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);
diff --git a/docs/libcurl/curl_slist_append.pdf b/docs/libcurl/curl_slist_append.pdf
index 16b47a95..fc296386 100644
--- a/docs/libcurl/curl_slist_append.pdf
+++ b/docs/libcurl/curl_slist_append.pdf
Binary files differ
diff --git a/docs/libcurl/curl_slist_free_all.pdf b/docs/libcurl/curl_slist_free_all.pdf
index 6210ca89..469e9bb9 100644
--- a/docs/libcurl/curl_slist_free_all.pdf
+++ b/docs/libcurl/curl_slist_free_all.pdf
@@ -62,12 +62,12 @@ endobj
<?adobe-xap-filters esc="CRLF"?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
-<rdf:Description rdf:about='uuid:24e571f5-4cd2-11f0-0000-224f381b10d2' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.06'/>
-<rdf:Description rdf:about='uuid:24e571f5-4cd2-11f0-0000-224f381b10d2' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2015-06-17T07:56:28+02:00</xmp:ModifyDate>
-<xmp:CreateDate>2015-06-17T07:56:28+02:00</xmp:CreateDate>
+<rdf:Description rdf:about='uuid:7592967e-78d5-11f0-0000-224f381b10d2' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.16'/>
+<rdf:Description rdf:about='uuid:7592967e-78d5-11f0-0000-224f381b10d2' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2015-08-12T08:11:03+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2015-08-12T08:11:03+02:00</xmp:CreateDate>
<xmp:CreatorTool>groff version 1.22.3</xmp:CreatorTool></rdf:Description>
-<rdf:Description rdf:about='uuid:24e571f5-4cd2-11f0-0000-224f381b10d2' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:24e571f5-4cd2-11f0-0000-224f381b10d2'/>
-<rdf:Description rdf:about='uuid:24e571f5-4cd2-11f0-0000-224f381b10d2' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+<rdf:Description rdf:about='uuid:7592967e-78d5-11f0-0000-224f381b10d2' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:7592967e-78d5-11f0-0000-224f381b10d2'/>
+<rdf:Description rdf:about='uuid:7592967e-78d5-11f0-0000-224f381b10d2' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
</rdf:RDF>
</x:xmpmeta>
@@ -76,9 +76,9 @@ endobj
endstream
endobj
2 0 obj
-<</Producer(GPL Ghostscript 9.06)
-/CreationDate(D:20150617075628+02'00')
-/ModDate(D:20150617075628+02'00')
+<</Producer(GPL Ghostscript 9.16)
+/CreationDate(D:20150812081103+02'00')
+/ModDate(D:20150812081103+02'00')
/Creator(groff version 1.22.3)>>endobj
xref
0 14
@@ -98,7 +98,7 @@ xref
0000001254 00000 n
trailer
<< /Size 14 /Root 1 0 R /Info 2 0 R
-/ID [<4061935AC21848AB4303A5A7052C52A6><4061935AC21848AB4303A5A7052C52A6>]
+/ID [<D9B4DC6DEE3C38505572D5178C4C423B><D9B4DC6DEE3C38505572D5178C4C423B>]
>>
startxref
2831
diff --git a/docs/libcurl/curl_strequal.pdf b/docs/libcurl/curl_strequal.pdf
index cc7c5818..4a9e5ed8 100644
--- a/docs/libcurl/curl_strequal.pdf
+++ b/docs/libcurl/curl_strequal.pdf
Binary files differ
diff --git a/docs/libcurl/curl_unescape.pdf b/docs/libcurl/curl_unescape.pdf
index 2ce081dc..648ff3f0 100644
--- a/docs/libcurl/curl_unescape.pdf
+++ b/docs/libcurl/curl_unescape.pdf
Binary files differ
diff --git a/docs/libcurl/curl_version.pdf b/docs/libcurl/curl_version.pdf
index 16a080d2..e57c8cca 100644
--- a/docs/libcurl/curl_version.pdf
+++ b/docs/libcurl/curl_version.pdf
Binary files differ
diff --git a/docs/libcurl/curl_version_info.pdf b/docs/libcurl/curl_version_info.pdf
index 6820aa87..832e238b 100644
--- a/docs/libcurl/curl_version_info.pdf
+++ b/docs/libcurl/curl_version_info.pdf
Binary files differ
diff --git a/docs/libcurl/index.html b/docs/libcurl/index.html
index ca773135..f46cc85f 100644
--- a/docs/libcurl/index.html
+++ b/docs/libcurl/index.html
@@ -17,6 +17,7 @@
<br><a href="libcurl-share.html">libcurl-share</a>
<br><a href="libcurl-errors.html">libcurl-errors</a>
<br><a href="libcurl-tutorial.html">libcurl-tutorial</a>
+<br><a href="libcurl-thread.html">libcurl-thread</a>
<H2>Library Functions (A-Z)</H2>
<a href="curl_easy_cleanup.html">curl_easy_cleanup</A>
diff --git a/docs/libcurl/libcurl-easy.pdf b/docs/libcurl/libcurl-easy.pdf
index 8d17c7fb..2e0ad80f 100644
--- a/docs/libcurl/libcurl-easy.pdf
+++ b/docs/libcurl/libcurl-easy.pdf
Binary files differ
diff --git a/docs/libcurl/libcurl-errors.3 b/docs/libcurl/libcurl-errors.3
index 07091b5e..3828996f 100644
--- a/docs/libcurl/libcurl-errors.3
+++ b/docs/libcurl/libcurl-errors.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2015, 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
@@ -74,7 +74,7 @@ After having sent the FTP password to the server, libcurl expects a proper
reply. This error code indicates that an unexpected code was returned.
.IP "CURLE_FTP_ACCEPT_TIMEOUT (12)"
During an active FTP session while waiting for the server to connect, the
-\fICURLOPT_ACCEPTTIMOUT_MS(3)\fP (or the internal default) timeout expired.
+\fICURLOPT_ACCEPTTIMEOUT_MS(3)\fP (or the internal default) timeout expired.
.IP "CURLE_FTP_WEIRD_PASV_REPLY (13)"
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.
diff --git a/docs/libcurl/libcurl-errors.html b/docs/libcurl/libcurl-errors.html
index 64851bd1..e6cb9ea2 100644
--- a/docs/libcurl/libcurl-errors.html
+++ b/docs/libcurl/libcurl-errors.html
@@ -80,7 +80,7 @@ p.roffit {
<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_ACCEPTTIMOUT_MS(3)</span> (or the internal default) timeout expired.
+<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>
diff --git a/docs/libcurl/libcurl-errors.pdf b/docs/libcurl/libcurl-errors.pdf
index 9448be65..08d2554d 100644
--- a/docs/libcurl/libcurl-errors.pdf
+++ b/docs/libcurl/libcurl-errors.pdf
Binary files differ
diff --git a/docs/libcurl/libcurl-multi.3 b/docs/libcurl/libcurl-multi.3
index f77c366a..b745b723 100644
--- a/docs/libcurl/libcurl-multi.3
+++ b/docs/libcurl/libcurl-multi.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2015, 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
@@ -51,28 +51,27 @@ To use the multi interface, you must first create a 'multi handle' with
\fIcurl_multi_init(3)\fP. This handle is then used as input to all further
curl_multi_* functions.
-With a multi handle and the multi interface you can do any amount of
-simultaneous transfers in parallel. Each single transfer is built up around an
-easy handle. You must create the easy handles you need, and setup the
-appropriate options for each easy handle, as outlined in the \fIlibcurl(3)\fP
-man page, using \fIcurl_easy_setopt(3)\fP.
+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 \fIcurl_easy_setopt(3)\fP.
There are two flavours of the multi interface, the select() oriented one and
-the event based one we called multi_socket. You will benefit from reading
-through the description of both versions to full understand how they work 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.
-When an easy handle is setup for a transfer, then instead of using
+When an easy handle is setup and ready for transfer, then instead of using
\fIcurl_easy_perform(3)\fP like when using the easy interface for transfers,
you should add the easy handle to the multi handle with
-\fIcurl_multi_add_handle(3)\fP. The multi handle is sometimes referred to as a
-\'multi stack\' because of the fact that it may hold a large amount of easy
-handles.
+\fIcurl_multi_add_handle(3)\fP. You can add more easy handles to a multi
+handle at any point, even if other transfers are already running.
Should you change your mind, the easy handle is again removed from the multi
stack using \fIcurl_multi_remove_handle(3)\fP. Once removed from the multi
handle, you can again use other easy interface functions like
-\fIcurl_easy_perform(3)\fP on the handle or whatever you think is necessary.
+\fIcurl_easy_perform(3)\fP on the handle or whatever you think is
+necessary. You can remove handles at any point in time during transfers.
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
@@ -84,16 +83,16 @@ 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.
-Your application can acquire knowledge from libcurl when it would like to get
-invoked to transfer data, so that you don't have to busy-loop and call that
-\fIcurl_multi_perform(3)\fP like crazy. \fIcurl_multi_fdset(3)\fP offers an
-interface using which you can extract 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. This also makes it very easy for your program to wait
-for input on your own private file descriptors at the same time or perhaps
-timeout every now and then, should you want that. \fIcurl_multi_timeout(3)\fP
-also helps you with providing a suitable timeout period for your select()
-call.
+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
+\fIcurl_multi_wait(3)\fP that will help you wait until the application should
+call libcurl again. The older API to accomplish the same thing is
+\fIcurl_multi_fdset(3)\fP 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
+\fIcurl_multi_timeout(3)\fP also helps you with providing a suitable timeout
+period for your select() calls.
\fIcurl_multi_perform(3)\fP stores the number of still running transfers in
one of its input arguments, and by reading that you can figure out when all
@@ -114,9 +113,9 @@ the multi stack. You need to first remove the easy handle with
\fIcurl_easy_cleanup(3)\fP, or possibly set new options to it and add it again
with \fIcurl_multi_add_handle(3)\fP to start another transfer.
-When all transfers in the multi stack are done, cleanup the multi handle with
+When all transfers in the multi stack are done, close the multi handle with
\fIcurl_multi_cleanup(3)\fP. Be careful and please note that you \fBMUST\fP
-invoke separate \fIcurl_easy_cleanup(3)\fP calls on every single easy handle
+invoke separate \fIcurl_easy_cleanup(3)\fP calls for every single easy handle
to clean them up properly.
If you want to re-use an easy handle that was added to the multi handle for
diff --git a/docs/libcurl/libcurl-multi.html b/docs/libcurl/libcurl-multi.html
index 1baae4a2..6aad3b83 100644
--- a/docs/libcurl/libcurl-multi.html
+++ b/docs/libcurl/libcurl-multi.html
@@ -60,16 +60,16 @@ p.roffit {
<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 any amount of simultaneous transfers in parallel. Each single transfer is built up around an easy handle. You must create the easy handles you need, and setup the appropriate options for each easy handle, as outlined in the <a Class="emphasis" href="./libcurl.html">libcurl</a> man page, 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 called multi_socket. You will benefit from reading through the description of both versions to full understand how they work and differentiate. We start out with the select() oriented version.
-<p class="level0">When an easy handle is setup for a 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>. The multi handle is sometimes referred to as a &acute;multi stack&acute; because of the fact that it may hold a large amount of easy handles.
-<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.
+<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 can acquire knowledge from libcurl when it would like to get invoked to transfer data, so that you don't have to busy-loop and call that <a Class="emphasis" href="./curl_multi_perform.html">curl_multi_perform</a> like crazy. <a Class="emphasis" href="./curl_multi_fdset.html">curl_multi_fdset</a> offers an interface using which you can extract 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. This also makes it very easy for your program to wait for input on your own private file descriptors at the same time or perhaps timeout every now and then, should you want that. <a Class="emphasis" href="./curl_multi_timeout.html">curl_multi_timeout</a> also helps you with providing a suitable timeout period for your select() call.
+<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, cleanup 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 on every single easy handle to clean them up properly.
+<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>.
diff --git a/docs/libcurl/libcurl-multi.pdf b/docs/libcurl/libcurl-multi.pdf
index de2aa921..2acd7efd 100644
--- a/docs/libcurl/libcurl-multi.pdf
+++ b/docs/libcurl/libcurl-multi.pdf
Binary files differ
diff --git a/docs/libcurl/libcurl-share.pdf b/docs/libcurl/libcurl-share.pdf
index 15207aeb..5544639d 100644
--- a/docs/libcurl/libcurl-share.pdf
+++ b/docs/libcurl/libcurl-share.pdf
Binary files differ
diff --git a/docs/libcurl/libcurl-symbols.3 b/docs/libcurl/libcurl-symbols.3
index 15b54a96..b7097e5d 100644
--- a/docs/libcurl/libcurl-symbols.3
+++ b/docs/libcurl/libcurl-symbols.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH libcurl-symbols 3 "Jun 17, 2015" "libcurl 7.41.0" "libcurl symbols"
+.TH libcurl-symbols 3 "Aug 12, 2015" "libcurl 7.41.0" "libcurl symbols"
.SH NAME
libcurl-symbols \- libcurl symbol version information
.SH "libcurl symbols"
@@ -612,6 +612,10 @@ Introduced in 7.16.0
Introduced in 7.30.0
.IP CURLMOPT_PIPELINING_SITE_BL
Introduced in 7.30.0
+.IP CURLMOPT_PUSHDATA
+Introduced in 7.44.0
+.IP CURLMOPT_PUSHFUNCTION
+Introduced in 7.44.0
.IP CURLMOPT_SOCKETDATA
Introduced in 7.15.4
.IP CURLMOPT_SOCKETFUNCTION
@@ -1332,6 +1336,8 @@ Introduced in 7.34.0
Introduced in 7.34.0
.IP CURLSSLOPT_ALLOW_BEAST
Introduced in 7.25.0
+.IP CURLSSLOPT_NO_REVOKE
+Introduced in 7.44.0
.IP CURLUSESSL_ALL
Introduced in 7.17.0
.IP CURLUSESSL_CONTROL
@@ -1474,6 +1480,10 @@ Introduced in 7.14.0
Introduced in 7.1.1
.IP CURL_PROGRESS_STATS
Introduced in 7.1.1
+.IP CURL_PUSH_DENY
+Introduced in 7.44.0
+.IP CURL_PUSH_OK
+Introduced in 7.44.0
.IP CURL_READFUNC_ABORT
Introduced in 7.12.1
.IP CURL_READFUNC_PAUSE
diff --git a/docs/libcurl/libcurl-symbols.html b/docs/libcurl/libcurl-symbols.html
index db89e6ad..1dba7e76 100644
--- a/docs/libcurl/libcurl-symbols.html
+++ b/docs/libcurl/libcurl-symbols.html
@@ -600,6 +600,10 @@ p.roffit {
<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>
@@ -1294,6 +1298,8 @@ p.roffit {
<p class="level1">Introduced in 7.34.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>
@@ -1436,6 +1442,10 @@ p.roffit {
<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>
diff --git a/docs/libcurl/libcurl-symbols.pdf b/docs/libcurl/libcurl-symbols.pdf
index 75aec3b8..c353e1f5 100644
--- a/docs/libcurl/libcurl-symbols.pdf
+++ b/docs/libcurl/libcurl-symbols.pdf
Binary files differ
diff --git a/docs/libcurl/libcurl-thread.3 b/docs/libcurl/libcurl-thread.3
new file mode 100644
index 00000000..fd5b0e42
--- /dev/null
+++ b/docs/libcurl/libcurl-thread.3
@@ -0,0 +1,95 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 2015, 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 http://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 libcurl-thread 3 "13 Jul 2015" "libcurl" "libcurl thread safety"
+.SH NAME
+libcurl-thread \- libcurl thread safety
+.SH "Multi-threading with libcurl"
+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.
+
+\fBHandles.\fP You must \fBnever\fP 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.
+
+\fBShared objects.\fP You can share certain data between multiple handles by
+using the share interface but you must provide your own locking and set
+\fIcurl_share_setopt(3)\fP CURLSHOPT_LOCKFUNC and CURLSHOPT_UNLOCKFUNC.
+.SH TLS
+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:
+.IP OpenSSL
+http://www.openssl.org/docs/crypto/threads.html#DESCRIPTION
+
+http://curl.haxx.se/libcurl/c/opensslthreadlock.html
+.IP GnuTLS
+http://gnutls.org/manual/html_node/Thread-safety.html
+.IP NSS
+thread-safe already without anything required.
+.IP PolarSSL
+Required actions unknown.
+.IP yassl
+Required actions unknown.
+.IP axTLS
+Required actions unknown.
+.IP Secure-Transport
+The engine is used by libcurl in a way that is fully thread-safe.
+.IP WinSSL
+The engine is used by libcurl in a way that is fully thread-safe.
+.IP wolfSSL
+The engine is used by libcurl in a way that is fully thread-safe.
+.SH "Other areas of caution"
+.IP Signals
+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 \fICURLOPT_NOSIGNAL(3)\fP 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.
+.IP "Name resolving"
+\fBgethostby* functions and other system calls.\fP 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.
+.IP "curl_global_* functions"
+These functions are not thread safe. If you are using libcurl with multiple
+threads it is especially important that before use you call
+\fIcurl_global_init(3)\fP or \fIcurl_global_init_mem(3)\fP to explicitly
+initialize the library and its dependents, rather than rely on the "lazy"
+fail-safe initialization that takes place the first time
+\fIcurl_easy_init(3)\fP is called. For an in-depth explanation refer to
+\fIlibcurl(3)\fP section \fBGLOBAL CONSTANTS\fP.
+.IP "Memory functions"
+These functions, provided either by your operating system or your own
+replacements, must be thread safe. You can use \fIcurl_global_init_mem(3)\fP
+to set your own replacement memory functions.
+.IP Non-safe functions
+\fICURLOPT_DNS_USE_GLOBAL_CACHE(3)\fP is not thread-safe.
diff --git a/docs/libcurl/libcurl-thread.html b/docs/libcurl/libcurl-thread.html
new file mode 100644
index 00000000..9690babf
--- /dev/null
+++ b/docs/libcurl/libcurl-thread.html
@@ -0,0 +1,90 @@
+<!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"><a href="http://www.openssl.org/docs/crypto/threads.html">http://www.openssl.org/docs/crypto/threads.html</a>&#35;DESCRIPTION
+<p class="level1"><a href="http://curl.haxx.se/libcurl/c/opensslthreadlock.html">http://curl.haxx.se/libcurl/c/opensslthreadlock.html</a>
+<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. <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
new file mode 100644
index 00000000..8656f21c
--- /dev/null
+++ b/docs/libcurl/libcurl-thread.pdf
Binary files differ
diff --git a/docs/libcurl/libcurl-tutorial.3 b/docs/libcurl/libcurl-tutorial.3
index 11b01901..558652c2 100644
--- a/docs/libcurl/libcurl-tutorial.3
+++ b/docs/libcurl/libcurl-tutorial.3
@@ -256,58 +256,8 @@ 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.
.SH "Multi-threading Issues"
-The first basic rule is that you must \fBnever\fP simultaneously share a
-libcurl handle (be it easy or multi or whatever) between multiple
-threads. Only use one handle in one thread at any time. 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.
-
-libcurl is completely thread safe, except for two issues: signals and SSL/TLS
-handlers. Signals are used for timing out name resolves (during DNS lookup) -
-when built without using either the c-ares or threaded resolver backends.
-
-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. Basically, you need to
-provide one or two functions to allow it to function properly. For all
-details, see this:
-
-OpenSSL
-
- http://www.openssl.org/docs/crypto/threads.html#DESCRIPTION
-
-GnuTLS
-
- http://gnutls.org/manual/html_node/Thread-safety.html
-
-NSS
-
- is claimed to be thread-safe already without anything required.
-
-PolarSSL
-
- Required actions unknown.
-
-yassl
-
- Required actions unknown.
-
-axTLS
-
- Required actions unknown.
-
-Secure Transport
-
- The engine is fully thread-safe, and no additional steps are required.
-
-When using multiple threads you should set the \fICURLOPT_NOSIGNAL(3)\fP
-option to 1 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.
-
-Also, note that \fICURLOPT_DNS_USE_GLOBAL_CACHE(3)\fP is not thread-safe.
+libcurl is thread safe but there are a few exceptions. Refer to
+\fIlibcurl-thread(3)\fP for more information.
.SH "When It Doesn't Work"
There will always be times when the transfer fails for some reason. You might
@@ -1005,7 +955,7 @@ 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 \ICURLOPT_COOKIEFILE(3)\fP
+to disk at all. Note that the file you specify to \fICURLOPT_COOKIEFILE(3)\fP
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.
diff --git a/docs/libcurl/libcurl-tutorial.html b/docs/libcurl/libcurl-tutorial.html
index 492aa95c..70e34aaa 100644
--- a/docs/libcurl/libcurl-tutorial.html
+++ b/docs/libcurl/libcurl-tutorial.html
@@ -124,25 +124,7 @@ p.roffit {
<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">The first basic rule is that you must <span Class="bold">never</span> simultaneously share a libcurl handle (be it easy or multi or whatever) between multiple threads. Only use one handle in one thread at any time. 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">libcurl is completely thread safe, except for two issues: signals and SSL/TLS handlers. Signals are used for timing out name resolves (during DNS lookup) - when built without using either the c-ares or threaded resolver backends.
-<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. Basically, you need to provide one or two functions to allow it to function properly. For all details, see this:
-<p class="level0">OpenSSL
-<p class="level0">&nbsp;<a href="http://www.openssl.org/docs/crypto/threads.html">http://www.openssl.org/docs/crypto/threads.html</a>&#35;DESCRIPTION
-<p class="level0">GnuTLS
-<p class="level0">&nbsp;<a href="http://gnutls.org/manual/html_node/Thread-safety.html">http://gnutls.org/manual/html_node/Thread-safety.html</a>
-<p class="level0">NSS
-<p class="level0">&nbsp;is claimed to be thread-safe already without anything required.
-<p class="level0">PolarSSL
-<p class="level0">&nbsp;Required actions unknown.
-<p class="level0">yassl
-<p class="level0">&nbsp;Required actions unknown.
-<p class="level0">axTLS
-<p class="level0">&nbsp;Required actions unknown.
-<p class="level0">Secure Transport
-<p class="level0">&nbsp;The engine is fully thread-safe, and no additional steps are required.
-<p class="level0">When using multiple threads you should set the <span Class="emphasis">CURLOPT_NOSIGNAL(3)</span> option to 1 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">Also, note that <span Class="emphasis">CURLOPT_DNS_USE_GLOBAL_CACHE(3)</span> is not thread-safe.
+<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.
@@ -459,7 +441,7 @@ class AClass {
<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 ICURLOPT_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">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>
diff --git a/docs/libcurl/libcurl-tutorial.pdf b/docs/libcurl/libcurl-tutorial.pdf
index edc8db15..f93ccab9 100644
--- a/docs/libcurl/libcurl-tutorial.pdf
+++ b/docs/libcurl/libcurl-tutorial.pdf
Binary files differ
diff --git a/docs/libcurl/libcurl.3 b/docs/libcurl/libcurl.3
index 39bcccd4..05034c98 100644
--- a/docs/libcurl/libcurl.3
+++ b/docs/libcurl/libcurl.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2015, 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
@@ -97,8 +97,8 @@ 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.
-Many Linux and similar sytems use pkg-config to provide build and link options
-about libraries and libcurl supports that as well.
+Many Linux and similar systems use pkg-config to provide build and link
+options about libraries and libcurl supports that as well.
.SH "LIBCURL SYMBOL NAMES"
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
@@ -111,13 +111,8 @@ libcurl works
.B exactly
the same, on any of the platforms it compiles and builds on.
.SH "THREADS"
-Never ever call curl-functions simultaneously using the same handle from
-several threads. libcurl is thread-safe and can be used in any number of
-threads, but you must use separate curl handles if you want to use libcurl in
-more than one thread simultaneously.
-
-The global environment functions are not thread-safe. See \fBGLOBAL
-CONSTANTS\fP below for details.
+libcurl is thread safe but there are a few exceptions. Refer to
+\fIlibcurl-thread(3)\fP for more information.
.SH "PERSISTENT CONNECTIONS"
Persistent connections means that libcurl can re-use the same connection for
diff --git a/docs/libcurl/libcurl.html b/docs/libcurl/libcurl.html
index d6d60195..6c4f902b 100644
--- a/docs/libcurl/libcurl.html
+++ b/docs/libcurl/libcurl.html
@@ -82,12 +82,11 @@ p.roffit {
<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 sytems 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">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">Never ever call curl-functions simultaneously using the same handle from several threads. libcurl is thread-safe and can be used in any number of threads, but you must use separate curl handles if you want to use libcurl in more than one thread simultaneously.
-<p class="level0">The global environment functions are not thread-safe. See <span class="bold">GLOBAL CONSTANTS</span> below for details.
+<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>.
diff --git a/docs/libcurl/libcurl.pdf b/docs/libcurl/libcurl.pdf
index 2310cd8d..46c77107 100644
--- a/docs/libcurl/libcurl.pdf
+++ b/docs/libcurl/libcurl.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.pdf b/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.pdf
index dc68c1cf..a722e09d 100644
--- a/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.pdf
+++ b/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.pdf b/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.pdf
index 36a04b52..9d4bf169 100644
--- a/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.pdf
+++ b/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.pdf b/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.pdf
index f93caa6a..e68667b5 100644
--- a/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.pdf
+++ b/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.pdf b/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.pdf
index b7b3532e..1a5f3fb7 100644
--- a/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.pdf
+++ b/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.pdf b/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.pdf
index 568ee353..f9459545 100644
--- a/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.pdf
+++ b/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.pdf
@@ -67,12 +67,12 @@ endobj
<?adobe-xap-filters esc="CRLF"?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
-<rdf:Description rdf:about='uuid:362e7e76-4cd2-11f0-0000-e44c0fe5a109' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.06'/>
-<rdf:Description rdf:about='uuid:362e7e76-4cd2-11f0-0000-e44c0fe5a109' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2015-06-17T07:56:57+02:00</xmp:ModifyDate>
-<xmp:CreateDate>2015-06-17T07:56:57+02:00</xmp:CreateDate>
+<rdf:Description rdf:about='uuid:893dfcfe-78d5-11f0-0000-e44c0fe5a109' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.16'/>
+<rdf:Description rdf:about='uuid:893dfcfe-78d5-11f0-0000-e44c0fe5a109' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2015-08-12T08:11:36+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2015-08-12T08:11:36+02:00</xmp:CreateDate>
<xmp:CreatorTool>groff version 1.22.3</xmp:CreatorTool></rdf:Description>
-<rdf:Description rdf:about='uuid:362e7e76-4cd2-11f0-0000-e44c0fe5a109' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:362e7e76-4cd2-11f0-0000-e44c0fe5a109'/>
-<rdf:Description rdf:about='uuid:362e7e76-4cd2-11f0-0000-e44c0fe5a109' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+<rdf:Description rdf:about='uuid:893dfcfe-78d5-11f0-0000-e44c0fe5a109' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:893dfcfe-78d5-11f0-0000-e44c0fe5a109'/>
+<rdf:Description rdf:about='uuid:893dfcfe-78d5-11f0-0000-e44c0fe5a109' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
</rdf:RDF>
</x:xmpmeta>
@@ -81,9 +81,9 @@ endobj
endstream
endobj
2 0 obj
-<</Producer(GPL Ghostscript 9.06)
-/CreationDate(D:20150617075657+02'00')
-/ModDate(D:20150617075657+02'00')
+<</Producer(GPL Ghostscript 9.16)
+/CreationDate(D:20150812081136+02'00')
+/ModDate(D:20150812081136+02'00')
/Creator(groff version 1.22.3)>>endobj
xref
0 15
@@ -104,7 +104,7 @@ xref
0000001892 00000 n
trailer
<< /Size 15 /Root 1 0 R /Info 2 0 R
-/ID [<B2B40B11726F2FF6037FBE063CFE1532><B2B40B11726F2FF6037FBE063CFE1532>]
+/ID [<250AB0EF71AFA2B0149496D7C068D77D><250AB0EF71AFA2B0149496D7C068D77D>]
>>
startxref
3469
diff --git a/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.pdf b/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.pdf
index 80b66cbe..0d516dc9 100644
--- a/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.pdf
+++ b/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLMOPT_PIPELINING.pdf b/docs/libcurl/opts/CURLMOPT_PIPELINING.pdf
index f5724130..9f93dbcf 100644
--- a/docs/libcurl/opts/CURLMOPT_PIPELINING.pdf
+++ b/docs/libcurl/opts/CURLMOPT_PIPELINING.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.pdf b/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.pdf
index 59c066ad..a7931787 100644
--- a/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.pdf
+++ b/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.pdf b/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.pdf
index cdd0cc4f..d20ed4fa 100644
--- a/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.pdf
+++ b/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLMOPT_PUSHDATA.3 b/docs/libcurl/opts/CURLMOPT_PUSHDATA.3
new file mode 100644
index 00000000..135e6321
--- /dev/null
+++ b/docs/libcurl/opts/CURLMOPT_PUSHDATA.3
@@ -0,0 +1,49 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2015, 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 http://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 CURLMOPT_PUSHDATA 3 "1 Jun 2015" "libcurl 7.44.0" "curl_multi_setopt options"
+.SH NAME
+CURLMOPT_PUSHDATA \- pointer to pass to push callback
+.SH SYNOPSIS
+.nf
+#include <curl/curl.h>
+
+CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PUSHDATA, void *pointer);
+.fi
+.SH DESCRIPTION
+Set \fIpointer\fP to pass as the last argument to the
+\fICURLMOPT_PUSHFUNCTION(3)\fP callback. The pointer will not be touched or
+used by libcurl itself, only passed on to the callback function.
+.SH DEFAULT
+NULL
+.SH PROTOCOLS
+HTTP(S)
+.SH EXAMPLE
+TODO
+.SH AVAILABILITY
+Added in 7.44.0
+.SH RETURN VALUE
+Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.
+.SH "SEE ALSO"
+.BR CURLMOPT_PUSHFUNCTION "(3), " CURLMOPT_PIPELINING "(3), "
+.BR CURLOPT_PIPEWAIT "(3), "
+.BR RFC 7540
diff --git a/docs/libcurl/opts/CURLMOPT_PUSHDATA.html b/docs/libcurl/opts/CURLMOPT_PUSHDATA.html
new file mode 100644
index 00000000..0ea49f22
--- /dev/null
+++ b/docs/libcurl/opts/CURLMOPT_PUSHDATA.html
@@ -0,0 +1,70 @@
+<!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>, <span Class="manpage"> </span> <a Class="manpage" href="./CURLOPT_PIPEWAIT.html">CURLOPT_PIPEWAIT</a>, <span Class="manpage"> </span> <span Class="manpage"><a href="http://www.ietf.org/rfc/rfc7540.txt">RFC 7540</a></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
new file mode 100644
index 00000000..200136b6
--- /dev/null
+++ b/docs/libcurl/opts/CURLMOPT_PUSHDATA.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.3 b/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.3
new file mode 100644
index 00000000..fb5e4e49
--- /dev/null
+++ b/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.3
@@ -0,0 +1,132 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2015, 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 http://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 CURLMOPT_PUSHFUNCTION 3 "1 Jun 2015" "libcurl 7.44.0" "curl_multi_setopt options"
+.SH NAME
+CURLMOPT_PUSHFUNCTION \- callback that approves or denies server pushes
+.SH SYNOPSIS
+.nf
+#include <curl/curl.h>
+
+char *curl_pushheader_bynum(push_headers, int num);
+char *curl_pushheader_byname(push_headers, const char *name);
+
+int curl_push_callback(CURL *parent,
+ CURL *easy,
+ size_t num_headers,
+ struct curl_pushheaders *headers,
+ void *userp);
+
+CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PUSHFUNCTION,
+ curl_push_callback func);
+.fi
+.SH DESCRIPTION
+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.
+.SH CALLBACK DESCRIPTION
+The callback gets its arguments like this:
+
+\fIparent\fP 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.
+
+\fIeasy\fP is a newly created handle that represents this upcoming transfer.
+
+\fInum_headers\fP is the number of name+value pairs that was received and can
+be accessed
+
+\fIheaders\fP 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.
+
+\fIuserp\fP is the pointer set with \fICURLMOPT_PUSHDATA(3)\fP
+
+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.
+
+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
+pased to the header callback for pushed streams just as for normal streams.
+.IP curl_pushheader_bynum
+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.
+.IP curl_pushheader_byname
+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.
+.SH CALLBACK RETURN VALUE
+.IP "CURL_PUSH_OK (0)"
+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.
+.IP "CURL_PUSH_DENY (1)"
+The callback denies the stream and no data for this will reach the
+application, the easy handle will be destroyed by libcurl.
+.IP *
+All other return codes are reserved for future use.
+.SH DEFAULT
+NULL, no callback
+.SH PROTOCOLS
+HTTP(S) (HTTP/2 only)
+.SH EXAMPLE
+.nf
+/* only allow pushes for file names starting with "push-" */
+int push_callback(CURL *parent,
+ CURL *easy,
+ size_t num_headers,
+ struct curl_pushheaders *headers,
+ void *userp)
+{
+ char *headp;
+ int *transfers = (int *)userp;
+ FILE *out;
+ headp = curl_pushheader_byname(headers, ":path");
+ if(headp && !strncmp(headp, "/push-", 6)) {
+ fprintf(stderr, "The PATH is %s\n", headp);
+
+ /* save the push here */
+ out = fopen("pushed-stream", "wb");
+
+ /* write to this file */
+ curl_easy_setopt(easy, CURLOPT_WRITEDATA, out);
+
+ (*transfers)++; /* one more */
+
+ return CURL_PUSH_OK;
+ }
+ return CURL_PUSH_DENY;
+}
+
+curl_multi_setopt(multi, CURLMOPT_PUSHFUNCTION, push_callback);
+curl_multi_setopt(multi, CURLMOPT_PUSHDATA, &counter);
+.fi
+.SH AVAILABILITY
+Added in 7.44.0
+.SH RETURN VALUE
+Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.
+.SH "SEE ALSO"
+.BR CURLMOPT_PUSHDATA "(3), " CURLMOPT_PIPELINING "(3), " CURLOPT_PIPEWAIT "(3), "
+.BR RFC 7540
diff --git a/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.html b/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.html
new file mode 100644
index 00000000..17680a01
--- /dev/null
+++ b/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.html
@@ -0,0 +1,131 @@
+<!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(push_headers, int num);
+char *curl_pushheader_byname(push_headers, 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 pased 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. <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 %sn", 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>, <a class="manpage" href="#"> </a> <span Class="manpage"><a href="http://www.ietf.org/rfc/rfc7540.txt">RFC 7540</a></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
new file mode 100644
index 00000000..d6431ed1
--- /dev/null
+++ b/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLMOPT_SOCKETDATA.pdf b/docs/libcurl/opts/CURLMOPT_SOCKETDATA.pdf
index 47c90521..ac0a8a77 100644
--- a/docs/libcurl/opts/CURLMOPT_SOCKETDATA.pdf
+++ b/docs/libcurl/opts/CURLMOPT_SOCKETDATA.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.pdf b/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.pdf
index 0b1eca1e..3445301c 100644
--- a/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.pdf
+++ b/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLMOPT_TIMERDATA.pdf b/docs/libcurl/opts/CURLMOPT_TIMERDATA.pdf
index b8691b0b..34eb8a99 100644
--- a/docs/libcurl/opts/CURLMOPT_TIMERDATA.pdf
+++ b/docs/libcurl/opts/CURLMOPT_TIMERDATA.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.pdf b/docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.pdf
index d5814b77..9a8ba6e3 100644
--- a/docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.pdf
+++ b/docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.pdf b/docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.pdf
index 6f72486d..5bc835e0 100644
--- a/docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.pdf
+++ b/docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.pdf b/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.pdf
index 3f47418d..659bd685 100644
--- a/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.pdf
+++ b/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.pdf b/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.pdf
index ad726466..f1f0e342 100644
--- a/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.pdf
+++ b/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_APPEND.pdf b/docs/libcurl/opts/CURLOPT_APPEND.pdf
index ed39d14b..c1ea28ef 100644
--- a/docs/libcurl/opts/CURLOPT_APPEND.pdf
+++ b/docs/libcurl/opts/CURLOPT_APPEND.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_AUTOREFERER.pdf b/docs/libcurl/opts/CURLOPT_AUTOREFERER.pdf
index 8099cb20..dfcb134e 100644
--- a/docs/libcurl/opts/CURLOPT_AUTOREFERER.pdf
+++ b/docs/libcurl/opts/CURLOPT_AUTOREFERER.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_BUFFERSIZE.pdf b/docs/libcurl/opts/CURLOPT_BUFFERSIZE.pdf
index 34959362..95302502 100644
--- a/docs/libcurl/opts/CURLOPT_BUFFERSIZE.pdf
+++ b/docs/libcurl/opts/CURLOPT_BUFFERSIZE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CAINFO.pdf b/docs/libcurl/opts/CURLOPT_CAINFO.pdf
index c93f1544..e4dc058e 100644
--- a/docs/libcurl/opts/CURLOPT_CAINFO.pdf
+++ b/docs/libcurl/opts/CURLOPT_CAINFO.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CAPATH.pdf b/docs/libcurl/opts/CURLOPT_CAPATH.pdf
index af8c4c91..46be0cb8 100644
--- a/docs/libcurl/opts/CURLOPT_CAPATH.pdf
+++ b/docs/libcurl/opts/CURLOPT_CAPATH.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CERTINFO.pdf b/docs/libcurl/opts/CURLOPT_CERTINFO.pdf
index 0e6b1624..e8cf96e1 100644
--- a/docs/libcurl/opts/CURLOPT_CERTINFO.pdf
+++ b/docs/libcurl/opts/CURLOPT_CERTINFO.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.pdf b/docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.pdf
index b0a34641..6af97345 100644
--- a/docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.pdf
+++ b/docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CHUNK_DATA.pdf b/docs/libcurl/opts/CURLOPT_CHUNK_DATA.pdf
index 4a8853bc..8313611b 100644
--- a/docs/libcurl/opts/CURLOPT_CHUNK_DATA.pdf
+++ b/docs/libcurl/opts/CURLOPT_CHUNK_DATA.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.pdf b/docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.pdf
index 605cde7f..3da58c80 100644
--- a/docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.pdf
+++ b/docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.pdf b/docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.pdf
index 4962ad74..99b7f90e 100644
--- a/docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.pdf
+++ b/docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.pdf b/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.pdf
index 0c407280..4aae7c54 100644
--- a/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.pdf
+++ b/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.pdf b/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.pdf
index d43cb258..3359205c 100644
--- a/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.pdf
+++ b/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.pdf b/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.pdf
index a38d9a69..03d23ea3 100644
--- a/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.pdf
+++ b/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.pdf b/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.pdf
index 5ba27d23..39371fe2 100644
--- a/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.pdf
+++ b/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.pdf b/docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.pdf
index e63169a0..2b92ff40 100644
--- a/docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.pdf
+++ b/docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.pdf b/docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.pdf
index 014d0e81..e9930fd2 100644
--- a/docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.pdf
+++ b/docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.pdf b/docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.pdf
index e2aa7e3e..b07a2ccc 100644
--- a/docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.pdf
+++ b/docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_COOKIE.pdf b/docs/libcurl/opts/CURLOPT_COOKIE.pdf
index de1764d7..6e51674e 100644
--- a/docs/libcurl/opts/CURLOPT_COOKIE.pdf
+++ b/docs/libcurl/opts/CURLOPT_COOKIE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_COOKIEFILE.pdf b/docs/libcurl/opts/CURLOPT_COOKIEFILE.pdf
index 69a8617b..50ff7cdd 100644
--- a/docs/libcurl/opts/CURLOPT_COOKIEFILE.pdf
+++ b/docs/libcurl/opts/CURLOPT_COOKIEFILE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_COOKIEJAR.pdf b/docs/libcurl/opts/CURLOPT_COOKIEJAR.pdf
index b8d3cdbe..731cff52 100644
--- a/docs/libcurl/opts/CURLOPT_COOKIEJAR.pdf
+++ b/docs/libcurl/opts/CURLOPT_COOKIEJAR.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_COOKIELIST.pdf b/docs/libcurl/opts/CURLOPT_COOKIELIST.pdf
index ebc86e4e..1a7b3e14 100644
--- a/docs/libcurl/opts/CURLOPT_COOKIELIST.pdf
+++ b/docs/libcurl/opts/CURLOPT_COOKIELIST.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_COOKIESESSION.pdf b/docs/libcurl/opts/CURLOPT_COOKIESESSION.pdf
index 88ba266a..bbe97386 100644
--- a/docs/libcurl/opts/CURLOPT_COOKIESESSION.pdf
+++ b/docs/libcurl/opts/CURLOPT_COOKIESESSION.pdf
@@ -63,12 +63,12 @@ endobj
<?adobe-xap-filters esc="CRLF"?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
-<rdf:Description rdf:about='uuid:29aa25f5-4cd2-11f0-0000-734885418920' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.06'/>
-<rdf:Description rdf:about='uuid:29aa25f5-4cd2-11f0-0000-734885418920' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2015-06-17T07:56:36+02:00</xmp:ModifyDate>
-<xmp:CreateDate>2015-06-17T07:56:36+02:00</xmp:CreateDate>
+<rdf:Description rdf:about='uuid:7b88777e-78d5-11f0-0000-734885418920' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.16'/>
+<rdf:Description rdf:about='uuid:7b88777e-78d5-11f0-0000-734885418920' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2015-08-12T08:11:13+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2015-08-12T08:11:13+02:00</xmp:CreateDate>
<xmp:CreatorTool>groff version 1.22.3</xmp:CreatorTool></rdf:Description>
-<rdf:Description rdf:about='uuid:29aa25f5-4cd2-11f0-0000-734885418920' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:29aa25f5-4cd2-11f0-0000-734885418920'/>
-<rdf:Description rdf:about='uuid:29aa25f5-4cd2-11f0-0000-734885418920' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+<rdf:Description rdf:about='uuid:7b88777e-78d5-11f0-0000-734885418920' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:7b88777e-78d5-11f0-0000-734885418920'/>
+<rdf:Description rdf:about='uuid:7b88777e-78d5-11f0-0000-734885418920' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
</rdf:RDF>
</x:xmpmeta>
@@ -77,9 +77,9 @@ endobj
endstream
endobj
2 0 obj
-<</Producer(GPL Ghostscript 9.06)
-/CreationDate(D:20150617075636+02'00')
-/ModDate(D:20150617075636+02'00')
+<</Producer(GPL Ghostscript 9.16)
+/CreationDate(D:20150812081113+02'00')
+/ModDate(D:20150812081113+02'00')
/Creator(groff version 1.22.3)>>endobj
xref
0 14
@@ -99,7 +99,7 @@ xref
0000001853 00000 n
trailer
<< /Size 14 /Root 1 0 R /Info 2 0 R
-/ID [<CF3D6DF42FCA24DDF351CC11BBDCD834><CF3D6DF42FCA24DDF351CC11BBDCD834>]
+/ID [<3FB8C8E04869B30090B9FE0589AF0565><3FB8C8E04869B30090B9FE0589AF0565>]
>>
startxref
3430
diff --git a/docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.pdf b/docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.pdf
index 6383c360..15a68376 100644
--- a/docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.pdf
+++ b/docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CRLF.pdf b/docs/libcurl/opts/CURLOPT_CRLF.pdf
index 401924bd..ab3ca881 100644
--- a/docs/libcurl/opts/CURLOPT_CRLF.pdf
+++ b/docs/libcurl/opts/CURLOPT_CRLF.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CRLFILE.pdf b/docs/libcurl/opts/CURLOPT_CRLFILE.pdf
index 117f2ddf..5249c5bb 100644
--- a/docs/libcurl/opts/CURLOPT_CRLFILE.pdf
+++ b/docs/libcurl/opts/CURLOPT_CRLFILE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.pdf b/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.pdf
index 37b2e6e9..d3503079 100644
--- a/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.pdf
+++ b/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_DEBUGDATA.pdf b/docs/libcurl/opts/CURLOPT_DEBUGDATA.pdf
index deb619fc..a3720c73 100644
--- a/docs/libcurl/opts/CURLOPT_DEBUGDATA.pdf
+++ b/docs/libcurl/opts/CURLOPT_DEBUGDATA.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.pdf b/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.pdf
index 39e5c09f..bb8e6cdb 100644
--- a/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.pdf
+++ b/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_DIRLISTONLY.pdf b/docs/libcurl/opts/CURLOPT_DIRLISTONLY.pdf
index 0f72430f..325275f7 100644
--- a/docs/libcurl/opts/CURLOPT_DIRLISTONLY.pdf
+++ b/docs/libcurl/opts/CURLOPT_DIRLISTONLY.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.pdf b/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.pdf
index 55210836..cb609ecf 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.pdf
+++ b/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.pdf b/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.pdf
index 4c56f958..04c414a9 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.pdf
+++ b/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.pdf b/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.pdf
index b00d1de6..78f9c773 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.pdf
+++ b/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.pdf b/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.pdf
index 63a267d7..e21197cc 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.pdf
+++ b/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_DNS_SERVERS.pdf b/docs/libcurl/opts/CURLOPT_DNS_SERVERS.pdf
index 13ac9ea4..fb3f635e 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_SERVERS.pdf
+++ b/docs/libcurl/opts/CURLOPT_DNS_SERVERS.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.pdf b/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.pdf
index a3de94d1..d14d5461 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.pdf
+++ b/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_EGDSOCKET.pdf b/docs/libcurl/opts/CURLOPT_EGDSOCKET.pdf
index 32dfe37e..550d8be1 100644
--- a/docs/libcurl/opts/CURLOPT_EGDSOCKET.pdf
+++ b/docs/libcurl/opts/CURLOPT_EGDSOCKET.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_ERRORBUFFER.3 b/docs/libcurl/opts/CURLOPT_ERRORBUFFER.3
index 577202cf..2d4dc235 100644
--- a/docs/libcurl/opts/CURLOPT_ERRORBUFFER.3
+++ b/docs/libcurl/opts/CURLOPT_ERRORBUFFER.3
@@ -51,15 +51,33 @@ All
.nf
curl = curl_easy_init();
if(curl) {
- char error[CURL_ERROR_SIZE]
+ CURLcode res;
+ char errbuf[CURL_ERROR_SIZE];
curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
/* provide a buffer to store errors in */
- curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, error);
+ curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, errbuf);
- /* Perform the request */
- curl_easy_perform(curl);
+ /* set the error buffer as empty before performing a request */
+ errbuf[0] = 0;
+
+ /* perform the request */
+ res = curl_easy_perform(curl);
+
+ /* if the request did not complete correctly, show the error
+ information. if no detailed error information was written to errbuf
+ show the more generic information from curl_easy_strerror instead.
+ */
+ if(res != CURLE_OK) {
+ size_t len = strlen(errbuf);
+ fprintf(stderr, "\\nlibcurl: (%d) ", res);
+ if(len)
+ fprintf(stderr, "%s%s", errbuf,
+ ((errbuf[len - 1] != '\\n') ? "\\n" : ""));
+ else
+ fprintf(stderr, "%s\\n", curl_easy_strerror(res));
+ }
}
.fi
.SH AVAILABILITY
diff --git a/docs/libcurl/opts/CURLOPT_ERRORBUFFER.html b/docs/libcurl/opts/CURLOPT_ERRORBUFFER.html
index 7d45d29f..519891a7 100644
--- a/docs/libcurl/opts/CURLOPT_ERRORBUFFER.html
+++ b/docs/libcurl/opts/CURLOPT_ERRORBUFFER.html
@@ -63,15 +63,33 @@ p.roffit {
<p class="level0"><pre class="level0">
curl = curl_easy_init();
if(curl) {
-&nbsp; char error[CURL_ERROR_SIZE]
+&nbsp; CURLcode res;
+&nbsp; char errbuf[CURL_ERROR_SIZE];
&nbsp;
&nbsp; curl_easy_setopt(curl, CURLOPT_URL, "<a href="http://example.com">http://example.com</a>");
&nbsp;
&nbsp; /* provide a buffer to store errors in */
-&nbsp; curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, error);
+&nbsp; curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, errbuf);
&nbsp;
-&nbsp; /* Perform the request */
-&nbsp; curl_easy_perform(curl);
+&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>
diff --git a/docs/libcurl/opts/CURLOPT_ERRORBUFFER.pdf b/docs/libcurl/opts/CURLOPT_ERRORBUFFER.pdf
index 0056b0b7..6cb25523 100644
--- a/docs/libcurl/opts/CURLOPT_ERRORBUFFER.pdf
+++ b/docs/libcurl/opts/CURLOPT_ERRORBUFFER.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.pdf b/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.pdf
index 32427d8d..7fb2ef47 100644
--- a/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.pdf
+++ b/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FAILONERROR.3 b/docs/libcurl/opts/CURLOPT_FAILONERROR.3
index a8267fd3..39aeb389 100644
--- a/docs/libcurl/opts/CURLOPT_FAILONERROR.3
+++ b/docs/libcurl/opts/CURLOPT_FAILONERROR.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2015, 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 @@ response codes will slip through, especially when authentication is involved
You might get some amounts of headers transferred before this situation is
detected, like when a "100-continue" is received as a response to a POST/PUT
and a 401 or 407 is received immediately afterwards.
+
+When this option is used and an error is detected, it will cause the
+connection to get closed.
.SH DEFAULT
0, do not fail on error
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_FAILONERROR.html b/docs/libcurl/opts/CURLOPT_FAILONERROR.html
index b0ebb7e0..824dd045 100644
--- a/docs/libcurl/opts/CURLOPT_FAILONERROR.html
+++ b/docs/libcurl/opts/CURLOPT_FAILONERROR.html
@@ -56,7 +56,8 @@ p.roffit {
<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. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
+<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>
diff --git a/docs/libcurl/opts/CURLOPT_FAILONERROR.pdf b/docs/libcurl/opts/CURLOPT_FAILONERROR.pdf
index 184b01e1..db2e3af5 100644
--- a/docs/libcurl/opts/CURLOPT_FAILONERROR.pdf
+++ b/docs/libcurl/opts/CURLOPT_FAILONERROR.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FILETIME.pdf b/docs/libcurl/opts/CURLOPT_FILETIME.pdf
index 22b4af0f..90abaa6e 100644
--- a/docs/libcurl/opts/CURLOPT_FILETIME.pdf
+++ b/docs/libcurl/opts/CURLOPT_FILETIME.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FNMATCH_DATA.pdf b/docs/libcurl/opts/CURLOPT_FNMATCH_DATA.pdf
index d959c4a4..414ae776 100644
--- a/docs/libcurl/opts/CURLOPT_FNMATCH_DATA.pdf
+++ b/docs/libcurl/opts/CURLOPT_FNMATCH_DATA.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.pdf b/docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.pdf
index e3ebb55f..2e66bcd5 100644
--- a/docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.pdf
+++ b/docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.pdf b/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.pdf
index 26481f71..aede0ae7 100644
--- a/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.pdf
+++ b/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FORBID_REUSE.pdf b/docs/libcurl/opts/CURLOPT_FORBID_REUSE.pdf
index 5f27fda2..15e2c1fc 100644
--- a/docs/libcurl/opts/CURLOPT_FORBID_REUSE.pdf
+++ b/docs/libcurl/opts/CURLOPT_FORBID_REUSE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FRESH_CONNECT.pdf b/docs/libcurl/opts/CURLOPT_FRESH_CONNECT.pdf
index cf22e7f2..c9ca9bb3 100644
--- a/docs/libcurl/opts/CURLOPT_FRESH_CONNECT.pdf
+++ b/docs/libcurl/opts/CURLOPT_FRESH_CONNECT.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FTPPORT.pdf b/docs/libcurl/opts/CURLOPT_FTPPORT.pdf
index 2c2c8f8f..5b2c6d62 100644
--- a/docs/libcurl/opts/CURLOPT_FTPPORT.pdf
+++ b/docs/libcurl/opts/CURLOPT_FTPPORT.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FTPSSLAUTH.pdf b/docs/libcurl/opts/CURLOPT_FTPSSLAUTH.pdf
index 9fc60d6c..0cbd8e80 100644
--- a/docs/libcurl/opts/CURLOPT_FTPSSLAUTH.pdf
+++ b/docs/libcurl/opts/CURLOPT_FTPSSLAUTH.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.pdf b/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.pdf
index ca6c8e05..999c7976 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.pdf
+++ b/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.pdf b/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.pdf
index b6e43d05..08b9e61f 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.pdf
+++ b/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.pdf b/docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.pdf
index dce2deae..1cc32ecb 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.pdf
+++ b/docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.pdf b/docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.pdf
index fdc87329..df82791b 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.pdf
+++ b/docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.pdf b/docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.pdf
index 5b18250e..b455585c 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.pdf
+++ b/docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.pdf b/docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.pdf
index 34886132..4c1e21d8 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.pdf
+++ b/docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.pdf b/docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.pdf
index 10c82250..af608699 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.pdf
+++ b/docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.pdf b/docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.pdf
index 52e16915..1de278f1 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.pdf
+++ b/docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.pdf b/docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.pdf
index 0d4dd311..a64fc005 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.pdf
+++ b/docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_FTP_USE_PRET.pdf b/docs/libcurl/opts/CURLOPT_FTP_USE_PRET.pdf
index 3016858b..94af9303 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_USE_PRET.pdf
+++ b/docs/libcurl/opts/CURLOPT_FTP_USE_PRET.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.pdf b/docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.pdf
index 84929895..df618a0c 100644
--- a/docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.pdf
+++ b/docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_HEADER.pdf b/docs/libcurl/opts/CURLOPT_HEADER.pdf
index e75894b3..db9d3c25 100644
--- a/docs/libcurl/opts/CURLOPT_HEADER.pdf
+++ b/docs/libcurl/opts/CURLOPT_HEADER.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_HEADERDATA.pdf b/docs/libcurl/opts/CURLOPT_HEADERDATA.pdf
index 4f3c9d42..dc52f522 100644
--- a/docs/libcurl/opts/CURLOPT_HEADERDATA.pdf
+++ b/docs/libcurl/opts/CURLOPT_HEADERDATA.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.pdf b/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.pdf
index 8f1b243f..491eec86 100644
--- a/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.pdf
+++ b/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_HEADEROPT.pdf b/docs/libcurl/opts/CURLOPT_HEADEROPT.pdf
index 341d8bcf..0308057b 100644
--- a/docs/libcurl/opts/CURLOPT_HEADEROPT.pdf
+++ b/docs/libcurl/opts/CURLOPT_HEADEROPT.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.pdf b/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.pdf
index a74cb98a..bc68e99c 100644
--- a/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.pdf
+++ b/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_HTTPAUTH.pdf b/docs/libcurl/opts/CURLOPT_HTTPAUTH.pdf
index f6ecbc75..a830302a 100644
--- a/docs/libcurl/opts/CURLOPT_HTTPAUTH.pdf
+++ b/docs/libcurl/opts/CURLOPT_HTTPAUTH.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_HTTPGET.pdf b/docs/libcurl/opts/CURLOPT_HTTPGET.pdf
index 1637aac5..110a5d13 100644
--- a/docs/libcurl/opts/CURLOPT_HTTPGET.pdf
+++ b/docs/libcurl/opts/CURLOPT_HTTPGET.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_HTTPHEADER.pdf b/docs/libcurl/opts/CURLOPT_HTTPHEADER.pdf
index 54111385..6c48bfa5 100644
--- a/docs/libcurl/opts/CURLOPT_HTTPHEADER.pdf
+++ b/docs/libcurl/opts/CURLOPT_HTTPHEADER.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_HTTPPOST.pdf b/docs/libcurl/opts/CURLOPT_HTTPPOST.pdf
index c2733eb8..4f23a25c 100644
--- a/docs/libcurl/opts/CURLOPT_HTTPPOST.pdf
+++ b/docs/libcurl/opts/CURLOPT_HTTPPOST.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.pdf b/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.pdf
index feae4997..e99689f3 100644
--- a/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.pdf
+++ b/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.pdf b/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.pdf
index bd449ce9..a489403a 100644
--- a/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.pdf
+++ b/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.pdf b/docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.pdf
index 63e2dba1..c6bc68b5 100644
--- a/docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.pdf
+++ b/docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_HTTP_VERSION.pdf b/docs/libcurl/opts/CURLOPT_HTTP_VERSION.pdf
index 87d93e82..27215d72 100644
--- a/docs/libcurl/opts/CURLOPT_HTTP_VERSION.pdf
+++ b/docs/libcurl/opts/CURLOPT_HTTP_VERSION.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.pdf b/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.pdf
index bfc3db61..083d3736 100644
--- a/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.pdf
+++ b/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_INFILESIZE.pdf b/docs/libcurl/opts/CURLOPT_INFILESIZE.pdf
index ceb0ef44..cc2f2188 100644
--- a/docs/libcurl/opts/CURLOPT_INFILESIZE.pdf
+++ b/docs/libcurl/opts/CURLOPT_INFILESIZE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.pdf b/docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.pdf
index bcda9c5b..bcb5dea2 100644
--- a/docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.pdf
+++ b/docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_INTERFACE.pdf b/docs/libcurl/opts/CURLOPT_INTERFACE.pdf
index 788ebbe9..b2f5d992 100644
--- a/docs/libcurl/opts/CURLOPT_INTERFACE.pdf
+++ b/docs/libcurl/opts/CURLOPT_INTERFACE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.pdf b/docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.pdf
index 34d414a8..f2e1b9a5 100644
--- a/docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.pdf
+++ b/docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.pdf b/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.pdf
index 2a159d35..3aab7594 100644
--- a/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.pdf
+++ b/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_IOCTLDATA.pdf b/docs/libcurl/opts/CURLOPT_IOCTLDATA.pdf
index 3f4393a7..6c665668 100644
--- a/docs/libcurl/opts/CURLOPT_IOCTLDATA.pdf
+++ b/docs/libcurl/opts/CURLOPT_IOCTLDATA.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.pdf b/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.pdf
index 5adaf81e..5049dc70 100644
--- a/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.pdf
+++ b/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_IPRESOLVE.pdf b/docs/libcurl/opts/CURLOPT_IPRESOLVE.pdf
index e8d90cb3..839fa894 100644
--- a/docs/libcurl/opts/CURLOPT_IPRESOLVE.pdf
+++ b/docs/libcurl/opts/CURLOPT_IPRESOLVE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_ISSUERCERT.pdf b/docs/libcurl/opts/CURLOPT_ISSUERCERT.pdf
index b8e57930..5ce4b7ab 100644
--- a/docs/libcurl/opts/CURLOPT_ISSUERCERT.pdf
+++ b/docs/libcurl/opts/CURLOPT_ISSUERCERT.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_KEYPASSWD.pdf b/docs/libcurl/opts/CURLOPT_KEYPASSWD.pdf
index 4c3f771b..b583ca43 100644
--- a/docs/libcurl/opts/CURLOPT_KEYPASSWD.pdf
+++ b/docs/libcurl/opts/CURLOPT_KEYPASSWD.pdf
@@ -68,12 +68,12 @@ endobj
<?adobe-xap-filters esc="CRLF"?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
-<rdf:Description rdf:about='uuid:2dd64376-4cd2-11f0-0000-ba6faefc18a2' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.06'/>
-<rdf:Description rdf:about='uuid:2dd64376-4cd2-11f0-0000-ba6faefc18a2' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2015-06-17T07:56:43+02:00</xmp:ModifyDate>
-<xmp:CreateDate>2015-06-17T07:56:43+02:00</xmp:CreateDate>
+<rdf:Description rdf:about='uuid:804d2b7e-78d5-11f0-0000-ba6faefc18a2' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.16'/>
+<rdf:Description rdf:about='uuid:804d2b7e-78d5-11f0-0000-ba6faefc18a2' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2015-08-12T08:11:21+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2015-08-12T08:11:21+02:00</xmp:CreateDate>
<xmp:CreatorTool>groff version 1.22.3</xmp:CreatorTool></rdf:Description>
-<rdf:Description rdf:about='uuid:2dd64376-4cd2-11f0-0000-ba6faefc18a2' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:2dd64376-4cd2-11f0-0000-ba6faefc18a2'/>
-<rdf:Description rdf:about='uuid:2dd64376-4cd2-11f0-0000-ba6faefc18a2' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+<rdf:Description rdf:about='uuid:804d2b7e-78d5-11f0-0000-ba6faefc18a2' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:804d2b7e-78d5-11f0-0000-ba6faefc18a2'/>
+<rdf:Description rdf:about='uuid:804d2b7e-78d5-11f0-0000-ba6faefc18a2' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
</rdf:RDF>
</x:xmpmeta>
@@ -82,9 +82,9 @@ endobj
endstream
endobj
2 0 obj
-<</Producer(GPL Ghostscript 9.06)
-/CreationDate(D:20150617075643+02'00')
-/ModDate(D:20150617075643+02'00')
+<</Producer(GPL Ghostscript 9.16)
+/CreationDate(D:20150812081121+02'00')
+/ModDate(D:20150812081121+02'00')
/Creator(groff version 1.22.3)>>endobj
xref
0 15
@@ -105,7 +105,7 @@ xref
0000002124 00000 n
trailer
<< /Size 15 /Root 1 0 R /Info 2 0 R
-/ID [<E8A3594A007BCECBFD1DF0EEE7E81516><E8A3594A007BCECBFD1DF0EEE7E81516>]
+/ID [<18792872C3CF70730F5D6279F9982EE4><18792872C3CF70730F5D6279F9982EE4>]
>>
startxref
3701
diff --git a/docs/libcurl/opts/CURLOPT_KRBLEVEL.pdf b/docs/libcurl/opts/CURLOPT_KRBLEVEL.pdf
index 1301eac3..b5d6e4a5 100644
--- a/docs/libcurl/opts/CURLOPT_KRBLEVEL.pdf
+++ b/docs/libcurl/opts/CURLOPT_KRBLEVEL.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_LOCALPORT.pdf b/docs/libcurl/opts/CURLOPT_LOCALPORT.pdf
index 821acea1..c0902cbd 100644
--- a/docs/libcurl/opts/CURLOPT_LOCALPORT.pdf
+++ b/docs/libcurl/opts/CURLOPT_LOCALPORT.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.pdf b/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.pdf
index 97980c55..7a4f09c8 100644
--- a/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.pdf
+++ b/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.pdf b/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.pdf
index d66fb969..5f36138e 100644
--- a/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.pdf
+++ b/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.pdf b/docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.pdf
index c7f53af3..7533c2f2 100644
--- a/docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.pdf
+++ b/docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.pdf b/docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.pdf
index c7c0d122..301bdb9b 100644
--- a/docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.pdf
+++ b/docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_MAIL_AUTH.pdf b/docs/libcurl/opts/CURLOPT_MAIL_AUTH.pdf
index 25853cd9..a75fb802 100644
--- a/docs/libcurl/opts/CURLOPT_MAIL_AUTH.pdf
+++ b/docs/libcurl/opts/CURLOPT_MAIL_AUTH.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_MAIL_FROM.pdf b/docs/libcurl/opts/CURLOPT_MAIL_FROM.pdf
index 32c42fbf..45ed4ecf 100644
--- a/docs/libcurl/opts/CURLOPT_MAIL_FROM.pdf
+++ b/docs/libcurl/opts/CURLOPT_MAIL_FROM.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_MAIL_RCPT.pdf b/docs/libcurl/opts/CURLOPT_MAIL_RCPT.pdf
index ab6e7b87..9fdabb23 100644
--- a/docs/libcurl/opts/CURLOPT_MAIL_RCPT.pdf
+++ b/docs/libcurl/opts/CURLOPT_MAIL_RCPT.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_MAXCONNECTS.pdf b/docs/libcurl/opts/CURLOPT_MAXCONNECTS.pdf
index 0c117c8b..636725bd 100644
--- a/docs/libcurl/opts/CURLOPT_MAXCONNECTS.pdf
+++ b/docs/libcurl/opts/CURLOPT_MAXCONNECTS.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_MAXFILESIZE.pdf b/docs/libcurl/opts/CURLOPT_MAXFILESIZE.pdf
index 88a5d7bf..e46c5223 100644
--- a/docs/libcurl/opts/CURLOPT_MAXFILESIZE.pdf
+++ b/docs/libcurl/opts/CURLOPT_MAXFILESIZE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.pdf b/docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.pdf
index b301e76a..6db1cbef 100644
--- a/docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.pdf
+++ b/docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_MAXREDIRS.pdf b/docs/libcurl/opts/CURLOPT_MAXREDIRS.pdf
index 7bb2face..c7a5b867 100644
--- a/docs/libcurl/opts/CURLOPT_MAXREDIRS.pdf
+++ b/docs/libcurl/opts/CURLOPT_MAXREDIRS.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.pdf b/docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.pdf
index c559e2a2..485f096c 100644
--- a/docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.pdf
+++ b/docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.pdf b/docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.pdf
index 21f08f8d..7959ad85 100644
--- a/docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.pdf
+++ b/docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_NETRC.pdf b/docs/libcurl/opts/CURLOPT_NETRC.pdf
index edd73756..076fc49c 100644
--- a/docs/libcurl/opts/CURLOPT_NETRC.pdf
+++ b/docs/libcurl/opts/CURLOPT_NETRC.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_NETRC_FILE.pdf b/docs/libcurl/opts/CURLOPT_NETRC_FILE.pdf
index 6df0a919..285d49e4 100644
--- a/docs/libcurl/opts/CURLOPT_NETRC_FILE.pdf
+++ b/docs/libcurl/opts/CURLOPT_NETRC_FILE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.pdf b/docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.pdf
index 5f43fb32..77b59ec8 100644
--- a/docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.pdf
+++ b/docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.pdf b/docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.pdf
index 4351eaa9..fa8e3fbe 100644
--- a/docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.pdf
+++ b/docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_NOBODY.pdf b/docs/libcurl/opts/CURLOPT_NOBODY.pdf
index 191d154f..0dc741ad 100644
--- a/docs/libcurl/opts/CURLOPT_NOBODY.pdf
+++ b/docs/libcurl/opts/CURLOPT_NOBODY.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_NOPROGRESS.pdf b/docs/libcurl/opts/CURLOPT_NOPROGRESS.pdf
index a069910c..b0bd0dea 100644
--- a/docs/libcurl/opts/CURLOPT_NOPROGRESS.pdf
+++ b/docs/libcurl/opts/CURLOPT_NOPROGRESS.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_NOPROXY.pdf b/docs/libcurl/opts/CURLOPT_NOPROXY.pdf
index 59693d8b..77d1934b 100644
--- a/docs/libcurl/opts/CURLOPT_NOPROXY.pdf
+++ b/docs/libcurl/opts/CURLOPT_NOPROXY.pdf
@@ -68,12 +68,12 @@ endobj
<?adobe-xap-filters esc="CRLF"?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
-<rdf:Description rdf:about='uuid:2f077076-4cd2-11f0-0000-65c5a25808db' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.06'/>
-<rdf:Description rdf:about='uuid:2f077076-4cd2-11f0-0000-65c5a25808db' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2015-06-17T07:56:45+02:00</xmp:ModifyDate>
-<xmp:CreateDate>2015-06-17T07:56:45+02:00</xmp:CreateDate>
+<rdf:Description rdf:about='uuid:817e587e-78d5-11f0-0000-65c5a25808db' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.16'/>
+<rdf:Description rdf:about='uuid:817e587e-78d5-11f0-0000-65c5a25808db' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2015-08-12T08:11:23+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2015-08-12T08:11:23+02:00</xmp:CreateDate>
<xmp:CreatorTool>groff version 1.22.3</xmp:CreatorTool></rdf:Description>
-<rdf:Description rdf:about='uuid:2f077076-4cd2-11f0-0000-65c5a25808db' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:2f077076-4cd2-11f0-0000-65c5a25808db'/>
-<rdf:Description rdf:about='uuid:2f077076-4cd2-11f0-0000-65c5a25808db' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+<rdf:Description rdf:about='uuid:817e587e-78d5-11f0-0000-65c5a25808db' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:817e587e-78d5-11f0-0000-65c5a25808db'/>
+<rdf:Description rdf:about='uuid:817e587e-78d5-11f0-0000-65c5a25808db' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
</rdf:RDF>
</x:xmpmeta>
@@ -82,9 +82,9 @@ endobj
endstream
endobj
2 0 obj
-<</Producer(GPL Ghostscript 9.06)
-/CreationDate(D:20150617075645+02'00')
-/ModDate(D:20150617075645+02'00')
+<</Producer(GPL Ghostscript 9.16)
+/CreationDate(D:20150812081123+02'00')
+/ModDate(D:20150812081123+02'00')
/Creator(groff version 1.22.3)>>endobj
xref
0 14
@@ -104,7 +104,7 @@ xref
0000002157 00000 n
trailer
<< /Size 14 /Root 1 0 R /Info 2 0 R
-/ID [<810A4BDB08285C624F857E36B6E2D39E><810A4BDB08285C624F857E36B6E2D39E>]
+/ID [(\005\234s\355\360]:{8$N72\264d:)(\005\234s\355\360]:{8$N72\264d:)]
>>
startxref
3734
diff --git a/docs/libcurl/opts/CURLOPT_NOSIGNAL.pdf b/docs/libcurl/opts/CURLOPT_NOSIGNAL.pdf
index cad38993..e063cd00 100644
--- a/docs/libcurl/opts/CURLOPT_NOSIGNAL.pdf
+++ b/docs/libcurl/opts/CURLOPT_NOSIGNAL.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.pdf b/docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.pdf
index e1613090..11d5a53d 100644
--- a/docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.pdf
+++ b/docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.pdf b/docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.pdf
index be856108..acf29a4a 100644
--- a/docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.pdf
+++ b/docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PASSWORD.pdf b/docs/libcurl/opts/CURLOPT_PASSWORD.pdf
index 984f154d..7ee12c94 100644
--- a/docs/libcurl/opts/CURLOPT_PASSWORD.pdf
+++ b/docs/libcurl/opts/CURLOPT_PASSWORD.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PATH_AS_IS.pdf b/docs/libcurl/opts/CURLOPT_PATH_AS_IS.pdf
index 3a817423..2e6c2d61 100644
--- a/docs/libcurl/opts/CURLOPT_PATH_AS_IS.pdf
+++ b/docs/libcurl/opts/CURLOPT_PATH_AS_IS.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.3 b/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.3
index 94cad31f..0d4357ab 100644
--- a/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.3
+++ b/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.3
@@ -28,8 +28,10 @@ CURLOPT_PINNEDPUBLICKEY \- set pinned public key
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PINNEDPUBLICKEY, char *pinnedpubkey);
.SH DESCRIPTION
-Pass a pointer to a zero terminated string as parameter. The string should be
-the file name of your pinned public key. The format expected is "PEM" or "DER".
+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 seperated 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
@@ -45,6 +47,9 @@ CURL *curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
curl_easy_setopt(curl, CURLOPT_PINNEDPUBLICKEY, "/etc/publickey.der");
+ /* OR
+ curl_easy_setopt(curl, CURLOPT_PINNEDPUBLICKEY, "sha256//YhKJKSzoTt2b5FP18fvpHo7fJYqQCjAa3HWY3tvRMwE=;sha256//t62CeU2tQiqkexU74Gxa2eg7fRbEgoChTociMee9wno=");
+ */
/* Perform the request */
curl_easy_perform(curl);
@@ -54,9 +59,14 @@ if(curl) {
If you do not have the server's public key file you can extract it from the
server's certificate.
.nf
+# extract public key in pem format from certificate
openssl x509 -in www.test.com.pem -pubkey -noout > www.test.com.pubkey.pem
+# convert public key from pem to der
+openssl asn1parse -noout -inform pem -in www.test.com.pubkey.pem -out www.test.com.pubkey.der
+# sha256 hash and base64 encode der to string for use
+openssl dgst -sha256 -binary www.test.com.pubkey.der | openssl base64
.fi
-The public key is output in PEM format and contains a header, base64 data and a
+The public key in PEM format contains a header, base64 data and a
footer:
.nf
-----BEGIN PUBLIC KEY-----
@@ -65,7 +75,8 @@ footer:
.fi
.SH AVAILABILITY
Added in 7.39.0 for OpenSSL, GnuTLS and GSKit. Added in 7.43.0 for
-NSS and wolfSSL/CyaSSL. Other SSL backends not supported.
+NSS and wolfSSL/CyaSSL. sha256 support added in 7.44.0 for OpenSSL,
+GnuTLS, NSS and 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.
diff --git a/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.html b/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.html
index 4e01cee4..b0f5e635 100644
--- a/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.html
+++ b/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.html
@@ -54,7 +54,7 @@ p.roffit {
<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 should be the file name of your pinned public key. The format expected is "PEM" or "DER".
+<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 seperated 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. <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, POP3, SMTPS etc. <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
@@ -63,6 +63,9 @@ 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);
@@ -71,17 +74,22 @@ if(curl) {
<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; extract public key in pem format from certificate
openssl x509 -in www.test.com.pem -pubkey -noout &gt; www.test.com.pubkey.pem
+&#35; convert public key from pem to der
+openssl asn1parse -noout -inform pem -in www.test.com.pubkey.pem -out www.test.com.pubkey.der
+&#35; sha256 hash and base64 encode der to string for use
+openssl dgst -sha256 -binary www.test.com.pubkey.der | openssl base64
</pre>
-<p class="level0">The public key is output in PEM format and contains a header, base64 data and a footer: <pre class="level0">
+<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">Added in 7.39.0 for OpenSSL, GnuTLS and GSKit. Added in 7.43.0 for NSS and wolfSSL/CyaSSL. Other SSL backends not supported. <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</h2>
+<p class="level0">Added in 7.39.0 for OpenSSL, GnuTLS and GSKit. Added in 7.43.0 for NSS and wolfSSL/CyaSSL. sha256 support added in 7.44.0 for OpenSSL, GnuTLS, NSS and wolfSSL/CyaSSL. 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>, <span Class="manpage"> </span> <a Class="manpage" href="./CURLOPT_SSL_VERIFYHOST.html">CURLOPT_SSL_VERIFYHOST</a>, <span Class="manpage"> </span> <a Class="manpage" href="./CURLOPT_CAINFO.html">CURLOPT_CAINFO</a>, <span Class="manpage"> </span> <a Class="manpage" href="./CURLOPT_CAPATH.html">CURLOPT_CAPATH</a>, <span Class="manpage"> </span> <p class="roffit">
This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
diff --git a/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.pdf b/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.pdf
index 032e264a..3b770592 100644
--- a/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.pdf
+++ b/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PIPEWAIT.pdf b/docs/libcurl/opts/CURLOPT_PIPEWAIT.pdf
index abecf65d..01326206 100644
--- a/docs/libcurl/opts/CURLOPT_PIPEWAIT.pdf
+++ b/docs/libcurl/opts/CURLOPT_PIPEWAIT.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PORT.pdf b/docs/libcurl/opts/CURLOPT_PORT.pdf
index 24200333..860b8b8e 100644
--- a/docs/libcurl/opts/CURLOPT_PORT.pdf
+++ b/docs/libcurl/opts/CURLOPT_PORT.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_POST.pdf b/docs/libcurl/opts/CURLOPT_POST.pdf
index 0c1df60b..c2ce020a 100644
--- a/docs/libcurl/opts/CURLOPT_POST.pdf
+++ b/docs/libcurl/opts/CURLOPT_POST.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_POSTFIELDS.pdf b/docs/libcurl/opts/CURLOPT_POSTFIELDS.pdf
index b6106e1d..8e8644d3 100644
--- a/docs/libcurl/opts/CURLOPT_POSTFIELDS.pdf
+++ b/docs/libcurl/opts/CURLOPT_POSTFIELDS.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.pdf b/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.pdf
index 0c0f8bf3..ea991f3e 100644
--- a/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.pdf
+++ b/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.pdf
@@ -72,12 +72,12 @@ endobj
<?adobe-xap-filters esc="CRLF"?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
-<rdf:Description rdf:about='uuid:2fa006f6-4cd2-11f0-0000-17393b2772b9' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.06'/>
-<rdf:Description rdf:about='uuid:2fa006f6-4cd2-11f0-0000-17393b2772b9' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2015-06-17T07:56:46+02:00</xmp:ModifyDate>
-<xmp:CreateDate>2015-06-17T07:56:46+02:00</xmp:CreateDate>
+<rdf:Description rdf:about='uuid:8216eefe-78d5-11f0-0000-17393b2772b9' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.16'/>
+<rdf:Description rdf:about='uuid:8216eefe-78d5-11f0-0000-17393b2772b9' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2015-08-12T08:11:24+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2015-08-12T08:11:24+02:00</xmp:CreateDate>
<xmp:CreatorTool>groff version 1.22.3</xmp:CreatorTool></rdf:Description>
-<rdf:Description rdf:about='uuid:2fa006f6-4cd2-11f0-0000-17393b2772b9' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:2fa006f6-4cd2-11f0-0000-17393b2772b9'/>
-<rdf:Description rdf:about='uuid:2fa006f6-4cd2-11f0-0000-17393b2772b9' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+<rdf:Description rdf:about='uuid:8216eefe-78d5-11f0-0000-17393b2772b9' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:8216eefe-78d5-11f0-0000-17393b2772b9'/>
+<rdf:Description rdf:about='uuid:8216eefe-78d5-11f0-0000-17393b2772b9' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
</rdf:RDF>
</x:xmpmeta>
@@ -86,9 +86,9 @@ endobj
endstream
endobj
2 0 obj
-<</Producer(GPL Ghostscript 9.06)
-/CreationDate(D:20150617075646+02'00')
-/ModDate(D:20150617075646+02'00')
+<</Producer(GPL Ghostscript 9.16)
+/CreationDate(D:20150812081124+02'00')
+/ModDate(D:20150812081124+02'00')
/Creator(groff version 1.22.3)>>endobj
xref
0 15
@@ -109,7 +109,7 @@ xref
0000001889 00000 n
trailer
<< /Size 15 /Root 1 0 R /Info 2 0 R
-/ID [<7D09D91EE8223D3F8FC0625558D05CF3><7D09D91EE8223D3F8FC0625558D05CF3>]
+/ID [<8BF561F8AF8B932CC4A2CD621BAF8816><8BF561F8AF8B932CC4A2CD621BAF8816>]
>>
startxref
3466
diff --git a/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.pdf b/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.pdf
index e93c678e..64330d4b 100644
--- a/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.pdf
+++ b/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_POSTQUOTE.pdf b/docs/libcurl/opts/CURLOPT_POSTQUOTE.pdf
index c7f8976c..a967487b 100644
--- a/docs/libcurl/opts/CURLOPT_POSTQUOTE.pdf
+++ b/docs/libcurl/opts/CURLOPT_POSTQUOTE.pdf
@@ -70,12 +70,12 @@ endobj
<?adobe-xap-filters esc="CRLF"?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
-<rdf:Description rdf:about='uuid:2fa006f6-4cd2-11f0-0000-56fc4828454a' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.06'/>
-<rdf:Description rdf:about='uuid:2fa006f6-4cd2-11f0-0000-56fc4828454a' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2015-06-17T07:56:46+02:00</xmp:ModifyDate>
-<xmp:CreateDate>2015-06-17T07:56:46+02:00</xmp:CreateDate>
+<rdf:Description rdf:about='uuid:8216eefe-78d5-11f0-0000-56fc4828454a' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.16'/>
+<rdf:Description rdf:about='uuid:8216eefe-78d5-11f0-0000-56fc4828454a' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2015-08-12T08:11:24+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2015-08-12T08:11:24+02:00</xmp:CreateDate>
<xmp:CreatorTool>groff version 1.22.3</xmp:CreatorTool></rdf:Description>
-<rdf:Description rdf:about='uuid:2fa006f6-4cd2-11f0-0000-56fc4828454a' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:2fa006f6-4cd2-11f0-0000-56fc4828454a'/>
-<rdf:Description rdf:about='uuid:2fa006f6-4cd2-11f0-0000-56fc4828454a' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+<rdf:Description rdf:about='uuid:8216eefe-78d5-11f0-0000-56fc4828454a' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:8216eefe-78d5-11f0-0000-56fc4828454a'/>
+<rdf:Description rdf:about='uuid:8216eefe-78d5-11f0-0000-56fc4828454a' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
</rdf:RDF>
</x:xmpmeta>
@@ -84,9 +84,9 @@ endobj
endstream
endobj
2 0 obj
-<</Producer(GPL Ghostscript 9.06)
-/CreationDate(D:20150617075646+02'00')
-/ModDate(D:20150617075646+02'00')
+<</Producer(GPL Ghostscript 9.16)
+/CreationDate(D:20150812081124+02'00')
+/ModDate(D:20150812081124+02'00')
/Creator(groff version 1.22.3)>>endobj
xref
0 15
@@ -107,7 +107,7 @@ xref
0000001843 00000 n
trailer
<< /Size 15 /Root 1 0 R /Info 2 0 R
-/ID [<F24A9CA68506F79819FF2700FCBEDC66><F24A9CA68506F79819FF2700FCBEDC66>]
+/ID [<ED9B25888E54BDFB04922D9C185068C8><ED9B25888E54BDFB04922D9C185068C8>]
>>
startxref
3420
diff --git a/docs/libcurl/opts/CURLOPT_POSTREDIR.pdf b/docs/libcurl/opts/CURLOPT_POSTREDIR.pdf
index 8ad4492a..e371271d 100644
--- a/docs/libcurl/opts/CURLOPT_POSTREDIR.pdf
+++ b/docs/libcurl/opts/CURLOPT_POSTREDIR.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PREQUOTE.pdf b/docs/libcurl/opts/CURLOPT_PREQUOTE.pdf
index b9f1b358..ca9c5a10 100644
--- a/docs/libcurl/opts/CURLOPT_PREQUOTE.pdf
+++ b/docs/libcurl/opts/CURLOPT_PREQUOTE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PRIVATE.pdf b/docs/libcurl/opts/CURLOPT_PRIVATE.pdf
index 5565a4d4..1cf43d52 100644
--- a/docs/libcurl/opts/CURLOPT_PRIVATE.pdf
+++ b/docs/libcurl/opts/CURLOPT_PRIVATE.pdf
@@ -69,12 +69,12 @@ endobj
<?adobe-xap-filters esc="CRLF"?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
-<rdf:Description rdf:about='uuid:30389d76-4cd2-11f0-0000-d5744fcac4bd' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.06'/>
-<rdf:Description rdf:about='uuid:30389d76-4cd2-11f0-0000-d5744fcac4bd' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2015-06-17T07:56:47+02:00</xmp:ModifyDate>
-<xmp:CreateDate>2015-06-17T07:56:47+02:00</xmp:CreateDate>
+<rdf:Description rdf:about='uuid:8216eefe-78d5-11f0-0000-d5744fcac4bd' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.16'/>
+<rdf:Description rdf:about='uuid:8216eefe-78d5-11f0-0000-d5744fcac4bd' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2015-08-12T08:11:24+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2015-08-12T08:11:24+02:00</xmp:CreateDate>
<xmp:CreatorTool>groff version 1.22.3</xmp:CreatorTool></rdf:Description>
-<rdf:Description rdf:about='uuid:30389d76-4cd2-11f0-0000-d5744fcac4bd' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:30389d76-4cd2-11f0-0000-d5744fcac4bd'/>
-<rdf:Description rdf:about='uuid:30389d76-4cd2-11f0-0000-d5744fcac4bd' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+<rdf:Description rdf:about='uuid:8216eefe-78d5-11f0-0000-d5744fcac4bd' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:8216eefe-78d5-11f0-0000-d5744fcac4bd'/>
+<rdf:Description rdf:about='uuid:8216eefe-78d5-11f0-0000-d5744fcac4bd' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
</rdf:RDF>
</x:xmpmeta>
@@ -83,9 +83,9 @@ endobj
endstream
endobj
2 0 obj
-<</Producer(GPL Ghostscript 9.06)
-/CreationDate(D:20150617075647+02'00')
-/ModDate(D:20150617075647+02'00')
+<</Producer(GPL Ghostscript 9.16)
+/CreationDate(D:20150812081124+02'00')
+/ModDate(D:20150812081124+02'00')
/Creator(groff version 1.22.3)>>endobj
xref
0 15
@@ -106,7 +106,7 @@ xref
0000002140 00000 n
trailer
<< /Size 15 /Root 1 0 R /Info 2 0 R
-/ID [<3AF208F4931D4526347E747A96BA04DB><3AF208F4931D4526347E747A96BA04DB>]
+/ID [<E93F58D16BAA190BA06C97E0DC4D10D1><E93F58D16BAA190BA06C97E0DC4D10D1>]
>>
startxref
3717
diff --git a/docs/libcurl/opts/CURLOPT_PROGRESSDATA.pdf b/docs/libcurl/opts/CURLOPT_PROGRESSDATA.pdf
index 80272cad..ba2a7db5 100644
--- a/docs/libcurl/opts/CURLOPT_PROGRESSDATA.pdf
+++ b/docs/libcurl/opts/CURLOPT_PROGRESSDATA.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.pdf b/docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.pdf
index 34311766..656e09fe 100644
--- a/docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.pdf
+++ b/docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PROTOCOLS.pdf b/docs/libcurl/opts/CURLOPT_PROTOCOLS.pdf
index aa58bc95..309fa433 100644
--- a/docs/libcurl/opts/CURLOPT_PROTOCOLS.pdf
+++ b/docs/libcurl/opts/CURLOPT_PROTOCOLS.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PROXY.pdf b/docs/libcurl/opts/CURLOPT_PROXY.pdf
index d3fc203b..d8d8291b 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY.pdf
+++ b/docs/libcurl/opts/CURLOPT_PROXY.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PROXYAUTH.pdf b/docs/libcurl/opts/CURLOPT_PROXYAUTH.pdf
index dedbd310..38d3fc7a 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYAUTH.pdf
+++ b/docs/libcurl/opts/CURLOPT_PROXYAUTH.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PROXYHEADER.pdf b/docs/libcurl/opts/CURLOPT_PROXYHEADER.pdf
index 6458e8bc..93d9bd5b 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYHEADER.pdf
+++ b/docs/libcurl/opts/CURLOPT_PROXYHEADER.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.pdf b/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.pdf
index 83ef6bdc..1f50795c 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.pdf
+++ b/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PROXYPORT.pdf b/docs/libcurl/opts/CURLOPT_PROXYPORT.pdf
index c5ad3e57..351bb8e8 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYPORT.pdf
+++ b/docs/libcurl/opts/CURLOPT_PROXYPORT.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PROXYTYPE.pdf b/docs/libcurl/opts/CURLOPT_PROXYTYPE.pdf
index 13f7610f..d31cc97b 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYTYPE.pdf
+++ b/docs/libcurl/opts/CURLOPT_PROXYTYPE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.pdf b/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.pdf
index 909ca438..0573e8f4 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.pdf
+++ b/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.pdf b/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.pdf
index 86bd671a..7682c09b 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.pdf
+++ b/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.pdf b/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.pdf
index f8b6c4d6..19a9905b 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.pdf
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.pdf b/docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.pdf
index 26b5bb3e..9d63f294 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.pdf
+++ b/docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_PUT.pdf b/docs/libcurl/opts/CURLOPT_PUT.pdf
index 275f3073..e926ddb0 100644
--- a/docs/libcurl/opts/CURLOPT_PUT.pdf
+++ b/docs/libcurl/opts/CURLOPT_PUT.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_QUOTE.pdf b/docs/libcurl/opts/CURLOPT_QUOTE.pdf
index b3966610..b2dda69b 100644
--- a/docs/libcurl/opts/CURLOPT_QUOTE.pdf
+++ b/docs/libcurl/opts/CURLOPT_QUOTE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_RANDOM_FILE.pdf b/docs/libcurl/opts/CURLOPT_RANDOM_FILE.pdf
index bf69fc19..29efb23e 100644
--- a/docs/libcurl/opts/CURLOPT_RANDOM_FILE.pdf
+++ b/docs/libcurl/opts/CURLOPT_RANDOM_FILE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_RANGE.pdf b/docs/libcurl/opts/CURLOPT_RANGE.pdf
index f08b492c..e0a132ab 100644
--- a/docs/libcurl/opts/CURLOPT_RANGE.pdf
+++ b/docs/libcurl/opts/CURLOPT_RANGE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_READDATA.pdf b/docs/libcurl/opts/CURLOPT_READDATA.pdf
index db3bcf3d..f974e1c3 100644
--- a/docs/libcurl/opts/CURLOPT_READDATA.pdf
+++ b/docs/libcurl/opts/CURLOPT_READDATA.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_READFUNCTION.pdf b/docs/libcurl/opts/CURLOPT_READFUNCTION.pdf
index 25aa65f2..1f1fb1f8 100644
--- a/docs/libcurl/opts/CURLOPT_READFUNCTION.pdf
+++ b/docs/libcurl/opts/CURLOPT_READFUNCTION.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.pdf b/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.pdf
index 74fc3078..e702d150 100644
--- a/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.pdf
+++ b/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_REFERER.pdf b/docs/libcurl/opts/CURLOPT_REFERER.pdf
index a29bc3ca..18d4035f 100644
--- a/docs/libcurl/opts/CURLOPT_REFERER.pdf
+++ b/docs/libcurl/opts/CURLOPT_REFERER.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_RESOLVE.3 b/docs/libcurl/opts/CURLOPT_RESOLVE.3
index 06a393a7..4d34ed61 100644
--- a/docs/libcurl/opts/CURLOPT_RESOLVE.3
+++ b/docs/libcurl/opts/CURLOPT_RESOLVE.3
@@ -51,7 +51,8 @@ entries.
You can 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.
+and port number must exactly match what was already added previously. (Added in
+7.42.0)
.SH DEFAULT
NULL
.SH PROTOCOLS
@@ -75,7 +76,7 @@ if(curl) {
curl_slist_free_all(host);
.fi
.SH AVAILABILITY
-Added in 7.21.3
+Added in 7.21.3. Removal support added in 7.42.0.
.SH RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
.SH "SEE ALSO"
diff --git a/docs/libcurl/opts/CURLOPT_RESOLVE.html b/docs/libcurl/opts/CURLOPT_RESOLVE.html
index d01846e4..bec4d851 100644
--- a/docs/libcurl/opts/CURLOPT_RESOLVE.html
+++ b/docs/libcurl/opts/CURLOPT_RESOLVE.html
@@ -62,7 +62,7 @@ CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RESOLVE,
<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 to set with <span Class="emphasis">CURL_RESOLVE</span> will not time-out from the DNS cache like ordinary entries.
-<p class="level0">You can 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">You can 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. (Added in 7.42.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 <a name="EXAMPLE"></a><h2 class="nroffsh">EXAMPLE</h2>
<p class="level0"><pre class="level0">
@@ -84,7 +84,7 @@ 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 <a name="RETURN"></a><h2 class="nroffsh">RETURN VALUE</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>, <span Class="manpage"> </span> <p class="roffit">
This HTML page was made with <a href="http://daniel.haxx.se/projects/roffit/">roffit</a>.
diff --git a/docs/libcurl/opts/CURLOPT_RESOLVE.pdf b/docs/libcurl/opts/CURLOPT_RESOLVE.pdf
index b2c220a2..7c190771 100644
--- a/docs/libcurl/opts/CURLOPT_RESOLVE.pdf
+++ b/docs/libcurl/opts/CURLOPT_RESOLVE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_RESUME_FROM.pdf b/docs/libcurl/opts/CURLOPT_RESUME_FROM.pdf
index d77e2b2c..5b1aad11 100644
--- a/docs/libcurl/opts/CURLOPT_RESUME_FROM.pdf
+++ b/docs/libcurl/opts/CURLOPT_RESUME_FROM.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.pdf b/docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.pdf
index 614f33f3..135317e7 100644
--- a/docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.pdf
+++ b/docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.pdf b/docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.pdf
index b296bcf4..800e75be 100644
--- a/docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.pdf
+++ b/docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.pdf b/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.pdf
index ffe9627b..11823540 100644
--- a/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.pdf
+++ b/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.pdf b/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.pdf
index c642c3d1..9d520f98 100644
--- a/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.pdf
+++ b/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.pdf
@@ -67,12 +67,12 @@ endobj
<?adobe-xap-filters esc="CRLF"?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
-<rdf:Description rdf:about='uuid:320260f6-4cd2-11f0-0000-e6e9a23d587a' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.06'/>
-<rdf:Description rdf:about='uuid:320260f6-4cd2-11f0-0000-e6e9a23d587a' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2015-06-17T07:56:50+02:00</xmp:ModifyDate>
-<xmp:CreateDate>2015-06-17T07:56:50+02:00</xmp:CreateDate>
+<rdf:Description rdf:about='uuid:83e0b27e-78d5-11f0-0000-e6e9a23d587a' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.16'/>
+<rdf:Description rdf:about='uuid:83e0b27e-78d5-11f0-0000-e6e9a23d587a' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2015-08-12T08:11:27+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2015-08-12T08:11:27+02:00</xmp:CreateDate>
<xmp:CreatorTool>groff version 1.22.3</xmp:CreatorTool></rdf:Description>
-<rdf:Description rdf:about='uuid:320260f6-4cd2-11f0-0000-e6e9a23d587a' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:320260f6-4cd2-11f0-0000-e6e9a23d587a'/>
-<rdf:Description rdf:about='uuid:320260f6-4cd2-11f0-0000-e6e9a23d587a' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+<rdf:Description rdf:about='uuid:83e0b27e-78d5-11f0-0000-e6e9a23d587a' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:83e0b27e-78d5-11f0-0000-e6e9a23d587a'/>
+<rdf:Description rdf:about='uuid:83e0b27e-78d5-11f0-0000-e6e9a23d587a' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
</rdf:RDF>
</x:xmpmeta>
@@ -81,9 +81,9 @@ endobj
endstream
endobj
2 0 obj
-<</Producer(GPL Ghostscript 9.06)
-/CreationDate(D:20150617075650+02'00')
-/ModDate(D:20150617075650+02'00')
+<</Producer(GPL Ghostscript 9.16)
+/CreationDate(D:20150812081127+02'00')
+/ModDate(D:20150812081127+02'00')
/Creator(groff version 1.22.3)>>endobj
xref
0 14
@@ -103,7 +103,7 @@ xref
0000001666 00000 n
trailer
<< /Size 14 /Root 1 0 R /Info 2 0 R
-/ID [<50986BF265BCB1091FADD7BF066CFCD5><50986BF265BCB1091FADD7BF066CFCD5>]
+/ID [<8C96E27F966D9A8794FCAEBDAE104CE8><8C96E27F966D9A8794FCAEBDAE104CE8>]
>>
startxref
3243
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.pdf b/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.pdf
index fe864613..be422bdb 100644
--- a/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.pdf
+++ b/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.pdf b/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.pdf
index a3503fca..3756ff83 100644
--- a/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.pdf
+++ b/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.pdf b/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.pdf
index f31902c3..72be67ce 100644
--- a/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.pdf
+++ b/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SASL_IR.pdf b/docs/libcurl/opts/CURLOPT_SASL_IR.pdf
index a3979f47..7b465043 100644
--- a/docs/libcurl/opts/CURLOPT_SASL_IR.pdf
+++ b/docs/libcurl/opts/CURLOPT_SASL_IR.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SEEKDATA.pdf b/docs/libcurl/opts/CURLOPT_SEEKDATA.pdf
index 8ad34871..ebe314d7 100644
--- a/docs/libcurl/opts/CURLOPT_SEEKDATA.pdf
+++ b/docs/libcurl/opts/CURLOPT_SEEKDATA.pdf
@@ -68,12 +68,12 @@ endobj
<?adobe-xap-filters esc="CRLF"?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
-<rdf:Description rdf:about='uuid:320260f6-4cd2-11f0-0000-bfb7a2fb1104' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.06'/>
-<rdf:Description rdf:about='uuid:320260f6-4cd2-11f0-0000-bfb7a2fb1104' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2015-06-17T07:56:50+02:00</xmp:ModifyDate>
-<xmp:CreateDate>2015-06-17T07:56:50+02:00</xmp:CreateDate>
+<rdf:Description rdf:about='uuid:847948fe-78d5-11f0-0000-bfb7a2fb1104' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.16'/>
+<rdf:Description rdf:about='uuid:847948fe-78d5-11f0-0000-bfb7a2fb1104' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2015-08-12T08:11:28+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2015-08-12T08:11:28+02:00</xmp:CreateDate>
<xmp:CreatorTool>groff version 1.22.3</xmp:CreatorTool></rdf:Description>
-<rdf:Description rdf:about='uuid:320260f6-4cd2-11f0-0000-bfb7a2fb1104' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:320260f6-4cd2-11f0-0000-bfb7a2fb1104'/>
-<rdf:Description rdf:about='uuid:320260f6-4cd2-11f0-0000-bfb7a2fb1104' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+<rdf:Description rdf:about='uuid:847948fe-78d5-11f0-0000-bfb7a2fb1104' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:847948fe-78d5-11f0-0000-bfb7a2fb1104'/>
+<rdf:Description rdf:about='uuid:847948fe-78d5-11f0-0000-bfb7a2fb1104' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
</rdf:RDF>
</x:xmpmeta>
@@ -82,9 +82,9 @@ endobj
endstream
endobj
2 0 obj
-<</Producer(GPL Ghostscript 9.06)
-/CreationDate(D:20150617075650+02'00')
-/ModDate(D:20150617075650+02'00')
+<</Producer(GPL Ghostscript 9.16)
+/CreationDate(D:20150812081128+02'00')
+/ModDate(D:20150812081128+02'00')
/Creator(groff version 1.22.3)>>endobj
xref
0 15
@@ -105,7 +105,7 @@ xref
0000001688 00000 n
trailer
<< /Size 15 /Root 1 0 R /Info 2 0 R
-/ID [<57FB2D0960370722BF988C715CE72130><57FB2D0960370722BF988C715CE72130>]
+/ID [<0F85402D7DE02750E9EB57DA2274A941><0F85402D7DE02750E9EB57DA2274A941>]
>>
startxref
3265
diff --git a/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.pdf b/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.pdf
index d781e723..048f83f8 100644
--- a/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.pdf
+++ b/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SERVICE_NAME.pdf b/docs/libcurl/opts/CURLOPT_SERVICE_NAME.pdf
index ace1f35d..21d32fbc 100644
--- a/docs/libcurl/opts/CURLOPT_SERVICE_NAME.pdf
+++ b/docs/libcurl/opts/CURLOPT_SERVICE_NAME.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SHARE.pdf b/docs/libcurl/opts/CURLOPT_SHARE.pdf
index b7c94109..6a55d9cc 100644
--- a/docs/libcurl/opts/CURLOPT_SHARE.pdf
+++ b/docs/libcurl/opts/CURLOPT_SHARE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.pdf b/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.pdf
index 3064acdc..04881f79 100644
--- a/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.pdf
+++ b/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.pdf
@@ -72,12 +72,12 @@ endobj
<?adobe-xap-filters esc="CRLF"?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
-<rdf:Description rdf:about='uuid:320260f6-4cd2-11f0-0000-a72fc39baf1d' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.06'/>
-<rdf:Description rdf:about='uuid:320260f6-4cd2-11f0-0000-a72fc39baf1d' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2015-06-17T07:56:50+02:00</xmp:ModifyDate>
-<xmp:CreateDate>2015-06-17T07:56:50+02:00</xmp:CreateDate>
+<rdf:Description rdf:about='uuid:847948fe-78d5-11f0-0000-a72fc39baf1d' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.16'/>
+<rdf:Description rdf:about='uuid:847948fe-78d5-11f0-0000-a72fc39baf1d' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2015-08-12T08:11:28+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2015-08-12T08:11:28+02:00</xmp:CreateDate>
<xmp:CreatorTool>groff version 1.22.3</xmp:CreatorTool></rdf:Description>
-<rdf:Description rdf:about='uuid:320260f6-4cd2-11f0-0000-a72fc39baf1d' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:320260f6-4cd2-11f0-0000-a72fc39baf1d'/>
-<rdf:Description rdf:about='uuid:320260f6-4cd2-11f0-0000-a72fc39baf1d' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+<rdf:Description rdf:about='uuid:847948fe-78d5-11f0-0000-a72fc39baf1d' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:847948fe-78d5-11f0-0000-a72fc39baf1d'/>
+<rdf:Description rdf:about='uuid:847948fe-78d5-11f0-0000-a72fc39baf1d' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
</rdf:RDF>
</x:xmpmeta>
@@ -86,9 +86,9 @@ endobj
endstream
endobj
2 0 obj
-<</Producer(GPL Ghostscript 9.06)
-/CreationDate(D:20150617075650+02'00')
-/ModDate(D:20150617075650+02'00')
+<</Producer(GPL Ghostscript 9.16)
+/CreationDate(D:20150812081128+02'00')
+/ModDate(D:20150812081128+02'00')
/Creator(groff version 1.22.3)>>endobj
xref
0 15
@@ -109,7 +109,7 @@ xref
0000001836 00000 n
trailer
<< /Size 15 /Root 1 0 R /Info 2 0 R
-/ID [<C35CB3DC2ED839BF391D1FEDB6853355><C35CB3DC2ED839BF391D1FEDB6853355>]
+/ID [<D908C4288394121E1AB0E7BC684E0476><D908C4288394121E1AB0E7BC684E0476>]
>>
startxref
3413
diff --git a/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.pdf b/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.pdf
index 2b48f7f7..5ccd41c7 100644
--- a/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.pdf
+++ b/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.pdf b/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.pdf
index 9635b929..b120db27 100644
--- a/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.pdf
+++ b/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.pdf b/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.pdf
index 1af45382..878761c5 100644
--- a/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.pdf
+++ b/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.pdf b/docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.pdf
index 42a48790..d148ccb1 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.pdf
+++ b/docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.pdf b/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.pdf
index dd5f5027..093d2c26 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.pdf
+++ b/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSH_KEYDATA.pdf b/docs/libcurl/opts/CURLOPT_SSH_KEYDATA.pdf
index d6b63a2a..b4b07133 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_KEYDATA.pdf
+++ b/docs/libcurl/opts/CURLOPT_SSH_KEYDATA.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.pdf b/docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.pdf
index 432bd3e1..0c0d9a5b 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.pdf
+++ b/docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.pdf b/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.pdf
index 9a7d79f5..a7d37406 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.pdf
+++ b/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.pdf
@@ -72,12 +72,12 @@ endobj
<?adobe-xap-filters esc="CRLF"?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
-<rdf:Description rdf:about='uuid:329af776-4cd2-11f0-0000-97ccdacf2f0e' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.06'/>
-<rdf:Description rdf:about='uuid:329af776-4cd2-11f0-0000-97ccdacf2f0e' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2015-06-17T07:56:51+02:00</xmp:ModifyDate>
-<xmp:CreateDate>2015-06-17T07:56:51+02:00</xmp:CreateDate>
+<rdf:Description rdf:about='uuid:8511df7e-78d5-11f0-0000-97ccdacf2f0e' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.16'/>
+<rdf:Description rdf:about='uuid:8511df7e-78d5-11f0-0000-97ccdacf2f0e' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2015-08-12T08:11:29+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2015-08-12T08:11:29+02:00</xmp:CreateDate>
<xmp:CreatorTool>groff version 1.22.3</xmp:CreatorTool></rdf:Description>
-<rdf:Description rdf:about='uuid:329af776-4cd2-11f0-0000-97ccdacf2f0e' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:329af776-4cd2-11f0-0000-97ccdacf2f0e'/>
-<rdf:Description rdf:about='uuid:329af776-4cd2-11f0-0000-97ccdacf2f0e' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+<rdf:Description rdf:about='uuid:8511df7e-78d5-11f0-0000-97ccdacf2f0e' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:8511df7e-78d5-11f0-0000-97ccdacf2f0e'/>
+<rdf:Description rdf:about='uuid:8511df7e-78d5-11f0-0000-97ccdacf2f0e' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
</rdf:RDF>
</x:xmpmeta>
@@ -86,9 +86,9 @@ endobj
endstream
endobj
2 0 obj
-<</Producer(GPL Ghostscript 9.06)
-/CreationDate(D:20150617075651+02'00')
-/ModDate(D:20150617075651+02'00')
+<</Producer(GPL Ghostscript 9.16)
+/CreationDate(D:20150812081129+02'00')
+/ModDate(D:20150812081129+02'00')
/Creator(groff version 1.22.3)>>endobj
xref
0 15
@@ -109,7 +109,7 @@ xref
0000002028 00000 n
trailer
<< /Size 15 /Root 1 0 R /Info 2 0 R
-/ID [<36B931CC4C0034C8BAD1F606741C4F4A><36B931CC4C0034C8BAD1F606741C4F4A>]
+/ID [<632DBB8A202AD6F3B6D28E25E2670178><632DBB8A202AD6F3B6D28E25E2670178>]
>>
startxref
3605
diff --git a/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.pdf b/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.pdf
index c80b14de..49dc3c75 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.pdf
+++ b/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.pdf b/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.pdf
index 32959577..594cea01 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.pdf
+++ b/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSLCERT.pdf b/docs/libcurl/opts/CURLOPT_SSLCERT.pdf
index 29a764e4..2e7c5e07 100644
--- a/docs/libcurl/opts/CURLOPT_SSLCERT.pdf
+++ b/docs/libcurl/opts/CURLOPT_SSLCERT.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.pdf b/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.pdf
index c942f343..2a68e9f8 100644
--- a/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.pdf
+++ b/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSLENGINE.pdf b/docs/libcurl/opts/CURLOPT_SSLENGINE.pdf
index ee65196c..3d05678d 100644
--- a/docs/libcurl/opts/CURLOPT_SSLENGINE.pdf
+++ b/docs/libcurl/opts/CURLOPT_SSLENGINE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.pdf b/docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.pdf
index 5503c131..394ec8df 100644
--- a/docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.pdf
+++ b/docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSLKEY.pdf b/docs/libcurl/opts/CURLOPT_SSLKEY.pdf
index e13938aa..8044a151 100644
--- a/docs/libcurl/opts/CURLOPT_SSLKEY.pdf
+++ b/docs/libcurl/opts/CURLOPT_SSLKEY.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.pdf b/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.pdf
index fa926360..238bbe47 100644
--- a/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.pdf
+++ b/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSLVERSION.pdf b/docs/libcurl/opts/CURLOPT_SSLVERSION.pdf
index 25c15ed8..713933c8 100644
--- a/docs/libcurl/opts/CURLOPT_SSLVERSION.pdf
+++ b/docs/libcurl/opts/CURLOPT_SSLVERSION.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.pdf b/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.pdf
index ca61c43d..292a70f8 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.pdf
+++ b/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.pdf b/docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.pdf
index 419ffa9c..efe4ce7b 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.pdf
+++ b/docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.pdf b/docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.pdf
index 5e54ea4b..21b0570c 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.pdf
+++ b/docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.pdf b/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.pdf
index e55bd6e2..c7d009e8 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.pdf
+++ b/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.pdf b/docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.pdf
index 8b0dc31f..9c5a9122 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.pdf
+++ b/docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSL_FALSESTART.pdf b/docs/libcurl/opts/CURLOPT_SSL_FALSESTART.pdf
index c8fa45bd..bca982c5 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_FALSESTART.pdf
+++ b/docs/libcurl/opts/CURLOPT_SSL_FALSESTART.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.3 b/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.3
index 09bcb96c..0afd2fb6 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.3
@@ -30,13 +30,25 @@ CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_OPTIONS, long bitmask);
.SH DESCRIPTION
Pass a long with a bitmask to tell libcurl about specific SSL behaviors.
-\fICURLSSLOPT_ALLOW_BEAST\fP is the only supported bit and by setting this the
-user will tell 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.
+\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.
+
+Added in 7.44.0:
+
+\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.
+http://curl.haxx.se/docs/ssl-compared.html
+
+
.SH DEFAULT
0
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.html b/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.html
index aa7d8547..5b0a4a61 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.html
+++ b/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.html
@@ -55,7 +55,11 @@ p.roffit {
<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> is the only supported bit and by setting this the user will tell 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. <a name="DEFAULT"></a><h2 class="nroffsh">DEFAULT</h2>
+<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="http://curl.haxx.se/docs/ssl-compared.html">http://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>
diff --git a/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.pdf b/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.pdf
index 547eb65e..b93f18d5 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.pdf
+++ b/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.pdf b/docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.pdf
index acf58a8b..51657187 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.pdf
+++ b/docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.pdf b/docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.pdf
index 62c03998..48dad477 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.pdf
+++ b/docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.pdf b/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.pdf
index 49ae7862..c5adbd26 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.pdf
+++ b/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.pdf b/docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.pdf
index c8525a05..9e026209 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.pdf
+++ b/docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.pdf
@@ -68,12 +68,12 @@ endobj
<?adobe-xap-filters esc="CRLF"?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
-<rdf:Description rdf:about='uuid:33cc2476-4cd2-11f0-0000-75a6345ca275' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.06'/>
-<rdf:Description rdf:about='uuid:33cc2476-4cd2-11f0-0000-75a6345ca275' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2015-06-17T07:56:53+02:00</xmp:ModifyDate>
-<xmp:CreateDate>2015-06-17T07:56:53+02:00</xmp:CreateDate>
+<rdf:Description rdf:about='uuid:86430c7e-78d5-11f0-0000-75a6345ca275' xmlns:pdf='http://ns.adobe.com/pdf/1.3/' pdf:Producer='GPL Ghostscript 9.16'/>
+<rdf:Description rdf:about='uuid:86430c7e-78d5-11f0-0000-75a6345ca275' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2015-08-12T08:11:31+02:00</xmp:ModifyDate>
+<xmp:CreateDate>2015-08-12T08:11:31+02:00</xmp:CreateDate>
<xmp:CreatorTool>groff version 1.22.3</xmp:CreatorTool></rdf:Description>
-<rdf:Description rdf:about='uuid:33cc2476-4cd2-11f0-0000-75a6345ca275' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:33cc2476-4cd2-11f0-0000-75a6345ca275'/>
-<rdf:Description rdf:about='uuid:33cc2476-4cd2-11f0-0000-75a6345ca275' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
+<rdf:Description rdf:about='uuid:86430c7e-78d5-11f0-0000-75a6345ca275' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:86430c7e-78d5-11f0-0000-75a6345ca275'/>
+<rdf:Description rdf:about='uuid:86430c7e-78d5-11f0-0000-75a6345ca275' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>Untitled</rdf:li></rdf:Alt></dc:title></rdf:Description>
</rdf:RDF>
</x:xmpmeta>
@@ -82,9 +82,9 @@ endobj
endstream
endobj
2 0 obj
-<</Producer(GPL Ghostscript 9.06)
-/CreationDate(D:20150617075653+02'00')
-/ModDate(D:20150617075653+02'00')
+<</Producer(GPL Ghostscript 9.16)
+/CreationDate(D:20150812081131+02'00')
+/ModDate(D:20150812081131+02'00')
/Creator(groff version 1.22.3)>>endobj
xref
0 14
@@ -104,7 +104,7 @@ xref
0000001942 00000 n
trailer
<< /Size 14 /Root 1 0 R /Info 2 0 R
-/ID [<19FDECD7795296B5264D49FC0FD23625><19FDECD7795296B5264D49FC0FD23625>]
+/ID [<C60007D8815D1C73E5022698D69DF45E><C60007D8815D1C73E5022698D69DF45E>]
>>
startxref
3519
diff --git a/docs/libcurl/opts/CURLOPT_STDERR.pdf b/docs/libcurl/opts/CURLOPT_STDERR.pdf
index 406bae17..7d01fcb3 100644
--- a/docs/libcurl/opts/CURLOPT_STDERR.pdf
+++ b/docs/libcurl/opts/CURLOPT_STDERR.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.pdf b/docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.pdf
index 8ef528f8..2e55c29f 100644
--- a/docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.pdf
+++ b/docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.pdf b/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.pdf
index ba4a9c75..20ee61a7 100644
--- a/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.pdf
+++ b/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.pdf b/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.pdf
index 43df65c7..e2370c42 100644
--- a/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.pdf
+++ b/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_TCP_NODELAY.pdf b/docs/libcurl/opts/CURLOPT_TCP_NODELAY.pdf
index 5ae73cfb..9be0e810 100644
--- a/docs/libcurl/opts/CURLOPT_TCP_NODELAY.pdf
+++ b/docs/libcurl/opts/CURLOPT_TCP_NODELAY.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_TELNETOPTIONS.pdf b/docs/libcurl/opts/CURLOPT_TELNETOPTIONS.pdf
index 0930130b..14a5259c 100644
--- a/docs/libcurl/opts/CURLOPT_TELNETOPTIONS.pdf
+++ b/docs/libcurl/opts/CURLOPT_TELNETOPTIONS.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.pdf b/docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.pdf
index 8e448296..95591f91 100644
--- a/docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.pdf
+++ b/docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_TIMECONDITION.pdf b/docs/libcurl/opts/CURLOPT_TIMECONDITION.pdf
index f20e4ad1..16b32aea 100644
--- a/docs/libcurl/opts/CURLOPT_TIMECONDITION.pdf
+++ b/docs/libcurl/opts/CURLOPT_TIMECONDITION.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_TIMEOUT.pdf b/docs/libcurl/opts/CURLOPT_TIMEOUT.pdf
index 23a69519..3ebfb10d 100644
--- a/docs/libcurl/opts/CURLOPT_TIMEOUT.pdf
+++ b/docs/libcurl/opts/CURLOPT_TIMEOUT.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.pdf b/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.pdf
index 5407cb5d..6897c088 100644
--- a/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.pdf
+++ b/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_TIMEVALUE.pdf b/docs/libcurl/opts/CURLOPT_TIMEVALUE.pdf
index a05d79d9..416318b6 100644
--- a/docs/libcurl/opts/CURLOPT_TIMEVALUE.pdf
+++ b/docs/libcurl/opts/CURLOPT_TIMEVALUE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.pdf b/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.pdf
index 700caca3..753542a1 100644
--- a/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.pdf
+++ b/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.pdf b/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.pdf
index 1dd4219b..3c794dc4 100644
--- a/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.pdf
+++ b/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.pdf b/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.pdf
index b036cd14..35301a96 100644
--- a/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.pdf
+++ b/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.pdf b/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.pdf
index 6634389d..35711857 100644
--- a/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.pdf
+++ b/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.pdf b/docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.pdf
index 7b044b50..4a01a70a 100644
--- a/docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.pdf
+++ b/docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.pdf b/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.pdf
index 9c24f067..1bd7f8fd 100644
--- a/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.pdf
+++ b/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.pdf b/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.pdf
index 2436b4ab..d7493b4c 100644
--- a/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.pdf
+++ b/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_UPLOAD.pdf b/docs/libcurl/opts/CURLOPT_UPLOAD.pdf
index 347b4b9f..f9897196 100644
--- a/docs/libcurl/opts/CURLOPT_UPLOAD.pdf
+++ b/docs/libcurl/opts/CURLOPT_UPLOAD.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_URL.pdf b/docs/libcurl/opts/CURLOPT_URL.pdf
index 45f98cdf..7ac38c4c 100644
--- a/docs/libcurl/opts/CURLOPT_URL.pdf
+++ b/docs/libcurl/opts/CURLOPT_URL.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_USERAGENT.pdf b/docs/libcurl/opts/CURLOPT_USERAGENT.pdf
index 0b92e962..04aed42e 100644
--- a/docs/libcurl/opts/CURLOPT_USERAGENT.pdf
+++ b/docs/libcurl/opts/CURLOPT_USERAGENT.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_USERNAME.pdf b/docs/libcurl/opts/CURLOPT_USERNAME.pdf
index 4612a131..92a37359 100644
--- a/docs/libcurl/opts/CURLOPT_USERNAME.pdf
+++ b/docs/libcurl/opts/CURLOPT_USERNAME.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_USERPWD.pdf b/docs/libcurl/opts/CURLOPT_USERPWD.pdf
index d92bb67b..23c3c664 100644
--- a/docs/libcurl/opts/CURLOPT_USERPWD.pdf
+++ b/docs/libcurl/opts/CURLOPT_USERPWD.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_USE_SSL.pdf b/docs/libcurl/opts/CURLOPT_USE_SSL.pdf
index a98b4e89..4c36937b 100644
--- a/docs/libcurl/opts/CURLOPT_USE_SSL.pdf
+++ b/docs/libcurl/opts/CURLOPT_USE_SSL.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_VERBOSE.pdf b/docs/libcurl/opts/CURLOPT_VERBOSE.pdf
index aa767099..95598823 100644
--- a/docs/libcurl/opts/CURLOPT_VERBOSE.pdf
+++ b/docs/libcurl/opts/CURLOPT_VERBOSE.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.pdf b/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.pdf
index 52bab4db..c0cd1411 100644
--- a/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.pdf
+++ b/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_WRITEDATA.pdf b/docs/libcurl/opts/CURLOPT_WRITEDATA.pdf
index 764e1ace..508d74bf 100644
--- a/docs/libcurl/opts/CURLOPT_WRITEDATA.pdf
+++ b/docs/libcurl/opts/CURLOPT_WRITEDATA.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.pdf b/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.pdf
index e0c238d5..c847f1ec 100644
--- a/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.pdf
+++ b/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_XFERINFODATA.pdf b/docs/libcurl/opts/CURLOPT_XFERINFODATA.pdf
index 239bd62f..a3088de3 100644
--- a/docs/libcurl/opts/CURLOPT_XFERINFODATA.pdf
+++ b/docs/libcurl/opts/CURLOPT_XFERINFODATA.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.pdf b/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.pdf
index e3e82f91..07dc41a9 100644
--- a/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.pdf
+++ b/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.pdf
Binary files differ
diff --git a/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.pdf b/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.pdf
index 2a6b7564..84dec609 100644
--- a/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.pdf
+++ b/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.pdf
Binary files differ
diff --git a/docs/libcurl/opts/Makefile.am b/docs/libcurl/opts/Makefile.am
index 5517811d..4865b41b 100644
--- a/docs/libcurl/opts/Makefile.am
+++ b/docs/libcurl/opts/Makefile.am
@@ -114,7 +114,8 @@ man_MANS = CURLOPT_ACCEPT_ENCODING.3 CURLOPT_ACCEPTTIMEOUT_MS.3 \
CURLMOPT_SOCKETDATA.3 CURLMOPT_SOCKETFUNCTION.3 CURLMOPT_TIMERDATA.3 \
CURLMOPT_TIMERFUNCTION.3 CURLOPT_UNIX_SOCKET_PATH.3 \
CURLOPT_PATH_AS_IS.3 CURLOPT_PROXY_SERVICE_NAME.3 \
- CURLOPT_SERVICE_NAME.3 CURLOPT_PIPEWAIT.3
+ CURLOPT_SERVICE_NAME.3 CURLOPT_PIPEWAIT.3 CURLMOPT_PUSHDATA.3 \
+ CURLMOPT_PUSHFUNCTION.3
HTMLPAGES = CURLOPT_ACCEPT_ENCODING.html CURLOPT_ACCEPTTIMEOUT_MS.html \
CURLOPT_ADDRESS_SCOPE.html CURLOPT_APPEND.html \
@@ -222,7 +223,8 @@ HTMLPAGES = CURLOPT_ACCEPT_ENCODING.html CURLOPT_ACCEPTTIMEOUT_MS.html \
CURLMOPT_TIMERDATA.html CURLMOPT_TIMERFUNCTION.html \
CURLOPT_UNIX_SOCKET_PATH.html CURLOPT_PATH_AS_IS.html \
CURLOPT_PROXY_SERVICE_NAME.html CURLOPT_SERVICE_NAME.html \
- CURLOPT_PIPEWAIT.html
+ CURLOPT_PIPEWAIT.html CURLMOPT_PUSHDATA.html \
+ CURLMOPT_PUSHFUNCTION.html
PDFPAGES = CURLOPT_ACCEPT_ENCODING.pdf CURLOPT_ACCEPTTIMEOUT_MS.pdf \
CURLOPT_ADDRESS_SCOPE.pdf CURLOPT_APPEND.pdf CURLOPT_AUTOREFERER.pdf \
@@ -328,7 +330,7 @@ PDFPAGES = CURLOPT_ACCEPT_ENCODING.pdf CURLOPT_ACCEPTTIMEOUT_MS.pdf \
CURLMOPT_TIMERDATA.pdf CURLMOPT_TIMERFUNCTION.pdf \
CURLOPT_UNIX_SOCKET_PATH.pdf CURLOPT_PATH_AS_IS.pdf \
CURLOPT_PROXY_SERVICE_NAME.pdf CURLOPT_SERVICE_NAME.pdf \
- CURLOPT_PIPEWAIT.pdf
+ CURLOPT_PIPEWAIT.pdf CURLMOPT_PUSHDATA.pdf CURLMOPT_PUSHFUNCTION.pdf
CLEANFILES = $(HTMLPAGES) $(PDFPAGES)
diff --git a/docs/libcurl/opts/Makefile.in b/docs/libcurl/opts/Makefile.in
index 3ca509bb..f6cd895a 100644
--- a/docs/libcurl/opts/Makefile.in
+++ b/docs/libcurl/opts/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# 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,
@@ -36,7 +36,17 @@
#
###########################################################################
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+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 \
?) ;; \
@@ -100,7 +110,6 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = docs/libcurl/opts
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/curl-compilers.m4 \
$(top_srcdir)/m4/curl-confopts.m4 \
@@ -121,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/curl-compilers.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
@@ -178,6 +188,7 @@ man3dir = $(mandir)/man3
am__installdirs = "$(DESTDIR)$(man3dir)"
MANS = $(man_MANS)
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@
@@ -458,7 +469,8 @@ man_MANS = CURLOPT_ACCEPT_ENCODING.3 CURLOPT_ACCEPTTIMEOUT_MS.3 \
CURLMOPT_SOCKETDATA.3 CURLMOPT_SOCKETFUNCTION.3 CURLMOPT_TIMERDATA.3 \
CURLMOPT_TIMERFUNCTION.3 CURLOPT_UNIX_SOCKET_PATH.3 \
CURLOPT_PATH_AS_IS.3 CURLOPT_PROXY_SERVICE_NAME.3 \
- CURLOPT_SERVICE_NAME.3 CURLOPT_PIPEWAIT.3
+ CURLOPT_SERVICE_NAME.3 CURLOPT_PIPEWAIT.3 CURLMOPT_PUSHDATA.3 \
+ CURLMOPT_PUSHFUNCTION.3
HTMLPAGES = CURLOPT_ACCEPT_ENCODING.html CURLOPT_ACCEPTTIMEOUT_MS.html \
CURLOPT_ADDRESS_SCOPE.html CURLOPT_APPEND.html \
@@ -566,7 +578,8 @@ HTMLPAGES = CURLOPT_ACCEPT_ENCODING.html CURLOPT_ACCEPTTIMEOUT_MS.html \
CURLMOPT_TIMERDATA.html CURLMOPT_TIMERFUNCTION.html \
CURLOPT_UNIX_SOCKET_PATH.html CURLOPT_PATH_AS_IS.html \
CURLOPT_PROXY_SERVICE_NAME.html CURLOPT_SERVICE_NAME.html \
- CURLOPT_PIPEWAIT.html
+ CURLOPT_PIPEWAIT.html CURLMOPT_PUSHDATA.html \
+ CURLMOPT_PUSHFUNCTION.html
PDFPAGES = CURLOPT_ACCEPT_ENCODING.pdf CURLOPT_ACCEPTTIMEOUT_MS.pdf \
CURLOPT_ADDRESS_SCOPE.pdf CURLOPT_APPEND.pdf CURLOPT_AUTOREFERER.pdf \
@@ -672,7 +685,7 @@ PDFPAGES = CURLOPT_ACCEPT_ENCODING.pdf CURLOPT_ACCEPTTIMEOUT_MS.pdf \
CURLMOPT_TIMERDATA.pdf CURLMOPT_TIMERFUNCTION.pdf \
CURLOPT_UNIX_SOCKET_PATH.pdf CURLOPT_PATH_AS_IS.pdf \
CURLOPT_PROXY_SERVICE_NAME.pdf CURLOPT_SERVICE_NAME.pdf \
- CURLOPT_PIPEWAIT.pdf
+ CURLOPT_PIPEWAIT.pdf CURLMOPT_PUSHDATA.pdf CURLMOPT_PUSHFUNCTION.pdf
CLEANFILES = $(HTMLPAGES) $(PDFPAGES)
EXTRA_DIST = $(man_MANS) $(HTMLPAGES) $(PDFPAGES)
@@ -694,7 +707,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign docs/libcurl/opts/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign docs/libcurl/opts/Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -915,6 +927,8 @@ uninstall-man: uninstall-man3
ps ps-am tags-am uninstall uninstall-am uninstall-man \
uninstall-man3
+.PRECIOUS: Makefile
+
html: $(HTMLPAGES)
diff --git a/docs/libcurl/symbols-in-versions b/docs/libcurl/symbols-in-versions
index 8299a517..4021c760 100644
--- a/docs/libcurl/symbols-in-versions
+++ b/docs/libcurl/symbols-in-versions
@@ -284,6 +284,8 @@ CURLMOPT_MAX_TOTAL_CONNECTIONS 7.30.0
CURLMOPT_PIPELINING 7.16.0
CURLMOPT_PIPELINING_SERVER_BL 7.30.0
CURLMOPT_PIPELINING_SITE_BL 7.30.0
+CURLMOPT_PUSHDATA 7.44.0
+CURLMOPT_PUSHFUNCTION 7.44.0
CURLMOPT_SOCKETDATA 7.15.4
CURLMOPT_SOCKETFUNCTION 7.15.4
CURLMOPT_TIMERDATA 7.16.0
@@ -631,6 +633,7 @@ CURLSSLBACKEND_POLARSSL 7.34.0
CURLSSLBACKEND_QSOSSL 7.34.0 - 7.38.1
CURLSSLBACKEND_SCHANNEL 7.34.0
CURLSSLOPT_ALLOW_BEAST 7.25.0
+CURLSSLOPT_NO_REVOKE 7.44.0
CURLUSESSL_ALL 7.17.0
CURLUSESSL_CONTROL 7.17.0
CURLUSESSL_NONE 7.17.0
@@ -702,6 +705,8 @@ CURL_POLL_OUT 7.14.0
CURL_POLL_REMOVE 7.14.0
CURL_PROGRESS_BAR 7.1.1 - 7.4.1
CURL_PROGRESS_STATS 7.1.1 - 7.4.1
+CURL_PUSH_DENY 7.44.0
+CURL_PUSH_OK 7.44.0
CURL_READFUNC_ABORT 7.12.1
CURL_READFUNC_PAUSE 7.18.0
CURL_REDIR_GET_ALL 7.19.1
diff --git a/docs/mk-ca-bundle.pdf b/docs/mk-ca-bundle.pdf
index f8c444f3..483aa8c4 100644
--- a/docs/mk-ca-bundle.pdf
+++ b/docs/mk-ca-bundle.pdf
Binary files differ