| Curl and libcurl 7.62.0 |
| |
| Public curl releases: 177 |
| Command line options: 219 |
| curl_easy_setopt() options: 261 |
| Public functions in libcurl: 80 |
| Contributors: 1808 |
| |
| This release includes the following changes: |
| |
| o multiplex: enable by default [4] |
| o url: default to CURL_HTTP_VERSION_2TLS if built h2-enabled [4] |
| o setopt: add CURLOPT_DOH_URL [7] |
| o curl: --doh-url added [7] |
| o setopt: add CURLOPT_UPLOAD_BUFFERSIZE: set upload buffer size [8] |
| o imap: change from "FETCH" to "UID FETCH" [9] |
| o configure: add option to disable automatic OpenSSL config loading [10] |
| o upkeep: add a connection upkeep API: curl_easy_upkeep() [11] |
| o URL-API: added five new functions [12] |
| o vtls: MesaLink is a new TLS backend [23] |
| |
| This release includes the following bugfixes: |
| |
| o CVE-2018-16839: SASL password overflow via integer overflow [107] |
| o CVE-2018-16840: use-after-free in handle close [108] |
| o CVE-2018-16842: warning message out-of-buffer read [114] |
| o CURLOPT_DNS_USE_GLOBAL_CACHE: deprecated [5] |
| o Curl_dedotdotify(): always nul terminate returned string [46] |
| o Curl_follow: Always free the passed new URL [87] |
| o Curl_http2_done: fix memleak in error path [51] |
| o Curl_retry_request: fix memory leak [49] |
| o Curl_saferealloc: Fixed typo in docblock [40] |
| o FILE: fix CURLOPT_NOBODY and CURLOPT_HEADER output [78] |
| o GnutTLS: TLS 1.3 support [39] |
| o SECURITY-PROCESS: mention the bountygraph program [42] |
| o VS projects: add USE_IPV6: [91] |
| o Windows: fixes for MinGW targeting Windows Vista [82] |
| o anyauthput: fix compiler warning on 64-bit Windows [21] |
| o appveyor: add WinSSL builds [81] |
| o appveyor: run test suite (on Windows!) [65] |
| o certs: generate tests certs with sha256 digest algorithm [37] |
| o checksrc: enable strict mode and warnings [63] |
| o checksrc: handle zero scoped ignore commands [62] |
| o cmake: Backport to work with CMake 3.0 again [55] |
| o cmake: Improve config installation [60] |
| o cmake: add support for transitive ZLIB target [113] |
| o cmake: disable -Wpedantic-ms-format [84] |
| o cmake: don't require OpenSSL if USE_OPENSSL=OFF [35] |
| o cmake: fixed path used in generation of docs/tests [56] |
| o cmake: remove unused *SOCKLEN_T variables [102] |
| o cmake: suppress MSVC warning C4127 for libtest |
| o cmake: test and set missed defines during configuration [64] |
| o comment: Fix multiple typos in function parameters [69] |
| o config: Remove unused SIZEOF_VOIDP [104] |
| o config_win32: enable LDAPS [92] |
| o configure: force-use -lpthreads on HPUX [41] |
| o configure: remove CURL_CONFIGURE_CURL_SOCKLEN_T [101] |
| o configure: s/AC_RUN_IFELSE/CURL_RUN_IFELSE [53] |
| o cookies: Remove redundant expired check [14] |
| o cookies: fix leak when writing cookies to file [15] |
| o curl-config.in: remove dependency on bc [99] |
| o curl.1: --ipv6 mutexes ipv4 (fixed typo) [98] |
| o curl: enabled Windows VT Support and UTF-8 output [57] |
| o curl: update the documentation of --tlsv1.0 [17] |
| o curl_multi_wait: call getsock before figuring out timeout [34] |
| o curl_ntlm_wb: check aprintf() return codes [75] |
| o curl_threads: fix classic MinGW compile break [54] |
| o darwinssl: Fix realloc memleak [32] |
| o darwinssl: more specific and unified error codes [6] |
| o data-binary.d: clarify default content-type is x-www-form-urlencoded [71] |
| o docs/BUG-BOUNTY: explain the bounty program [76] |
| o docs/CIPHERS: Mention the options used to set TLS 1.3 ciphers [89] |
| o docs/CIPHERS: fix the TLS 1.3 cipher names [95] |
| o docs/CIPHERS: mention the colon separation for OpenSSL [73] |
| o docs/examples: URL updates [45] |
| o docs: add "see also" links for SSL options [85] |
| o example/asiohiper: insert warning comment about its status [18] |
| o example/htmltidy: fix include paths of tidy libraries [52] |
| o examples/Makefile.m32: sync with core [44] |
| o examples/http2-pushinmemory: receive HTTP/2 pushed files in memory [33] |
| o examples/parseurl.c: show off the URL API [43] |
| o examples: Fix memory leaks from realloc errors [31] |
| o examples: do not wait when no transfers are running [16] |
| o ftp: include command in Curl_ftpsend sendbuffer [25] |
| o gskit: make sure to terminate version string [79] |
| o gtls: Values stored to but never read [97] |
| o hostip: fix check on Curl_shuffle_addr return value [77] |
| o http2: fix memory leaks on error-path [29] |
| o http: fix memleak in rewind error path [50] |
| o krb5: fix memory leak in krb_auth [25] |
| o ldap: show precise LDAP call in error message on Windows [83] |
| o lib: fix gcc8 warning on Windows [20] |
| o memory: add missing curl_printf header [30] |
| o memory: ensure to check allocation results [68] |
| o multi: Fix error handling in the SENDPROTOCONNECT state [112] |
| o multi: fix memory leak in content encoding related error path [59] |
| o multi: make the closure handle "inherit" CURLOPT_NOSIGNAL [90] |
| o netrc: free temporary strings if memory allocation fails [103] |
| o nss: fix nssckbi module loading on Windows [70] |
| o nss: try to connect even if libnssckbi.so fails to load [36] |
| o ntlm_wb: Fix memory leaks in ntlm_wb_response [24] |
| o ntlm_wb: bail out if the response gets overly large [13] |
| o openssl: assume engine support in 0.9.8 or later [27] |
| o openssl: enable TLS 1.3 post-handshake auth [47] |
| o openssl: fix gcc8 warning [19] |
| o openssl: load built-in engines too [48] |
| o openssl: make 'done' a proper boolean [97] |
| o openssl: output the correct cipher list on TLS 1.3 error [95] |
| o openssl: return CURLE_PEER_FAILED_VERIFICATION on failure to parse issuer [6] |
| o openssl: show "proper" version number for libressl builds [28] |
| o pipelining: deprecated [1] |
| o rand: add comment to skip a clang-tidy false positive |
| o rtmp: fix for compiling with lwIP [100] |
| o runtests: ignore disabled even when ranges are given [74] |
| o runtests: skip ld_preload tests on macOS [80] |
| o runtests: use Windows paths for Windows curl |
| o schannel: unified error code handling [6] |
| o sendf: Fix whitespace in infof/failf concatenation [26] |
| o ssh: free the session on init failures [96] |
| o ssl: deprecate CURLE_SSL_CACERT in favour of a unified error code [6] |
| o system.h: use proper setting with Sun C++ as well [109] |
| o test1299: use single quotes around asterisk [72] |
| o test1452: mark as flaky [2] |
| o test1651: unit test Curl_extract_certinfo() [110] |
| o test320: strip out more HTML when comparing [66] |
| o tests/negtelnetserver.py: fix Python2-ism in neg TELNET server [67] |
| o tests: add unit tests for url.c [3] |
| o timeval: fix use of weak symbol clock_gettime() on Apple platforms [61] |
| o tool_cb_hdr: handle failure of rename() [94] |
| o travis: add a "make tidy" build that runs clang-tidy [105] |
| o travis: add build for "configure --disable-verbose" [93] |
| o travis: bump the Secure Transport build to use xcode [58] |
| o travis: make distcheck scan for BOM markers [86] |
| o unit1300: fix stack-use-after-scope AddressSanitizer warning [106] |
| o urldata: Fix "connecting" comment |
| o urlglob: improve error message on bad globs [22] |
| o vtls: fix ssl version "or later" behavior change for many backends [38] |
| o x509asn1: Fix SAN IP address verification [88] |
| o x509asn1: always check return code from getASN1Element() [110] |
| o x509asn1: return CURLE_PEER_FAILED_VERIFICATION on failure to parse cert [6] |
| o x509asn1: suppress left shift on signed value [111] |
| |
| This release includes the following known bugs: |
| |
| o see docs/KNOWN_BUGS (https://curl.haxx.se/docs/knownbugs.html) |
| |
| This release would not have looked like this without help, code, reports and |
| advice from friends like these: |
| |
| Alexey Eremikhin, Brad King, Brian Carpenter, Christian Heimes, Colin Hogben, |
| Daniel Gustafsson, Daniel Shahaf, Daniel Stenberg, Dario Weißer, |
| Dave Reisner, Dima Pasechnik, Dmitry Kostjuchenko, Doron Behar, |
| Eason-Yu on github, Erik Minekus, Even Rouault, Gisle Vanem, Han Han, |
| Harry Sintonen, jakirkham on github, Jean Fabrice, Jim Fuller, Kamil Dudka, |
| Loganaden Velvindron, Marcel Raad, Marc Hörsken, Martin Ankerl, |
| Matthew Whitehead, Max Dymond, Maxime Legros, Michael Kaufmann, Nate Prewitt, |
| Nicklas Avén, Nick Zitzmann, Patrick Monnerat, Philipp Waehnert, Rainer Jung, |
| Ray Satiro, Rich Turner, Rick Deist, Ricky-Tigg on github, Rikard Falkeborn, |
| Ruslan Baratov, Sergei Nikulov, Shaun Jackman, Thomas Glanzmann, Tuomo Rinne, |
| Viktor Szakats, Yiming Jing, |
| (49 contributors) |
| |
| Thanks! (and sorry if I forgot to mention someone) |
| |
| References to bug reports and discussions on issues: |
| |
| [1] = https://curl.haxx.se/bug/?i=2705 |
| [2] = https://curl.haxx.se/bug/?i=2941 |
| [3] = https://curl.haxx.se/bug/?i=2937 |
| [4] = https://curl.haxx.se/bug/?i=2709 |
| [5] = https://curl.haxx.se/bug/?i=2942 |
| [6] = https://curl.haxx.se/bug/?i=2901 |
| [7] = https://curl.haxx.se/bug/?i=2668 |
| [8] = https://curl.haxx.se/bug/?i=2896 |
| [9] = https://curl.haxx.se/bug/?i=2789 |
| [10] = https://curl.haxx.se/bug/?i=2724 |
| [11] = https://curl.haxx.se/bug/?i=1641 |
| [12] = https://curl.haxx.se/bug/?i=2842 |
| [13] = https://curl.haxx.se/bug/?i=2959 |
| [14] = https://curl.haxx.se/bug/?i=2962 |
| [15] = https://curl.haxx.se/bug/?i=2957 |
| [16] = https://curl.haxx.se/bug/?i=2948 |
| [17] = https://curl.haxx.se/bug/?i=2955 |
| [18] = https://curl.haxx.se/bug/?i=2407 |
| [19] = https://curl.haxx.se/bug/?i=2980 |
| [20] = https://curl.haxx.se/bug/?i=2979 |
| [21] = https://curl.haxx.se/bug/?i=2972 |
| [22] = https://curl.haxx.se/bug/?i=2763 |
| [23] = https://curl.haxx.se/bug/?i=2984 |
| [24] = https://curl.haxx.se/bug/?i=2966 |
| [25] = https://curl.haxx.se/bug/?i=2985 |
| [26] = https://curl.haxx.se/bug/?i=2986 |
| [27] = https://curl.haxx.se/bug/?i=2983 |
| [28] = https://curl.haxx.se/bug/?i=2989 |
| [29] = https://curl.haxx.se/bug/?i=2992 |
| [30] = https://curl.haxx.se/bug/?i=2999 |
| [31] = https://curl.haxx.se/bug/?i=2991 |
| [32] = https://curl.haxx.se/bug/?i=3005 |
| [33] = https://curl.haxx.se/bug/?i=3004 |
| [34] = https://curl.haxx.se/bug/?i=2996 |
| [35] = https://curl.haxx.se/bug/?i=3001 |
| [36] = https://curl.haxx.se/bug/?i=3016 |
| [37] = https://curl.haxx.se/bug/?i=3014 |
| [38] = https://curl.haxx.se/bug/?i=2969 |
| [39] = https://curl.haxx.se/bug/?i=2971 |
| [40] = https://curl.haxx.se/bug/?i=3029 |
| [41] = https://curl.haxx.se/bug/?i=2697 |
| [42] = https://curl.haxx.se/bug/?i=3032 |
| [43] = https://curl.haxx.se/bug/?i=3030 |
| [44] = https://curl.haxx.se/bug/?i=3033 |
| [45] = https://curl.haxx.se/bug/?i=3036 |
| [46] = https://curl.haxx.se/bug/?i=3039 |
| [47] = https://curl.haxx.se/bug/?i=3026 |
| [48] = https://curl.haxx.se/bug/?i=3023 |
| [49] = https://curl.haxx.se/bug/?i=3042 |
| [50] = https://curl.haxx.se/bug/?i=3044 |
| [51] = https://curl.haxx.se/bug/?i=3046 |
| [52] = https://curl.haxx.se/bug/?i=3050 |
| [53] = https://curl.haxx.se/bug/?i=3006 |
| [54] = https://github.com/curl/curl/issues/2924#issuecomment-424334807 |
| [55] = https://curl.haxx.se/bug/?i=3055 |
| [56] = https://curl.haxx.se/bug/?i=3056 |
| [57] = https://curl.haxx.se/bug/?i=3008 |
| [58] = https://curl.haxx.se/bug/?i=3062 |
| [59] = https://curl.haxx.se/bug/?i=3063 |
| [60] = https://curl.haxx.se/bug/?i=2849 |
| [61] = https://curl.haxx.se/bug/?i=3048 |
| [62] = https://curl.haxx.se/bug/?i=3096 |
| [63] = https://curl.haxx.se/bug/?i=3090 |
| [64] = https://curl.haxx.se/bug/?i=3097 |
| [65] = https://curl.haxx.se/bug/?i=3100 |
| [66] = https://curl.haxx.se/bug/?i=3093 |
| [67] = https://curl.haxx.se/bug/?i=2929 |
| [68] = https://curl.haxx.se/bug/?i=3084 |
| [69] = https://curl.haxx.se/bug/?i=3079 |
| [70] = https://curl.haxx.se/bug/?i=3086 |
| [71] = https://curl.haxx.se/bug/?i=3085 |
| [72] = https://github.com/curl/curl/issues/1751#issuecomment-321522580 |
| [73] = https://curl.haxx.se/bug/?i=3077 |
| [74] = https://curl.haxx.se/bug/?i=3075 |
| [75] = https://curl.haxx.se/bug/?i=3111 |
| [76] = https://curl.haxx.se/bug/?i=3067 |
| [77] = https://curl.haxx.se/bug/?i=3110 |
| [78] = https://curl.haxx.se/bug/?i=3083 |
| [79] = https://curl.haxx.se/bug/?i=3105 |
| [80] = https://curl.haxx.se/bug/?i=2394 |
| [81] = https://curl.haxx.se/bug/?i=3104 |
| [82] = https://curl.haxx.se/bug/?i=3113 |
| [83] = https://curl.haxx.se/bug/?i=3118 |
| [84] = https://curl.haxx.se/bug/?i=3120 |
| [85] = https://curl.haxx.se/bug/?i=3121 |
| [86] = https://curl.haxx.se/bug/?i=3126 |
| [87] = https://curl.haxx.se/bug/?i=3124 |
| [88] = https://curl.haxx.se/bug/?i=3102 |
| [89] = https://curl.haxx.se/bug/?i=3159 |
| [90] = https://curl.haxx.se/bug/?i=3138 |
| [91] = https://curl.haxx.se/bug/?i=3137 |
| [92] = https://curl.haxx.se/bug/?i=3137 |
| [93] = https://curl.haxx.se/bug/?i=3144 |
| [94] = https://curl.haxx.se/bug/?i=3140 |
| [95] = https://curl.haxx.se/bug/?i=3178 |
| [96] = https://curl.haxx.se/bug/?i=3179 |
| [97] = https://curl.haxx.se/bug/?i=3176 |
| [98] = https://curl.haxx.se/bug/?i=3171 |
| [99] = https://curl.haxx.se/bug/?i=3143 |
| [100] = https://curl.haxx.se/bug/?i=3155 |
| [101] = https://curl.haxx.se/bug/?i=3168 |
| [102] = https://curl.haxx.se/bug/?i=3166 |
| [103] = https://curl.haxx.se/bug/?i=3122 |
| [104] = https://curl.haxx.se/bug/?i=3162 |
| [105] = https://curl.haxx.se/bug/?i=3182 |
| [106] = https://curl.haxx.se/bug/?i=3182 |
| [107] = https://curl.haxx.se/docs/CVE-2018-16839.html |
| [108] = https://curl.haxx.se/docs/CVE-2018-16840.html |
| [109] = https://curl.haxx.se/bug/?i=3181 |
| [110] = https://curl.haxx.se/bug/?i=3163 |
| [111] = https://curl.haxx.se/bug/?i=3163 |
| [112] = https://curl.haxx.se/bug/?i=3170 |
| [113] = https://curl.haxx.se/bug/?i=3123 |
| [114] = https://curl.haxx.se/docs/CVE-2018-16842.html |