| Curl and libcurl 7.42.0 |
| |
| Public curl releases: 145 |
| Command line options: 173 |
| curl_easy_setopt() options: 216 |
| Public functions in libcurl: 58 |
| Contributors: 1265 |
| |
| This release includes the following changes: |
| |
| o openssl: show the cipher selection to use in verbose text |
| o gtls: implement CURLOPT_CERTINFO |
| o add CURLOPT_SSL_FALSESTART option (darwinssl and NSS) |
| o curl: add --false-start option |
| o add CURLOPT_PATH_AS_IS |
| o curl: add --path-as-is option |
| o curl: create output file on successful download of an empty file [21] |
| |
| This release includes the following bugfixes: |
| |
| o ConnectionExists: for NTLM re-use, require credentials to match [26] |
| o cookie: cookie parser out of boundary memory access [27] |
| o fix_hostname: zero length host name caused -1 index offset [28] |
| o http_done: close Negotiate connections when done [29] |
| o sws: timeout idle CONNECT connections |
| o nss: improve error handling in Curl_nss_random() |
| o nss: do not skip Curl_nss_seed() if data is NULL |
| o curl-config.in: eliminate double quotes around CURL_CA_BUNDLE |
| o http2: move lots of verbose output to be debug-only |
| o dist: add extern-scan.pl to the tarball |
| o http2: return recv error on unexpected EOF [1] |
| o build: Use default RandomizedBaseAddress directive in VC9+ project files |
| o build: Removed DataExecutionPrevention directive from VC9+ project files |
| o tool: Updated the warnf() function to use the GlobalConfig structure |
| o http2: Return error if stream was closed with other than NO_ERROR |
| o mprintf.h: remove #ifdef CURLDEBUG |
| o libtest: fixed linker errors on msvc [6] |
| o tool: use ENABLE_CURLX_PRINTF instead of _MPRINTF_REPLACE |
| o curl.1: fix "The the" typo |
| o cmake: handle build definitions CURLDEBUG/DEBUGBUILD |
| o openssl: remove all uses of USE_SSLEAY |
| o multi: fix memory-leak on timeout (regression) [4] |
| o curl_easy_setopt.3: added CURLOPT_SSL_VERIFYSTATUS |
| o metalink: add some error checks [3] |
| o TLS: make it possible to enable ALPN/NPN without HTTP/2 |
| o http2: use CURL_HTTP_VERSION_* symbols instead of NPN_* |
| o conncontrol: only log changes to the connection bit |
| o multi: fix *getsock() with CONNECT [2] |
| o symbols.pl: handle '-' in the deprecated field [5] |
| o MacOSX-Framework: use @rpath instead of @executable_path [7] |
| o GnuTLS: add support for CURLOPT_CAPATH |
| o GnuTLS: print negotiated TLS version and full cipher suite name |
| o GnuTLS: don't print double newline after certificate dates |
| o memanalyze.pl: handle free(NULL) |
| o proxy: re-use proxy connections (regression) [8] |
| o mk-ca-bundle: Don't report SHA1 numbers with "-q" |
| o http: always send Host: header as first header [9] |
| o openssl: sort ciphers to use based on strength [10] |
| o openssl: use colons properly in the ciphers list |
| o http2: detect premature close without data transfered [11] |
| o hostip: Fix signal race in Curl_resolv_timeout |
| o closesocket: call multi socket cb on close even with custom close [12] |
| o mksymbolsmanpage.pl: use std header and generate better nroff header |
| o connect: Fix happy eyeballs logic for IPv4-only builds [13] |
| o curl_easy_perform.3: remove superfluous close brace from example |
| o HTTP: don't use Expect: headers when on HTTP/2 [14] |
| o Curl_sh_entry: remove unused 'timestamp' |
| o docs/libcurl: makefile portability fix |
| o mkhelp: Remove trailing carriage return from every line of input |
| o nss: explicitly tell NSS to disable NPN/ALPN when libcurl disables it |
| o curl_easy_setopt.3: added a few missing options |
| o metalink: fix resource leak in OOM |
| o axtls: version 1.5.2 now requires that config.h be manually included |
| o HTTP: don't switch to HTTP/2 from 1.1 until we get the 101 |
| o cyassl: detect the library as renamed wolfssl |
| o CURLOPT_HTTPHEADER.3: add a "SECURITY CONCERNS" section |
| o CURLOPT_URL.3: Added "SECURITY CONCERNS |
| o openssl: try to avoid accessing OCSP structs when possible |
| o test938: added missing closing tags |
| o testcurl: Allow '=' in values given on command line |
| o tests/certs: added make target to rebuild certificates |
| o tests/certs: rebuild certificates with modified key usage bits |
| o gtls: avoid uninitialized variable |
| o gtls: dereferencing NULL pointer |
| o gtls: add check of return code |
| o test1513: eliminated race condition in test run |
| o dict: rename byte to avoid compiler shadowed declaration warning |
| o curl_easy_recv/send: make them work with the multi interface |
| o vtls: fix compile with --disable-crypto-auth but with SSL |
| o openssl: adapt to ASN1/X509 things gone opaque in 1.1 |
| o openssl: verifystatus: only use the OCSP work-around <= 1.0.2a [15] |
| o curl_memory: make curl_memory.h the second-last header file loaded |
| o testcurl.pl: add the --notes option to supply more info about a build |
| o cyassl: If wolfSSL then identify as such in version string |
| o cyassl: Check for invalid length parameter in Curl_cyassl_random |
| o cyassl: default to highest possible TLS version |
| o Curl_ssl_md5sum: return CURLcode (fixes OOM) |
| o polarssl: remove dead code |
| o polarssl: called mbedTLS in 1.3.10 and later |
| o globbing: fix step parsing for character globbing ranges |
| o globbing: fix url number calculation when using range with step |
| o multi: on a request completion, check all CONNECT_PEND transfers [16] |
| o build: link curl to openssl libraries when openssl support is enabled |
| o url: Don't accept CURLOPT_SSLVERSION unless USE_SSL is defined |
| o vtls: Don't accept unknown CURLOPT_SSLVERSION values |
| o build: Fix libcurl.sln erroneous mixed configurations |
| o cyassl: remove undefined reference to CyaSSL_no_filesystem_verify |
| o cyassl: add SSL context callback support for CyaSSL |
| o tool: only set SSL options if SSL is enabled |
| o multi: remove_handle: move pending connections [17] |
| o configure: Use KRB5CONFIG for krb5-config [18] |
| o axtls: add timeout within Curl_axtls_connect |
| o CURLOPT_HTTP200ALIASES.3: Mainly SHOUTcast servers use "ICY 200" |
| o cyassl: Fix library initialization return value |
| o cookie: handle spaces after the name in Set-Cookie [19] |
| o http2: Fix missing nghttp2_session_send call in Curl_http2_switched [20] |
| o cyassl: Fix certificate load check |
| o build-openssl.bat: Fix mixed line endings |
| o checksrc.bat: Check lib\vtls source |
| o DNS: fix refreshing of obsolete dns cache entries |
| o CURLOPT_RESOLVE: actually implement removals |
| o checksrc.bat: quotes to support an SRC_DIR with spaces |
| o cyassl: Remove 'Connecting to' message from cyassl_connect_step2 |
| o cyassl: Use CYASSL_MAX_ERROR_SZ for error buffer size |
| o lib/transfer.c: Remove factor of 8 from sleep time calculation |
| o lib/makefile.m32: add missing libs to build libcurl.dll |
| o build: Generate source prerequisites for Visual Studio in generate.bat |
| o cyassl: Include the CyaSSL build config |
| o firefox-db2pem: fix wildcard to find Firefox default profile |
| o BUGS: refer to the github issue tracker now as primary |
| o vtls_openssl: improve several certificate error messages |
| o cyassl: Add support for TLS extension SNI |
| o parsecfg: do not continue past a zero termination |
| o configure --with-nss=PATH: query pkg-config if available [22] |
| o configure --with-nss: drop redundant if statement |
| o cyassl: Fix include order [23] |
| o HTTP: fix PUT regression with Negotiate [24] |
| o curl_version_info.3: fixed the 'protocols' variable type [25] |
| |
| This release includes the following known bugs: |
| |
| o see docs/KNOWN_BUGS (http://curl.haxx.se/docs/knownbugs.html) |
| |
| This release would not have looked like this without help, code, reports and |
| advice from friends like these: |
| |
| Alessandro Ghedini, Alexander Pepper, Ben Darnell, Brad King, |
| Charles Romestant, Christian Weisgerber, Dagobert Michelsen, Dan Fandrich, |
| Daniel Stenberg, Da-Yoon Chung, Emil Lerner, Fabian Keil, Frank Gevaerts, |
| Frank Meier, Hanno Böck, Isaac Boukris, Jeroen Ooms, Jiri Dvorak, |
| John Marshall, Jonathan Cardoso Machado, Jon Seymour, Kamil Dudka, |
| Kyle L. Huff, Markus Elfring, Matthew Hall, Michael Osipov, |
| Michael Stapelberg, Michel Promonet, Mostyn Bramley-Moore, Nick Zitzmann, |
| Paras Sethia, Patrick Monnerat, Paul Howarth, Peter Laser, Rainer Canavan, |
| Ray Satiro, Richard Moore, Sergei Nikulov, Stefan Bühler, Stefan Eissing, |
| Steve Havelka, Steve Holme, Tatsuhiro Tsujikawa, Thomas Ruecker, |
| Tobias Stoeckmann, Viktor Szakáts, Yamada Yasuharu, |
| (47 contributors) |
| |
| Thanks! (and sorry if I forgot to mention someone) |
| |
| References to bug reports and discussions on issues: |
| |
| [1] = http://curl.haxx.se/bug/view.cgi?id=1487 |
| [2] = http://curl.haxx.se/mail/lib-2015-01/0170.html |
| [3] = https://github.com/bagder/curl/issues/150 |
| [4] = https://github.com/bagder/curl/issues/147 |
| [5] = http://curl.haxx.se/mail/lib-2015-03/0052.html |
| [6] = https://github.com/bagder/curl/pull/144 |
| [7] = https://github.com/bagder/curl/pull/157 |
| [8] = http://curl.haxx.se/bug/view.cgi?id=1492 |
| [9] = http://curl.haxx.se/bug/view.cgi?id=1491 |
| [10] = http://curl.haxx.se/bug/view.cgi?id=1487 |
| [11] = https://github.com/bagder/curl/issues/166 |
| [12] = http://curl.haxx.se/bug/view.cgi?id=1493 |
| [13] = https://github.com/bagder/curl/pull/168 |
| [14] = https://github.com/bagder/curl/issues/169 |
| [15] = http://curl.haxx.se/mail/lib-2015-03/0205.html |
| [16] = http://curl.haxx.se/bug/view.cgi?id=1465 |
| [17] = http://curl.haxx.se/bug/view.cgi?id=1465 |
| [18] = http://curl.haxx.se/bug/view.cgi?id=1486 |
| [19] = https://github.com/bagder/curl/issues/195 |
| [20] = https://github.com/bagder/curl/issues/192 |
| [21] = https://github.com/bagder/curl/issues/183 |
| [22] = https://github.com/bagder/curl/pull/171 |
| [23] = http://curl.haxx.se/mail/lib-2015-04/0069.html |
| [24] = https://github.com/bagder/curl/issues/223 |
| [25] = https://github.com/bagder/curl/issues/225 |
| [26] = http://curl.haxx.se/docs/adv_20150422A.html |
| [27] = http://curl.haxx.se/docs/adv_20150422C.html |
| [28] = http://curl.haxx.se/docs/adv_20150422D.html |
| [29] = http://curl.haxx.se/docs/adv_20150422B.html |