Curl 7.40.0发布

jopen 9年前

curl是利用URL语法在命令行方式下工作的开源文件传输工具。相信有不少人使用。
新特性:
支持Kerberos V5
支持Windows下基于SSP的认证
支持SMB/CIFS协议,以及Socket和SSL等增强。

Fixed in 7.40.0 - January 8 2015

Changes:

  • http_digest: Added support for Windows SSPI based authentication
  • version info: Added Kerberos V5 to the supported features
  • Makefile: Added VC targets for WinIDN
  • config-win32: Introduce build targets for VS2012+
  • SSL: Add PEM format support for public key pinning
  • smtp: Added support for the conversion of Unix newlines during mail send
  • smb: Added initial support for the SMB/CIFS protocol
  • Added support for HTTP over unix domain sockets, via CURLOPT_UNIX_SOCKET_PATH and --unix-socket
  • sasl: Added support for GSS-API based Kerberos V5 authentication

Bugfixes:

  • darwinssl: fix session ID keys to only reuse identical sessions
  • url-parsing: reject CRLFs within URLs
  • OS400: Adjust specific support to last release
  • THANKS: Remove duplicate names
  • url.c: Fixed compilation warning
  • ssh: Fixed build on platforms where R_OK is not defined
  • tool_strdup.c: include the tool strdup.h
  • build: Fixed Visual Studio project file generation of strdup.[c|h]
  • curl_easy_setopt.3: add CURLOPT_PINNEDPUBLICKEY
  • curl.1: show zone index use in a URL
  • mk-ca-bundle.vbs: switch to new certdata.txt url
  • Makefile.dist: Added some missing SSPI configurations
  • build: Fixed no NTLM support for email when CURL_DISABLE_HTTP is defined
  • SSH: use the port number as well for known_known checks
  • libssh2: detect features based on version, not configure checks
  • http2: Deal with HTTP/2 data inside Upgrade response header buffer
  • multi: removed Curl_multi_set_easy_connection
  • symbol-scan.pl: do not require autotools
  • cmake: add ENABLE_THREADED_RESOLVER, rename ARES
  • cmake: build libhostname for test suite
  • cmake: fix HAVE_GETHOSTNAME definition
  • tests: fix libhostname visibility
  • tests: fix memleak in server/resolve.c
  • vtls.h: Fixed compiler warning when compiled without SSL
  • CMake: Restore order-dependent header checks
  • CMake: Restore order-dependent library checks
  • tool: Removed krb4 from the supported features
  • http2: Don't send Upgrade headers when we already do HTTP/2
  • examples: Don't call select() to sleep on windows
  • win32: Updated some legacy APIs to use the newer extended versions
  • easy.c: Fixed compilation warning when no verbose string support
  • connect.c: Fixed compilation warning when no verbose string support
  • build: in Makefile.m32 pass -F flag to windres
  • build: in Makefile.m32 add -m32 flag for 32bit
  • multi: when leaving for timeout, close accordingly
  • CMake: Simplify if() conditions on check result variables
  • build: in Makefile.m32 try to detect 64bit target
  • multi: inform about closed sockets before they are closed
  • multi-uv.c: close the file handle after download
  • examples: Wait recommended 100ms when no file descriptors are ready
  • ntlm: Split the SSPI based messaging code from the native messaging code
  • cmake: fix NTLM detection when CURL_DISABLE_HTTP defined
  • cmake: add Kerberos to the supported feature
  • CURLOPT_POSTFIELDS.3: mention the COPYPOSTFIELDS option
  • http: Disable pipelining for HTTP/2 and upgraded connections
  • ntlm: Fixed static'ness of local decode function
  • sasl: Reduced the need for two sets of NTLM messaging functions
  • multi.c: Fixed compilation warnings when no verbose string support
  • select.c: fix compilation for VxWorks
  • multi-single.c: switch to use curl_multi_wait
  • curl_multi_wait.3: clarify numfds being used if not NULL
  • http.c: Fixed compilation warnings from features being disabled
  • NSS: enable the CAPATH option
  • docs: Fix FAILONERROR typos
  • HTTP: don't abort connections with pending Negotiate authentication
  • HTTP: Free (proxy)userpwd for NTLM/Negotiate after sending a request
  • http_perhapsrewind: don't abort CONNECT requests
  • build: updated dependencies in makefiles
  • multi.c: Fixed compilation warning
  • ftp.c: Fixed compilation warnings when proxy support disabled
  • get_url_file_name: Fixed crash on OOM on debug build
  • cookie.c: Refactored cleanup code to simplify
  • OS400: enable NTLM authentication
  • ntlm: Use Windows Crypt API
  • http2: avoid logging neg "failure" if h2 was not requested
  • schannel_recv: return the correct code
  • VC build: added sspi define for winssl-zlib builds
  • Curl_client_write(): chop long data, convert data only once
  • openldap: do not ignore Curl_client_write() return code
  • ldap: check Curl_client_write() return codes
  • parsedate.c: Fixed compilation warning
  • url.c: Fixed compilation warning when USE_NTLM is not defined
  • ntlm_wb_response: fix "statement not reached"
  • telnet: fix "cast increases required alignment of target type"
  • smtp: Fixed dot stuffing when EOL characters at end of input buffers
  • ntlm: Allow NTLM2Session messages when USE_NTRESPONSES manually defined
  • ntlm: Disable NTLM v2 when 64-bit integers are not supported
  • ntlm: Use short integer when decoding 16-bit values
  • ftp.c: Fixed compilation warning when no verbose string support
  • synctime.c: fixed timeserver URLs
  • mk-ca-bundle.pl: restored forced run again
  • ntlm: Fixed return code for bad type-2 Target Info
  • curl_schannel.c: Data may be available before connection shutdown
  • curl_schannel: Improvements to memory re-allocation strategy
  • darwinssl: aprintf() to allocate the session key
  • tool_util.c: Use GetTickCount64 if it is available
  • lib: Fixed multiple code analysis warnings if SAL are available
  • tool_binmode.c: Explicitly ignore the return code of setmode
  • tool_urlglob.c: Silence warning C6293: Ill-defined for-loop
  • opts: Warn CURLOPT_TIMEOUT overrides when set after CURLOPT_TIMEOUT_MS
  • SFTP: work-around servers that return zero size on STAT
  • connect: singleipconnect(): properly try other address families after failure
  • IPV6: address scope != scope id
  • parseurlandfillconn(): fix improper non-numeric scope_id stripping
  • secureserver.pl: make OpenSSL CApath and cert absolute path values
  • secureserver.pl: update Windows detection and fix path conversion
  • secureserver.pl: clean up formatting of config and fix verbose output
  • tests: Added Windows support using Cygwin-based OpenSSH
  • sockfilt.c: use non-Ex functions that are available before WinXP
  • VMS: Updates for 0740-0D1220
  • openssl: warn for SRP set if SSLv3 is used, not for TLS version
  • openssl: make it compile against openssl 1.1.0-DEV master branch
  • openssl: fix SSL/TLS versions in verbose output
  • curl: show size of inhibited data when using -v
  • build: Removed WIN32 definition from the Visual Studio projects
  • build: Removed WIN64 definition from the libcurl Visual Studio projects
  • vtls: Use bool for Curl_ssl_getsessionid() return type
  • sockfilt.c: Replace 100ms sleep with thread throttle
  • sockfilt.c: Reduce the number of individual memory allocations
  • vtls: Don't set cert info count until memory allocation is successful
  • nss: Don't ignore Curl_ssl_init_certinfo() OOM failure
  • nss: Don't ignore Curl_extract_certinfo() OOM failure
  • vtls: Fixed compilation warning and an ignored return code
  • sockfilt.c: Fixed compilation warnings
  • darwinssl: Fixed compilation warning
  • vtls: Use '(void) arg' for unused parameters
  • sepheaders.c: Fixed resource leak on failure
  • lib1900.c: Fixed cppcheck error
  • ldap: Fixed Unicode connection details in Win32 initialsation / bind calls
  • ldap: Fixed Unicode DN, attributes and filter in Win32 search calls