Compare commits
	
		
			173 Commits
		
	
	
		
			curl-7_45_
			...
			curl-7_46_
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					e2ae32ff5f | ||
| 
						 | 
					6623a485d3 | ||
| 
						 | 
					940c2f51aa | ||
| 
						 | 
					a47137c4a5 | ||
| 
						 | 
					5648f0a32c | ||
| 
						 | 
					2fddc4e3e1 | ||
| 
						 | 
					e55f15454e | ||
| 
						 | 
					fe7c39d353 | ||
| 
						 | 
					8f281fb76d | ||
| 
						 | 
					8cbd80686e | ||
| 
						 | 
					a14fa8f8ff | ||
| 
						 | 
					81ae6d01fa | ||
| 
						 | 
					19a8afb3c0 | ||
| 
						 | 
					78c25c854a | ||
| 
						 | 
					db05d7a731 | ||
| 
						 | 
					cd2b73b3ed | ||
| 
						 | 
					5b96b5e79e | ||
| 
						 | 
					99d17a5e2b | ||
| 
						 | 
					facf2925c7 | ||
| 
						 | 
					be0d4141af | ||
| 
						 | 
					40c349ada9 | ||
| 
						 | 
					bb9ec5ebb2 | ||
| 
						 | 
					c341311a0e | ||
| 
						 | 
					fc5d783589 | ||
| 
						 | 
					98acebb526 | ||
| 
						 | 
					06b288a72d | ||
| 
						 | 
					d55f9071fb | ||
| 
						 | 
					b7f3f1b68f | ||
| 
						 | 
					c2f1730e17 | ||
| 
						 | 
					8d17117683 | ||
| 
						 | 
					c90e348579 | ||
| 
						 | 
					f024ece8c7 | ||
| 
						 | 
					ad6f6e17d3 | ||
| 
						 | 
					0ddc59be0a | ||
| 
						 | 
					bbb34b6f15 | ||
| 
						 | 
					41efdadf09 | ||
| 
						 | 
					6af80afe49 | ||
| 
						 | 
					80562083da | ||
| 
						 | 
					ff8d352ae9 | ||
| 
						 | 
					250d786bd2 | ||
| 
						 | 
					0cf80c05ea | ||
| 
						 | 
					b27893d15c | ||
| 
						 | 
					05cd55f229 | ||
| 
						 | 
					b4c39010b5 | ||
| 
						 | 
					a72207ecf0 | ||
| 
						 | 
					6c5f4303fe | ||
| 
						 | 
					39904d6f7d | ||
| 
						 | 
					88f585c3a1 | ||
| 
						 | 
					051485d9e0 | ||
| 
						 | 
					3c4065f402 | ||
| 
						 | 
					d0ddfe2216 | ||
| 
						 | 
					ca770d87e2 | ||
| 
						 | 
					ee04bee82b | ||
| 
						 | 
					6cfd646f58 | ||
| 
						 | 
					808a17ee67 | ||
| 
						 | 
					ba4d8f7eba | ||
| 
						 | 
					febda2f305 | ||
| 
						 | 
					ceb396c54a | ||
| 
						 | 
					796c6ef02b | ||
| 
						 | 
					60cf8157c7 | ||
| 
						 | 
					ad2d517545 | ||
| 
						 | 
					1ee0aded89 | ||
| 
						 | 
					f322ca7765 | ||
| 
						 | 
					fd0c678e21 | ||
| 
						 | 
					aba281e762 | ||
| 
						 | 
					64e959ffe3 | ||
| 
						 | 
					86e2197337 | ||
| 
						 | 
					6c20a87105 | ||
| 
						 | 
					b430d94fb2 | ||
| 
						 | 
					0755308a6a | ||
| 
						 | 
					53b13d0c71 | ||
| 
						 | 
					431ba85829 | ||
| 
						 | 
					eb3703f052 | ||
| 
						 | 
					d7e352402c | ||
| 
						 | 
					278ea24a7a | ||
| 
						 | 
					1f82df9146 | ||
| 
						 | 
					077fd8f1fa | ||
| 
						 | 
					b6baa108fa | ||
| 
						 | 
					88702ebb31 | ||
| 
						 | 
					d6d58dd558 | ||
| 
						 | 
					a7c4bcd971 | ||
| 
						 | 
					3c24400636 | ||
| 
						 | 
					dcf5b614ca | ||
| 
						 | 
					6479f5a076 | ||
| 
						 | 
					d64add3c71 | ||
| 
						 | 
					a215381c94 | ||
| 
						 | 
					3e0d64d075 | ||
| 
						 | 
					01b7d8274c | ||
| 
						 | 
					7023d8aa37 | ||
| 
						 | 
					eaa98cef8d | ||
| 
						 | 
					4e3d396900 | ||
| 
						 | 
					f54a4aa9a3 | ||
| 
						 | 
					6225c48a03 | ||
| 
						 | 
					9b7f8ab21b | ||
| 
						 | 
					2200bf6205 | ||
| 
						 | 
					729b92afbe | ||
| 
						 | 
					23b8fc15c8 | ||
| 
						 | 
					e3c85405d0 | ||
| 
						 | 
					2581585961 | ||
| 
						 | 
					007f3e0971 | ||
| 
						 | 
					23c4090fd3 | ||
| 
						 | 
					50bff12ac8 | ||
| 
						 | 
					1a614c6c37 | ||
| 
						 | 
					505d966850 | ||
| 
						 | 
					748ffc77c6 | ||
| 
						 | 
					60c86297bf | ||
| 
						 | 
					cd3aba1a5c | ||
| 
						 | 
					f6fbbd6dc3 | ||
| 
						 | 
					210fc95c0f | ||
| 
						 | 
					3bd7f28000 | ||
| 
						 | 
					3f7b1bb89f | ||
| 
						 | 
					1ea3a7d5e4 | ||
| 
						 | 
					cba5bc5854 | ||
| 
						 | 
					ca5f9341ef | ||
| 
						 | 
					49a991346e | ||
| 
						 | 
					fbf09b7775 | ||
| 
						 | 
					f6ce8c9abb | ||
| 
						 | 
					4c62066cec | ||
| 
						 | 
					9b87078d55 | ||
| 
						 | 
					370ee919b3 | ||
| 
						 | 
					e2f430c74a | ||
| 
						 | 
					ea2c959db4 | ||
| 
						 | 
					ca20ca54b2 | ||
| 
						 | 
					d9a1776b32 | ||
| 
						 | 
					72d99f2e7b | ||
| 
						 | 
					2f4f4108d6 | ||
| 
						 | 
					03b6e07816 | ||
| 
						 | 
					6288cb9304 | ||
| 
						 | 
					eefd5a95af | ||
| 
						 | 
					b1fc8c0e97 | ||
| 
						 | 
					529f9310b1 | ||
| 
						 | 
					b1199def8c | ||
| 
						 | 
					b7d894d808 | ||
| 
						 | 
					d31ed6ac71 | ||
| 
						 | 
					419d410ca0 | ||
| 
						 | 
					3042cb5043 | ||
| 
						 | 
					23cc0c00d4 | ||
| 
						 | 
					ace68fdc0c | ||
| 
						 | 
					9744ef2289 | ||
| 
						 | 
					c238d4da1b | ||
| 
						 | 
					5fecdc26f7 | ||
| 
						 | 
					257a1c0d14 | ||
| 
						 | 
					fe7590f729 | ||
| 
						 | 
					72646c2e48 | ||
| 
						 | 
					4201e4a9ac | ||
| 
						 | 
					4c773bcb47 | ||
| 
						 | 
					cb922d47d6 | ||
| 
						 | 
					06b5fd8fde | ||
| 
						 | 
					5cf0166636 | ||
| 
						 | 
					19cb0c4a88 | ||
| 
						 | 
					e77b5b7453 | ||
| 
						 | 
					684816cd9b | ||
| 
						 | 
					2b98cb57c4 | ||
| 
						 | 
					3fde8a4971 | ||
| 
						 | 
					443e81ea47 | ||
| 
						 | 
					c6aedf680f | ||
| 
						 | 
					854976ad7b | ||
| 
						 | 
					14d5a86b3e | ||
| 
						 | 
					db532eff1e | ||
| 
						 | 
					3ad83bc3a6 | ||
| 
						 | 
					13ddb9e54a | ||
| 
						 | 
					7715a70ba2 | ||
| 
						 | 
					6f8ecea059 | ||
| 
						 | 
					048f84637f | ||
| 
						 | 
					d30ad55c59 | ||
| 
						 | 
					08e5fb4465 | ||
| 
						 | 
					2e373f4a6f | ||
| 
						 | 
					bce689605d | ||
| 
						 | 
					8256b44e5a | ||
| 
						 | 
					da2d3b5805 | ||
| 
						 | 
					3771da335b | ||
| 
						 | 
					8bb43ecd05 | ||
| 
						 | 
					645fc44764 | 
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -49,3 +49,4 @@ missing
 | 
			
		||||
mkinstalldirs
 | 
			
		||||
tags
 | 
			
		||||
test-driver
 | 
			
		||||
scripts/_curl
 | 
			
		||||
 
 | 
			
		||||
@@ -1153,7 +1153,7 @@ set(VERSIONNUM              "${CURL_VERSION_NUM}")
 | 
			
		||||
# Finally generate a "curl-config" matching this config
 | 
			
		||||
configure_file("${CURL_SOURCE_DIR}/curl-config.in"
 | 
			
		||||
               "${CURL_BINARY_DIR}/curl-config" @ONLY)
 | 
			
		||||
install(FILES "${CMAKE_BINARY_DIR}/curl-config"
 | 
			
		||||
install(FILES "${CURL_BINARY_DIR}/curl-config"
 | 
			
		||||
        DESTINATION bin
 | 
			
		||||
        PERMISSIONS
 | 
			
		||||
          OWNER_READ OWNER_WRITE OWNER_EXECUTE
 | 
			
		||||
@@ -1163,7 +1163,7 @@ install(FILES "${CMAKE_BINARY_DIR}/curl-config"
 | 
			
		||||
# Finally generate a pkg-config file matching this config
 | 
			
		||||
configure_file("${CURL_SOURCE_DIR}/libcurl.pc.in"
 | 
			
		||||
               "${CURL_BINARY_DIR}/libcurl.pc" @ONLY)
 | 
			
		||||
install(FILES "${CMAKE_BINARY_DIR}/libcurl.pc"
 | 
			
		||||
install(FILES "${CURL_BINARY_DIR}/libcurl.pc"
 | 
			
		||||
        DESTINATION lib/pkgconfig)
 | 
			
		||||
 | 
			
		||||
# This needs to be run very last so other parts of the scripts can take advantage of this.
 | 
			
		||||
 
 | 
			
		||||
@@ -65,7 +65,7 @@ else
 | 
			
		||||
 ARCHES64='-arch x86_64'
 | 
			
		||||
 #We "know" that 10.4 and earlier do not support 64bit
 | 
			
		||||
 OLD_SDK64=`ls  $SDK_PATH|egrep -v "10.[0-4]"|head -1`
 | 
			
		||||
 NEW_SDK64=`ls -r $SDK_PATH|egrep -v "10.[0-4]"|head -1`
 | 
			
		||||
 NEW_SDK64=`ls -r $SDK_PATH|egrep -v "10.[0-4][^0-9]" | head -1`
 | 
			
		||||
 if test $USE_OLD -gt 0
 | 
			
		||||
  then
 | 
			
		||||
   SDK64=$OLD_SDK64
 | 
			
		||||
 
 | 
			
		||||
@@ -140,7 +140,7 @@ CLEANFILES = $(VC6_LIBDSP) $(VC6_SRCDSP) $(VC7_LIBVCPROJ) $(VC7_SRCVCPROJ)	\
 | 
			
		||||
 | 
			
		||||
bin_SCRIPTS = curl-config
 | 
			
		||||
 | 
			
		||||
SUBDIRS = lib src include
 | 
			
		||||
SUBDIRS = lib src include scripts
 | 
			
		||||
DIST_SUBDIRS = $(SUBDIRS) tests packages docs
 | 
			
		||||
 | 
			
		||||
pkgconfigdir = $(libdir)/pkgconfig
 | 
			
		||||
@@ -160,10 +160,10 @@ dist-hook:
 | 
			
		||||
	done)
 | 
			
		||||
 | 
			
		||||
html:
 | 
			
		||||
	cd docs; make html
 | 
			
		||||
	cd docs && make html
 | 
			
		||||
 | 
			
		||||
pdf:
 | 
			
		||||
	cd docs; make pdf
 | 
			
		||||
	cd docs && make pdf
 | 
			
		||||
 | 
			
		||||
check: test examples check-docs
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										241
									
								
								RELEASE-NOTES
									
									
									
									
									
								
							
							
						
						
									
										241
									
								
								RELEASE-NOTES
									
									
									
									
									
								
							@@ -1,92 +1,92 @@
 | 
			
		||||
Curl and libcurl 7.45.0
 | 
			
		||||
Curl and libcurl 7.46.0
 | 
			
		||||
 | 
			
		||||
 Public curl releases:         149
 | 
			
		||||
 Public curl releases:         150
 | 
			
		||||
 Command line options:         177
 | 
			
		||||
 curl_easy_setopt() options:   219
 | 
			
		||||
 curl_easy_setopt() options:   221
 | 
			
		||||
 Public functions in libcurl:  61
 | 
			
		||||
 Contributors:                 1303
 | 
			
		||||
 Contributors:                 1340
 | 
			
		||||
 | 
			
		||||
This release includes the following changes:
 | 
			
		||||
 | 
			
		||||
 o added CURLOPT_DEFAULT_PROTOCOL [6]
 | 
			
		||||
 o added new tool option --proto-default [6]
 | 
			
		||||
 o getinfo: added CURLINFO_ACTIVESOCKET
 | 
			
		||||
 o turned CURLINFO_* option docs as stand-alone man pages
 | 
			
		||||
 o curl: point out unnecessary uses of -X in verbose mode [17]
 | 
			
		||||
 o configure: build silently by default
 | 
			
		||||
 o cookies: Add support for Publix Suffix List with libpsl
 | 
			
		||||
 o vtls: added support for mbedTLS [7]
 | 
			
		||||
 o Added CURLOPT_STREAM_DEPENDS [8]
 | 
			
		||||
 o Added CURLOPT_STREAM_DEPENDS_E [9]
 | 
			
		||||
 o Added CURLOPT_STREAM_WEIGHT [10]
 | 
			
		||||
 o Added CURLFORM_CONTENTLEN [14]
 | 
			
		||||
 o oauth2: Added support for OAUTHBEARER SASL mechanism to IMAP, POP3 and SNMP
 | 
			
		||||
 | 
			
		||||
This release includes the following bugfixes:
 | 
			
		||||
 | 
			
		||||
 o curl_global_init_mem.3: Stronger thread safety warning [1]
 | 
			
		||||
 o buildconf.bat: Fixed issues when ran in directories with special chars [2]
 | 
			
		||||
 o cmake: Fix CurlTests check for gethostbyname_r with 5 arguments
 | 
			
		||||
 o generate.bat: Fixed issues when ran in directories with special chars
 | 
			
		||||
 o generate.bat: Only call buildconf.bat if it exists
 | 
			
		||||
 o generate.bat: Added support for generating only the prerequisite files
 | 
			
		||||
 o curl.1: Document weaknesses in SSLv2 and SSLv3
 | 
			
		||||
 o CURLOPT_HTTP_VERSION.3: connection re-use goes before version
 | 
			
		||||
 o docs: Update the redirect protocols disabled by default
 | 
			
		||||
 o inet_pton.c: Fix MSVC run-time check failure
 | 
			
		||||
 o CURLMOPT_PUSHFUNCTION.3: fix argument types
 | 
			
		||||
 o rtsp: support basic/digest authentication
 | 
			
		||||
 o rtsp: stop reading empty DESCRIBE responses
 | 
			
		||||
 o travis: Upgrading to container based build [3]
 | 
			
		||||
 o travis.yml: Add OS X testbot
 | 
			
		||||
 o FTP: make state machine not get stuck in state
 | 
			
		||||
 o openssl: handle lack of server cert when strict checking disabled [4]
 | 
			
		||||
 o configure: change functions to detect openssl (clones) [5]
 | 
			
		||||
 o configure: detect latest boringssl [5]
 | 
			
		||||
 o runtests: Allow for spaces in server-verify curl custom path
 | 
			
		||||
 o http2: on_frame_recv: get a proper 'conn' for the debug logging
 | 
			
		||||
 o ntlm: mark deliberate switch case fall-through
 | 
			
		||||
 o http2: remove dead code
 | 
			
		||||
 o curl_easy_{escape,unescape}.3: "char *" vs. "const char *" [7]
 | 
			
		||||
 o curl: point out the conflicting HTTP methods if used
 | 
			
		||||
 o cmake: added Windows SSL support [8]
 | 
			
		||||
 o curl_easy_{escape,setopt}.3: fix example
 | 
			
		||||
 o curl_easy_escape.3: escape '\n' [9]
 | 
			
		||||
 o libcurl.m4: Put braces around empty if body [10]
 | 
			
		||||
 o buildconf.bat: Fixed double blank line in 'curl manual' warning output
 | 
			
		||||
 o sasl: Only define Curl_sasl_digest_get_pair() when CRYPTO_AUTH enabled
 | 
			
		||||
 o inet_pton.c: Fix MSVC run-time check failure
 | 
			
		||||
 o CURLOPT_FOLLOWLOCATION.3: mention methods for redirects
 | 
			
		||||
 o http2: don't pass on Connection: headers [11]
 | 
			
		||||
 o nss: do not directly access SSL_ImplementedCiphers [12]
 | 
			
		||||
 o docs: numerous cleanups and spelling fixes
 | 
			
		||||
 o FTP: do_more: add check for wait_data_conn in upload case [13]
 | 
			
		||||
 o parse_proxy: reject illegal port numbers [14]
 | 
			
		||||
 o cmake: IPv6 : disable Unix header check on Windows platform [15]
 | 
			
		||||
 o winbuild: run buildconf.bat if necessary
 | 
			
		||||
 o buildconf.bat: fix syntax error
 | 
			
		||||
 o curl_sspi: fix possibly undefined CRYPT_E_REVOKED [16]
 | 
			
		||||
 o nss: prevent NSS from incorrectly re-using a session [18]
 | 
			
		||||
 o libcurl-errors.3: add two missing error codes
 | 
			
		||||
 o openssl: fix build with < 0.9.8
 | 
			
		||||
 o openssl: refactor certificate parsing to use OpenSSL memory BIO [19]
 | 
			
		||||
 o openldap: only part of LDAP query results received [20]
 | 
			
		||||
 o ssl: add server cert's "sha256//" hash to verbose [21]
 | 
			
		||||
 o NTLM: Reset auth-done when using a fresh connection [22]
 | 
			
		||||
 o curl: generate easysrc only on --libcurl [23]
 | 
			
		||||
 o tests: disable 1801 until fixed [24]
 | 
			
		||||
 o CURLINFO_TLS_SESSION: always return backend info
 | 
			
		||||
 o gnutls: Support CURLOPT_KEYPASSWD
 | 
			
		||||
 o gnutls: Report actual GnuTLS error message for certificate errors
 | 
			
		||||
 o tests: disable 1510 due to CI-problems on github
 | 
			
		||||
 o cmake: Put "winsock2.h" before "windows.h" during configure checks
 | 
			
		||||
 o cmake: Ensure discovered include dirs are considered
 | 
			
		||||
 o configure: Add missing ')' for CURL_CHECK_OPTION_RT [25]
 | 
			
		||||
 o build: fix failures with -Wcast-align and -Werror [26]
 | 
			
		||||
 o FTP: fix uploading ASCII with unknown size
 | 
			
		||||
 o readwrite_data: set a max number of loops
 | 
			
		||||
 o http2: avoid superfluous Curl_expire() calls
 | 
			
		||||
 o http2: set TCP_NODELAY unconditionally [27]
 | 
			
		||||
 o docs: fix unescaped '\n' in man pages
 | 
			
		||||
 o openssl: Fix algorithm init to make (gost) engines work [28]
 | 
			
		||||
 o win32: make recent Borland compilers use long long
 | 
			
		||||
 o runtests: Fix pid check in checkdied
 | 
			
		||||
 o gopher: don't send NUL byte [29]
 | 
			
		||||
 o tool_setopt: fix c_escape truncated octal [30]
 | 
			
		||||
 o hiperfifo: fix the pointer passed to WRITEDATA [31]
 | 
			
		||||
 o getinfo: Fix return code for unknown CURLINFO options [32]
 | 
			
		||||
 o des: Fix header conditional for Curl_des_set_odd_parity
 | 
			
		||||
 o ntlm: get rid of unconditional use of long long [1]
 | 
			
		||||
 o CURLOPT_CERTINFO.3: fix reference to CURLINFO_CERTINFO
 | 
			
		||||
 o docs: CURLINFO_LASTSOCKET => CURLINFO_ACTIVESOCKET [2]
 | 
			
		||||
 o http2: Fix http2_recv to return -1 if recv returned -1
 | 
			
		||||
 o curl_global_init_mem: set function pointers before doing init
 | 
			
		||||
 o ntlm: error out without 64bit support as the code needs it [1]
 | 
			
		||||
 o openssl: Fix set up of pkcs12 certificate verification chain
 | 
			
		||||
 o acinclude: remove PKGCONFIG override [3]
 | 
			
		||||
 o test1531: case the size to fix the test on non-largefile builds
 | 
			
		||||
 o fread_func: move callback pointer from set to state struct [4]
 | 
			
		||||
 o test1601: fix compilation with --enable-debug and --disable-crypto-auth
 | 
			
		||||
 o http2: Don't pass unitialized name+len pairs to nghttp2_submit_request [5]
 | 
			
		||||
 o curlbuild.h: Fix non-configure compiling to mips and sh4 targets
 | 
			
		||||
 o tool: Generate easysrc with last cache linked-list [6]
 | 
			
		||||
 o cmake: Fix for add_subdirectory(curl) use-case
 | 
			
		||||
 o vtls: fix compiler warning for TLS backends without sha256
 | 
			
		||||
 o build: fix for MSDOS/djgpp
 | 
			
		||||
 o checksrc: add crude // detection
 | 
			
		||||
 o http2: on_frame_recv: trust the conn/data input
 | 
			
		||||
 o ftp: allow CURLOPT_IGNORE_CONTENT_LENGTH to ignore size [11]
 | 
			
		||||
 o polarssl/mbedtls: fix name space pollution
 | 
			
		||||
 o build: Fix mingw ssl gdi32 order [12]
 | 
			
		||||
 o build: Fix support for PKG_CONFIG
 | 
			
		||||
 o MacOSX-Framework: sdk regex fix for sdk 10.10 and later
 | 
			
		||||
 o socks: Fix incorrect port numbers in failed connect messages
 | 
			
		||||
 o curl.1: -E: s/private certificate/client certificate
 | 
			
		||||
 o curl.h: s/HTTPPOST_/CURL_HTTPOST_ [13]
 | 
			
		||||
 o curl_formadd: support >2GB files on windows [14]
 | 
			
		||||
 o http redirects: %-encode bytes outside of ascii range [15]
 | 
			
		||||
 o rawstr: Speed up Curl_raw_toupper by 40%
 | 
			
		||||
 o curl_ntlm_core: fix 2 curl_off_t constant overflows.
 | 
			
		||||
 o getinfo: CURLINFO_ACTIVESOCKET: fix bad socket value
 | 
			
		||||
 o tftp tests: verify sent options too
 | 
			
		||||
 o imap: Don't call imap_atom() when no mailbox specified in LIST command
 | 
			
		||||
 o imap: Fixed double quote in LIST command when mailbox contains spaces
 | 
			
		||||
 o imap: Don't check for continuation when executing a CUSTOMREQUEST [16]
 | 
			
		||||
 o acinclude: Remove check for 16-bit curl_off_t
 | 
			
		||||
 o BoringSSL: Work with stricter BIO_get_mem_data() [17]
 | 
			
		||||
 o cmake: Add missing feature macros in config header [18]
 | 
			
		||||
 o sasl_sspi: fixed unicode build for digest authentication [19]
 | 
			
		||||
 o sasl_sspi: fix identity memory leak in digest authentication
 | 
			
		||||
 o unit1602: Fixed failure in torture test
 | 
			
		||||
 o unit1603: Added unit tests for hash functions
 | 
			
		||||
 o vtls/openssl: remove unused traces of yassl ifdefs
 | 
			
		||||
 o openssl: remove #ifdefs for < 0.9.7 support
 | 
			
		||||
 o typecheck-gcc.h: add some missing options
 | 
			
		||||
 o curl: mark two more options strings for --libcurl output
 | 
			
		||||
 o openssl: Free modules on cleanup [20]
 | 
			
		||||
 o CURLMOPT_PUSHFUNCTION.3: *_byname() returns only the first header
 | 
			
		||||
 o getconnectinfo: Don't call recv(2) if socket == -1
 | 
			
		||||
 o http2: http_done: don't free already-freed push headers
 | 
			
		||||
 o zsh completion: Preserve single quotes in output [21]
 | 
			
		||||
 o os400: Provide options for libssh2 use in compile scripts.
 | 
			
		||||
 o build: Fix theoretical infinite loops [22]
 | 
			
		||||
 o pop3: Differentiate between success and continuation responses
 | 
			
		||||
 o examples: Fixed compilation warnings
 | 
			
		||||
 o schannel: Use GetVersionEx() when VerifyVersionInfo() isn't available
 | 
			
		||||
 o CURLOPT_HEADERFUNCTION.3: fix typo
 | 
			
		||||
 o curl: expanded the -XHEAD warning text
 | 
			
		||||
 o done: make sure the final progress update is made [23]
 | 
			
		||||
 o build: Install zsh completion [24]
 | 
			
		||||
 o RTSP: do not add if-modified-since without timecondition [25]
 | 
			
		||||
 o curl: Fixed display of URL index in password prompt for --next
 | 
			
		||||
 o nonblock: fix setting non-blocking mode for Amiga [26]
 | 
			
		||||
 o http2 push: add missing inits of new stream [27]
 | 
			
		||||
 o http2: convert some verbose output into debug-only output
 | 
			
		||||
 o Curl_read_plain: clean up ifdefs that break statements [28]
 | 
			
		||||
 | 
			
		||||
This release includes the following known bugs:
 | 
			
		||||
 | 
			
		||||
@@ -95,52 +95,45 @@ This release includes the following known bugs:
 | 
			
		||||
This release would not have looked like this without help, code, reports and
 | 
			
		||||
advice from friends like these:
 | 
			
		||||
 | 
			
		||||
  Alessandro Ghedini, Benjamin Kircher, Bertrand Simonnet, Brad King,
 | 
			
		||||
  Dan Fandrich, Daniel Hwang, Daniel Kahn Gillmor, Daniel Lee Hwang,
 | 
			
		||||
  Daniel Seither, Daniel Stenberg, Denis Feklushkin, Eric Ridge, Erik Janssen,
 | 
			
		||||
  Isaac Boukris, Jactry Zeng, Jakub Zakrzewski, Jim Hollinger, Kamil Dudka,
 | 
			
		||||
  Maksim Stsepanenka, Marcel Raad, Michael Kalinin, Mike Crowe,
 | 
			
		||||
  Nathaniel Waisbrot, Nikolai Kondrashov, Orange Tsai, Patricia Muscalu,
 | 
			
		||||
  Patrick Monnerat, Rajkumar Mandal, Ray Satiro, Razvan Cojocaru, Rémy Léone,
 | 
			
		||||
  Richard van den Berg, Sam Roth, Sergei Nikulov, Steve Holme,
 | 
			
		||||
  Svyatoslav Mishyn, Tatsuhiro Tsujikawa, Thorsten Schöning, Viktor Szakáts,
 | 
			
		||||
  W. Mark Kubacki,
 | 
			
		||||
  (40 contributors)
 | 
			
		||||
  Anders Bakken, Dan Fandrich, Daniel Hwang, Daniel Shahaf, Daniel Stenberg,
 | 
			
		||||
  Davey Shafik, Dmitry S. Baikov, Douglas Creager, Erik Johansson,
 | 
			
		||||
  Flavio Medeiros, Gisle Vanem, Javier G. Sogo, John Levon, Jonas Minnberg,
 | 
			
		||||
  Justin Ehlert, Kamil Dudka, Kang Lin, Kurt Fankhauser, Lauri Kasanen,
 | 
			
		||||
  Lukas Ruzicka, Marcel Raad, Michał Piechowski, Mohammad AlSaleh, Norbert Kett,
 | 
			
		||||
  Patrick Monnerat, Rainer Jung, Ray Satiro, Richard Hosking,
 | 
			
		||||
  Sebastian Pohlschmidt, Stefan Bühler, Steve Holme, Svyatoslav Mishyn,
 | 
			
		||||
  Tatsuhiro Tsujikawa, Tim Rühsen, Xiangbin Li,
 | 
			
		||||
  (35 contributors)
 | 
			
		||||
 | 
			
		||||
        Thanks! (and sorry if I forgot to mention someone)
 | 
			
		||||
 | 
			
		||||
References to bug reports and discussions on issues:
 | 
			
		||||
 | 
			
		||||
 [1] = http://curl.haxx.se/mail/lib-2015-08/0016.html
 | 
			
		||||
 [2] = https://github.com/bagder/curl/pull/379
 | 
			
		||||
 [3] = http://curl.haxx.se/bug/?i=388
 | 
			
		||||
 [4] = http://curl.haxx.se/bug/?i=392
 | 
			
		||||
 [5] = https://android.googlesource.com/platform/external/curl/+/f551028d5caab
 | 
			
		||||
29d4b4a4ae8c159c76c3cfd4887%5E!/
 | 
			
		||||
 [6] = http://curl.haxx.se/bug/?i=351
 | 
			
		||||
 [7] = http://curl.haxx.se/bug/?i=395
 | 
			
		||||
 [8] = http://curl.haxx.se/bug/?i=399
 | 
			
		||||
 [9] = http://curl.haxx.se/bug/?i=398
 | 
			
		||||
 [10] = http://curl.haxx.se/bug/?i=402
 | 
			
		||||
 [11] = http://curl.haxx.se/bug/?i=401
 | 
			
		||||
 [12] = https://lists.fedoraproject.org/pipermail/devel/2015-September/214117.html
 | 
			
		||||
 [13] = http://curl.haxx.se/bug/?i=405
 | 
			
		||||
 [14] = http://curl.haxx.se/bug/?i=415
 | 
			
		||||
 [15] = http://curl.haxx.se/bug/?i=409
 | 
			
		||||
 [16] = http://curl.haxx.se/bug/?i=411
 | 
			
		||||
 [17] = http://daniel.haxx.se/blog/2015/09/11/unnecessary-use-of-curl-x/
 | 
			
		||||
 [18] = https://bugzilla.mozilla.org/1202264
 | 
			
		||||
 [19] = http://curl.haxx.se/bug/?i=427
 | 
			
		||||
 [20] = http://curl.haxx.se/bug/?i=440
 | 
			
		||||
 [21] = http://curl.haxx.se/bug/?i=410
 | 
			
		||||
 [22] = http://curl.haxx.se/bug/?i=435
 | 
			
		||||
 [23] = http://curl.haxx.se/bug/?i=429
 | 
			
		||||
 [24] = http://curl.haxx.se/bug/?i=380
 | 
			
		||||
 [25] = http://curl.haxx.se/bug/?i=456
 | 
			
		||||
 [26] = http://curl.haxx.se/bug/?i=457
 | 
			
		||||
 [27] = http://curl.haxx.se/mail/lib-2015-09/0097.html
 | 
			
		||||
 [28] = http://curl.haxx.se/bug/?i=447
 | 
			
		||||
 [29] = http://curl.haxx.se/bug/?i=466
 | 
			
		||||
 [30] = http://curl.haxx.se/bug/?i=469
 | 
			
		||||
 [31] = http://curl.haxx.se/bug/?i=471
 | 
			
		||||
 [32] = http://curl.haxx.se/bug/?i=468
 | 
			
		||||
 [1] = http://curl.haxx.se/bug/?i=478
 | 
			
		||||
 [2] = http://curl.haxx.se/bug/?i=479
 | 
			
		||||
 [3] = http://curl.haxx.se/mail/lib-2015-10/0035.html
 | 
			
		||||
 [4] = http://curl.haxx.se/bug/?i=346
 | 
			
		||||
 [5] = http://curl.haxx.se/bug/?i=493
 | 
			
		||||
 [6] = http://curl.haxx.se/bug/?i=452
 | 
			
		||||
 [7] = http://curl.haxx.se/bug/?i=496
 | 
			
		||||
 [8] = http://curl.haxx.se/libcurl/c/CURLOPT_STREAM_DEPENDS.html
 | 
			
		||||
 [9] = http://curl.haxx.se/libcurl/c/CURLOPT_STREAM_DEPENDS_E.html
 | 
			
		||||
 [10] = http://curl.haxx.se/libcurl/c/CURLOPT_STREAM_WEIGHT.html
 | 
			
		||||
 [11] = http://curl.haxx.se/bug/?i=480
 | 
			
		||||
 [12] = https://github.com/bagder/curl/pull/501
 | 
			
		||||
 [13] = http://curl.haxx.se/bug/?i=506
 | 
			
		||||
 [14] = http://curl.haxx.se/bug/?i=425
 | 
			
		||||
 [15] = http://curl.haxx.se/bug/?i=473
 | 
			
		||||
 [16] = http://curl.haxx.se/bug/?i=486
 | 
			
		||||
 [17] = http://curl.haxx.se/bug/?i=524
 | 
			
		||||
 [18] = http://curl.haxx.se/bug/?i=523
 | 
			
		||||
 [19] = http://curl.haxx.se/bug/?i=525
 | 
			
		||||
 [20] = http://curl.haxx.se/bug/?i=526
 | 
			
		||||
 [21] = http://curl.haxx.se/bug/?i=532
 | 
			
		||||
 [22] = http://curl.haxx.se/bug/?i=535
 | 
			
		||||
 [23] = http://curl.haxx.se/bug/?i=538
 | 
			
		||||
 [24] = http://curl.haxx.se/bug/?i=534
 | 
			
		||||
 [25] = http://stackoverflow.com/questions/33903982/curl-timecond-none-doesnt-work-how-to-remove-if-modified-since-header
 | 
			
		||||
 [26] = http://curl.haxx.se/mail/lib-2015-11/0088.html
 | 
			
		||||
 [27] = http://curl.haxx.se/bug/?i=530
 | 
			
		||||
 [28] = http://curl.haxx.se/bug/?i=546
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										29
									
								
								acinclude.m4
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								acinclude.m4
									
									
									
									
									
								
							@@ -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
 | 
			
		||||
@@ -2837,7 +2837,6 @@ AC_DEFUN([CURL_CONFIGURE_CURL_OFF_T], [
 | 
			
		||||
  #
 | 
			
		||||
  x_LP64_long=""
 | 
			
		||||
  x_LP32_long=""
 | 
			
		||||
  x_LP16_long=""
 | 
			
		||||
  #
 | 
			
		||||
  if test "$ac_cv_sizeof_long" -eq "8" &&
 | 
			
		||||
     test "$ac_cv_sizeof_voidp" -ge "8"; then
 | 
			
		||||
@@ -2845,9 +2844,6 @@ AC_DEFUN([CURL_CONFIGURE_CURL_OFF_T], [
 | 
			
		||||
  elif test "$ac_cv_sizeof_long" -eq "4" &&
 | 
			
		||||
       test "$ac_cv_sizeof_voidp" -ge "4"; then
 | 
			
		||||
    x_LP32_long="long"
 | 
			
		||||
  elif test "$ac_cv_sizeof_long" -eq "2" &&
 | 
			
		||||
       test "$ac_cv_sizeof_voidp" -ge "2"; then
 | 
			
		||||
    x_LP16_long="long"
 | 
			
		||||
  fi
 | 
			
		||||
  #
 | 
			
		||||
  dnl DO_CURL_OFF_T_CHECK results are stored in next 3 vars
 | 
			
		||||
@@ -2881,17 +2877,6 @@ AC_DEFUN([CURL_CONFIGURE_CURL_OFF_T], [
 | 
			
		||||
    done
 | 
			
		||||
    AC_MSG_RESULT([$curl_typeof_curl_off_t])
 | 
			
		||||
  fi
 | 
			
		||||
  if test "$curl_typeof_curl_off_t" = "unknown"; then
 | 
			
		||||
    AC_MSG_CHECKING([for 16-bit curl_off_t data type])
 | 
			
		||||
    for t2 in          \
 | 
			
		||||
      "$x_LP16_long"   \
 | 
			
		||||
      'int16_t'        \
 | 
			
		||||
      '__int16'        \
 | 
			
		||||
      'int'            ; do
 | 
			
		||||
      DO_CURL_OFF_T_CHECK([$t2], [2])
 | 
			
		||||
    done
 | 
			
		||||
    AC_MSG_RESULT([$curl_typeof_curl_off_t])
 | 
			
		||||
  fi
 | 
			
		||||
  if test "$curl_typeof_curl_off_t" = "unknown"; then
 | 
			
		||||
    AC_MSG_ERROR([cannot find data type for curl_off_t.])
 | 
			
		||||
  fi
 | 
			
		||||
@@ -3052,12 +3037,14 @@ dnl Optionally PKG_CONFIG_LIBDIR may be given as $pcdir.
 | 
			
		||||
dnl
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([CURL_CHECK_PKGCONFIG], [
 | 
			
		||||
    if test -n "$PKG_CONFIG"; then
 | 
			
		||||
      PKGCONFIG="$PKG_CONFIG"
 | 
			
		||||
    else
 | 
			
		||||
      AC_PATH_TOOL([PKGCONFIG], [pkg-config], [no],
 | 
			
		||||
        [$PATH:/usr/bin:/usr/local/bin])
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    PKGCONFIG="no"
 | 
			
		||||
 | 
			
		||||
    AC_PATH_TOOL( PKGCONFIG, pkg-config, no, $PATH:/usr/bin:/usr/local/bin)
 | 
			
		||||
 | 
			
		||||
    if test x$PKGCONFIG != xno; then
 | 
			
		||||
    if test "x$PKGCONFIG" != "xno"; then
 | 
			
		||||
      AC_MSG_CHECKING([for $1 options with pkg-config])
 | 
			
		||||
      dnl ask pkg-config about $1
 | 
			
		||||
      itexists=`CURL_EXPORT_PCDIR([$2]) dnl
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										181
									
								
								configure.ac
									
									
									
									
									
								
							
							
						
						
									
										181
									
								
								configure.ac
									
									
									
									
									
								
							@@ -39,6 +39,7 @@ AC_CONFIG_SRCDIR([lib/urldata.h])
 | 
			
		||||
AC_CONFIG_HEADERS(lib/curl_config.h include/curl/curlbuild.h)
 | 
			
		||||
AC_CONFIG_MACRO_DIR([m4])
 | 
			
		||||
AM_MAINTAINER_MODE
 | 
			
		||||
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 | 
			
		||||
 | 
			
		||||
CURL_CHECK_OPTION_DEBUG
 | 
			
		||||
CURL_CHECK_OPTION_OPTIMIZE
 | 
			
		||||
@@ -148,7 +149,7 @@ AC_SUBST(PKGADD_VENDOR)
 | 
			
		||||
 | 
			
		||||
dnl
 | 
			
		||||
dnl initialize all the info variables
 | 
			
		||||
    curl_ssl_msg="no      (--with-{ssl,gnutls,nss,polarssl,cyassl,axtls,winssl,darwinssl} )"
 | 
			
		||||
    curl_ssl_msg="no      (--with-{ssl,gnutls,nss,polarssl,mbedtls,cyassl,axtls,winssl,darwinssl} )"
 | 
			
		||||
    curl_ssh_msg="no      (--with-libssh2)"
 | 
			
		||||
   curl_zlib_msg="no      (--with-zlib)"
 | 
			
		||||
    curl_gss_msg="no      (--with-gssapi)"
 | 
			
		||||
@@ -166,6 +167,7 @@ curl_verbose_msg="enabled (--disable-verbose)"
 | 
			
		||||
   curl_rtsp_msg="no      (--enable-rtsp)"
 | 
			
		||||
   curl_rtmp_msg="no      (--with-librtmp)"
 | 
			
		||||
  curl_mtlnk_msg="no      (--with-libmetalink)"
 | 
			
		||||
    curl_psl_msg="no      (--with-libpsl)"
 | 
			
		||||
 | 
			
		||||
    init_ssl_msg=${curl_ssl_msg}
 | 
			
		||||
 | 
			
		||||
@@ -1397,6 +1399,24 @@ if test "$curl_ssl_msg" = "$init_ssl_msg" && test X"$OPT_SSL" != Xno; then
 | 
			
		||||
  CLEANCPPFLAGS="$CPPFLAGS"
 | 
			
		||||
  CLEANLIBS="$LIBS"
 | 
			
		||||
 | 
			
		||||
  dnl This is for Msys/Mingw
 | 
			
		||||
  case $host in
 | 
			
		||||
    *-*-msys* | *-*-mingw*)
 | 
			
		||||
      AC_MSG_CHECKING([for gdi32])
 | 
			
		||||
      my_ac_save_LIBS=$LIBS
 | 
			
		||||
      LIBS="-lgdi32 $LIBS"
 | 
			
		||||
      AC_TRY_LINK([#include <windef.h>
 | 
			
		||||
                   #include <wingdi.h>],
 | 
			
		||||
                   [GdiFlush();],
 | 
			
		||||
                   [ dnl worked!
 | 
			
		||||
                   AC_MSG_RESULT([yes])],
 | 
			
		||||
                   [ dnl failed, restore LIBS
 | 
			
		||||
                   LIBS=$my_ac_save_LIBS
 | 
			
		||||
                   AC_MSG_RESULT(no)]
 | 
			
		||||
                  )
 | 
			
		||||
      ;;
 | 
			
		||||
  esac
 | 
			
		||||
 | 
			
		||||
  case "$OPT_SSL" in
 | 
			
		||||
  yes)
 | 
			
		||||
    dnl --with-ssl (without path) used
 | 
			
		||||
@@ -1475,24 +1495,6 @@ if test "$curl_ssl_msg" = "$init_ssl_msg" && test X"$OPT_SSL" != Xno; then
 | 
			
		||||
  CPPFLAGS="$CPPFLAGS $SSL_CPPFLAGS"
 | 
			
		||||
  LDFLAGS="$LDFLAGS $SSL_LDFLAGS"
 | 
			
		||||
 | 
			
		||||
  dnl This is for Msys/Mingw
 | 
			
		||||
  case $host in
 | 
			
		||||
    *-*-msys* | *-*-mingw*)
 | 
			
		||||
      AC_MSG_CHECKING([for gdi32])
 | 
			
		||||
      my_ac_save_LIBS=$LIBS
 | 
			
		||||
      LIBS="-lgdi32 $LIBS"
 | 
			
		||||
      AC_TRY_LINK([#include <windef.h>
 | 
			
		||||
                   #include <wingdi.h>],
 | 
			
		||||
                   [GdiFlush();],
 | 
			
		||||
                   [ dnl worked!
 | 
			
		||||
                   AC_MSG_RESULT([yes])],
 | 
			
		||||
                   [ dnl failed, restore LIBS
 | 
			
		||||
                   LIBS=$my_ac_save_LIBS
 | 
			
		||||
                   AC_MSG_RESULT(no)]
 | 
			
		||||
                  )
 | 
			
		||||
      ;;
 | 
			
		||||
  esac
 | 
			
		||||
 | 
			
		||||
  AC_CHECK_LIB(crypto, HMAC_Update,[
 | 
			
		||||
     HAVECRYPTO="yes"
 | 
			
		||||
     LIBS="-lcrypto $LIBS"
 | 
			
		||||
@@ -1974,6 +1976,93 @@ if test "$curl_ssl_msg" = "$init_ssl_msg"; then
 | 
			
		||||
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
dnl ----------------------------------------------------
 | 
			
		||||
dnl check for mbedTLS
 | 
			
		||||
dnl ----------------------------------------------------
 | 
			
		||||
 | 
			
		||||
OPT_MBEDTLS=no
 | 
			
		||||
 | 
			
		||||
_cppflags=$CPPFLAGS
 | 
			
		||||
_ldflags=$LDFLAGS
 | 
			
		||||
AC_ARG_WITH(mbedtls,dnl
 | 
			
		||||
AC_HELP_STRING([--with-mbedtls=PATH],[where to look for mbedTLS, PATH points to the installation root])
 | 
			
		||||
AC_HELP_STRING([--without-mbedtls], [disable mbedTLS detection]),
 | 
			
		||||
  OPT_MBEDTLS=$withval)
 | 
			
		||||
 | 
			
		||||
if test "$curl_ssl_msg" = "$init_ssl_msg"; then
 | 
			
		||||
 | 
			
		||||
  if test X"$OPT_MBEDTLS" != Xno; then
 | 
			
		||||
 | 
			
		||||
    if test "$OPT_MBEDTLS" = "yes"; then
 | 
			
		||||
      OPT_MBEDTLS=""
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    if test -z "$OPT_MBEDTLS" ; then
 | 
			
		||||
      dnl check for lib first without setting any new path
 | 
			
		||||
 | 
			
		||||
      AC_CHECK_LIB(mbedtls, mbedtls_havege_init,
 | 
			
		||||
      dnl libmbedtls found, set the variable
 | 
			
		||||
       [
 | 
			
		||||
         AC_DEFINE(USE_MBEDTLS, 1, [if mbedTLS is enabled])
 | 
			
		||||
         AC_SUBST(USE_MBEDTLS, [1])
 | 
			
		||||
         MBEDTLS_ENABLED=1
 | 
			
		||||
         USE_MBEDTLS="yes"
 | 
			
		||||
         curl_ssl_msg="enabled (mbedTLS)"
 | 
			
		||||
        ], [], -lmbedx509 -lmbedcrypto)
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    addld=""
 | 
			
		||||
    addlib=""
 | 
			
		||||
    addcflags=""
 | 
			
		||||
    mbedtlslib=""
 | 
			
		||||
 | 
			
		||||
    if test "x$USE_MBEDTLS" != "xyes"; then
 | 
			
		||||
      dnl add the path and test again
 | 
			
		||||
      addld=-L$OPT_MBEDTLS/lib$libsuff
 | 
			
		||||
      addcflags=-I$OPT_MBEDTLS/include
 | 
			
		||||
      mbedtlslib=$OPT_MBEDTLS/lib$libsuff
 | 
			
		||||
 | 
			
		||||
      LDFLAGS="$LDFLAGS $addld"
 | 
			
		||||
      if test "$addcflags" != "-I/usr/include"; then
 | 
			
		||||
         CPPFLAGS="$CPPFLAGS $addcflags"
 | 
			
		||||
      fi
 | 
			
		||||
 | 
			
		||||
      AC_CHECK_LIB(mbedtls, mbedtls_ssl_init,
 | 
			
		||||
       [
 | 
			
		||||
       AC_DEFINE(USE_MBEDTLS, 1, [if mbedTLS is enabled])
 | 
			
		||||
       AC_SUBST(USE_MBEDTLS, [1])
 | 
			
		||||
       MBEDTLS_ENABLED=1
 | 
			
		||||
       USE_MBEDTLS="yes"
 | 
			
		||||
       curl_ssl_msg="enabled (mbedTLS)"
 | 
			
		||||
       ],
 | 
			
		||||
       [
 | 
			
		||||
         CPPFLAGS=$_cppflags
 | 
			
		||||
         LDFLAGS=$_ldflags
 | 
			
		||||
       ], -lmbedx509 -lmbedcrypto)
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    if test "x$USE_MBEDTLS" = "xyes"; then
 | 
			
		||||
      AC_MSG_NOTICE([detected mbedTLS])
 | 
			
		||||
 | 
			
		||||
      LIBS="-lmbedtls -lmbedx509 -lmbedcrypto $LIBS"
 | 
			
		||||
 | 
			
		||||
      if test -n "$mbedtlslib"; then
 | 
			
		||||
        dnl when shared libs were found in a path that the run-time
 | 
			
		||||
        dnl linker doesn't search through, we need to add it to
 | 
			
		||||
        dnl LD_LIBRARY_PATH to prevent further configure tests to fail
 | 
			
		||||
        dnl due to this
 | 
			
		||||
        if test "x$cross_compiling" != "xyes"; then
 | 
			
		||||
          LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$mbedtlslib"
 | 
			
		||||
          export LD_LIBRARY_PATH
 | 
			
		||||
          AC_MSG_NOTICE([Added $mbedtlslib to LD_LIBRARY_PATH])
 | 
			
		||||
        fi
 | 
			
		||||
      fi
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
  fi dnl mbedTLS not disabled
 | 
			
		||||
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
dnl ----------------------------------------------------
 | 
			
		||||
dnl check for CyaSSL
 | 
			
		||||
dnl ----------------------------------------------------
 | 
			
		||||
@@ -2298,7 +2387,7 @@ if test "$curl_ssl_msg" = "$init_ssl_msg"; then
 | 
			
		||||
  fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test "x$OPENSSL_ENABLED$GNUTLS_ENABLED$NSS_ENABLED$POLARSSL_ENABLED$AXTLS_ENABLED$CYASSL_ENABLED$WINSSL_ENABLED$DARWINSSL_ENABLED" = "x"; then
 | 
			
		||||
if test "x$OPENSSL_ENABLED$GNUTLS_ENABLED$NSS_ENABLED$POLARSSL_ENABLED$MBEDTLS_ENABLED$AXTLS_ENABLED$CYASSL_ENABLED$WINSSL_ENABLED$DARWINSSL_ENABLED" = "x"; then
 | 
			
		||||
  AC_MSG_WARN([SSL disabled, you will not be able to use HTTPS, FTPS, NTLM and more.])
 | 
			
		||||
  AC_MSG_WARN([Use --with-ssl, --with-gnutls, --with-polarssl, --with-cyassl, --with-nss, --with-axtls, --with-winssl, or --with-darwinssl to address this.])
 | 
			
		||||
else
 | 
			
		||||
@@ -2313,6 +2402,27 @@ dnl **********************************************************************
 | 
			
		||||
 | 
			
		||||
CURL_CHECK_CA_BUNDLE
 | 
			
		||||
 | 
			
		||||
dnl **********************************************************************
 | 
			
		||||
dnl Check for libpsl
 | 
			
		||||
dnl **********************************************************************
 | 
			
		||||
 | 
			
		||||
AC_ARG_WITH(libpsl,
 | 
			
		||||
           AS_HELP_STRING([--without-libpsl],
 | 
			
		||||
           [disable support for libpsl cookie checking]),
 | 
			
		||||
           with_libpsl=$withval,
 | 
			
		||||
           with_libpsl=yes)
 | 
			
		||||
if test $with_libpsl != "no"; then
 | 
			
		||||
  AC_SEARCH_LIBS(psl_builtin, psl,
 | 
			
		||||
    [curl_psl_msg="yes";
 | 
			
		||||
     AC_DEFINE([USE_LIBPSL], [1], [PSL support enabled])
 | 
			
		||||
     ],
 | 
			
		||||
    [curl_psl_msg="no      (libpsl not found)";
 | 
			
		||||
     AC_MSG_WARN([libpsl was not found])
 | 
			
		||||
     ]
 | 
			
		||||
  )
 | 
			
		||||
fi
 | 
			
		||||
AM_CONDITIONAL([USE_LIBPSL], [test "$curl_psl_msg" = "yes"])
 | 
			
		||||
 | 
			
		||||
dnl **********************************************************************
 | 
			
		||||
dnl Check for libmetalink
 | 
			
		||||
dnl **********************************************************************
 | 
			
		||||
@@ -2920,6 +3030,31 @@ if test X"$want_h2" != Xno; then
 | 
			
		||||
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
dnl **********************************************************************
 | 
			
		||||
dnl Check for zsh completion path
 | 
			
		||||
dnl **********************************************************************
 | 
			
		||||
 | 
			
		||||
OPT_ZSH_FPATH=default
 | 
			
		||||
AC_ARG_WITH(zsh-functions-dir,
 | 
			
		||||
AC_HELP_STRING([--with-zsh-functions-dir=PATH],[Install zsh completions to PATH])
 | 
			
		||||
AC_HELP_STRING([--without-zsh-functions-dir],[Do not install zsh completions]),
 | 
			
		||||
  [OPT_ZSH_FPATH=$withval])
 | 
			
		||||
case "$OPT_ZSH_FPATH" in
 | 
			
		||||
  no)
 | 
			
		||||
    dnl --without-zsh-functions-dir option used
 | 
			
		||||
    ;;
 | 
			
		||||
  default|yes)
 | 
			
		||||
    dnl --with-zsh-functions-dir option used without path
 | 
			
		||||
    ZSH_FUNCTIONS_DIR="$datarootdir/zsh/site-functions"
 | 
			
		||||
    AC_SUBST(ZSH_FUNCTIONS_DIR)
 | 
			
		||||
    ;;
 | 
			
		||||
  *)
 | 
			
		||||
    dnl --with-zsh-functions-dir option used with path
 | 
			
		||||
    ZSH_FUNCTIONS_DIR="$withval"
 | 
			
		||||
    AC_SUBST(ZSH_FUNCTIONS_DIR)
 | 
			
		||||
    ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
dnl **********************************************************************
 | 
			
		||||
dnl Back to "normal" configuring
 | 
			
		||||
dnl **********************************************************************
 | 
			
		||||
@@ -3536,6 +3671,10 @@ if test "x$HAVE_GSSAPI" = "x1"; then
 | 
			
		||||
  SUPPORT_FEATURES="$SUPPORT_FEATURES GSS-API"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test "x$curl_psl_msg" = "xyes"; then
 | 
			
		||||
  SUPPORT_FEATURES="$SUPPORT_FEATURES PSL"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test "x$CURL_DISABLE_CRYPTO_AUTH" != "x1" -a \
 | 
			
		||||
    \( "x$HAVE_GSSAPI" = "x1" -o "x$USE_WINDOWS_SSPI" = "x1" \); then
 | 
			
		||||
  SUPPORT_FEATURES="$SUPPORT_FEATURES SPNEGO"
 | 
			
		||||
@@ -3683,6 +3822,7 @@ AC_CONFIG_FILES([Makefile \
 | 
			
		||||
           include/curl/Makefile \
 | 
			
		||||
           src/Makefile \
 | 
			
		||||
           lib/Makefile \
 | 
			
		||||
           scripts/Makefile \
 | 
			
		||||
           lib/libcurl.vers \
 | 
			
		||||
           tests/Makefile \
 | 
			
		||||
           tests/certs/Makefile \
 | 
			
		||||
@@ -3741,6 +3881,7 @@ AC_MSG_NOTICE([Configured to build curl/libcurl:
 | 
			
		||||
  RTSP support:     ${curl_rtsp_msg}
 | 
			
		||||
  RTMP support:     ${curl_rtmp_msg}
 | 
			
		||||
  metalink support: ${curl_mtlnk_msg}
 | 
			
		||||
  PSL support:      ${curl_psl_msg}
 | 
			
		||||
  HTTP2 support:    ${curl_h2_msg}
 | 
			
		||||
  Protocols:        ${SUPPORT_PROTOCOLS}
 | 
			
		||||
])
 | 
			
		||||
 
 | 
			
		||||
@@ -1,176 +0,0 @@
 | 
			
		||||
  Date: February 11, 2007
 | 
			
		||||
  Author: Daniel Stenberg <daniel@haxx.se>
 | 
			
		||||
  URL: http://curl.haxx.se/legal/distro-dilemma.html
 | 
			
		||||
 | 
			
		||||
Condition
 | 
			
		||||
 | 
			
		||||
 This document is written to describe the situation as it is right now.
 | 
			
		||||
 libcurl 7.16.1 is currently the latest version available. Things may of
 | 
			
		||||
 course change in the future.
 | 
			
		||||
 | 
			
		||||
 This document reflects my view and understanding of these things. Please tell
 | 
			
		||||
 me where and how you think I'm wrong, and I'll try to correct my mistakes.
 | 
			
		||||
 | 
			
		||||
Background
 | 
			
		||||
 | 
			
		||||
 The Free Software Foundation has deemed the Original BSD license[1] to be
 | 
			
		||||
 "incompatible"[2] with GPL[3]. I'd rather say it is the other way around, but
 | 
			
		||||
 the point is the same: if you distribute a binary version of a GPL program,
 | 
			
		||||
 it MUST NOT be linked with any Original BSD-licensed parts or libraries.
 | 
			
		||||
 Doing so will violate the GPL license. For a long time, very many GPL
 | 
			
		||||
 licensed programs have avoided this license mess by adding an exception[8] to
 | 
			
		||||
 their license. And many others have just closed their eyes for this problem.
 | 
			
		||||
 | 
			
		||||
 libcurl is MIT-style[4] licensed - how on earth did this dilemma fall onto
 | 
			
		||||
 our plates?
 | 
			
		||||
 | 
			
		||||
 libcurl is only a little library. libcurl can be built to use OpenSSL for its
 | 
			
		||||
 SSL/TLS capabilities. OpenSSL is basically Original BSD licensed[5].
 | 
			
		||||
 | 
			
		||||
 If libcurl built to use OpenSSL is used by a GPL-licensed application and you
 | 
			
		||||
 decide to distribute a binary version of it (Linux distros - for example -
 | 
			
		||||
 tend to), you have a clash. GPL vs Original BSD.
 | 
			
		||||
 | 
			
		||||
 This dilemma is not libcurl-specific nor is it specific to any particular
 | 
			
		||||
 Linux distro. (This article mentions and refers to Debian several times, but
 | 
			
		||||
 only because Debian seems to be the only Linux distro to have faced this
 | 
			
		||||
 issue yet since no other distro is shipping libcurl built with two SSL
 | 
			
		||||
 libraries.)
 | 
			
		||||
 | 
			
		||||
Part of the Operating System
 | 
			
		||||
 | 
			
		||||
 This would not be a problem if the used lib would be considered part of the
 | 
			
		||||
 underlying operating system, as then the GPL license has an exception
 | 
			
		||||
 clause[6] that allows applications to use such libs without having to be
 | 
			
		||||
 allowed to distribute it or its sources. Possibly some distros will claim
 | 
			
		||||
 that OpenSSL is part of their operating system.
 | 
			
		||||
 | 
			
		||||
 Debian does however not take this stance and has officially(?) claimed that
 | 
			
		||||
 OpenSSL is not a required part of the Debian operating system
 | 
			
		||||
 | 
			
		||||
 Some people claim that this paragraph cannot be exploited this way by a Linux
 | 
			
		||||
 distro, but I am not a lawyer and that is a discussion left outside of this
 | 
			
		||||
 document.
 | 
			
		||||
 | 
			
		||||
GnuTLS
 | 
			
		||||
 | 
			
		||||
 Since May 2005 libcurl can get built to use GnuTLS instead of OpenSSL. GnuTLS
 | 
			
		||||
 is an LGPL[7] licensed library that offers a matching set of features as
 | 
			
		||||
 OpenSSL does. Now, you can build and distribute an TLS/SSL capable libcurl
 | 
			
		||||
 without including any Original BSD licensed code.
 | 
			
		||||
 | 
			
		||||
 I believe Debian is the first (only?) distro that provides libcurl/GnuTLS
 | 
			
		||||
 packages.
 | 
			
		||||
 | 
			
		||||
yassl
 | 
			
		||||
 | 
			
		||||
 libcurl can get also get built to use yassl for the TLS/SSL layer. yassl is a
 | 
			
		||||
 GPL[3] licensed library.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
GnuTLS vs OpenSSL vs yassl
 | 
			
		||||
 | 
			
		||||
 While these three libraries offer similar features, they are not equal.
 | 
			
		||||
 libcurl does not (yet) offer a standardized stable ABI if you decide to
 | 
			
		||||
 switch from using libcurl-openssl to libcurl-gnutls or vice-versa. The GnuTLS
 | 
			
		||||
 and yassl support is very recent in libcurl and it has not been tested nor
 | 
			
		||||
 used very extensively, while the OpenSSL equivalent code has been used and
 | 
			
		||||
 thus matured since 1999.
 | 
			
		||||
 | 
			
		||||
 GnuTLS
 | 
			
		||||
   - LGPL licensed
 | 
			
		||||
   - supports SRP
 | 
			
		||||
   - lacks SSLv2 support
 | 
			
		||||
   - lacks MD2 support (used by at least some CA certs)
 | 
			
		||||
   - lacks the crypto functions libcurl uses for NTLM
 | 
			
		||||
 | 
			
		||||
 OpenSSL
 | 
			
		||||
   - Original BSD licensed
 | 
			
		||||
   - lacks SRP
 | 
			
		||||
   - supports SSLv2
 | 
			
		||||
   - older and more widely used
 | 
			
		||||
   - provides crypto functions libcurl uses for NTLM
 | 
			
		||||
   - libcurl can do non-blocking connects with it in 7.15.4 and later
 | 
			
		||||
 | 
			
		||||
 yassl
 | 
			
		||||
   - GPL licensed
 | 
			
		||||
   - much untested and unproven in the real work by (lib)curl users so we don't
 | 
			
		||||
     know a lot about restrictions or benefits from using this
 | 
			
		||||
 | 
			
		||||
The Better License, Original BSD, GPL or LGPL?
 | 
			
		||||
 | 
			
		||||
 It isn't obvious or without debate to any objective interested party that
 | 
			
		||||
 either of these licenses are the "better" or even the "preferred" one in a
 | 
			
		||||
 generic situation.
 | 
			
		||||
 | 
			
		||||
 Instead, I think we should accept the fact that the SSL/TLS libraries and
 | 
			
		||||
 their different licenses will fit different applications and their authors
 | 
			
		||||
 differently depending on the applications' licenses and their general usage
 | 
			
		||||
 pattern (considering how GPL and LGPL libraries for example can be burdensome
 | 
			
		||||
 for embedded systems usage).
 | 
			
		||||
 | 
			
		||||
 In Debian land, there seems to be a common opinion that LGPL is "maximally
 | 
			
		||||
 compatible" with apps while Original BSD is not. Like this:
 | 
			
		||||
 | 
			
		||||
        https://lists.debian.org/debian-devel/2005/09/msg01417.html
 | 
			
		||||
 | 
			
		||||
More SSL Libraries
 | 
			
		||||
 | 
			
		||||
 In libcurl, there's no stopping us here. There are more Open Source/Free
 | 
			
		||||
 SSL/TLS libraries out there and we would very much like to support them as
 | 
			
		||||
 well, to offer application authors an even wider scope of choice.
 | 
			
		||||
 | 
			
		||||
Application Angle of this Problem
 | 
			
		||||
 | 
			
		||||
 libcurl is built to use one SSL/TLS library. It uses a single fixed name (by
 | 
			
		||||
 default) on the built/created lib file, and applications are built/linked to
 | 
			
		||||
 use that single lib. Replacing one libcurl instance with another one that
 | 
			
		||||
 uses the other SSL/TLS library might break one or more applications (due to
 | 
			
		||||
 ABI differences and/or different feature set). You want your application to
 | 
			
		||||
 use the libcurl it was built for.
 | 
			
		||||
 | 
			
		||||
Project cURL Angle of this Problem
 | 
			
		||||
 | 
			
		||||
 We distribute libcurl and everyone may build libcurl with either library at
 | 
			
		||||
 their choice. This problem is not directly a problem of ours. It merely
 | 
			
		||||
 affects users - GPL application authors only - of our lib as it comes
 | 
			
		||||
 included and delivered on some distros.
 | 
			
		||||
 | 
			
		||||
 libcurl has different ABI when built with different SSL/TLS libraries due to
 | 
			
		||||
 these reasons:
 | 
			
		||||
 | 
			
		||||
 1. No one has worked on fixing this. The mutex/lock callbacks should be set
 | 
			
		||||
    with a generic libcurl function that should use the proper underlying
 | 
			
		||||
    functions.
 | 
			
		||||
 | 
			
		||||
 2. The CURLOPT_SSL_CTX_FUNCTION option is not possible to "emulate" on GnuTLS
 | 
			
		||||
    but simply requires OpenSSL.
 | 
			
		||||
 | 
			
		||||
 3. There might be some other subtle differences just because nobody has yet
 | 
			
		||||
    tried to make a fixed ABI like this.
 | 
			
		||||
 | 
			
		||||
Distro Angle of this Problem
 | 
			
		||||
 | 
			
		||||
 To my knowledge there is only one distro that ships libcurl built with either
 | 
			
		||||
 OpenSSL or GnuTLS.
 | 
			
		||||
 | 
			
		||||
 Debian Linux is now (since mid September 2005) providing two different
 | 
			
		||||
 libcurl packages, one for libcurl built with OpenSSL and one built with
 | 
			
		||||
 GnuTLS. They use different .so names and can this both be installed in a
 | 
			
		||||
 single system simultaneously. This has been said to be a transitional system
 | 
			
		||||
 not desired to keep in the long run.
 | 
			
		||||
 | 
			
		||||
Footnotes
 | 
			
		||||
 | 
			
		||||
 [1] = http://www.xfree86.org/3.3.6/COPYRIGHT2.html#6
 | 
			
		||||
 [2] = https://www.gnu.org/philosophy/bsd.html
 | 
			
		||||
 [3] = https://www.gnu.org/licenses/gpl.html
 | 
			
		||||
 [4] = http://curl.haxx.se/docs/copyright.html
 | 
			
		||||
 [5] = https://www.openssl.org/source/license.html
 | 
			
		||||
 [6] = https://www.gnu.org/licenses/gpl.html end of section 3
 | 
			
		||||
 [7] = https://www.gnu.org/licenses/lgpl.html
 | 
			
		||||
 [8] = https://en.wikipedia.org/wiki/OpenSSL_exception
 | 
			
		||||
 | 
			
		||||
Feedback/Updates provided by
 | 
			
		||||
 | 
			
		||||
 Eric Cooper
 | 
			
		||||
							
								
								
									
										12
									
								
								docs/FAQ
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								docs/FAQ
									
									
									
									
									
								
							@@ -1536,9 +1536,7 @@ FAQ
 | 
			
		||||
 | 
			
		||||
  7.2 Who wrote PHP/CURL?
 | 
			
		||||
 | 
			
		||||
  PHP/CURL is a module that comes with the regular PHP package. It depends and
 | 
			
		||||
  uses libcurl, so you need to have libcurl installed properly first before
 | 
			
		||||
  PHP/CURL can be used. PHP/CURL was initially written by Sterling Hughes.
 | 
			
		||||
  PHP/CURL was initially written by Sterling Hughes.
 | 
			
		||||
 | 
			
		||||
  7.3 Can I perform multiple requests using the same handle?
 | 
			
		||||
 | 
			
		||||
@@ -1547,4 +1545,10 @@ FAQ
 | 
			
		||||
  unknown to me).
 | 
			
		||||
 | 
			
		||||
  After a transfer, you just set new options in the handle and make another
 | 
			
		||||
  transfer. This will make libcurl to re-use the same connection if it can.
 | 
			
		||||
  transfer. This will make libcurl re-use the same connection if it can.
 | 
			
		||||
 | 
			
		||||
  7.4 Does PHP/CURL have dependencies?
 | 
			
		||||
 | 
			
		||||
  PHP/CURL is a module that comes with the regular PHP package. It depends on
 | 
			
		||||
  and uses libcurl, so you need to have libcurl installed properly before
 | 
			
		||||
  PHP/CURL can be used.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										15
									
								
								docs/INSTALL
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								docs/INSTALL
									
									
									
									
									
								
							@@ -950,9 +950,10 @@ REDUCING SIZE
 | 
			
		||||
   important factor.  First, be sure to set the CFLAGS variable when
 | 
			
		||||
   configuring with any relevant compiler optimization flags to reduce the
 | 
			
		||||
   size of the binary.  For gcc, this would mean at minimum the -Os option,
 | 
			
		||||
   and potentially the -march=X and -mdynamic-no-pic options as well, e.g.
 | 
			
		||||
   and potentially the -march=X, -mdynamic-no-pic and -flto options as well,
 | 
			
		||||
   e.g.
 | 
			
		||||
 | 
			
		||||
      ./configure CFLAGS='-Os' ...
 | 
			
		||||
      ./configure CFLAGS='-Os' LDFLAGS='-Wl,-Bsymbolic'...
 | 
			
		||||
 | 
			
		||||
   Note that newer compilers often produce smaller code than older versions
 | 
			
		||||
   due to improved optimization.
 | 
			
		||||
@@ -970,7 +971,9 @@ REDUCING SIZE
 | 
			
		||||
     --disable-ipv6 (disables support for IPv6)
 | 
			
		||||
     --disable-manual (disables support for the built-in documentation)
 | 
			
		||||
     --disable-proxy (disables support for HTTP and SOCKS proxies)
 | 
			
		||||
     --disable-unix-sockets (disables support for UNIX sockets)
 | 
			
		||||
     --disable-verbose (eliminates debugging strings and error code strings)
 | 
			
		||||
     --disable-versioned-symbols (disables support for versioned symbols)
 | 
			
		||||
     --enable-hidden-symbols (eliminates unneeded symbols in the shared library)
 | 
			
		||||
     --without-libidn (disables support for the libidn DNS library)
 | 
			
		||||
     --without-librtmp (disables support for RTMP)
 | 
			
		||||
@@ -983,7 +986,7 @@ REDUCING SIZE
 | 
			
		||||
   configure command-line, e.g.
 | 
			
		||||
 | 
			
		||||
     CFLAGS="-Os -ffunction-sections -fdata-sections \
 | 
			
		||||
             -fno-unwind-tables -fno-asynchronous-unwind-tables" \
 | 
			
		||||
             -fno-unwind-tables -fno-asynchronous-unwind-tables -flto" \
 | 
			
		||||
     LDFLAGS="-Wl,-s -Wl,-Bsymbolic -Wl,--gc-sections"
 | 
			
		||||
 | 
			
		||||
   Be sure also to strip debugging symbols from your binaries after
 | 
			
		||||
@@ -993,9 +996,9 @@ REDUCING SIZE
 | 
			
		||||
   .comment section).
 | 
			
		||||
 | 
			
		||||
   Using these techniques it is possible to create a basic HTTP-only shared
 | 
			
		||||
   libcurl library for i386 Linux platforms that is only 114 KiB in size, and
 | 
			
		||||
   an FTP-only library that is 115 KiB in size (as of libcurl version 7.35.0,
 | 
			
		||||
   using gcc 4.8.2).
 | 
			
		||||
   libcurl library for i386 Linux platforms that is only 109 KiB in size, and
 | 
			
		||||
   an FTP-only library that is 109 KiB in size (as of libcurl version 7.45.0,
 | 
			
		||||
   using gcc 4.9.2).
 | 
			
		||||
 | 
			
		||||
   You may find that statically linking libcurl to your application will
 | 
			
		||||
   result in a lower total size than dynamically linking.
 | 
			
		||||
 
 | 
			
		||||
@@ -33,22 +33,22 @@ SUBDIRS = examples libcurl
 | 
			
		||||
 | 
			
		||||
CLEANFILES = $(GENHTMLPAGES) $(PDFPAGES)
 | 
			
		||||
 | 
			
		||||
EXTRA_DIST = MANUAL BUGS CONTRIBUTE FAQ FEATURES INTERNALS SSLCERTS	 \
 | 
			
		||||
 README.win32 RESOURCES TODO TheArtOfHttpScripting THANKS VERSIONS	 \
 | 
			
		||||
 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 CODE_OF_CONDUCT.md
 | 
			
		||||
EXTRA_DIST = MANUAL BUGS CONTRIBUTE FAQ FEATURES INTERNALS SSLCERTS	\
 | 
			
		||||
 README.win32 RESOURCES TODO TheArtOfHttpScripting THANKS VERSIONS	\
 | 
			
		||||
 KNOWN_BUGS BINDINGS $(man_MANS) $(HTMLPAGES) HISTORY INSTALL		\
 | 
			
		||||
 $(PDFPAGES) LICENSE-MIXING README.netware INSTALL.devcpp		\
 | 
			
		||||
 MAIL-ETIQUETTE HTTP-COOKIES SECURITY RELEASE-PROCEDURE SSL-PROBLEMS	\
 | 
			
		||||
 HTTP2.md ROADMAP.md CODE_OF_CONDUCT.md
 | 
			
		||||
 | 
			
		||||
MAN2HTML= roffit < $< >$@
 | 
			
		||||
 | 
			
		||||
SUFFIXES = .1 .html .pdf
 | 
			
		||||
 | 
			
		||||
html: $(HTMLPAGES)
 | 
			
		||||
	cd libcurl; make html
 | 
			
		||||
	cd libcurl && make html
 | 
			
		||||
 | 
			
		||||
pdf: $(PDFPAGES)
 | 
			
		||||
	cd libcurl; make pdf
 | 
			
		||||
	cd libcurl && make pdf
 | 
			
		||||
 | 
			
		||||
.1.html:
 | 
			
		||||
	$(MAN2HTML)
 | 
			
		||||
 
 | 
			
		||||
@@ -24,6 +24,8 @@ in the source code repo
 | 
			
		||||
 | 
			
		||||
- upload the 8 resulting files to the primary download directory
 | 
			
		||||
 | 
			
		||||
- upload the 4 tarballs to github for the HTTPS download
 | 
			
		||||
 | 
			
		||||
in the curl-www repo
 | 
			
		||||
--------------------
 | 
			
		||||
 | 
			
		||||
@@ -78,9 +80,7 @@ Coming dates
 | 
			
		||||
Based on the description above, here are some planned release dates (at the
 | 
			
		||||
time of this writing):
 | 
			
		||||
 | 
			
		||||
- June 17, 2015 (version 7.43.0)
 | 
			
		||||
- August 12, 2015
 | 
			
		||||
- October 7, 2015
 | 
			
		||||
- October 7, 2015 (version 7.45.0)
 | 
			
		||||
- December 2, 2015
 | 
			
		||||
- January 27, 2016
 | 
			
		||||
- March 23, 2016
 | 
			
		||||
 
 | 
			
		||||
@@ -18,20 +18,6 @@ HTTP/2
 | 
			
		||||
   To decide: if we need to bundle parts of the nghttp2 stuff that probably
 | 
			
		||||
   won't be shipped by many distros.
 | 
			
		||||
 | 
			
		||||
- stream properties API
 | 
			
		||||
 | 
			
		||||
   Provide options for setting priorities and dependencies among the streams
 | 
			
		||||
   (easy handles). They are mostly information set for the stream and sent to
 | 
			
		||||
   the server so we don't have to add much logic for this.
 | 
			
		||||
 | 
			
		||||
- server push
 | 
			
		||||
 | 
			
		||||
   Not exactly clear exactly how to support this API-wise, but by adding
 | 
			
		||||
   handles without asking for a resource it could be a way to be prepared to
 | 
			
		||||
   receive pushes in case such are sent. We probably need it to still specify
 | 
			
		||||
   a URL with host name, port etc but we probably need a special option to
 | 
			
		||||
   tell libcurl it is for server push purposes.
 | 
			
		||||
 | 
			
		||||
- provide option for HTTP/2 "prior knowledge" over clear text
 | 
			
		||||
 | 
			
		||||
   As it would avoid the roundtrip-heavy Upgrade: procedures when you _know_
 | 
			
		||||
@@ -117,7 +103,7 @@ Improve
 | 
			
		||||
 | 
			
		||||
2. curl -h output (considered overwhelming to users)
 | 
			
		||||
 | 
			
		||||
3. we have > 160 command line options, is there a way to redo things to
 | 
			
		||||
3. we have > 170 command line options, is there a way to redo things to
 | 
			
		||||
   simplify or improve the situation as we are likely to keep adding
 | 
			
		||||
   features/options in the future too
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										20
									
								
								docs/THANKS
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								docs/THANKS
									
									
									
									
									
								
							@@ -262,6 +262,7 @@ Daniel Lee Hwang
 | 
			
		||||
Daniel Melani
 | 
			
		||||
Daniel Mentz
 | 
			
		||||
Daniel Seither
 | 
			
		||||
Daniel Shahaf
 | 
			
		||||
Daniel Steinberg
 | 
			
		||||
Daniel Stenberg
 | 
			
		||||
Daniel Theron
 | 
			
		||||
@@ -275,6 +276,7 @@ Dave May
 | 
			
		||||
Dave Reisner
 | 
			
		||||
Dave Thompson
 | 
			
		||||
Dave Vasilevsky
 | 
			
		||||
Davey Shafik
 | 
			
		||||
David Bau
 | 
			
		||||
David Binderman
 | 
			
		||||
David Blaikie
 | 
			
		||||
@@ -328,12 +330,14 @@ Dmitry Falko
 | 
			
		||||
Dmitry Kurochkin
 | 
			
		||||
Dmitry Popov
 | 
			
		||||
Dmitry Rechkin
 | 
			
		||||
Dmitry S. Baikov
 | 
			
		||||
Dolbneff A.V
 | 
			
		||||
Domenico Andreoli
 | 
			
		||||
Dominick Meglio
 | 
			
		||||
Dominique Leuenberger
 | 
			
		||||
Doug Kaufman
 | 
			
		||||
Doug Porter
 | 
			
		||||
Douglas Creager
 | 
			
		||||
Douglas E. Wegscheid
 | 
			
		||||
Douglas Kilpatrick
 | 
			
		||||
Douglas R. Horner
 | 
			
		||||
@@ -398,6 +402,7 @@ Feist Josselin
 | 
			
		||||
Felix Yan
 | 
			
		||||
Felix von Leitner
 | 
			
		||||
Feng Tu
 | 
			
		||||
Flavio Medeiros
 | 
			
		||||
Florian Schoppmann
 | 
			
		||||
Florian Weimer
 | 
			
		||||
Forrest Cahoon
 | 
			
		||||
@@ -549,6 +554,7 @@ Jason Liu
 | 
			
		||||
Jason McDonald
 | 
			
		||||
Jason S. Priebe
 | 
			
		||||
Javier Barroso
 | 
			
		||||
Javier G. Sogo
 | 
			
		||||
Jay Austin
 | 
			
		||||
Jayesh A Shah
 | 
			
		||||
Jaz Fresh
 | 
			
		||||
@@ -615,6 +621,7 @@ John Janssen
 | 
			
		||||
John Joseph Bachir
 | 
			
		||||
John Kelly
 | 
			
		||||
John Lask
 | 
			
		||||
John Levon
 | 
			
		||||
John Lightsey
 | 
			
		||||
John Marino
 | 
			
		||||
John Marshall
 | 
			
		||||
@@ -633,6 +640,7 @@ Jon Torrey
 | 
			
		||||
Jon Travis
 | 
			
		||||
Jon Turner
 | 
			
		||||
Jonas Forsman
 | 
			
		||||
Jonas Minnberg
 | 
			
		||||
Jonas Schnelli
 | 
			
		||||
Jonatan Lander
 | 
			
		||||
Jonatan Vela
 | 
			
		||||
@@ -661,6 +669,7 @@ Julien Nabet
 | 
			
		||||
Julien Royer
 | 
			
		||||
Jun-ichiro itojun Hagino
 | 
			
		||||
Jurij Smakov
 | 
			
		||||
Justin Ehlert
 | 
			
		||||
Justin Fletcher
 | 
			
		||||
Justin Karneges
 | 
			
		||||
Justin Maggard
 | 
			
		||||
@@ -672,6 +681,7 @@ Kai Sommerfeld
 | 
			
		||||
Kai-Uwe Rommel
 | 
			
		||||
Kalle Vahlman
 | 
			
		||||
Kamil Dudka
 | 
			
		||||
Kang Lin
 | 
			
		||||
Kang-Jin Lee
 | 
			
		||||
Karl Moerder
 | 
			
		||||
Karol Pietrzak
 | 
			
		||||
@@ -703,6 +713,7 @@ Krishnendu Majumdar
 | 
			
		||||
Krister Johansen
 | 
			
		||||
Kristian Gunstone
 | 
			
		||||
Kristian Köhntopp
 | 
			
		||||
Kurt Fankhauser
 | 
			
		||||
Kyle J. McKay
 | 
			
		||||
Kyle L. Huff
 | 
			
		||||
Kyle Sallee
 | 
			
		||||
@@ -719,6 +730,7 @@ Lars Nilsson
 | 
			
		||||
Lars Torben Wilson
 | 
			
		||||
Lau Hang Kin
 | 
			
		||||
Laurent Rabret
 | 
			
		||||
Lauri Kasanen
 | 
			
		||||
Legoff Vincent
 | 
			
		||||
Lehel Bernadt
 | 
			
		||||
Leif W
 | 
			
		||||
@@ -747,6 +759,7 @@ Lucas Adamski
 | 
			
		||||
Lucas Pardue
 | 
			
		||||
Ludek Finstrle
 | 
			
		||||
Ludovico Cavedon
 | 
			
		||||
Lukas Ruzicka
 | 
			
		||||
Lukasz Czekierda
 | 
			
		||||
Luke Amery
 | 
			
		||||
Luke Call
 | 
			
		||||
@@ -855,6 +868,7 @@ Michal Marek
 | 
			
		||||
Michał Fita
 | 
			
		||||
Michał Górny
 | 
			
		||||
Michał Kowalczyk
 | 
			
		||||
Michał Piechowski
 | 
			
		||||
Michel Promonet
 | 
			
		||||
Michele Bini
 | 
			
		||||
Miguel Angel
 | 
			
		||||
@@ -913,6 +927,7 @@ Nis Jorgensen
 | 
			
		||||
Nobuhiro Ban
 | 
			
		||||
Nodak Sodak
 | 
			
		||||
Norbert Frese
 | 
			
		||||
Norbert Kett
 | 
			
		||||
Norbert Novotny
 | 
			
		||||
Ofer
 | 
			
		||||
Ola Mork
 | 
			
		||||
@@ -1049,6 +1064,7 @@ Richard Bramante
 | 
			
		||||
Richard Clayton
 | 
			
		||||
Richard Cooper
 | 
			
		||||
Richard Gorton
 | 
			
		||||
Richard Hosking
 | 
			
		||||
Richard Michael
 | 
			
		||||
Richard Moore
 | 
			
		||||
Richard Prescott
 | 
			
		||||
@@ -1122,6 +1138,7 @@ Scott Cantor
 | 
			
		||||
Scott Davis
 | 
			
		||||
Scott McCreary
 | 
			
		||||
Sean Boudreau
 | 
			
		||||
Sebastian Pohlschmidt
 | 
			
		||||
Sebastian Rasmussen
 | 
			
		||||
Senthil Raja Velu
 | 
			
		||||
Sergei Nikulov
 | 
			
		||||
@@ -1213,7 +1230,7 @@ Tim Costello
 | 
			
		||||
Tim Harder
 | 
			
		||||
Tim Heckman
 | 
			
		||||
Tim Newsome
 | 
			
		||||
Tim Ruehsen
 | 
			
		||||
Tim Rühsen
 | 
			
		||||
Tim Sneddon
 | 
			
		||||
Tim Stack
 | 
			
		||||
Tim Starling
 | 
			
		||||
@@ -1302,6 +1319,7 @@ Wojciech Zwiefka
 | 
			
		||||
Wouter Van Rooy
 | 
			
		||||
Wu Yongzheng
 | 
			
		||||
Xavier Bouchoux
 | 
			
		||||
Xiangbin Li
 | 
			
		||||
Yaakov Selkowitz
 | 
			
		||||
Yamada Yasuharu
 | 
			
		||||
Yang Tse
 | 
			
		||||
 
 | 
			
		||||
@@ -51,3 +51,4 @@ s/Viktor Szakats/Viktor Szakáts/
 | 
			
		||||
s/Jonathan Cardoso/Jonathan Cardoso Machado/
 | 
			
		||||
s/Linus Nielsen/Linus Nielsen Feltzing/
 | 
			
		||||
s/Todd Ouska$/Todd A Ouska/
 | 
			
		||||
s/Tim Ruehsen/Tim Rühsen/
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										97
									
								
								docs/TODO
									
									
									
									
									
								
							
							
						
						
									
										97
									
								
								docs/TODO
									
									
									
									
									
								
							@@ -27,11 +27,16 @@
 | 
			
		||||
 1.9 Cache negative name resolves
 | 
			
		||||
 1.10 Support IDNA2008
 | 
			
		||||
 1.11 minimize dependencies with dynamicly loaded modules
 | 
			
		||||
 1.12 have form functions use CURL handle argument
 | 
			
		||||
 1.13 Add CURLOPT_MAIL_CLIENT option
 | 
			
		||||
 1.14 Typesafe curl_easy_setopt()
 | 
			
		||||
 1.15 TCP Fast Open
 | 
			
		||||
 | 
			
		||||
 2. libcurl - multi interface
 | 
			
		||||
 2.1 More non-blocking
 | 
			
		||||
 2.2 Fix HTTP Pipelining for PUT
 | 
			
		||||
 2.3 Better support for same name resolves
 | 
			
		||||
 2.2 Better support for same name resolves
 | 
			
		||||
 2.3 Non-blocking curl_multi_remove_handle()
 | 
			
		||||
 2.4 Split connect and authentication process
 | 
			
		||||
 | 
			
		||||
 3. Documentation
 | 
			
		||||
 3.1 Update date and version in man pages
 | 
			
		||||
@@ -141,8 +146,6 @@
 | 
			
		||||
 21.6 remove CURLOPT_DNS_USE_GLOBAL_CACHE
 | 
			
		||||
 21.7 remove progress meter from libcurl
 | 
			
		||||
 21.8 remove 'curl_httppost' from public
 | 
			
		||||
 21.9 have form functions use CURL handle argument
 | 
			
		||||
 21.10 Add CURLOPT_MAIL_CLIENT option
 | 
			
		||||
 | 
			
		||||
==============================================================================
 | 
			
		||||
 | 
			
		||||
@@ -236,6 +239,51 @@
 | 
			
		||||
 app/invoke/used protocols would be necessary to load.  See
 | 
			
		||||
 https://github.com/bagder/curl/issues/349
 | 
			
		||||
 | 
			
		||||
1.12 have form functions use CURL handle argument
 | 
			
		||||
 | 
			
		||||
 curl_formadd() and curl_formget() both currently have no CURL handle
 | 
			
		||||
 argument, but both can use a callback that is set in the easy handle, and
 | 
			
		||||
 thus curl_formget() with callback cannot function without first having
 | 
			
		||||
 curl_easy_perform() (or similar) called - which is hard to grasp and a design
 | 
			
		||||
 mistake.
 | 
			
		||||
 | 
			
		||||
 The curl_formadd() design can probably also be reconsidered to make it easier
 | 
			
		||||
 to use and less error-prone. Probably easiest by splitting it into several
 | 
			
		||||
 function calls.
 | 
			
		||||
 | 
			
		||||
1.13 Add CURLOPT_MAIL_CLIENT option
 | 
			
		||||
 | 
			
		||||
 Rather than use the URL to specify the mail client string to present in the
 | 
			
		||||
 HELO and EHLO commands, libcurl should support a new CURLOPT specifically for
 | 
			
		||||
 specifying this data as the URL is non-standard and to be honest a bit of a
 | 
			
		||||
 hack ;-)
 | 
			
		||||
 | 
			
		||||
 Please see the following thread for more information:
 | 
			
		||||
 http://curl.haxx.se/mail/lib-2012-05/0178.html
 | 
			
		||||
 | 
			
		||||
1.14 Typesafe curl_easy_setopt()
 | 
			
		||||
 | 
			
		||||
 One of the most common problems in libcurl using applications is the lack of
 | 
			
		||||
 type checks for curl_easy_setopt() which happens because it accepts varargs
 | 
			
		||||
 and thus can take any type.
 | 
			
		||||
 | 
			
		||||
 One possible solution to this is to introduce a few different versions of the
 | 
			
		||||
 setopt version for the different kinds of data you can set.
 | 
			
		||||
 | 
			
		||||
  curl_easy_set_num() - sets a long value
 | 
			
		||||
 | 
			
		||||
  curl_easy_set_large() - sets a curl_off_t value
 | 
			
		||||
 | 
			
		||||
  curl_easy_set_ptr() - sets a pointer
 | 
			
		||||
 | 
			
		||||
  curl_easy_set_cb() - sets a callback PLUS its callback data
 | 
			
		||||
 | 
			
		||||
1.15 TCP Fast Open
 | 
			
		||||
 | 
			
		||||
 RFC 7413 defines how to include data already in the TCP SYN handshake to
 | 
			
		||||
 reduce latency.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
2. libcurl - multi interface
 | 
			
		||||
 | 
			
		||||
2.1 More non-blocking
 | 
			
		||||
@@ -252,13 +300,7 @@
 | 
			
		||||
 - The "DONE" operation (post transfer protocol-specific actions) for the
 | 
			
		||||
   protocols SFTP, SMTP, FTP. Fixing Curl_done() for this is a worthy task.
 | 
			
		||||
 | 
			
		||||
2.2 Fix HTTP Pipelining for PUT
 | 
			
		||||
 | 
			
		||||
 HTTP Pipelining can be a way to greatly enhance performance for multiple
 | 
			
		||||
 serial requests and currently libcurl only supports that for HEAD and GET
 | 
			
		||||
 requests but it should also be possible for PUT.
 | 
			
		||||
 | 
			
		||||
2.3 Better support for same name resolves
 | 
			
		||||
2.2 Better support for same name resolves
 | 
			
		||||
 | 
			
		||||
 If a name resolve has been initiated for name NN and a second easy handle
 | 
			
		||||
 wants to resolve that name as well, make it wait for the first resolve to end
 | 
			
		||||
@@ -266,6 +308,20 @@
 | 
			
		||||
 especially needed when adding many simultaneous handles using the same host
 | 
			
		||||
 name when the DNS resolver can get flooded.
 | 
			
		||||
 | 
			
		||||
2.3 Non-blocking curl_multi_remove_handle()
 | 
			
		||||
 | 
			
		||||
 The multi interface has a few API calls that assume a blocking behavior, like
 | 
			
		||||
 add_handle() and remove_handle() which limits what we can do internally. The
 | 
			
		||||
 multi API need to be moved even more into a single function that "drives"
 | 
			
		||||
 everything in a non-blocking manner and signals when something is done. A
 | 
			
		||||
 remove or add would then only ask for the action to get started and then
 | 
			
		||||
 multi_perform() etc still be called until the add/remove is completed.
 | 
			
		||||
 | 
			
		||||
2.4 Split connect and authentication process
 | 
			
		||||
 | 
			
		||||
 The multi interface treats the authentication process as part of the connect
 | 
			
		||||
 phase. As such any failures during authentication won't trigger the relevant
 | 
			
		||||
 QUIT or LOGOFF for protocols such as IMAP, POP3 and SMTP.
 | 
			
		||||
 | 
			
		||||
3. Documentation
 | 
			
		||||
 | 
			
		||||
@@ -815,22 +871,3 @@ Currently the SMB authentication uses NTLMv1.
 | 
			
		||||
 | 
			
		||||
 Changing them to return a private handle will benefit the implementation and
 | 
			
		||||
 allow us much greater freedoms while still maintaining a solid API and ABI.
 | 
			
		||||
 | 
			
		||||
21.9 have form functions use CURL handle argument
 | 
			
		||||
 | 
			
		||||
 curl_formadd() and curl_formget() both currently have no CURL handle
 | 
			
		||||
 argument, but both can use a callback that is set in the easy handle, and
 | 
			
		||||
 thus curl_formget() with callback cannot function without first having
 | 
			
		||||
 curl_easy_perform() (or similar) called - which is hard to grasp and a design
 | 
			
		||||
 mistake.
 | 
			
		||||
 | 
			
		||||
21.10 Add CURLOPT_MAIL_CLIENT option
 | 
			
		||||
 | 
			
		||||
 Rather than use the URL to specify the mail client string to present in the
 | 
			
		||||
 HELO and EHLO commands, libcurl should support a new CURLOPT specifically for
 | 
			
		||||
 specifying this data as the URL is non-standard and to be honest a bit of a
 | 
			
		||||
 hack ;-)
 | 
			
		||||
 | 
			
		||||
 Please see the following thread for more information:
 | 
			
		||||
 http://curl.haxx.se/mail/lib-2012-05/0178.html
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										25
									
								
								docs/curl.1
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								docs/curl.1
									
									
									
									
									
								
							@@ -488,10 +488,10 @@ If this option is used several times, the last one will be used.
 | 
			
		||||
(SSL) Tells curl to use the specified client certificate file when getting a
 | 
			
		||||
file with HTTPS, FTPS or another SSL-based protocol. The certificate must be
 | 
			
		||||
in PKCS#12 format if using Secure Transport, or PEM format if using any other
 | 
			
		||||
engine.  If the optional password isn't specified, it will be queried
 | 
			
		||||
for on the terminal. Note that this option assumes a \&"certificate" file that
 | 
			
		||||
is the private key and the private certificate concatenated! See \fI--cert\fP
 | 
			
		||||
and \fI--key\fP to specify them independently.
 | 
			
		||||
engine.  If the optional password isn't specified, it will be queried for on
 | 
			
		||||
the terminal. Note that this option assumes a \&"certificate" file that is the
 | 
			
		||||
private key and the client certificate concatenated! See \fI--cert\fP and
 | 
			
		||||
\fI--key\fP to specify them independently.
 | 
			
		||||
 | 
			
		||||
If curl is built against the NSS SSL library then this option can tell
 | 
			
		||||
curl the nickname of the certificate to use within the NSS database defined
 | 
			
		||||
@@ -789,10 +789,12 @@ This option can be used multiple times to add/replace/remove multiple headers.
 | 
			
		||||
be the 128 bit MD5 checksum of the remote host's public key, curl will refuse
 | 
			
		||||
the connection with the host unless the md5sums match. (Added in 7.17.1)
 | 
			
		||||
.IP "--ignore-content-length"
 | 
			
		||||
(HTTP)
 | 
			
		||||
Ignore the Content-Length header. This is particularly useful for servers
 | 
			
		||||
running Apache 1.x, which will report incorrect Content-Length for files
 | 
			
		||||
larger than 2 gigabytes.
 | 
			
		||||
For HTTP, Ignore the Content-Length header. This is particularly useful for
 | 
			
		||||
servers running Apache 1.x, which will report incorrect Content-Length for
 | 
			
		||||
files larger than 2 gigabytes.
 | 
			
		||||
 | 
			
		||||
For FTP (since 7.46.0), skip the RETR command to figure out the size before
 | 
			
		||||
downloading a file.
 | 
			
		||||
.IP "-i, --include"
 | 
			
		||||
(HTTP) Include the HTTP-header in the output. The HTTP-header includes things
 | 
			
		||||
like server-name, date of the document, HTTP-version and more...
 | 
			
		||||
@@ -1472,13 +1474,10 @@ specifies the last 500 bytes
 | 
			
		||||
specifies the bytes from offset 9500 and forward
 | 
			
		||||
.TP
 | 
			
		||||
.B 0-0,-1
 | 
			
		||||
specifies the first and last byte only(*)(H)
 | 
			
		||||
.TP
 | 
			
		||||
.B 500-700,600-799
 | 
			
		||||
specifies 300 bytes from offset 500(H)
 | 
			
		||||
specifies the first and last byte only(*)(HTTP)
 | 
			
		||||
.TP
 | 
			
		||||
.B 100-199,500-599
 | 
			
		||||
specifies two separate 100-byte ranges(*)(H)
 | 
			
		||||
specifies two separate 100-byte ranges(*) (HTTP)
 | 
			
		||||
.RE
 | 
			
		||||
.IP
 | 
			
		||||
(*) = NOTE that this will cause the server to reply with a multipart
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								docs/examples/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								docs/examples/.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -73,3 +73,7 @@ smtp-vrfy
 | 
			
		||||
url2file
 | 
			
		||||
usercertinmem
 | 
			
		||||
xmlstream
 | 
			
		||||
http2-download
 | 
			
		||||
http2-serverpush
 | 
			
		||||
http2-upload
 | 
			
		||||
imap-lsub
 | 
			
		||||
 
 | 
			
		||||
@@ -32,51 +32,7 @@ actually torture our web site with your tests!  Thanks.
 | 
			
		||||
 | 
			
		||||
EXAMPLES
 | 
			
		||||
 | 
			
		||||
anyauthput.c   - HTTP PUT using "any" authentication method
 | 
			
		||||
cacertinmem.c  - Use a built-in PEM certificate to retrieve a https page
 | 
			
		||||
cookie_interface.c - shows usage of simple cookie interface
 | 
			
		||||
curlgtk.c      - download using a GTK progress bar
 | 
			
		||||
curlx.c        - getting file info from the remote cert data
 | 
			
		||||
debug.c        - showing how to use the debug callback
 | 
			
		||||
fileupload.c   - uploading to a file:// URL
 | 
			
		||||
fopen.c        - fopen() layer that supports opening URLs and files
 | 
			
		||||
ftpget.c       - simple getting a file from FTP
 | 
			
		||||
ftpgetresp.c   - get the response strings from the FTP server
 | 
			
		||||
ftpupload.c    - upload a file to an FTP server
 | 
			
		||||
ftpuploadresume.c - resume an upload to an FTP server
 | 
			
		||||
getinfo.c      - get the Content-Type from the recent transfer
 | 
			
		||||
getinmemory.c  - download a file to memory only
 | 
			
		||||
ghiper.c       - curl_multi_socket() using code with glib-2
 | 
			
		||||
hiperfifo.c    - downloads all URLs written to the fifo, using
 | 
			
		||||
                 curl_multi_socket() and libevent
 | 
			
		||||
htmltidy.c     - download a document and use libtidy to parse the HTML
 | 
			
		||||
htmltitle.cc   - download a HTML file and extract the <title> tag from a HTML
 | 
			
		||||
                 page using libxml
 | 
			
		||||
http-post.c    - HTTP POST
 | 
			
		||||
httpput.c      - HTTP PUT a local file
 | 
			
		||||
https.c        - simple HTTPS transfer
 | 
			
		||||
imap.c         - simple IMAP transfer
 | 
			
		||||
multi-app.c    - a multi-interface app
 | 
			
		||||
multi-debugcallback.c - a multi-interface app using the debug callback
 | 
			
		||||
multi-double.c - a multi-interface app doing two simultaneous transfers
 | 
			
		||||
multi-post.c   - a multi-interface app doing a multipart formpost
 | 
			
		||||
multi-single.c - a multi-interface app getting a single file
 | 
			
		||||
multi-uv.c     - a multi-interface app using libuv
 | 
			
		||||
multithread.c  - an example using multi-treading transferring multiple files
 | 
			
		||||
opensslthreadlock.c - show how to do locking when using OpenSSL multi-threaded
 | 
			
		||||
persistant.c   - request two URLs with a persistent connection
 | 
			
		||||
pop3s.c        - POP3S transfer
 | 
			
		||||
pop3slist.c    - POP3S LIST
 | 
			
		||||
post-callback.c - send a HTTP POST using a callback
 | 
			
		||||
postit2.c      - send a HTTP multipart formpost
 | 
			
		||||
sampleconv.c   - showing how a program on a non-ASCII platform would invoke
 | 
			
		||||
                 callbacks to do its own codeset conversions instead of using
 | 
			
		||||
                 the built-in iconv functions in libcurl
 | 
			
		||||
sepheaders.c   - download headers to a separate file
 | 
			
		||||
simple.c       - the most simple download a URL source
 | 
			
		||||
simplepost.c   - HTTP POST
 | 
			
		||||
simplessl.c    - HTTPS example with certificates many options set
 | 
			
		||||
synctime.c     - Sync local time by extracting date from remote HTTP servers
 | 
			
		||||
url2file.c     - download a document and store it in a file
 | 
			
		||||
xmlstream.c    - Stream-parse a document using the streaming Expat parser
 | 
			
		||||
10-at-a-time.c - Download many files simultaneously, 10 at a time.
 | 
			
		||||
Each example source code file is designed to be and work stand-alone and
 | 
			
		||||
rather self-explanatory. The examples may at times lack the level of error
 | 
			
		||||
checks you need in a real world, but that is then only for the sake of
 | 
			
		||||
readability: to make the code smaller and easier to follow.
 | 
			
		||||
 
 | 
			
		||||
@@ -25,6 +25,7 @@
 | 
			
		||||
 */
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
 | 
			
		||||
/* somewhat unix-specific */
 | 
			
		||||
#include <sys/time.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -25,6 +25,7 @@
 | 
			
		||||
 */
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
 | 
			
		||||
/* somewhat unix-specific */
 | 
			
		||||
#include <sys/time.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -25,6 +25,7 @@
 | 
			
		||||
 */
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <fcntl.h>
 | 
			
		||||
#include <sys/stat.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -19,10 +19,12 @@
 | 
			
		||||
 * KIND, either express or implied.
 | 
			
		||||
 *
 | 
			
		||||
 ***************************************************************************/
 | 
			
		||||
 | 
			
		||||
/* <DESC>
 | 
			
		||||
 * Simple IMAP APPEND use
 | 
			
		||||
 * IMAP example showing how to send e-mails
 | 
			
		||||
 * </DESC>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -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,12 @@
 | 
			
		||||
 * KIND, either express or implied.
 | 
			
		||||
 *
 | 
			
		||||
 ***************************************************************************/
 | 
			
		||||
 | 
			
		||||
/* <DESC>
 | 
			
		||||
 * IMAP example showing how to copy an e-mail from one folder to another
 | 
			
		||||
 * </DESC>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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,12 @@
 | 
			
		||||
 * KIND, either express or implied.
 | 
			
		||||
 *
 | 
			
		||||
 ***************************************************************************/
 | 
			
		||||
 | 
			
		||||
/* <DESC>
 | 
			
		||||
 * IMAP example showing how to create a new folder
 | 
			
		||||
 * </DESC>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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,12 @@
 | 
			
		||||
 * KIND, either express or implied.
 | 
			
		||||
 *
 | 
			
		||||
 ***************************************************************************/
 | 
			
		||||
 | 
			
		||||
/* <DESC>
 | 
			
		||||
 * IMAP example showing how to delete a folder
 | 
			
		||||
 * </DESC>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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,12 @@
 | 
			
		||||
 * KIND, either express or implied.
 | 
			
		||||
 *
 | 
			
		||||
 ***************************************************************************/
 | 
			
		||||
 | 
			
		||||
/* <DESC>
 | 
			
		||||
 * IMAP example showing how to obtain information about a folder
 | 
			
		||||
 * </DESC>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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,12 @@
 | 
			
		||||
 * KIND, either express or implied.
 | 
			
		||||
 *
 | 
			
		||||
 ***************************************************************************/
 | 
			
		||||
 | 
			
		||||
/* <DESC>
 | 
			
		||||
 * IMAP example showing how to retreieve e-mails
 | 
			
		||||
 * </DESC>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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,12 @@
 | 
			
		||||
 * KIND, either express or implied.
 | 
			
		||||
 *
 | 
			
		||||
 ***************************************************************************/
 | 
			
		||||
 | 
			
		||||
/* <DESC>
 | 
			
		||||
 * IMAP example to list the folders within a mailbox
 | 
			
		||||
 * </DESC>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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,12 @@
 | 
			
		||||
 * KIND, either express or implied.
 | 
			
		||||
 *
 | 
			
		||||
 ***************************************************************************/
 | 
			
		||||
 | 
			
		||||
/* <DESC>
 | 
			
		||||
 * IMAP example to list the subscribed folders
 | 
			
		||||
 * </DESC>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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,14 @@
 | 
			
		||||
 * KIND, either express or implied.
 | 
			
		||||
 *
 | 
			
		||||
 ***************************************************************************/
 | 
			
		||||
 | 
			
		||||
/* <DESC>
 | 
			
		||||
 * IMAP example using the multi interface
 | 
			
		||||
 * </DESC>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
 | 
			
		||||
/* This is a simple example showing how to fetch mail using libcurl's IMAP
 | 
			
		||||
 
 | 
			
		||||
@@ -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,12 @@
 | 
			
		||||
 * KIND, either express or implied.
 | 
			
		||||
 *
 | 
			
		||||
 ***************************************************************************/
 | 
			
		||||
 | 
			
		||||
/* <DESC>
 | 
			
		||||
 * IMAP example showing how to perform a noop
 | 
			
		||||
 * </DESC>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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,12 @@
 | 
			
		||||
 * KIND, either express or implied.
 | 
			
		||||
 *
 | 
			
		||||
 ***************************************************************************/
 | 
			
		||||
 | 
			
		||||
/* <DESC>
 | 
			
		||||
 * IMAP example showing how to search for new e-mails
 | 
			
		||||
 * </DESC>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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,12 @@
 | 
			
		||||
 * KIND, either express or implied.
 | 
			
		||||
 *
 | 
			
		||||
 ***************************************************************************/
 | 
			
		||||
 | 
			
		||||
/* <DESC>
 | 
			
		||||
 * IMAP example using SSL
 | 
			
		||||
 * </DESC>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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,12 @@
 | 
			
		||||
 * KIND, either express or implied.
 | 
			
		||||
 *
 | 
			
		||||
 ***************************************************************************/
 | 
			
		||||
 | 
			
		||||
/* <DESC>
 | 
			
		||||
 * IMAP example showing how to modify the properties of an e-mail
 | 
			
		||||
 * </DESC>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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,12 @@
 | 
			
		||||
 * KIND, either express or implied.
 | 
			
		||||
 *
 | 
			
		||||
 ***************************************************************************/
 | 
			
		||||
 | 
			
		||||
/* <DESC>
 | 
			
		||||
 * IMAP example using TLS
 | 
			
		||||
 * </DESC>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -19,10 +19,6 @@
 | 
			
		||||
# KIND, either express or implied.
 | 
			
		||||
#
 | 
			
		||||
###########################################################################
 | 
			
		||||
#
 | 
			
		||||
#  Adapted for djgpp / Watt-32 / DOS by
 | 
			
		||||
#  Gisle Vanem <gvanem@broadpark.no>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
TOPDIR = ../..
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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,12 @@
 | 
			
		||||
 * KIND, either express or implied.
 | 
			
		||||
 *
 | 
			
		||||
 ***************************************************************************/
 | 
			
		||||
 | 
			
		||||
/* <DESC>
 | 
			
		||||
 * POP3 example showing how to delete e-mails
 | 
			
		||||
 * </DESC>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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,12 @@
 | 
			
		||||
 * KIND, either express or implied.
 | 
			
		||||
 *
 | 
			
		||||
 ***************************************************************************/
 | 
			
		||||
 | 
			
		||||
/* <DESC>
 | 
			
		||||
 * POP3 example to list the contents of a mailbox
 | 
			
		||||
 * </DESC>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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,14 @@
 | 
			
		||||
 * KIND, either express or implied.
 | 
			
		||||
 *
 | 
			
		||||
 ***************************************************************************/
 | 
			
		||||
 | 
			
		||||
/* <DESC>
 | 
			
		||||
 * POP3 example using the multi interface
 | 
			
		||||
 * </DESC>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
 | 
			
		||||
/* This is a simple example showing how to retrieve mail using libcurl's POP3
 | 
			
		||||
 
 | 
			
		||||
@@ -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,12 @@
 | 
			
		||||
 * KIND, either express or implied.
 | 
			
		||||
 *
 | 
			
		||||
 ***************************************************************************/
 | 
			
		||||
 | 
			
		||||
/* <DESC>
 | 
			
		||||
 * POP3 example showing how to perform a noop
 | 
			
		||||
 * </DESC>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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,12 @@
 | 
			
		||||
 * KIND, either express or implied.
 | 
			
		||||
 *
 | 
			
		||||
 ***************************************************************************/
 | 
			
		||||
 | 
			
		||||
/* <DESC>
 | 
			
		||||
 * POP3 example showing how to retrieve e-mails
 | 
			
		||||
 * </DESC>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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,12 @@
 | 
			
		||||
 * KIND, either express or implied.
 | 
			
		||||
 *
 | 
			
		||||
 ***************************************************************************/
 | 
			
		||||
 | 
			
		||||
/* <DESC>
 | 
			
		||||
 * POP3 example using SSL
 | 
			
		||||
 * </DESC>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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,12 @@
 | 
			
		||||
 * KIND, either express or implied.
 | 
			
		||||
 *
 | 
			
		||||
 ***************************************************************************/
 | 
			
		||||
 | 
			
		||||
/* <DESC>
 | 
			
		||||
 * POP3 example showing how to obtain message statistics
 | 
			
		||||
 * </DESC>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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,12 @@
 | 
			
		||||
 * KIND, either express or implied.
 | 
			
		||||
 *
 | 
			
		||||
 ***************************************************************************/
 | 
			
		||||
 | 
			
		||||
/* <DESC>
 | 
			
		||||
 * POP3 example using TLS
 | 
			
		||||
 * </DESC>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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,12 @@
 | 
			
		||||
 * KIND, either express or implied.
 | 
			
		||||
 *
 | 
			
		||||
 ***************************************************************************/
 | 
			
		||||
 | 
			
		||||
/* <DESC>
 | 
			
		||||
 * POP3 example showing how to retreive only the headers of an e-mail
 | 
			
		||||
 * </DESC>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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,12 @@
 | 
			
		||||
 * KIND, either express or implied.
 | 
			
		||||
 *
 | 
			
		||||
 ***************************************************************************/
 | 
			
		||||
 | 
			
		||||
/* <DESC>
 | 
			
		||||
 * POP3 example to list the contents of a mailbox by unique ID
 | 
			
		||||
 * </DESC>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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,11 +19,17 @@
 | 
			
		||||
 * KIND, either express or implied.
 | 
			
		||||
 *
 | 
			
		||||
 ***************************************************************************/
 | 
			
		||||
 | 
			
		||||
/* <DESC>
 | 
			
		||||
 * SMTP example showing how to expand an e-mail mailing list
 | 
			
		||||
 * </DESC>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
 | 
			
		||||
/* This is a simple example showing how to expand an email mailing list.
 | 
			
		||||
/* This is a simple example showing how to expand an e-mail mailing list.
 | 
			
		||||
 *
 | 
			
		||||
 * Notes:
 | 
			
		||||
 *
 | 
			
		||||
 
 | 
			
		||||
@@ -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,12 @@
 | 
			
		||||
 * KIND, either express or implied.
 | 
			
		||||
 *
 | 
			
		||||
 ***************************************************************************/
 | 
			
		||||
 | 
			
		||||
/* <DESC>
 | 
			
		||||
 * SMTP example showing how to send e-mails
 | 
			
		||||
 * </DESC>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -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,12 @@
 | 
			
		||||
 * KIND, either express or implied.
 | 
			
		||||
 *
 | 
			
		||||
 ***************************************************************************/
 | 
			
		||||
 | 
			
		||||
/* <DESC>
 | 
			
		||||
 * SMTP example using the multi interface
 | 
			
		||||
 * </DESC>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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,12 @@
 | 
			
		||||
 * KIND, either express or implied.
 | 
			
		||||
 *
 | 
			
		||||
 ***************************************************************************/
 | 
			
		||||
 | 
			
		||||
/* <DESC>
 | 
			
		||||
 * SMTP example using SSL
 | 
			
		||||
 * </DESC>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -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,12 @@
 | 
			
		||||
 * KIND, either express or implied.
 | 
			
		||||
 *
 | 
			
		||||
 ***************************************************************************/
 | 
			
		||||
 | 
			
		||||
/* <DESC>
 | 
			
		||||
 * SMTP example using TLS
 | 
			
		||||
 * </DESC>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -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,11 +19,17 @@
 | 
			
		||||
 * KIND, either express or implied.
 | 
			
		||||
 *
 | 
			
		||||
 ***************************************************************************/
 | 
			
		||||
 | 
			
		||||
/* <DESC>
 | 
			
		||||
 * SMTP example showing how to verify an e-mail address
 | 
			
		||||
 * </DESC>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
 | 
			
		||||
/* This is a simple example showing how to verify an email address from an
 | 
			
		||||
/* This is a simple example showing how to verify an e-mail address from an
 | 
			
		||||
 * SMTP server.
 | 
			
		||||
 *
 | 
			
		||||
 * Notes:
 | 
			
		||||
 
 | 
			
		||||
@@ -99,13 +99,13 @@ libcurl-symbols.3: $(srcdir)/symbols-in-versions $(srcdir)/mksymbolsmanpage.pl
 | 
			
		||||
	perl $(srcdir)/mksymbolsmanpage.pl < $(srcdir)/symbols-in-versions > $@
 | 
			
		||||
 | 
			
		||||
html: $(HTMLPAGES)
 | 
			
		||||
	cd opts; make html
 | 
			
		||||
	cd opts && make html
 | 
			
		||||
 | 
			
		||||
.3.html:
 | 
			
		||||
	$(MAN2HTML)
 | 
			
		||||
 | 
			
		||||
pdf: $(PDFPAGES)
 | 
			
		||||
	cd opts; make pdf
 | 
			
		||||
	cd opts && make pdf
 | 
			
		||||
 | 
			
		||||
.3.pdf:
 | 
			
		||||
	@(foo=`echo $@ | sed -e 's/\.[0-9]$$//g'`; \
 | 
			
		||||
 
 | 
			
		||||
@@ -49,7 +49,7 @@ this option.
 | 
			
		||||
You must ensure that the socket has data to read before calling
 | 
			
		||||
\fIcurl_easy_recv(3)\fP, otherwise the call will return \fBCURLE_AGAIN\fP -
 | 
			
		||||
the socket is used in non-blocking mode internally. Use
 | 
			
		||||
\fIcurl_easy_getinfo(3)\fP with \fBCURLINFO_LASTSOCKET\fP to obtain the
 | 
			
		||||
\fIcurl_easy_getinfo(3)\fP with \fBCURLINFO_ACTIVESOCKET(3)\fP to obtain the
 | 
			
		||||
socket; use your operating system facilities like \fIselect(2)\fP to check if
 | 
			
		||||
it has any data you can read.
 | 
			
		||||
.SH AVAILABILITY
 | 
			
		||||
 
 | 
			
		||||
@@ -47,7 +47,7 @@ this option.
 | 
			
		||||
You must ensure that the socket is writable before calling
 | 
			
		||||
\fIcurl_easy_send(3)\fP, otherwise the call will return \fBCURLE_AGAIN\fP -
 | 
			
		||||
the socket is used in non-blocking mode internally. Use
 | 
			
		||||
\fIcurl_easy_getinfo(3)\fP with \fBCURLINFO_LASTSOCKET\fP to obtain the
 | 
			
		||||
\fIcurl_easy_getinfo(3)\fP with \fBCURLINFO_ACTIVESOCKET(3)\fP to obtain the
 | 
			
		||||
socket; use your operating system facilities like \fIselect(2)\fP to check if
 | 
			
		||||
it can be written to.
 | 
			
		||||
.SH AVAILABILITY
 | 
			
		||||
 
 | 
			
		||||
@@ -297,6 +297,13 @@ Disable Transfer decoding. See \fICURLOPT_HTTP_TRANSFER_DECODING(3)\fP
 | 
			
		||||
100-continue timeout. See \fICURLOPT_EXPECT_100_TIMEOUT_MS(3)\fP
 | 
			
		||||
.IP CURLOPT_PIPEWAIT
 | 
			
		||||
Wait on connection to pipeline on it. See \fICURLOPT_PIPEWAIT(3)\fP
 | 
			
		||||
.IP CURLOPT_STREAM_DEPENDS
 | 
			
		||||
This HTTP/2 stream depends on another. See \fICURLOPT_STREAM_DEPENDS(3)\fP
 | 
			
		||||
.IP CURLOPT_STREAM_DEPENDS_E
 | 
			
		||||
This HTTP/2 stream depends on another exclusively. See
 | 
			
		||||
\fICURLOPT_STREAM_DEPENDS_E(3)\fP
 | 
			
		||||
.IP CURLOPT_STREAM_WEIGHT
 | 
			
		||||
Set this HTTP/2 stream's weight. See \fICURLOPT_STREAM_WEIGHT(3)\fP
 | 
			
		||||
.SH SMTP OPTIONS
 | 
			
		||||
.IP CURLOPT_MAIL_FROM
 | 
			
		||||
Address of the sender. See \fICURLOPT_MAIL_FROM(3)\fP
 | 
			
		||||
 
 | 
			
		||||
@@ -83,7 +83,18 @@ to send away. libcurl will use the pointer and refer to the data in your
 | 
			
		||||
application, so you must make sure it remains until curl no longer needs it.
 | 
			
		||||
If the data isn't NUL-terminated, or if you'd like it to contain zero bytes,
 | 
			
		||||
you must set its length  with \fBCURLFORM_CONTENTSLENGTH\fP.
 | 
			
		||||
.IP CURLFORM_CONTENTLEN
 | 
			
		||||
followed by a curl_off_t value giving the length of the contents. Note that
 | 
			
		||||
for \fICURLFORM_STREAM\fP contents, this option is mandatory.
 | 
			
		||||
 | 
			
		||||
If you pass a 0 (zero) for this option, libcurl will instead do a strlen() on
 | 
			
		||||
the contents to figure out the size. If you really want to send a zero byte
 | 
			
		||||
content then you must make sure strlen() on the data pointer returns zero.
 | 
			
		||||
 | 
			
		||||
(Option added in 7.46.0)
 | 
			
		||||
.IP CURLFORM_CONTENTSLENGTH
 | 
			
		||||
(This option is deprecated. Use \fICURLFORM_CONTENTLEN\fP instead!)
 | 
			
		||||
 | 
			
		||||
followed by a long giving the length of the contents. Note that for
 | 
			
		||||
\fICURLFORM_STREAM\fP contents, this option is mandatory.
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -77,7 +77,8 @@ Returns the header at index 'num' (or NULL). The returned pointer points to a
 | 
			
		||||
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.
 | 
			
		||||
returns. If more than one header field use the same name, this returns only
 | 
			
		||||
the first one.
 | 
			
		||||
.SH CALLBACK RETURN VALUE
 | 
			
		||||
.IP "CURL_PUSH_OK (0)"
 | 
			
		||||
The application has accepted the stream and it can now start receiving data,
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
@@ -43,7 +43,7 @@ If curl is built against the NSS SSL library, the NSS PEM PKCS#11 module
 | 
			
		||||
.SH DEFAULT
 | 
			
		||||
Built-in system specific
 | 
			
		||||
.SH PROTOCOLS
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
 | 
			
		||||
.SH EXAMPLE
 | 
			
		||||
TODO
 | 
			
		||||
.SH AVAILABILITY
 | 
			
		||||
 
 | 
			
		||||
@@ -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,7 +39,7 @@ to some limitation in openssl.
 | 
			
		||||
.SH DEFAULT
 | 
			
		||||
NULL
 | 
			
		||||
.SH PROTOCOLS
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
 | 
			
		||||
.SH EXAMPLE
 | 
			
		||||
TODO
 | 
			
		||||
.SH AVAILABILITY
 | 
			
		||||
 
 | 
			
		||||
@@ -30,9 +30,9 @@ CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CERTINFO, long certinfo);
 | 
			
		||||
.SH DESCRIPTION
 | 
			
		||||
Pass a long set to 1 to enable libcurl's certificate chain info gatherer. With
 | 
			
		||||
this enabled, libcurl will extract lots of information and data about the
 | 
			
		||||
certificates in the certificate chain used in the SSL connection. This data may
 | 
			
		||||
then be retrieved after a transfer using \fIcurl_easy_getinfo(3)\fP and its
 | 
			
		||||
option \fICURLINFO_CERTINFO\fP.
 | 
			
		||||
certificates in the certificate chain used in the SSL connection. This data
 | 
			
		||||
may then be retrieved after a transfer using \fIcurl_easy_getinfo(3)\fP and
 | 
			
		||||
its option \fICURLINFO_CERTINFO(3)\fP.
 | 
			
		||||
.SH DEFAULT
 | 
			
		||||
0
 | 
			
		||||
.SH PROTOCOLS
 | 
			
		||||
 
 | 
			
		||||
@@ -33,7 +33,7 @@ the required proxy authentication and connection setup, but no data transfer,
 | 
			
		||||
and then return.
 | 
			
		||||
 | 
			
		||||
The option can be used to simply test a connection to a server, but is more
 | 
			
		||||
useful when used with the \fICURLINFO_LASTSOCKET\fP option to
 | 
			
		||||
useful when used with the \fICURLINFO_ACTIVESOCKET(3)\fP option to
 | 
			
		||||
\fIcurl_easy_getinfo(3)\fP as the library can set up the connection and then
 | 
			
		||||
the application can obtain the most recently used socket for special data
 | 
			
		||||
transfers.
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
@@ -33,7 +33,7 @@ socket. It will be used to seed the random engine for SSL.
 | 
			
		||||
.SH DEFAULT
 | 
			
		||||
NULL
 | 
			
		||||
.SH PROTOCOLS
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
 | 
			
		||||
.SH EXAMPLE
 | 
			
		||||
TODO
 | 
			
		||||
.SH AVAILABILITY
 | 
			
		||||
 
 | 
			
		||||
@@ -85,7 +85,7 @@ static size_t header_callback(char *buffer, size_t size,
 | 
			
		||||
                              size_t nitems, void *userdata)
 | 
			
		||||
{
 | 
			
		||||
  /* received header is nitems * size long in 'buffer' NOT ZERO TERMINATED */
 | 
			
		||||
  /* 'userdata' is set with CURLOPT_WRITEDATA */
 | 
			
		||||
  /* 'userdata' is set with CURLOPT_HEADERDATA */
 | 
			
		||||
  return nitems * size;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -22,7 +22,7 @@
 | 
			
		||||
.\"
 | 
			
		||||
.TH CURLOPT_IGNORE_CONTENT_LENGTH 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
 | 
			
		||||
.SH NAME
 | 
			
		||||
CURLOPT_IGNORE_CONTENT_LENGTH \- ignore Content-Length in HTTP response
 | 
			
		||||
CURLOPT_IGNORE_CONTENT_LENGTH \- ignore content length
 | 
			
		||||
.SH SYNOPSIS
 | 
			
		||||
.nf
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
@@ -30,12 +30,18 @@ CURLOPT_IGNORE_CONTENT_LENGTH \- ignore Content-Length in HTTP response
 | 
			
		||||
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_IGNORE_CONTENT_LENGTH,
 | 
			
		||||
                          long ignore);
 | 
			
		||||
.SH DESCRIPTION
 | 
			
		||||
If \fIignore\fP is set to 1, ignore the Content-Length header in the HTTP
 | 
			
		||||
response. This is useful for Apache 1.x (and similar servers) which will
 | 
			
		||||
If \fIignore\fP is set to 1L, ignore the Content-Length header in the HTTP
 | 
			
		||||
response and ignore asking for or relying on it for FTP transfers.
 | 
			
		||||
 | 
			
		||||
This is useful for HTTP with Apache 1.x (and similar servers) which will
 | 
			
		||||
report incorrect content length for files over 2 gigabytes. If this option is
 | 
			
		||||
used, curl will not be able to accurately report progress, and will simply
 | 
			
		||||
stop the download when the server ends the connection.
 | 
			
		||||
 | 
			
		||||
It is also useful with FTP when for example the file is growing while the
 | 
			
		||||
transfer is in progress which otherwise will unconditionally cause libcurl to
 | 
			
		||||
report error.
 | 
			
		||||
 | 
			
		||||
Only use this option if strictly necessary.
 | 
			
		||||
.SH DEFAULT
 | 
			
		||||
0
 | 
			
		||||
@@ -54,7 +60,7 @@ if(curl) {
 | 
			
		||||
}
 | 
			
		||||
.fi
 | 
			
		||||
.SH AVAILABILITY
 | 
			
		||||
Added in 7.14.1
 | 
			
		||||
Added in 7.14.1. Support for FTP added in 7.46.0.
 | 
			
		||||
.SH RETURN VALUE
 | 
			
		||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
 | 
			
		||||
.SH "SEE ALSO"
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
@@ -35,7 +35,7 @@ phrase to load a certificate but you need one to load your private key.
 | 
			
		||||
.SH DEFAULT
 | 
			
		||||
NULL
 | 
			
		||||
.SH PROTOCOLS
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
 | 
			
		||||
.SH EXAMPLE
 | 
			
		||||
TODO
 | 
			
		||||
.SH AVAILABILITY
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,7 @@ On mismatch, \fICURLE_SSL_PINNEDPUBKEYNOTMATCH\fP is returned.
 | 
			
		||||
.SH DEFAULT
 | 
			
		||||
NULL
 | 
			
		||||
.SH PROTOCOLS
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
 | 
			
		||||
.SH EXAMPLE
 | 
			
		||||
.nf
 | 
			
		||||
CURL *curl = curl_easy_init();
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
@@ -43,7 +43,7 @@ private key with \fICURLOPT_SSLKEY(3)\fP.
 | 
			
		||||
.SH DEFAULT
 | 
			
		||||
NULL
 | 
			
		||||
.SH PROTOCOLS
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
 | 
			
		||||
.SH EXAMPLE
 | 
			
		||||
TODO
 | 
			
		||||
.SH AVAILABILITY
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
@@ -36,7 +36,7 @@ PKCS#12-encoded files.
 | 
			
		||||
.SH DEFAULT
 | 
			
		||||
"PEM"
 | 
			
		||||
.SH PROTOCOLS
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
 | 
			
		||||
.SH EXAMPLE
 | 
			
		||||
TODO
 | 
			
		||||
.SH AVAILABILITY
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
@@ -36,7 +36,7 @@ returned.
 | 
			
		||||
.SH DEFAULT
 | 
			
		||||
NULL
 | 
			
		||||
.SH PROTOCOLS
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
 | 
			
		||||
.SH EXAMPLE
 | 
			
		||||
TODO
 | 
			
		||||
.SH AVAILABILITY
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
@@ -36,7 +36,7 @@ returned.
 | 
			
		||||
.SH DEFAULT
 | 
			
		||||
None
 | 
			
		||||
.SH PROTOCOLS
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
 | 
			
		||||
.SH EXAMPLE
 | 
			
		||||
TODO
 | 
			
		||||
.SH AVAILABILITY
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
@@ -38,7 +38,7 @@ present in the keychain or PKCS#12 file containing the certificate.
 | 
			
		||||
.SH DEFAULT
 | 
			
		||||
NULL
 | 
			
		||||
.SH PROTOCOLS
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
 | 
			
		||||
.SH EXAMPLE
 | 
			
		||||
TODO
 | 
			
		||||
.SH AVAILABILITY
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
@@ -38,7 +38,7 @@ engine. You have to set the crypto engine with \fICURLOPT_SSLENGINE(3)\fP.
 | 
			
		||||
.SH DEFAULT
 | 
			
		||||
"PEM"
 | 
			
		||||
.SH PROTOCOLS
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
 | 
			
		||||
.SH EXAMPLE
 | 
			
		||||
TODO
 | 
			
		||||
.SH AVAILABILITY
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
@@ -52,7 +52,7 @@ TLSv1.2 (Added in 7.34.0)
 | 
			
		||||
.SH DEFAULT
 | 
			
		||||
CURL_SSLVERSION_DEFAULT
 | 
			
		||||
.SH PROTOCOLS
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
 | 
			
		||||
.SH EXAMPLE
 | 
			
		||||
.nf
 | 
			
		||||
CURL *curl = curl_easy_init();
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
@@ -53,7 +53,7 @@ You'll find more details about the NSS cipher lists on this URL:
 | 
			
		||||
.SH DEFAULT
 | 
			
		||||
NULL, use internal default
 | 
			
		||||
.SH PROTOCOLS
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
 | 
			
		||||
.SH EXAMPLE
 | 
			
		||||
TODO
 | 
			
		||||
.SH AVAILABILITY
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
@@ -34,7 +34,7 @@ parameter.
 | 
			
		||||
.SH DEFAULT
 | 
			
		||||
NULL
 | 
			
		||||
.SH PROTOCOLS
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
 | 
			
		||||
.SH EXAMPLE
 | 
			
		||||
TODO
 | 
			
		||||
.SH AVAILABILITY
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
@@ -59,7 +59,7 @@ and trust file settings.
 | 
			
		||||
.SH DEFAULT
 | 
			
		||||
NULL
 | 
			
		||||
.SH PROTOCOLS
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
 | 
			
		||||
.SH EXAMPLE
 | 
			
		||||
TODO
 | 
			
		||||
.SH AVAILABILITY
 | 
			
		||||
 
 | 
			
		||||
@@ -37,7 +37,7 @@ round trip when performing a full handshake.
 | 
			
		||||
.SH DEFAULT
 | 
			
		||||
0
 | 
			
		||||
.SH PROTOCOLS
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
 | 
			
		||||
.SH EXAMPLE
 | 
			
		||||
TODO
 | 
			
		||||
.SH AVAILABILITY
 | 
			
		||||
 
 | 
			
		||||
@@ -64,7 +64,7 @@ also set to zero and cannot be overridden.
 | 
			
		||||
.SH DEFAULT
 | 
			
		||||
2
 | 
			
		||||
.SH PROTOCOLS
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
 | 
			
		||||
.SH EXAMPLE
 | 
			
		||||
.nf
 | 
			
		||||
CURL *curl = curl_easy_init();
 | 
			
		||||
 
 | 
			
		||||
@@ -60,7 +60,7 @@ the correct end-point.
 | 
			
		||||
.SH DEFAULT
 | 
			
		||||
By default, curl assumes a value of 1.
 | 
			
		||||
.SH PROTOCOLS
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
 | 
			
		||||
.SH EXAMPLE
 | 
			
		||||
.nf
 | 
			
		||||
CURL *curl = curl_easy_init();
 | 
			
		||||
 
 | 
			
		||||
@@ -38,7 +38,7 @@ extension, the verification will fail.
 | 
			
		||||
.SH DEFAULT
 | 
			
		||||
0
 | 
			
		||||
.SH PROTOCOLS
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc.
 | 
			
		||||
All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
 | 
			
		||||
.SH EXAMPLE
 | 
			
		||||
TODO
 | 
			
		||||
.SH AVAILABILITY
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										56
									
								
								docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.3
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,56 @@
 | 
			
		||||
.\" **************************************************************************
 | 
			
		||||
.\" *                                  _   _ ____  _
 | 
			
		||||
.\" *  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 CURLOPT_STREAM_DEPENDS 3 "13 Sep 2015" "libcurl 7.46.0" "curl_easy_setopt options"
 | 
			
		||||
.SH NAME
 | 
			
		||||
CURLOPT_STREAM_DEPENDS \- set stream this transfer depends on
 | 
			
		||||
.SH SYNOPSIS
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
 | 
			
		||||
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STREAM_DEPENDS, CURL *dephandle);
 | 
			
		||||
.SH DESCRIPTION
 | 
			
		||||
Pass a CURL * pointer in \fIdephandle\fP to identify the stream within the
 | 
			
		||||
same connection that this stream is depending upon. This option clears the
 | 
			
		||||
exclusive it and is mutually exclusive to the
 | 
			
		||||
\fICURLOPT_STREAM_DEPENDS_E(3)\fP option.
 | 
			
		||||
 | 
			
		||||
The spec says "Including a dependency expresses a preference to allocate
 | 
			
		||||
resources to the identified stream rather than to the dependent stream."
 | 
			
		||||
 | 
			
		||||
This option can be set during transfer.
 | 
			
		||||
 | 
			
		||||
\fIdephandle\fP must not be the same as \fIhandle\fP, that will cause this
 | 
			
		||||
function to return an error. It must be another easy handle, and it also needs
 | 
			
		||||
to be a handle of a transfer that will be sent over the same HTTP/2 connection
 | 
			
		||||
for this option to have an actual effect.
 | 
			
		||||
.SH DEFAULT
 | 
			
		||||
NULL
 | 
			
		||||
.SH PROTOCOLS
 | 
			
		||||
HTTP/2
 | 
			
		||||
.SH EXAMPLE
 | 
			
		||||
TODO
 | 
			
		||||
.SH AVAILABILITY
 | 
			
		||||
Added in 7.46.0
 | 
			
		||||
.SH RETURN VALUE
 | 
			
		||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
 | 
			
		||||
.SH "SEE ALSO"
 | 
			
		||||
.BR CURLOPT_STREAM_WEIGHT "(3), " CURLOPT_STREAM_DEPENDS_E "(3), "
 | 
			
		||||
							
								
								
									
										59
									
								
								docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.3
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,59 @@
 | 
			
		||||
.\" **************************************************************************
 | 
			
		||||
.\" *                                  _   _ ____  _
 | 
			
		||||
.\" *  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 CURLOPT_STREAM_DEPENDS_E 3 "13 Sep 2015" "libcurl 7.46.0" "curl_easy_setopt options"
 | 
			
		||||
.SH NAME
 | 
			
		||||
CURLOPT_STREAM_DEPENDS_E \- set stream this transfer depends on execlusively
 | 
			
		||||
.SH SYNOPSIS
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
 | 
			
		||||
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STREAM_DEPENDS_E, CURL *dephandle);
 | 
			
		||||
.SH DESCRIPTION
 | 
			
		||||
Pass a CURL * pointer in \fIdephandle\fP to identify the stream within the
 | 
			
		||||
same connection that this stream is depending upon exclusively. That means it
 | 
			
		||||
depends on it and sets the Exclusive bit.
 | 
			
		||||
 | 
			
		||||
The spec says "Including a dependency expresses a preference to allocate
 | 
			
		||||
resources to the identified stream rather than to the dependent stream."
 | 
			
		||||
 | 
			
		||||
Setting a dependency with the exclusive flag for a reprioritized stream causes
 | 
			
		||||
all the dependencies of the new parent stream to become dependent on the
 | 
			
		||||
reprioritized stream.
 | 
			
		||||
 | 
			
		||||
This option can be set during transfer.
 | 
			
		||||
 | 
			
		||||
\fIdephandle\fP must not be the same as \fIhandle\fP, that will cause this
 | 
			
		||||
function to return an error. It must be another easy handle, and it also needs
 | 
			
		||||
to be a handle of a transfer that will be sent over the same HTTP/2 connection
 | 
			
		||||
for this option to have an actual effect.
 | 
			
		||||
.SH DEFAULT
 | 
			
		||||
NULL
 | 
			
		||||
.SH PROTOCOLS
 | 
			
		||||
HTTP/2
 | 
			
		||||
.SH EXAMPLE
 | 
			
		||||
TODO
 | 
			
		||||
.SH AVAILABILITY
 | 
			
		||||
Added in 7.46.0
 | 
			
		||||
.SH RETURN VALUE
 | 
			
		||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
 | 
			
		||||
.SH "SEE ALSO"
 | 
			
		||||
.BR CURLOPT_STREAM_WEIGHT "(3), " CURLOPT_STREAM_DEPENDS "(3), "
 | 
			
		||||
							
								
								
									
										63
									
								
								docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.3
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,63 @@
 | 
			
		||||
.\" **************************************************************************
 | 
			
		||||
.\" *                                  _   _ ____  _
 | 
			
		||||
.\" *  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 CURLOPT_STREAM_WEIGHT 3 "13 Sep 2015" "libcurl 7.46.0" "curl_easy_setopt options"
 | 
			
		||||
.SH NAME
 | 
			
		||||
CURLOPT_STREAM_WEIGHT \- set numerical stream weight
 | 
			
		||||
.SH SYNOPSIS
 | 
			
		||||
#include <curl/curl.h>
 | 
			
		||||
 | 
			
		||||
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STREAM_WEIGHT, long weight);
 | 
			
		||||
.SH DESCRIPTION
 | 
			
		||||
Set the long \fIweight\fP to a number between 1 and 256.
 | 
			
		||||
 | 
			
		||||
When using HTTP/2, this option sets the individual weight for this particular
 | 
			
		||||
stream used by the easy \fIhandle\fP. Setting and using weights only makes
 | 
			
		||||
sense and is only usable when doing multiple streams over the same
 | 
			
		||||
connections, which thus implies that you use \fICURLMOPT_PIPELINING(3)\fP.
 | 
			
		||||
 | 
			
		||||
This option can be set during transfer and will then cause the updated weight
 | 
			
		||||
info get sent to the server the next time a HTTP/2 frame is sent to the
 | 
			
		||||
server.
 | 
			
		||||
 | 
			
		||||
See section 5.3 of RFC 7540 for protocol details:
 | 
			
		||||
https://httpwg.github.io/specs/rfc7540.html#StreamPriority
 | 
			
		||||
 | 
			
		||||
Streams with the same parent should be allocated resources proportionally
 | 
			
		||||
based on their weight. So if you have two streams going, stream A with weight
 | 
			
		||||
16 and stream B with weight 32, stream B will get two thirds (32/48) of the
 | 
			
		||||
available bandwidth (assuming the server can send off the data equally for
 | 
			
		||||
both streams).
 | 
			
		||||
.SH DEFAULT
 | 
			
		||||
If nothing is set, the HTTP/2 protocol itself will use its own default which
 | 
			
		||||
is 16.
 | 
			
		||||
.SH PROTOCOLS
 | 
			
		||||
HTTP/2
 | 
			
		||||
.SH EXAMPLE
 | 
			
		||||
TODO
 | 
			
		||||
.SH AVAILABILITY
 | 
			
		||||
Added in 7.46.0
 | 
			
		||||
.SH RETURN VALUE
 | 
			
		||||
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
 | 
			
		||||
.SH "SEE ALSO"
 | 
			
		||||
.BR CURLOPT_STREAM_DEPENDS "(3), " CURLOPT_STREAM_DEPENDS_E "(3), "
 | 
			
		||||
.BR CURLOPT_PIPEWAIT "(3), " CURLMOPT_PIPELINING "(3), "
 | 
			
		||||
@@ -106,7 +106,8 @@ man_MANS = CURLOPT_ACCEPT_ENCODING.3 CURLOPT_ACCEPTTIMEOUT_MS.3		\
 | 
			
		||||
 CURLOPT_USE_SSL.3 CURLOPT_VERBOSE.3 CURLOPT_WILDCARDMATCH.3		\
 | 
			
		||||
 CURLOPT_WRITEDATA.3 CURLOPT_WRITEFUNCTION.3 CURLOPT_XFERINFODATA.3	\
 | 
			
		||||
 CURLOPT_XFERINFOFUNCTION.3 CURLOPT_XOAUTH2_BEARER.3			\
 | 
			
		||||
 CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3					\
 | 
			
		||||
 CURLOPT_STREAM_DEPENDS.3 CURLOPT_STREAM_DEPENDS_E.3			\
 | 
			
		||||
 CURLOPT_STREAM_WEIGHT.3 CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3		\
 | 
			
		||||
 CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3 CURLMOPT_MAXCONNECTS.3		\
 | 
			
		||||
 CURLMOPT_MAX_HOST_CONNECTIONS.3 CURLMOPT_MAX_PIPELINE_LENGTH.3		\
 | 
			
		||||
 CURLMOPT_MAX_TOTAL_CONNECTIONS.3 CURLMOPT_PIPELINING.3			\
 | 
			
		||||
@@ -233,7 +234,8 @@ HTMLPAGES = CURLOPT_ACCEPT_ENCODING.html CURLOPT_ACCEPTTIMEOUT_MS.html	\
 | 
			
		||||
 CURLOPT_VERBOSE.html CURLOPT_WILDCARDMATCH.html CURLOPT_WRITEDATA.html	\
 | 
			
		||||
 CURLOPT_WRITEFUNCTION.html CURLOPT_XFERINFODATA.html			\
 | 
			
		||||
 CURLOPT_XFERINFOFUNCTION.html CURLOPT_XOAUTH2_BEARER.html		\
 | 
			
		||||
 CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.html				\
 | 
			
		||||
 CURLOPT_STREAM_DEPENDS.html CURLOPT_STREAM_DEPENDS_E.html		\
 | 
			
		||||
 CURLOPT_STREAM_WEIGHT.html CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.html	\
 | 
			
		||||
 CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.html CURLMOPT_MAXCONNECTS.html	\
 | 
			
		||||
 CURLMOPT_MAX_HOST_CONNECTIONS.html CURLMOPT_MAX_PIPELINE_LENGTH.html	\
 | 
			
		||||
 CURLMOPT_MAX_TOTAL_CONNECTIONS.html CURLMOPT_PIPELINING.html		\
 | 
			
		||||
@@ -362,7 +364,8 @@ PDFPAGES = CURLOPT_ACCEPT_ENCODING.pdf CURLOPT_ACCEPTTIMEOUT_MS.pdf	\
 | 
			
		||||
 CURLOPT_VERBOSE.pdf CURLOPT_WILDCARDMATCH.pdf CURLOPT_WRITEDATA.pdf	\
 | 
			
		||||
 CURLOPT_WRITEFUNCTION.pdf CURLOPT_XFERINFODATA.pdf			\
 | 
			
		||||
 CURLOPT_XFERINFOFUNCTION.pdf CURLOPT_XOAUTH2_BEARER.pdf		\
 | 
			
		||||
 CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.pdf					\
 | 
			
		||||
 CURLOPT_STREAM_DEPENDS.pdf CURLOPT_STREAM_DEPENDS_E.pdf		\
 | 
			
		||||
 CURLOPT_STREAM_WEIGHT.pdf CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.pdf	\
 | 
			
		||||
 CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.pdf CURLMOPT_MAXCONNECTS.pdf	\
 | 
			
		||||
 CURLMOPT_MAX_HOST_CONNECTIONS.pdf CURLMOPT_MAX_PIPELINE_LENGTH.pdf	\
 | 
			
		||||
 CURLMOPT_MAX_TOTAL_CONNECTIONS.pdf CURLMOPT_PIPELINING.pdf		\
 | 
			
		||||
 
 | 
			
		||||
@@ -164,6 +164,7 @@ CURLFORM_BUFFER                 7.9.8
 | 
			
		||||
CURLFORM_BUFFERLENGTH           7.9.8
 | 
			
		||||
CURLFORM_BUFFERPTR              7.9.8
 | 
			
		||||
CURLFORM_CONTENTHEADER          7.9.3
 | 
			
		||||
CURLFORM_CONTENTLEN             7.46.0
 | 
			
		||||
CURLFORM_CONTENTSLENGTH         7.9
 | 
			
		||||
CURLFORM_CONTENTTYPE            7.9
 | 
			
		||||
CURLFORM_COPYCONTENTS           7.9
 | 
			
		||||
@@ -308,6 +309,7 @@ CURLOPTTYPE_FUNCTIONPOINT       7.1
 | 
			
		||||
CURLOPTTYPE_LONG                7.1
 | 
			
		||||
CURLOPTTYPE_OBJECTPOINT         7.1
 | 
			
		||||
CURLOPTTYPE_OFF_T               7.11.0
 | 
			
		||||
CURLOPTTYPE_STRINGPOINT         7.46.0
 | 
			
		||||
CURLOPT_ACCEPTTIMEOUT_MS        7.24.0
 | 
			
		||||
CURLOPT_ACCEPT_ENCODING         7.21.6
 | 
			
		||||
CURLOPT_ADDRESS_SCOPE           7.19.0
 | 
			
		||||
@@ -526,6 +528,9 @@ CURLOPT_SSL_VERIFYHOST          7.8.1
 | 
			
		||||
CURLOPT_SSL_VERIFYPEER          7.4.2
 | 
			
		||||
CURLOPT_SSL_VERIFYSTATUS        7.41.0
 | 
			
		||||
CURLOPT_STDERR                  7.1
 | 
			
		||||
CURLOPT_STREAM_DEPENDS          7.46.0
 | 
			
		||||
CURLOPT_STREAM_DEPENDS_E        7.46.0
 | 
			
		||||
CURLOPT_STREAM_WEIGHT           7.46.0
 | 
			
		||||
CURLOPT_TCP_KEEPALIVE           7.25.0
 | 
			
		||||
CURLOPT_TCP_KEEPIDLE            7.25.0
 | 
			
		||||
CURLOPT_TCP_KEEPINTVL           7.25.0
 | 
			
		||||
@@ -629,6 +634,7 @@ CURLSSLBACKEND_CYASSL           7.34.0
 | 
			
		||||
CURLSSLBACKEND_DARWINSSL        7.34.0
 | 
			
		||||
CURLSSLBACKEND_GNUTLS           7.34.0
 | 
			
		||||
CURLSSLBACKEND_GSKIT            7.34.0
 | 
			
		||||
CURLSSLBACKEND_MBEDTLS          7.46.0
 | 
			
		||||
CURLSSLBACKEND_NONE             7.34.0
 | 
			
		||||
CURLSSLBACKEND_NSS              7.34.0
 | 
			
		||||
CURLSSLBACKEND_OPENSSL          7.34.0
 | 
			
		||||
@@ -674,10 +680,18 @@ CURL_GLOBAL_DEFAULT             7.8
 | 
			
		||||
CURL_GLOBAL_NOTHING             7.8
 | 
			
		||||
CURL_GLOBAL_SSL                 7.8
 | 
			
		||||
CURL_GLOBAL_WIN32               7.8.1
 | 
			
		||||
CURL_HTTPPOST_BUFFER            7.46.0
 | 
			
		||||
CURL_HTTPPOST_CALLBACK          7.46.0
 | 
			
		||||
CURL_HTTPPOST_FILENAME          7.46.0
 | 
			
		||||
CURL_HTTPPOST_LARGE             7.46.0
 | 
			
		||||
CURL_HTTPPOST_PTRBUFFER         7.46.0
 | 
			
		||||
CURL_HTTPPOST_PTRCONTENTS       7.46.0
 | 
			
		||||
CURL_HTTPPOST_PTRNAME           7.46.0
 | 
			
		||||
CURL_HTTPPOST_READFILE          7.46.0
 | 
			
		||||
CURL_HTTP_VERSION_1_0           7.9.1
 | 
			
		||||
CURL_HTTP_VERSION_1_1           7.9.1
 | 
			
		||||
CURL_HTTP_VERSION_2_0           7.33.0
 | 
			
		||||
CURL_HTTP_VERSION_2             7.43.0
 | 
			
		||||
CURL_HTTP_VERSION_2_0           7.33.0
 | 
			
		||||
CURL_HTTP_VERSION_NONE          7.9.1
 | 
			
		||||
CURL_IPRESOLVE_V4               7.10.8
 | 
			
		||||
CURL_IPRESOLVE_V6               7.10.8
 | 
			
		||||
 
 | 
			
		||||
@@ -127,7 +127,8 @@ struct curl_httppost {
 | 
			
		||||
  char *name;                       /* pointer to allocated name */
 | 
			
		||||
  long namelength;                  /* length of name length */
 | 
			
		||||
  char *contents;                   /* pointer to allocated data contents */
 | 
			
		||||
  long contentslength;              /* length of contents field */
 | 
			
		||||
  long contentslength;              /* length of contents field, see also
 | 
			
		||||
                                       CURL_HTTPPOST_LARGE */
 | 
			
		||||
  char *buffer;                     /* pointer to allocated buffer contents */
 | 
			
		||||
  long bufferlength;                /* length of buffer field */
 | 
			
		||||
  char *contenttype;                /* Content-Type */
 | 
			
		||||
@@ -136,24 +137,33 @@ struct curl_httppost {
 | 
			
		||||
                                       file, this link should link to following
 | 
			
		||||
                                       files */
 | 
			
		||||
  long flags;                       /* as defined below */
 | 
			
		||||
#define HTTPPOST_FILENAME (1<<0)    /* specified content is a file name */
 | 
			
		||||
#define HTTPPOST_READFILE (1<<1)    /* specified content is a file name */
 | 
			
		||||
#define HTTPPOST_PTRNAME (1<<2)     /* name is only stored pointer
 | 
			
		||||
                                       do not free in formfree */
 | 
			
		||||
#define HTTPPOST_PTRCONTENTS (1<<3) /* contents is only stored pointer
 | 
			
		||||
                                       do not free in formfree */
 | 
			
		||||
#define HTTPPOST_BUFFER (1<<4)      /* upload file from buffer */
 | 
			
		||||
#define HTTPPOST_PTRBUFFER (1<<5)   /* upload file from pointer contents */
 | 
			
		||||
#define HTTPPOST_CALLBACK (1<<6)    /* upload file contents by using the
 | 
			
		||||
                                       regular read callback to get the data
 | 
			
		||||
                                       and pass the given pointer as custom
 | 
			
		||||
                                       pointer */
 | 
			
		||||
 | 
			
		||||
/* specified content is a file name */
 | 
			
		||||
#define CURL_HTTPPOST_FILENAME (1<<0)
 | 
			
		||||
/* specified content is a file name */
 | 
			
		||||
#define CURL_HTTPPOST_READFILE (1<<1)
 | 
			
		||||
/* name is only stored pointer do not free in formfree */
 | 
			
		||||
#define CURL_HTTPPOST_PTRNAME (1<<2)
 | 
			
		||||
/* contents is only stored pointer do not free in formfree */
 | 
			
		||||
#define CURL_HTTPPOST_PTRCONTENTS (1<<3)
 | 
			
		||||
/* upload file from buffer */
 | 
			
		||||
#define CURL_HTTPPOST_BUFFER (1<<4)
 | 
			
		||||
/* upload file from pointer contents */
 | 
			
		||||
#define CURL_HTTPPOST_PTRBUFFER (1<<5)
 | 
			
		||||
/* upload file contents by using the regular read callback to get the data and
 | 
			
		||||
   pass the given pointer as custom pointer */
 | 
			
		||||
#define CURL_HTTPPOST_CALLBACK (1<<6)
 | 
			
		||||
/* use size in 'contentlen', added in 7.46.0 */
 | 
			
		||||
#define CURL_HTTPPOST_LARGE (1<<7)
 | 
			
		||||
 | 
			
		||||
  char *showfilename;               /* The file name to show. If not set, the
 | 
			
		||||
                                       actual file name will be used (if this
 | 
			
		||||
                                       is a file part) */
 | 
			
		||||
  void *userp;                      /* custom pointer used for
 | 
			
		||||
                                       HTTPPOST_CALLBACK posts */
 | 
			
		||||
  curl_off_t contentlen;            /* alternative length of contents
 | 
			
		||||
                                       field. Used if CURL_HTTPPOST_LARGE is
 | 
			
		||||
                                       set. Added in 7.46.0 */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* This is the CURLOPT_PROGRESSFUNCTION callback proto. It is now considered
 | 
			
		||||
@@ -818,9 +828,13 @@ typedef enum {
 | 
			
		||||
   but 32 */
 | 
			
		||||
#define CURLOPTTYPE_LONG          0
 | 
			
		||||
#define CURLOPTTYPE_OBJECTPOINT   10000
 | 
			
		||||
#define CURLOPTTYPE_STRINGPOINT   10000
 | 
			
		||||
#define CURLOPTTYPE_FUNCTIONPOINT 20000
 | 
			
		||||
#define CURLOPTTYPE_OFF_T         30000
 | 
			
		||||
 | 
			
		||||
/* *STRINGPOINT is an alias for OBJECTPOINT to allow tools to extract the
 | 
			
		||||
   string options from the header file */
 | 
			
		||||
 | 
			
		||||
/* name is uppercase CURLOPT_<name>,
 | 
			
		||||
   type is one of the defined CURLOPTTYPE_<type>
 | 
			
		||||
   number is unique identifier */
 | 
			
		||||
@@ -834,6 +848,7 @@ typedef enum {
 | 
			
		||||
/* The macro "##" is ISO C, we assume pre-ISO C doesn't support it. */
 | 
			
		||||
#define LONG          CURLOPTTYPE_LONG
 | 
			
		||||
#define OBJECTPOINT   CURLOPTTYPE_OBJECTPOINT
 | 
			
		||||
#define STRINGPOINT   CURLOPTTYPE_OBJECTPOINT
 | 
			
		||||
#define FUNCTIONPOINT CURLOPTTYPE_FUNCTIONPOINT
 | 
			
		||||
#define OFF_T         CURLOPTTYPE_OFF_T
 | 
			
		||||
#define CINIT(name,type,number) CURLOPT_/**/name = type + number
 | 
			
		||||
@@ -850,22 +865,22 @@ typedef enum {
 | 
			
		||||
  CINIT(WRITEDATA, OBJECTPOINT, 1),
 | 
			
		||||
 | 
			
		||||
  /* The full URL to get/put */
 | 
			
		||||
  CINIT(URL, OBJECTPOINT, 2),
 | 
			
		||||
  CINIT(URL, STRINGPOINT, 2),
 | 
			
		||||
 | 
			
		||||
  /* Port number to connect to, if other than default. */
 | 
			
		||||
  CINIT(PORT, LONG, 3),
 | 
			
		||||
 | 
			
		||||
  /* Name of proxy to use. */
 | 
			
		||||
  CINIT(PROXY, OBJECTPOINT, 4),
 | 
			
		||||
  CINIT(PROXY, STRINGPOINT, 4),
 | 
			
		||||
 | 
			
		||||
  /* "user:password;options" to use when fetching. */
 | 
			
		||||
  CINIT(USERPWD, OBJECTPOINT, 5),
 | 
			
		||||
  CINIT(USERPWD, STRINGPOINT, 5),
 | 
			
		||||
 | 
			
		||||
  /* "user:password" to use with proxy. */
 | 
			
		||||
  CINIT(PROXYUSERPWD, OBJECTPOINT, 6),
 | 
			
		||||
  CINIT(PROXYUSERPWD, STRINGPOINT, 6),
 | 
			
		||||
 | 
			
		||||
  /* Range to get, specified as an ASCII string. */
 | 
			
		||||
  CINIT(RANGE, OBJECTPOINT, 7),
 | 
			
		||||
  CINIT(RANGE, STRINGPOINT, 7),
 | 
			
		||||
 | 
			
		||||
  /* not used */
 | 
			
		||||
 | 
			
		||||
@@ -902,14 +917,14 @@ typedef enum {
 | 
			
		||||
  CINIT(POSTFIELDS, OBJECTPOINT, 15),
 | 
			
		||||
 | 
			
		||||
  /* Set the referrer page (needed by some CGIs) */
 | 
			
		||||
  CINIT(REFERER, OBJECTPOINT, 16),
 | 
			
		||||
  CINIT(REFERER, STRINGPOINT, 16),
 | 
			
		||||
 | 
			
		||||
  /* Set the FTP PORT string (interface name, named or numerical IP address)
 | 
			
		||||
     Use i.e '-' to use default address. */
 | 
			
		||||
  CINIT(FTPPORT, OBJECTPOINT, 17),
 | 
			
		||||
  CINIT(FTPPORT, STRINGPOINT, 17),
 | 
			
		||||
 | 
			
		||||
  /* Set the User-Agent string (examined by some CGIs) */
 | 
			
		||||
  CINIT(USERAGENT, OBJECTPOINT, 18),
 | 
			
		||||
  CINIT(USERAGENT, STRINGPOINT, 18),
 | 
			
		||||
 | 
			
		||||
  /* If the download receives less than "low speed limit" bytes/second
 | 
			
		||||
   * during "low speed time" seconds, the operations is aborted.
 | 
			
		||||
@@ -932,7 +947,7 @@ typedef enum {
 | 
			
		||||
  CINIT(RESUME_FROM, LONG, 21),
 | 
			
		||||
 | 
			
		||||
  /* Set cookie in request: */
 | 
			
		||||
  CINIT(COOKIE, OBJECTPOINT, 22),
 | 
			
		||||
  CINIT(COOKIE, STRINGPOINT, 22),
 | 
			
		||||
 | 
			
		||||
  /* This points to a linked list of headers, struct curl_slist kind. This
 | 
			
		||||
     list is also used for RTSP (in spite of its name) */
 | 
			
		||||
@@ -942,10 +957,10 @@ typedef enum {
 | 
			
		||||
  CINIT(HTTPPOST, OBJECTPOINT, 24),
 | 
			
		||||
 | 
			
		||||
  /* name of the file keeping your private SSL-certificate */
 | 
			
		||||
  CINIT(SSLCERT, OBJECTPOINT, 25),
 | 
			
		||||
  CINIT(SSLCERT, STRINGPOINT, 25),
 | 
			
		||||
 | 
			
		||||
  /* password for the SSL or SSH private key */
 | 
			
		||||
  CINIT(KEYPASSWD, OBJECTPOINT, 26),
 | 
			
		||||
  CINIT(KEYPASSWD, STRINGPOINT, 26),
 | 
			
		||||
 | 
			
		||||
  /* send TYPE parameter? */
 | 
			
		||||
  CINIT(CRLF, LONG, 27),
 | 
			
		||||
@@ -959,7 +974,7 @@ typedef enum {
 | 
			
		||||
 | 
			
		||||
  /* point to a file to read the initial cookies from, also enables
 | 
			
		||||
     "cookie awareness" */
 | 
			
		||||
  CINIT(COOKIEFILE, OBJECTPOINT, 31),
 | 
			
		||||
  CINIT(COOKIEFILE, STRINGPOINT, 31),
 | 
			
		||||
 | 
			
		||||
  /* What version to specifically try to use.
 | 
			
		||||
     See CURL_SSLVERSION defines below. */
 | 
			
		||||
@@ -978,9 +993,9 @@ typedef enum {
 | 
			
		||||
     HTTP: DELETE, TRACE and others
 | 
			
		||||
     FTP: to use a different list command
 | 
			
		||||
     */
 | 
			
		||||
  CINIT(CUSTOMREQUEST, OBJECTPOINT, 36),
 | 
			
		||||
  CINIT(CUSTOMREQUEST, STRINGPOINT, 36),
 | 
			
		||||
 | 
			
		||||
  /* HTTP request, for odd commands like DELETE, TRACE and others */
 | 
			
		||||
  /* FILE handle to use instead of stderr */
 | 
			
		||||
  CINIT(STDERR, OBJECTPOINT, 37),
 | 
			
		||||
 | 
			
		||||
  /* 38 is not used */
 | 
			
		||||
@@ -1037,19 +1052,19 @@ typedef enum {
 | 
			
		||||
  CINIT(HTTPPROXYTUNNEL, LONG, 61),
 | 
			
		||||
 | 
			
		||||
  /* Set the interface string to use as outgoing network interface */
 | 
			
		||||
  CINIT(INTERFACE, OBJECTPOINT, 62),
 | 
			
		||||
  CINIT(INTERFACE, STRINGPOINT, 62),
 | 
			
		||||
 | 
			
		||||
  /* Set the krb4/5 security level, this also enables krb4/5 awareness.  This
 | 
			
		||||
   * is a string, 'clear', 'safe', 'confidential' or 'private'.  If the string
 | 
			
		||||
   * is set but doesn't match one of these, 'private' will be used.  */
 | 
			
		||||
  CINIT(KRBLEVEL, OBJECTPOINT, 63),
 | 
			
		||||
  CINIT(KRBLEVEL, STRINGPOINT, 63),
 | 
			
		||||
 | 
			
		||||
  /* Set if we should verify the peer in ssl handshake, set 1 to verify. */
 | 
			
		||||
  CINIT(SSL_VERIFYPEER, LONG, 64),
 | 
			
		||||
 | 
			
		||||
  /* The CApath or CAfile used to validate the peer certificate
 | 
			
		||||
     this option is used only if SSL_VERIFYPEER is true */
 | 
			
		||||
  CINIT(CAINFO, OBJECTPOINT, 65),
 | 
			
		||||
  CINIT(CAINFO, STRINGPOINT, 65),
 | 
			
		||||
 | 
			
		||||
  /* 66 = OBSOLETE */
 | 
			
		||||
  /* 67 = OBSOLETE */
 | 
			
		||||
@@ -1083,10 +1098,10 @@ typedef enum {
 | 
			
		||||
 | 
			
		||||
  /* Set to a file name that contains random data for libcurl to use to
 | 
			
		||||
     seed the random engine when doing SSL connects. */
 | 
			
		||||
  CINIT(RANDOM_FILE, OBJECTPOINT, 76),
 | 
			
		||||
  CINIT(RANDOM_FILE, STRINGPOINT, 76),
 | 
			
		||||
 | 
			
		||||
  /* Set to the Entropy Gathering Daemon socket pathname */
 | 
			
		||||
  CINIT(EGDSOCKET, OBJECTPOINT, 77),
 | 
			
		||||
  CINIT(EGDSOCKET, STRINGPOINT, 77),
 | 
			
		||||
 | 
			
		||||
  /* Time-out connect operations after this amount of seconds, if connects are
 | 
			
		||||
     OK within this time, then fine... This only aborts the connect phase. */
 | 
			
		||||
@@ -1108,10 +1123,10 @@ typedef enum {
 | 
			
		||||
 | 
			
		||||
  /* Specify which file name to write all known cookies in after completed
 | 
			
		||||
     operation. Set file name to "-" (dash) to make it go to stdout. */
 | 
			
		||||
  CINIT(COOKIEJAR, OBJECTPOINT, 82),
 | 
			
		||||
  CINIT(COOKIEJAR, STRINGPOINT, 82),
 | 
			
		||||
 | 
			
		||||
  /* Specify which SSL ciphers to use */
 | 
			
		||||
  CINIT(SSL_CIPHER_LIST, OBJECTPOINT, 83),
 | 
			
		||||
  CINIT(SSL_CIPHER_LIST, STRINGPOINT, 83),
 | 
			
		||||
 | 
			
		||||
  /* Specify which HTTP version to use! This must be set to one of the
 | 
			
		||||
     CURL_HTTP_VERSION* enums set below. */
 | 
			
		||||
@@ -1123,16 +1138,16 @@ typedef enum {
 | 
			
		||||
  CINIT(FTP_USE_EPSV, LONG, 85),
 | 
			
		||||
 | 
			
		||||
  /* type of the file keeping your SSL-certificate ("DER", "PEM", "ENG") */
 | 
			
		||||
  CINIT(SSLCERTTYPE, OBJECTPOINT, 86),
 | 
			
		||||
  CINIT(SSLCERTTYPE, STRINGPOINT, 86),
 | 
			
		||||
 | 
			
		||||
  /* name of the file keeping your private SSL-key */
 | 
			
		||||
  CINIT(SSLKEY, OBJECTPOINT, 87),
 | 
			
		||||
  CINIT(SSLKEY, STRINGPOINT, 87),
 | 
			
		||||
 | 
			
		||||
  /* type of the file keeping your private SSL-key ("DER", "PEM", "ENG") */
 | 
			
		||||
  CINIT(SSLKEYTYPE, OBJECTPOINT, 88),
 | 
			
		||||
  CINIT(SSLKEYTYPE, STRINGPOINT, 88),
 | 
			
		||||
 | 
			
		||||
  /* crypto engine for the SSL-sub system */
 | 
			
		||||
  CINIT(SSLENGINE, OBJECTPOINT, 89),
 | 
			
		||||
  CINIT(SSLENGINE, STRINGPOINT, 89),
 | 
			
		||||
 | 
			
		||||
  /* set the crypto engine for the SSL-sub system as default
 | 
			
		||||
     the param has no meaning...
 | 
			
		||||
@@ -1159,7 +1174,7 @@ typedef enum {
 | 
			
		||||
 | 
			
		||||
  /* The CApath directory used to validate the peer certificate
 | 
			
		||||
     this option is used only if SSL_VERIFYPEER is true */
 | 
			
		||||
  CINIT(CAPATH, OBJECTPOINT, 97),
 | 
			
		||||
  CINIT(CAPATH, STRINGPOINT, 97),
 | 
			
		||||
 | 
			
		||||
  /* Instruct libcurl to use a smaller receive buffer */
 | 
			
		||||
  CINIT(BUFFERSIZE, LONG, 98),
 | 
			
		||||
@@ -1179,7 +1194,7 @@ typedef enum {
 | 
			
		||||
  /* Set the Accept-Encoding string. Use this to tell a server you would like
 | 
			
		||||
     the response to be compressed. Before 7.21.6, this was known as
 | 
			
		||||
     CURLOPT_ENCODING */
 | 
			
		||||
  CINIT(ACCEPT_ENCODING, OBJECTPOINT, 102),
 | 
			
		||||
  CINIT(ACCEPT_ENCODING, STRINGPOINT, 102),
 | 
			
		||||
 | 
			
		||||
  /* Set pointer to private data */
 | 
			
		||||
  CINIT(PRIVATE, OBJECTPOINT, 103),
 | 
			
		||||
@@ -1260,7 +1275,7 @@ typedef enum {
 | 
			
		||||
     to parse (using the CURLOPT_NETRC option). If not set, libcurl will do
 | 
			
		||||
     a poor attempt to find the user's home directory and check for a .netrc
 | 
			
		||||
     file in there. */
 | 
			
		||||
  CINIT(NETRC_FILE, OBJECTPOINT, 118),
 | 
			
		||||
  CINIT(NETRC_FILE, STRINGPOINT, 118),
 | 
			
		||||
 | 
			
		||||
  /* Enable SSL/TLS for FTP, pick one of:
 | 
			
		||||
     CURLUSESSL_TRY     - try using SSL, proceed anyway otherwise
 | 
			
		||||
@@ -1303,10 +1318,10 @@ typedef enum {
 | 
			
		||||
 | 
			
		||||
  /* zero terminated string for pass on to the FTP server when asked for
 | 
			
		||||
     "account" info */
 | 
			
		||||
  CINIT(FTP_ACCOUNT, OBJECTPOINT, 134),
 | 
			
		||||
  CINIT(FTP_ACCOUNT, STRINGPOINT, 134),
 | 
			
		||||
 | 
			
		||||
  /* feed cookies into cookie engine */
 | 
			
		||||
  CINIT(COOKIELIST, OBJECTPOINT, 135),
 | 
			
		||||
  /* feed cookie into cookie engine */
 | 
			
		||||
  CINIT(COOKIELIST, STRINGPOINT, 135),
 | 
			
		||||
 | 
			
		||||
  /* ignore Content-Length */
 | 
			
		||||
  CINIT(IGNORE_CONTENT_LENGTH, LONG, 136),
 | 
			
		||||
@@ -1352,7 +1367,7 @@ typedef enum {
 | 
			
		||||
  CINIT(MAX_RECV_SPEED_LARGE, OFF_T, 146),
 | 
			
		||||
 | 
			
		||||
  /* Pointer to command string to send if USER/PASS fails. */
 | 
			
		||||
  CINIT(FTP_ALTERNATIVE_TO_USER, OBJECTPOINT, 147),
 | 
			
		||||
  CINIT(FTP_ALTERNATIVE_TO_USER, STRINGPOINT, 147),
 | 
			
		||||
 | 
			
		||||
  /* callback function for setting socket options */
 | 
			
		||||
  CINIT(SOCKOPTFUNCTION, FUNCTIONPOINT, 148),
 | 
			
		||||
@@ -1366,8 +1381,8 @@ typedef enum {
 | 
			
		||||
  CINIT(SSH_AUTH_TYPES, LONG, 151),
 | 
			
		||||
 | 
			
		||||
  /* Used by scp/sftp to do public/private key authentication */
 | 
			
		||||
  CINIT(SSH_PUBLIC_KEYFILE, OBJECTPOINT, 152),
 | 
			
		||||
  CINIT(SSH_PRIVATE_KEYFILE, OBJECTPOINT, 153),
 | 
			
		||||
  CINIT(SSH_PUBLIC_KEYFILE, STRINGPOINT, 152),
 | 
			
		||||
  CINIT(SSH_PRIVATE_KEYFILE, STRINGPOINT, 153),
 | 
			
		||||
 | 
			
		||||
  /* Send CCC (Clear Command Channel) after authentication */
 | 
			
		||||
  CINIT(FTP_SSL_CCC, LONG, 154),
 | 
			
		||||
@@ -1391,7 +1406,7 @@ typedef enum {
 | 
			
		||||
  CINIT(POSTREDIR, LONG, 161),
 | 
			
		||||
 | 
			
		||||
  /* used by scp/sftp to verify the host's public key */
 | 
			
		||||
  CINIT(SSH_HOST_PUBLIC_KEY_MD5, OBJECTPOINT, 162),
 | 
			
		||||
  CINIT(SSH_HOST_PUBLIC_KEY_MD5, STRINGPOINT, 162),
 | 
			
		||||
 | 
			
		||||
  /* Callback function for opening socket (instead of socket(2)). Optionally,
 | 
			
		||||
     callback is able change the address or refuse to connect returning
 | 
			
		||||
@@ -1411,10 +1426,10 @@ typedef enum {
 | 
			
		||||
  CINIT(SEEKDATA, OBJECTPOINT, 168),
 | 
			
		||||
 | 
			
		||||
  /* CRL file */
 | 
			
		||||
  CINIT(CRLFILE, OBJECTPOINT, 169),
 | 
			
		||||
  CINIT(CRLFILE, STRINGPOINT, 169),
 | 
			
		||||
 | 
			
		||||
  /* Issuer certificate */
 | 
			
		||||
  CINIT(ISSUERCERT, OBJECTPOINT, 170),
 | 
			
		||||
  CINIT(ISSUERCERT, STRINGPOINT, 170),
 | 
			
		||||
 | 
			
		||||
  /* (IPv6) Address scope */
 | 
			
		||||
  CINIT(ADDRESS_SCOPE, LONG, 171),
 | 
			
		||||
@@ -1424,12 +1439,12 @@ typedef enum {
 | 
			
		||||
  CINIT(CERTINFO, LONG, 172),
 | 
			
		||||
 | 
			
		||||
  /* "name" and "pwd" to use when fetching. */
 | 
			
		||||
  CINIT(USERNAME, OBJECTPOINT, 173),
 | 
			
		||||
  CINIT(PASSWORD, OBJECTPOINT, 174),
 | 
			
		||||
  CINIT(USERNAME, STRINGPOINT, 173),
 | 
			
		||||
  CINIT(PASSWORD, STRINGPOINT, 174),
 | 
			
		||||
 | 
			
		||||
    /* "name" and "pwd" to use with Proxy when fetching. */
 | 
			
		||||
  CINIT(PROXYUSERNAME, OBJECTPOINT, 175),
 | 
			
		||||
  CINIT(PROXYPASSWORD, OBJECTPOINT, 176),
 | 
			
		||||
  CINIT(PROXYUSERNAME, STRINGPOINT, 175),
 | 
			
		||||
  CINIT(PROXYPASSWORD, STRINGPOINT, 176),
 | 
			
		||||
 | 
			
		||||
  /* Comma separated list of hostnames defining no-proxy zones. These should
 | 
			
		||||
     match both hostnames directly, and hostnames within a domain. For
 | 
			
		||||
@@ -1438,13 +1453,13 @@ typedef enum {
 | 
			
		||||
     implementations of this, .local.com will be considered to be the same as
 | 
			
		||||
     local.com. A single * is the only valid wildcard, and effectively
 | 
			
		||||
     disables the use of proxy. */
 | 
			
		||||
  CINIT(NOPROXY, OBJECTPOINT, 177),
 | 
			
		||||
  CINIT(NOPROXY, STRINGPOINT, 177),
 | 
			
		||||
 | 
			
		||||
  /* block size for TFTP transfers */
 | 
			
		||||
  CINIT(TFTP_BLKSIZE, LONG, 178),
 | 
			
		||||
 | 
			
		||||
  /* Socks Service */
 | 
			
		||||
  CINIT(SOCKS5_GSSAPI_SERVICE, OBJECTPOINT, 179),
 | 
			
		||||
  CINIT(SOCKS5_GSSAPI_SERVICE, STRINGPOINT, 179),
 | 
			
		||||
 | 
			
		||||
  /* Socks Service */
 | 
			
		||||
  CINIT(SOCKS5_GSSAPI_NEC, LONG, 180),
 | 
			
		||||
@@ -1462,7 +1477,7 @@ typedef enum {
 | 
			
		||||
  CINIT(REDIR_PROTOCOLS, LONG, 182),
 | 
			
		||||
 | 
			
		||||
  /* set the SSH knownhost file name to use */
 | 
			
		||||
  CINIT(SSH_KNOWNHOSTS, OBJECTPOINT, 183),
 | 
			
		||||
  CINIT(SSH_KNOWNHOSTS, STRINGPOINT, 183),
 | 
			
		||||
 | 
			
		||||
  /* set the SSH host key callback, must point to a curl_sshkeycallback
 | 
			
		||||
     function */
 | 
			
		||||
@@ -1472,9 +1487,9 @@ typedef enum {
 | 
			
		||||
  CINIT(SSH_KEYDATA, OBJECTPOINT, 185),
 | 
			
		||||
 | 
			
		||||
  /* set the SMTP mail originator */
 | 
			
		||||
  CINIT(MAIL_FROM, OBJECTPOINT, 186),
 | 
			
		||||
  CINIT(MAIL_FROM, STRINGPOINT, 186),
 | 
			
		||||
 | 
			
		||||
  /* set the SMTP mail receiver(s) */
 | 
			
		||||
  /* set the list of SMTP mail receiver(s) */
 | 
			
		||||
  CINIT(MAIL_RCPT, OBJECTPOINT, 187),
 | 
			
		||||
 | 
			
		||||
  /* FTP: send PRET before PASV */
 | 
			
		||||
@@ -1484,13 +1499,13 @@ typedef enum {
 | 
			
		||||
  CINIT(RTSP_REQUEST, LONG, 189),
 | 
			
		||||
 | 
			
		||||
  /* The RTSP session identifier */
 | 
			
		||||
  CINIT(RTSP_SESSION_ID, OBJECTPOINT, 190),
 | 
			
		||||
  CINIT(RTSP_SESSION_ID, STRINGPOINT, 190),
 | 
			
		||||
 | 
			
		||||
  /* The RTSP stream URI */
 | 
			
		||||
  CINIT(RTSP_STREAM_URI, OBJECTPOINT, 191),
 | 
			
		||||
  CINIT(RTSP_STREAM_URI, STRINGPOINT, 191),
 | 
			
		||||
 | 
			
		||||
  /* The Transport: header to use in RTSP requests */
 | 
			
		||||
  CINIT(RTSP_TRANSPORT, OBJECTPOINT, 192),
 | 
			
		||||
  CINIT(RTSP_TRANSPORT, STRINGPOINT, 192),
 | 
			
		||||
 | 
			
		||||
  /* Manually initialize the client RTSP CSeq for this handle */
 | 
			
		||||
  CINIT(RTSP_CLIENT_CSEQ, LONG, 193),
 | 
			
		||||
@@ -1528,13 +1543,13 @@ typedef enum {
 | 
			
		||||
  CINIT(RESOLVE, OBJECTPOINT, 203),
 | 
			
		||||
 | 
			
		||||
  /* Set a username for authenticated TLS */
 | 
			
		||||
  CINIT(TLSAUTH_USERNAME, OBJECTPOINT, 204),
 | 
			
		||||
  CINIT(TLSAUTH_USERNAME, STRINGPOINT, 204),
 | 
			
		||||
 | 
			
		||||
  /* Set a password for authenticated TLS */
 | 
			
		||||
  CINIT(TLSAUTH_PASSWORD, OBJECTPOINT, 205),
 | 
			
		||||
  CINIT(TLSAUTH_PASSWORD, STRINGPOINT, 205),
 | 
			
		||||
 | 
			
		||||
  /* Set authentication type for authenticated TLS */
 | 
			
		||||
  CINIT(TLSAUTH_TYPE, OBJECTPOINT, 206),
 | 
			
		||||
  CINIT(TLSAUTH_TYPE, STRINGPOINT, 206),
 | 
			
		||||
 | 
			
		||||
  /* Set to 1 to enable the "TE:" header in HTTP requests to ask for
 | 
			
		||||
     compressed transfer-encoded responses. Set to 0 to disable the use of TE:
 | 
			
		||||
@@ -1557,7 +1572,7 @@ typedef enum {
 | 
			
		||||
  CINIT(GSSAPI_DELEGATION, LONG, 210),
 | 
			
		||||
 | 
			
		||||
  /* Set the name servers to use for DNS resolution */
 | 
			
		||||
  CINIT(DNS_SERVERS, OBJECTPOINT, 211),
 | 
			
		||||
  CINIT(DNS_SERVERS, STRINGPOINT, 211),
 | 
			
		||||
 | 
			
		||||
  /* Time-out accept operations (currently for FTP only) after this amount
 | 
			
		||||
     of miliseconds. */
 | 
			
		||||
@@ -1574,7 +1589,7 @@ typedef enum {
 | 
			
		||||
  CINIT(SSL_OPTIONS, LONG, 216),
 | 
			
		||||
 | 
			
		||||
  /* Set the SMTP auth originator */
 | 
			
		||||
  CINIT(MAIL_AUTH, OBJECTPOINT, 217),
 | 
			
		||||
  CINIT(MAIL_AUTH, STRINGPOINT, 217),
 | 
			
		||||
 | 
			
		||||
  /* Enable/disable SASL initial response */
 | 
			
		||||
  CINIT(SASL_IR, LONG, 218),
 | 
			
		||||
@@ -1585,23 +1600,23 @@ typedef enum {
 | 
			
		||||
  CINIT(XFERINFOFUNCTION, FUNCTIONPOINT, 219),
 | 
			
		||||
 | 
			
		||||
  /* The XOAUTH2 bearer token */
 | 
			
		||||
  CINIT(XOAUTH2_BEARER, OBJECTPOINT, 220),
 | 
			
		||||
  CINIT(XOAUTH2_BEARER, STRINGPOINT, 220),
 | 
			
		||||
 | 
			
		||||
  /* Set the interface string to use as outgoing network
 | 
			
		||||
   * interface for DNS requests.
 | 
			
		||||
   * Only supported by the c-ares DNS backend */
 | 
			
		||||
  CINIT(DNS_INTERFACE, OBJECTPOINT, 221),
 | 
			
		||||
  CINIT(DNS_INTERFACE, STRINGPOINT, 221),
 | 
			
		||||
 | 
			
		||||
  /* Set the local IPv4 address to use for outgoing DNS requests.
 | 
			
		||||
   * Only supported by the c-ares DNS backend */
 | 
			
		||||
  CINIT(DNS_LOCAL_IP4, OBJECTPOINT, 222),
 | 
			
		||||
  CINIT(DNS_LOCAL_IP4, STRINGPOINT, 222),
 | 
			
		||||
 | 
			
		||||
  /* Set the local IPv4 address to use for outgoing DNS requests.
 | 
			
		||||
   * Only supported by the c-ares DNS backend */
 | 
			
		||||
  CINIT(DNS_LOCAL_IP6, OBJECTPOINT, 223),
 | 
			
		||||
  CINIT(DNS_LOCAL_IP6, STRINGPOINT, 223),
 | 
			
		||||
 | 
			
		||||
  /* Set authentication options directly */
 | 
			
		||||
  CINIT(LOGIN_OPTIONS, OBJECTPOINT, 224),
 | 
			
		||||
  CINIT(LOGIN_OPTIONS, STRINGPOINT, 224),
 | 
			
		||||
 | 
			
		||||
  /* Enable/disable TLS NPN extension (http2 over ssl might fail without) */
 | 
			
		||||
  CINIT(SSL_ENABLE_NPN, LONG, 225),
 | 
			
		||||
@@ -1622,10 +1637,10 @@ typedef enum {
 | 
			
		||||
 | 
			
		||||
  /* The public key in DER form used to validate the peer public key
 | 
			
		||||
     this option is used only if SSL_VERIFYPEER is true */
 | 
			
		||||
  CINIT(PINNEDPUBLICKEY, OBJECTPOINT, 230),
 | 
			
		||||
  CINIT(PINNEDPUBLICKEY, STRINGPOINT, 230),
 | 
			
		||||
 | 
			
		||||
  /* Path to Unix domain socket */
 | 
			
		||||
  CINIT(UNIX_SOCKET_PATH, OBJECTPOINT, 231),
 | 
			
		||||
  CINIT(UNIX_SOCKET_PATH, STRINGPOINT, 231),
 | 
			
		||||
 | 
			
		||||
  /* Set if we should verify the certificate status. */
 | 
			
		||||
  CINIT(SSL_VERIFYSTATUS, LONG, 232),
 | 
			
		||||
@@ -1637,16 +1652,25 @@ typedef enum {
 | 
			
		||||
  CINIT(PATH_AS_IS, LONG, 234),
 | 
			
		||||
 | 
			
		||||
  /* Proxy Service Name */
 | 
			
		||||
  CINIT(PROXY_SERVICE_NAME, OBJECTPOINT, 235),
 | 
			
		||||
  CINIT(PROXY_SERVICE_NAME, STRINGPOINT, 235),
 | 
			
		||||
 | 
			
		||||
  /* Service Name */
 | 
			
		||||
  CINIT(SERVICE_NAME, OBJECTPOINT, 236),
 | 
			
		||||
  CINIT(SERVICE_NAME, STRINGPOINT, 236),
 | 
			
		||||
 | 
			
		||||
  /* Wait/don't wait for pipe/mutex to clarify */
 | 
			
		||||
  CINIT(PIPEWAIT, LONG, 237),
 | 
			
		||||
 | 
			
		||||
  /* Set the protocol used when curl is given a URL without a protocol */
 | 
			
		||||
  CINIT(DEFAULT_PROTOCOL, OBJECTPOINT, 238),
 | 
			
		||||
  CINIT(DEFAULT_PROTOCOL, STRINGPOINT, 238),
 | 
			
		||||
 | 
			
		||||
  /* Set stream weight, 1 - 256 (default is 16) */
 | 
			
		||||
  CINIT(STREAM_WEIGHT, LONG, 239),
 | 
			
		||||
 | 
			
		||||
  /* Set stream dependency on another CURL handle */
 | 
			
		||||
  CINIT(STREAM_DEPENDS, OBJECTPOINT, 240),
 | 
			
		||||
 | 
			
		||||
  /* Set E-xclusive stream dependency on another CURL handle */
 | 
			
		||||
  CINIT(STREAM_DEPENDS_E, OBJECTPOINT, 241),
 | 
			
		||||
 | 
			
		||||
  CURLOPT_LASTENTRY /* the last unused */
 | 
			
		||||
} CURLoption;
 | 
			
		||||
@@ -1822,6 +1846,7 @@ typedef enum {
 | 
			
		||||
  CFINIT(OBSOLETE2),
 | 
			
		||||
 | 
			
		||||
  CFINIT(STREAM),
 | 
			
		||||
  CFINIT(CONTENTLEN), /* added in 7.46.0, provide a curl_off_t length */
 | 
			
		||||
 | 
			
		||||
  CURLFORM_LASTENTRY /* the last unused */
 | 
			
		||||
} CURLformoption;
 | 
			
		||||
@@ -2076,7 +2101,8 @@ typedef enum {
 | 
			
		||||
  CURLSSLBACKEND_CYASSL = 7,
 | 
			
		||||
  CURLSSLBACKEND_SCHANNEL = 8,
 | 
			
		||||
  CURLSSLBACKEND_DARWINSSL = 9,
 | 
			
		||||
  CURLSSLBACKEND_AXTLS = 10
 | 
			
		||||
  CURLSSLBACKEND_AXTLS = 10,
 | 
			
		||||
  CURLSSLBACKEND_MBEDTLS = 11
 | 
			
		||||
} curl_sslbackend;
 | 
			
		||||
 | 
			
		||||
/* Information about the SSL library used and the respective internal SSL
 | 
			
		||||
 
 | 
			
		||||
@@ -528,7 +528,8 @@
 | 
			
		||||
 | 
			
		||||
#elif defined(__GNUC__)
 | 
			
		||||
#  if defined(__ILP32__) || \
 | 
			
		||||
      defined(__i386__) || defined(__ppc__) || defined(__arm__) || defined(__sparc__)
 | 
			
		||||
      defined(__i386__) || defined(__ppc__) || defined(__arm__) || \
 | 
			
		||||
      defined(__sparc__) || defined(__mips__) || defined(__sh__)
 | 
			
		||||
#    define CURL_SIZEOF_LONG           4
 | 
			
		||||
#    define CURL_TYPEOF_CURL_OFF_T     long long
 | 
			
		||||
#    define CURL_FORMAT_CURL_OFF_T     "lld"
 | 
			
		||||
 
 | 
			
		||||
@@ -30,12 +30,12 @@
 | 
			
		||||
 | 
			
		||||
/* This is the version number of the libcurl package from which this header
 | 
			
		||||
   file origins: */
 | 
			
		||||
#define LIBCURL_VERSION "7.45.0-DEV"
 | 
			
		||||
#define LIBCURL_VERSION "7.46.0-DEV"
 | 
			
		||||
 | 
			
		||||
/* The numeric version number is also available "in parts" by using these
 | 
			
		||||
   defines: */
 | 
			
		||||
#define LIBCURL_VERSION_MAJOR 7
 | 
			
		||||
#define LIBCURL_VERSION_MINOR 45
 | 
			
		||||
#define LIBCURL_VERSION_MINOR 46
 | 
			
		||||
#define LIBCURL_VERSION_PATCH 0
 | 
			
		||||
 | 
			
		||||
/* This is the numeric version of the libcurl version number, meant for easier
 | 
			
		||||
@@ -57,7 +57,7 @@
 | 
			
		||||
   CURL_VERSION_BITS() macro since curl's own configure script greps for it
 | 
			
		||||
   and needs it to contain the full number.
 | 
			
		||||
*/
 | 
			
		||||
#define LIBCURL_VERSION_NUM 0x072D00
 | 
			
		||||
#define LIBCURL_VERSION_NUM 0x072E00
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * This is the date and time when the full source package was created. The
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,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
 | 
			
		||||
@@ -218,60 +218,67 @@ _CURL_WARNING(_curl_easy_getinfo_err_curl_slist,
 | 
			
		||||
 | 
			
		||||
/* evaluates to true if option takes a char* argument */
 | 
			
		||||
#define _curl_is_string_option(option)                                        \
 | 
			
		||||
  ((option) == CURLOPT_URL ||                                                 \
 | 
			
		||||
   (option) == CURLOPT_PROXY ||                                               \
 | 
			
		||||
   (option) == CURLOPT_INTERFACE ||                                           \
 | 
			
		||||
   (option) == CURLOPT_NETRC_FILE ||                                          \
 | 
			
		||||
   (option) == CURLOPT_USERPWD ||                                             \
 | 
			
		||||
   (option) == CURLOPT_USERNAME ||                                            \
 | 
			
		||||
   (option) == CURLOPT_PASSWORD ||                                            \
 | 
			
		||||
   (option) == CURLOPT_PROXYUSERPWD ||                                        \
 | 
			
		||||
   (option) == CURLOPT_PROXYUSERNAME ||                                       \
 | 
			
		||||
   (option) == CURLOPT_PROXYPASSWORD ||                                       \
 | 
			
		||||
   (option) == CURLOPT_NOPROXY ||                                             \
 | 
			
		||||
   (option) == CURLOPT_ACCEPT_ENCODING ||                                     \
 | 
			
		||||
   (option) == CURLOPT_REFERER ||                                             \
 | 
			
		||||
   (option) == CURLOPT_USERAGENT ||                                           \
 | 
			
		||||
  ((option) == CURLOPT_ACCEPT_ENCODING ||                                     \
 | 
			
		||||
   (option) == CURLOPT_CAINFO ||                                              \
 | 
			
		||||
   (option) == CURLOPT_CAPATH ||                                              \
 | 
			
		||||
   (option) == CURLOPT_COOKIE ||                                              \
 | 
			
		||||
   (option) == CURLOPT_COOKIEFILE ||                                          \
 | 
			
		||||
   (option) == CURLOPT_COOKIEJAR ||                                           \
 | 
			
		||||
   (option) == CURLOPT_COOKIELIST ||                                          \
 | 
			
		||||
   (option) == CURLOPT_FTPPORT ||                                             \
 | 
			
		||||
   (option) == CURLOPT_FTP_ALTERNATIVE_TO_USER ||                             \
 | 
			
		||||
   (option) == CURLOPT_FTP_ACCOUNT ||                                         \
 | 
			
		||||
   (option) == CURLOPT_RANGE ||                                               \
 | 
			
		||||
   (option) == CURLOPT_CUSTOMREQUEST ||                                       \
 | 
			
		||||
   (option) == CURLOPT_SSLCERT ||                                             \
 | 
			
		||||
   (option) == CURLOPT_SSLCERTTYPE ||                                         \
 | 
			
		||||
   (option) == CURLOPT_SSLKEY ||                                              \
 | 
			
		||||
   (option) == CURLOPT_SSLKEYTYPE ||                                          \
 | 
			
		||||
   (option) == CURLOPT_KEYPASSWD ||                                           \
 | 
			
		||||
   (option) == CURLOPT_SSLENGINE ||                                           \
 | 
			
		||||
   (option) == CURLOPT_CAINFO ||                                              \
 | 
			
		||||
   (option) == CURLOPT_CAPATH ||                                              \
 | 
			
		||||
   (option) == CURLOPT_RANDOM_FILE ||                                         \
 | 
			
		||||
   (option) == CURLOPT_EGDSOCKET ||                                           \
 | 
			
		||||
   (option) == CURLOPT_SSL_CIPHER_LIST ||                                     \
 | 
			
		||||
   (option) == CURLOPT_KRBLEVEL ||                                            \
 | 
			
		||||
   (option) == CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 ||                             \
 | 
			
		||||
   (option) == CURLOPT_SSH_PUBLIC_KEYFILE ||                                  \
 | 
			
		||||
   (option) == CURLOPT_SSH_PRIVATE_KEYFILE ||                                 \
 | 
			
		||||
   (option) == CURLOPT_CRLFILE ||                                             \
 | 
			
		||||
   (option) == CURLOPT_ISSUERCERT ||                                          \
 | 
			
		||||
   (option) == CURLOPT_SOCKS5_GSSAPI_SERVICE ||                               \
 | 
			
		||||
   (option) == CURLOPT_SSH_KNOWNHOSTS ||                                      \
 | 
			
		||||
   (option) == CURLOPT_MAIL_FROM ||                                           \
 | 
			
		||||
   (option) == CURLOPT_RTSP_SESSION_ID ||                                     \
 | 
			
		||||
   (option) == CURLOPT_RTSP_STREAM_URI ||                                     \
 | 
			
		||||
   (option) == CURLOPT_RTSP_TRANSPORT ||                                      \
 | 
			
		||||
   (option) == CURLOPT_XOAUTH2_BEARER ||                                      \
 | 
			
		||||
   (option) == CURLOPT_DNS_SERVERS ||                                         \
 | 
			
		||||
   (option) == CURLOPT_CUSTOMREQUEST ||                                       \
 | 
			
		||||
   (option) == CURLOPT_DEFAULT_PROTOCOL ||                                    \
 | 
			
		||||
   (option) == CURLOPT_DNS_INTERFACE ||                                       \
 | 
			
		||||
   (option) == CURLOPT_DNS_LOCAL_IP4 ||                                       \
 | 
			
		||||
   (option) == CURLOPT_DNS_LOCAL_IP6 ||                                       \
 | 
			
		||||
   (option) == CURLOPT_DNS_SERVERS ||                                         \
 | 
			
		||||
   (option) == CURLOPT_EGDSOCKET ||                                           \
 | 
			
		||||
   (option) == CURLOPT_FTPPORT ||                                             \
 | 
			
		||||
   (option) == CURLOPT_FTP_ACCOUNT ||                                         \
 | 
			
		||||
   (option) == CURLOPT_FTP_ALTERNATIVE_TO_USER ||                             \
 | 
			
		||||
   (option) == CURLOPT_INTERFACE ||                                           \
 | 
			
		||||
   (option) == CURLOPT_ISSUERCERT ||                                          \
 | 
			
		||||
   (option) == CURLOPT_KEYPASSWD ||                                           \
 | 
			
		||||
   (option) == CURLOPT_KRBLEVEL ||                                            \
 | 
			
		||||
   (option) == CURLOPT_LOGIN_OPTIONS ||                                       \
 | 
			
		||||
   (option) == CURLOPT_MAIL_AUTH ||                                           \
 | 
			
		||||
   (option) == CURLOPT_MAIL_FROM ||                                           \
 | 
			
		||||
   (option) == CURLOPT_NETRC_FILE ||                                          \
 | 
			
		||||
   (option) == CURLOPT_NOPROXY ||                                             \
 | 
			
		||||
   (option) == CURLOPT_PASSWORD ||                                            \
 | 
			
		||||
   (option) == CURLOPT_PINNEDPUBLICKEY ||                                     \
 | 
			
		||||
   (option) == CURLOPT_PROXY ||                                               \
 | 
			
		||||
   (option) == CURLOPT_PROXYPASSWORD ||                                       \
 | 
			
		||||
   (option) == CURLOPT_PROXYUSERNAME ||                                       \
 | 
			
		||||
   (option) == CURLOPT_PROXYUSERPWD ||                                        \
 | 
			
		||||
   (option) == CURLOPT_PROXY_SERVICE_NAME ||                                  \
 | 
			
		||||
   (option) == CURLOPT_RANDOM_FILE ||                                         \
 | 
			
		||||
   (option) == CURLOPT_RANGE ||                                               \
 | 
			
		||||
   (option) == CURLOPT_REFERER ||                                             \
 | 
			
		||||
   (option) == CURLOPT_RTSP_SESSION_ID ||                                     \
 | 
			
		||||
   (option) == CURLOPT_RTSP_STREAM_URI ||                                     \
 | 
			
		||||
   (option) == CURLOPT_RTSP_TRANSPORT ||                                      \
 | 
			
		||||
   (option) == CURLOPT_SERVICE_NAME ||                                        \
 | 
			
		||||
   (option) == CURLOPT_SOCKS5_GSSAPI_SERVICE ||                               \
 | 
			
		||||
   (option) == CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 ||                             \
 | 
			
		||||
   (option) == CURLOPT_SSH_KNOWNHOSTS ||                                      \
 | 
			
		||||
   (option) == CURLOPT_SSH_PRIVATE_KEYFILE ||                                 \
 | 
			
		||||
   (option) == CURLOPT_SSH_PUBLIC_KEYFILE ||                                  \
 | 
			
		||||
   (option) == CURLOPT_SSLCERT ||                                             \
 | 
			
		||||
   (option) == CURLOPT_SSLCERTTYPE ||                                         \
 | 
			
		||||
   (option) == CURLOPT_SSLENGINE ||                                           \
 | 
			
		||||
   (option) == CURLOPT_SSLKEY ||                                              \
 | 
			
		||||
   (option) == CURLOPT_SSLKEYTYPE ||                                          \
 | 
			
		||||
   (option) == CURLOPT_SSL_CIPHER_LIST ||                                     \
 | 
			
		||||
   (option) == CURLOPT_TLSAUTH_PASSWORD ||                                    \
 | 
			
		||||
   (option) == CURLOPT_TLSAUTH_TYPE ||                                        \
 | 
			
		||||
   (option) == CURLOPT_TLSAUTH_USERNAME ||                                    \
 | 
			
		||||
   (option) == CURLOPT_UNIX_SOCKET_PATH ||                                    \
 | 
			
		||||
   (option) == CURLOPT_URL ||                                                 \
 | 
			
		||||
   (option) == CURLOPT_USERAGENT ||                                           \
 | 
			
		||||
   (option) == CURLOPT_USERNAME ||                                            \
 | 
			
		||||
   (option) == CURLOPT_USERPWD ||                                             \
 | 
			
		||||
   (option) == CURLOPT_XOAUTH2_BEARER ||                                      \
 | 
			
		||||
   0)
 | 
			
		||||
 | 
			
		||||
/* evaluates to true if option takes a curl_write_callback argument */
 | 
			
		||||
@@ -287,21 +294,22 @@ _CURL_WARNING(_curl_easy_getinfo_err_curl_slist,
 | 
			
		||||
 | 
			
		||||
/* evaluates to true if option takes a data argument to pass to a callback */
 | 
			
		||||
#define _curl_is_cb_data_option(option)                                       \
 | 
			
		||||
  ((option) == CURLOPT_WRITEDATA ||                                           \
 | 
			
		||||
   (option) == CURLOPT_READDATA ||                                            \
 | 
			
		||||
   (option) == CURLOPT_IOCTLDATA ||                                           \
 | 
			
		||||
   (option) == CURLOPT_SOCKOPTDATA ||                                         \
 | 
			
		||||
   (option) == CURLOPT_OPENSOCKETDATA ||                                      \
 | 
			
		||||
   (option) == CURLOPT_PROGRESSDATA ||                                        \
 | 
			
		||||
   (option) == CURLOPT_HEADERDATA ||                                         \
 | 
			
		||||
  ((option) == CURLOPT_CHUNK_DATA ||                                          \
 | 
			
		||||
   (option) == CURLOPT_CLOSESOCKETDATA ||                                     \
 | 
			
		||||
   (option) == CURLOPT_DEBUGDATA ||                                           \
 | 
			
		||||
   (option) == CURLOPT_SSL_CTX_DATA ||                                        \
 | 
			
		||||
   (option) == CURLOPT_SEEKDATA ||                                            \
 | 
			
		||||
   (option) == CURLOPT_PRIVATE ||                                             \
 | 
			
		||||
   (option) == CURLOPT_SSH_KEYDATA ||                                         \
 | 
			
		||||
   (option) == CURLOPT_INTERLEAVEDATA ||                                      \
 | 
			
		||||
   (option) == CURLOPT_CHUNK_DATA ||                                          \
 | 
			
		||||
   (option) == CURLOPT_FNMATCH_DATA ||                                        \
 | 
			
		||||
   (option) == CURLOPT_HEADERDATA ||                                          \
 | 
			
		||||
   (option) == CURLOPT_INTERLEAVEDATA ||                                      \
 | 
			
		||||
   (option) == CURLOPT_IOCTLDATA ||                                           \
 | 
			
		||||
   (option) == CURLOPT_OPENSOCKETDATA ||                                      \
 | 
			
		||||
   (option) == CURLOPT_PRIVATE ||                                             \
 | 
			
		||||
   (option) == CURLOPT_PROGRESSDATA ||                                        \
 | 
			
		||||
   (option) == CURLOPT_READDATA ||                                            \
 | 
			
		||||
   (option) == CURLOPT_SEEKDATA ||                                            \
 | 
			
		||||
   (option) == CURLOPT_SOCKOPTDATA ||                                         \
 | 
			
		||||
   (option) == CURLOPT_SSH_KEYDATA ||                                         \
 | 
			
		||||
   (option) == CURLOPT_SSL_CTX_DATA ||                                        \
 | 
			
		||||
   (option) == CURLOPT_WRITEDATA ||                                           \
 | 
			
		||||
   0)
 | 
			
		||||
 | 
			
		||||
/* evaluates to true if option takes a POST data argument (void* or char*) */
 | 
			
		||||
@@ -312,13 +320,15 @@ _CURL_WARNING(_curl_easy_getinfo_err_curl_slist,
 | 
			
		||||
 | 
			
		||||
/* evaluates to true if option takes a struct curl_slist * argument */
 | 
			
		||||
#define _curl_is_slist_option(option)                                         \
 | 
			
		||||
  ((option) == CURLOPT_HTTPHEADER ||                                          \
 | 
			
		||||
   (option) == CURLOPT_HTTP200ALIASES ||                                      \
 | 
			
		||||
   (option) == CURLOPT_QUOTE ||                                               \
 | 
			
		||||
  ((option) == CURLOPT_HTTP200ALIASES ||                                      \
 | 
			
		||||
   (option) == CURLOPT_HTTPHEADER ||                                          \
 | 
			
		||||
   (option) == CURLOPT_MAIL_RCPT ||                                           \
 | 
			
		||||
   (option) == CURLOPT_POSTQUOTE ||                                           \
 | 
			
		||||
   (option) == CURLOPT_PREQUOTE ||                                            \
 | 
			
		||||
   (option) == CURLOPT_PROXYHEADER ||                                         \
 | 
			
		||||
   (option) == CURLOPT_QUOTE ||                                               \
 | 
			
		||||
   (option) == CURLOPT_RESOLVE ||                                             \
 | 
			
		||||
   (option) == CURLOPT_TELNETOPTIONS ||                                       \
 | 
			
		||||
   (option) == CURLOPT_MAIL_RCPT ||                                           \
 | 
			
		||||
   0)
 | 
			
		||||
 | 
			
		||||
/* groups of curl_easy_getinfo infos that take the same type of argument */
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@
 | 
			
		||||
#                            | (__| |_| |  _ <| |___
 | 
			
		||||
#                             \___|\___/|_| \_\_____|
 | 
			
		||||
#
 | 
			
		||||
# Copyright (C) 2005 - 2009, Gisle Vanem <gvanem@broadpark.no>.
 | 
			
		||||
# Copyright (C) 2005 - 2009, Gisle Vanem <gvanem@yahoo.no>.
 | 
			
		||||
# Copyright (C) 2005 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
 | 
			
		||||
#
 | 
			
		||||
# This software is licensed as described in the file COPYING, which
 | 
			
		||||
 
 | 
			
		||||
@@ -22,11 +22,13 @@
 | 
			
		||||
 | 
			
		||||
LIB_VTLS_CFILES = vtls/openssl.c vtls/gtls.c vtls/vtls.c vtls/nss.c     \
 | 
			
		||||
  vtls/polarssl.c vtls/polarssl_threadlock.c vtls/axtls.c               \
 | 
			
		||||
  vtls/cyassl.c vtls/schannel.c vtls/darwinssl.c vtls/gskit.c
 | 
			
		||||
  vtls/cyassl.c vtls/schannel.c vtls/darwinssl.c vtls/gskit.c           \
 | 
			
		||||
  vtls/mbedtls.c
 | 
			
		||||
 | 
			
		||||
LIB_VTLS_HFILES = vtls/openssl.h vtls/vtls.h vtls/gtls.h                \
 | 
			
		||||
  vtls/nssg.h vtls/polarssl.h vtls/polarssl_threadlock.h vtls/axtls.h   \
 | 
			
		||||
  vtls/cyassl.h vtls/schannel.h vtls/darwinssl.h vtls/gskit.h
 | 
			
		||||
  vtls/cyassl.h vtls/schannel.h vtls/darwinssl.h vtls/gskit.h           \
 | 
			
		||||
  vtls/mbedtls.h
 | 
			
		||||
 | 
			
		||||
LIB_CFILES = file.c timeval.c base64.c hostip.c progress.c formdata.c   \
 | 
			
		||||
  cookie.c http.c sendf.c ftp.c url.c dict.c if2ip.c speedcheck.c       \
 | 
			
		||||
 
 | 
			
		||||
@@ -143,6 +143,11 @@ sub scanfile {
 | 
			
		||||
            checkwarn($line, length($1), $file, $l, "Trailing whitespace");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        # crude attempt to detect // comments without too many false
 | 
			
		||||
        # positives
 | 
			
		||||
        if($l =~ /^([^"\*]*)[^:"]\/\//) {
 | 
			
		||||
            checkwarn($line, length($1), $file, $l, "\/\/ comment");
 | 
			
		||||
        }
 | 
			
		||||
        # check spaces after for/if/while
 | 
			
		||||
        if($l =~ /^(.*)(for|if|while) \(/) {
 | 
			
		||||
            if($1 =~ / *\#/) {
 | 
			
		||||
 
 | 
			
		||||
@@ -8,3 +8,5 @@
 | 
			
		||||
    return fopen(file, "r"); /* VMS */
 | 
			
		||||
    return fopen(file, "r", "rfm=stmlf", "ctx=stm");
 | 
			
		||||
    curl_memlog("FILE %s:%d fopen(\"%s\",\"%s\") = %p\n",
 | 
			
		||||
           a URL as file://localhost//foo must be valid as well, to refer to
 | 
			
		||||
  const char atom_specials[] = "(){ %*]";
 | 
			
		||||
 
 | 
			
		||||
@@ -1242,10 +1242,10 @@ curl_socket_t Curl_getconnectinfo(struct SessionHandle *data,
 | 
			
		||||
    }
 | 
			
		||||
/* Minix 3.1 doesn't support any flags on recv; just assume socket is OK */
 | 
			
		||||
#ifdef MSG_PEEK
 | 
			
		||||
    else {
 | 
			
		||||
    else if(sockfd != CURL_SOCKET_BAD) {
 | 
			
		||||
      /* use the socket */
 | 
			
		||||
      char buf;
 | 
			
		||||
      if(recv((RECV_TYPE_ARG1)c->sock[FIRSTSOCKET], (RECV_TYPE_ARG2)&buf,
 | 
			
		||||
      if(recv((RECV_TYPE_ARG1)sockfd, (RECV_TYPE_ARG2)&buf,
 | 
			
		||||
              (RECV_TYPE_ARG3)1, (RECV_TYPE_ARG4)MSG_PEEK) == 0) {
 | 
			
		||||
        return CURL_SOCKET_BAD;   /* FIN received */
 | 
			
		||||
      }
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										21
									
								
								lib/cookie.c
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								lib/cookie.c
									
									
									
									
									
								
							@@ -84,6 +84,10 @@ Example set of cookies:
 | 
			
		||||
 | 
			
		||||
#if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_COOKIES)
 | 
			
		||||
 | 
			
		||||
#ifdef USE_LIBPSL
 | 
			
		||||
# include <libpsl.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include "curl_printf.h"
 | 
			
		||||
#include "urldata.h"
 | 
			
		||||
#include "cookie.h"
 | 
			
		||||
@@ -379,6 +383,10 @@ Curl_cookie_add(struct SessionHandle *data,
 | 
			
		||||
  bool replace_old = FALSE;
 | 
			
		||||
  bool badcookie = FALSE; /* cookies are good by default. mmmmm yummy */
 | 
			
		||||
 | 
			
		||||
#ifdef USE_LIBPSL
 | 
			
		||||
  const psl_ctx_t *psl;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef CURL_DISABLE_VERBOSE_STRINGS
 | 
			
		||||
  (void)data;
 | 
			
		||||
#endif
 | 
			
		||||
@@ -777,6 +785,19 @@ Curl_cookie_add(struct SessionHandle *data,
 | 
			
		||||
  /* at first, remove expired cookies */
 | 
			
		||||
  remove_expired(c);
 | 
			
		||||
 | 
			
		||||
#ifdef USE_LIBPSL
 | 
			
		||||
  /* Check if the domain is a Public Suffix and if yes, ignore the cookie.
 | 
			
		||||
     This needs a libpsl compiled with builtin data. */
 | 
			
		||||
  if(co->domain && !isip(co->domain) && (psl = psl_builtin()) != NULL) {
 | 
			
		||||
    if(psl_is_public_suffix(psl, co->domain)) {
 | 
			
		||||
      infof(data, "cookie '%s' dropped, domain '%s' is a public suffix\n",
 | 
			
		||||
            co->name, co->domain);
 | 
			
		||||
      freecookie(co);
 | 
			
		||||
      return NULL;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
  clist = c->cookies;
 | 
			
		||||
  replace_old = FALSE;
 | 
			
		||||
  while(clist) {
 | 
			
		||||
 
 | 
			
		||||
@@ -83,7 +83,8 @@ Curl_addrinfo *Curl_str2addr(char *dotted, int port);
 | 
			
		||||
Curl_addrinfo *Curl_unix2addr(const char *path);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if defined(CURLDEBUG) && defined(HAVE_FREEADDRINFO)
 | 
			
		||||
#if defined(CURLDEBUG) && defined(HAVE_GETADDRINFO) && \
 | 
			
		||||
    defined(HAVE_FREEADDRINFO)
 | 
			
		||||
void
 | 
			
		||||
curl_dofreeaddrinfo(struct addrinfo *freethis,
 | 
			
		||||
                    int line, const char *source);
 | 
			
		||||
 
 | 
			
		||||
@@ -24,6 +24,12 @@
 | 
			
		||||
/* to disable FTP */
 | 
			
		||||
#cmakedefine CURL_DISABLE_FTP 1
 | 
			
		||||
 | 
			
		||||
/* to disable GOPHER */
 | 
			
		||||
#cmakedefine CURL_DISABLE_GOPHER 1
 | 
			
		||||
 | 
			
		||||
/* to disable IMAP */
 | 
			
		||||
#cmakedefine CURL_DISABLE_IMAP 1
 | 
			
		||||
 | 
			
		||||
/* to disable HTTP */
 | 
			
		||||
#cmakedefine CURL_DISABLE_HTTP 1
 | 
			
		||||
 | 
			
		||||
@@ -33,9 +39,24 @@
 | 
			
		||||
/* to disable LDAPS */
 | 
			
		||||
#cmakedefine CURL_DISABLE_LDAPS 1
 | 
			
		||||
 | 
			
		||||
/* to disable POP3 */
 | 
			
		||||
#cmakedefine CURL_DISABLE_POP3 1
 | 
			
		||||
 | 
			
		||||
/* to disable proxies */
 | 
			
		||||
#cmakedefine CURL_DISABLE_PROXY 1
 | 
			
		||||
 | 
			
		||||
/* to disable RTSP */
 | 
			
		||||
#cmakedefine CURL_DISABLE_RTSP 1
 | 
			
		||||
 | 
			
		||||
/* to disable RTMP */
 | 
			
		||||
#cmakedefine CURL_DISABLE_RTMP 1
 | 
			
		||||
 | 
			
		||||
/* to disable SMB */
 | 
			
		||||
#cmakedefine CURL_DISABLE_SMB 1
 | 
			
		||||
 | 
			
		||||
/* to disable SMTP */
 | 
			
		||||
#cmakedefine CURL_DISABLE_SMTP 1
 | 
			
		||||
 | 
			
		||||
/* to disable TELNET */
 | 
			
		||||
#cmakedefine CURL_DISABLE_TELNET 1
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -24,7 +24,7 @@
 | 
			
		||||
 | 
			
		||||
#include "curl_setup.h"
 | 
			
		||||
 | 
			
		||||
#if defined(USE_NTLM) && (!defined(USE_OPENSSL) || defined(HAVE_BORINGSSL))
 | 
			
		||||
#if defined(USE_NTLM) && !defined(HAVE_DES_SET_ODD_PARITY)
 | 
			
		||||
 | 
			
		||||
/* Applies odd parity to the given byte array */
 | 
			
		||||
void Curl_des_set_odd_parity(unsigned char *bytes, size_t length);
 | 
			
		||||
 
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user