RELEASE-NOTES 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. Curl and libcurl 7.55.0
  2. Public curl releases: 167
  3. Command line options: 210
  4. curl_easy_setopt() options: 247
  5. Public functions in libcurl: 61
  6. Contributors: 1571
  7. This release includes the following changes:
  8. o curl: allow --header and --proxy-header read from file [7]
  9. o getinfo: provide sizes as curl_off_t [6]
  10. o curl: prevent binary output spewed to terminal [16]
  11. o curl: added --request-target [22]
  12. o libcurl: added CURLOPT_REQUEST_TARGET [22]
  13. o curl: added --socks5-{basic,gssapi}: control socks5 auth [30]
  14. o libcurl: added CURLOPT_SOCKS5_AUTH [30]
  15. This release includes the following bugfixes:
  16. o glob: do not parse after a strtoul() overflow range (CVE-2017-1000101) [85]
  17. o tftp: reject file name lengths that don't fit (CVE-2017-1000100) [84]
  18. o file: output the correct buffer to the user (CVE-2017-1000099) [83]
  19. o includes: remove curl/curlbuild.h and curl/curlrules.h [1]
  20. o dist: make the hugehelp.c not get regenerated unnecessarily [2]
  21. o timers: store internal time stamps as time_t instead of doubles [3]
  22. o progress: let "current speed" be UL + DL speeds combined [4]
  23. o http-proxy: do the HTTP CONNECT process entirely non-blocking [5]
  24. o lib/curl_setup.h: remove CURL_WANTS_CA_BUNDLE_ENV [8]
  25. o fuzz: bring oss-fuzz initial code converted to C89 [10]
  26. o configure: disable nghttp2 too if HTTP has been disabled
  27. o mk-ca-bundle.pl: Check curl's exit code after certdata download [11]
  28. o test1148: verify the -# progressbar [12]
  29. o tests: stabilize test 2032 and 2033 [13]
  30. o HTTPS-Proxy: don't offer h2 for https proxy connections [14]
  31. o http-proxy: only attempt FTP over HTTP proxy [9]
  32. o curl-compilers.m4: enable vla warning for clang [15]
  33. o curl-compilers.m4: enable double-promotion warning [15]
  34. o curl-compilers.m4: enable missing-variable-declarations clang warning [15]
  35. o curl-compilers.m4: enable comma clang warning [15]
  36. o Makefile.m32: enable -W for MinGW32 build [15]
  37. o CURLOPT_PREQUOTE: not supported for SFTP [17]
  38. o http2: fix OOM crash
  39. o PIPELINING_SERVER_BL: cleanup the internal list use [18]
  40. o mkhelp.pl: fix script name in usage text
  41. o lib1521: add curl_easy_getinfo calls to the test set
  42. o travis: do the distcheck test build out-of-tree as well
  43. o if2ip: fix compiler warning in ISO C90 mode
  44. o lib: fix the djgpp build [19]
  45. o typecheck-gcc: add support for CURLINFO_OFF_T [20]
  46. o travis: enable typecheck-gcc warnings [21]
  47. o maketgz: switch to xz instead of lzma [23]
  48. o CURLINFO_REDIRECT_URL.3: mention the CURLOPT_MAXREDIRS case
  49. o curl-compilers.m4: fix unknown-warning-option on Apple clang [24]
  50. o winbuild: fix boringssl build [25]
  51. o curl/system.h: add check for XTENSA for 32bit gcc [26]
  52. o test1537: fixed memory leak on OOM
  53. o test1521: fix compiler warnings [27]
  54. o curl: fix memory leak on test 1147 OOM [28]
  55. o libtest/make: generate lib1521.c dynamically at build-time [29]
  56. o curl_strequal.3: fix typo in SYNOPSIS [31]
  57. o progress: prevent resetting t_starttransfer [32]
  58. o openssl: improve fallback seed of PRNG with a time based hash [33]
  59. o http2: improved PING frame handling [34]
  60. o test1450: add simple testing for DICT [35]
  61. o make: build the docs subdir only from within src [36]
  62. o cmake: Added compatibility options for older Windows versions [37]
  63. o gtls: fix build when sizeof(long) < sizeof(void *) [38]
  64. o url: make the original string get used on subsequent transfers [39]
  65. o timeval.c: Use long long constant type for timeval assignment [40]
  66. o tool_sleep: typecast to avoid macos compiler warning
  67. o travis.yml: use --enable-werror on debug builds [41]
  68. o test1451: add SMB support to the testbed [42]
  69. o configure: remove checks for 5 functions never used [43]
  70. o configure: try ldap/lber in reversed order first [44]
  71. o smb: fix build for djgpp/MSDOS [45]
  72. o travis: install nghttp2 on linux builds [46]
  73. o smb: add support for CURLOPT_FILETIME [47]
  74. o cmake: fix send/recv argument scanner for windows [48]
  75. o inet_pton: fix include on windows to get prototype [49]
  76. o select.h: avoid macro redefinition harder
  77. o cmake: if inet_pton is used, bump _WIN32_WINNT
  78. o asyn-thread.c: fix unused variable warnings on macOS
  79. o runtests: support "threaded-resolver" as a feature
  80. o test506: skip if threaded-resolver
  81. o cmake: remove spurious "-l" from linker flags [50]
  82. o cmake: add CURL_WERROR for enabling "warning as errors"
  83. o memdebug: don't setbuf() if the file open failed [51]
  84. o curl_easy_escape.3: mention the (lack of) encoding [52]
  85. o test1452: add telnet negotiation [53]
  86. o CURLOPT_POSTFIELDS.3: explain the 100-continue magic better
  87. o cmake: offer CMAKE_DEBUG_POSTFIX when building with MSVC [54]
  88. o tests/valgrind.supp: supress OpenSSL false positive seen on travis [55]
  89. o curl_setup_once: Remove ERRNO/SET_ERRNO macros [56]
  90. o curl-compilers.m4: disable warning spam with Cygwin's clang [57]
  91. o ldap: fix MinGW compiler warning [58]
  92. o make: fix docs build on OpenBSD [59]
  93. o curl_setup: always define WIN32_LEAN_AND_MEAN on Windows [60]
  94. o system.h: include winsock2.h before windows.h
  95. o winbuild: build with warning level 4 [61]
  96. o rtspd: fix MSVC level 4 warning
  97. o sockfilt: suppress conversion warning with explicit cast
  98. o libtest: fix MSVC warning C4706
  99. o darwinssl: fix pinnedpubkey build error [62]
  100. o tests/server/resolve.c: fix deprecation warning [63]
  101. o nss: fix a possible use-after-free in SelectClientCert() [64]
  102. o checksrc: escape open brace in regex
  103. o multi: mention integer overflow risk if using > 500 million sockets [65]
  104. o darwinssl: fix --tlsv1.2 regression [66]
  105. o timeval: struct curltime is a struct timeval replacement [67]
  106. o curl_rtmp: fix a compiler warning [68]
  107. o include.d: clarify that it concerns the response headers [69]
  108. o cmake: support make uninstall [70]
  109. o include.d: clarify --include is only for response headers [71]
  110. o libcurl: Stop using error codes defined under CURL_NO_OLDIES [72]
  111. o http: fix response code parser to avoid integer overflow [73]
  112. o configure: fix the check for IdnToUnicode [74]
  113. o multi: fix request timer management [75]
  114. o curl_threads: fix MSVC compiler warning [76]
  115. o travis: build on osx with openssl
  116. o travis: build on osx with libressl
  117. o CURLOPT_NETRC.3: mention the file name on windows
  118. o cmake: set MSVC warning level to 4 [77]
  119. o netrc: skip lines starting with '#' [78]
  120. o darwinssl: fix curlssl_sha256sum() compiler warnings on first argument
  121. o BUILD.WINDOWS: mention buildconf.bat for builds off git
  122. o darwinssl: silence compiler warnings [79]
  123. o travis: build on osx with darwinssl
  124. o FTP: skip unnecessary CWD when in nocwd mode [80]
  125. o gssapi: fix memory leak of output token in multi round context [81]
  126. o getparameter: avoid returning uninitialized 'usedarg' [82]
  127. o curl (debug build) easy_events: make event data static
  128. o curl: detect and bail out early on parameter integer overflows [86]
  129. o configure: fix recv/send/select detection on Android [87]
  130. This release includes the following known bugs:
  131. o see docs/KNOWN_BUGS (https://curl.haxx.se/docs/knownbugs.html)
  132. This release would not have looked like this without help, code, reports and
  133. advice from friends like these:
  134. Brad Spencer, Brian Carpenter, Dan Fandrich, Daniel Stenberg,
  135. David E. Narváez, destman at github, Dmitry Kostjuchenko,
  136. Dwarakanath Yadavalli, Even Rouault, Evert Pot, Frederik B, Gisle Vanem,
  137. Hannes Magnusson, Henrik Gaßmann, Isaac Boukris, Jakub Wilk, Jeremy Tan,
  138. Jeroen Ooms, Jesse Chisholm, Johannes Schindelin, Kamil Dudka, Marcel Raad,
  139. Martin Kepplinger, Matteo B., Max Dymond, Michael Kaufmann, Neil Kolban,
  140. Nick Miyake, olesteban at github, ovidiu-benea on github, Pascal Terjan,
  141. Paul Harris, Pavel Rochnyak, Per Malmberg, Ray Satiro, Rob Sanders,
  142. Ryan Winograd, Sergei Nikulov, Simon Warta, Timothe Litt, Viktor Szakáts,
  143. (41 contributors)
  144. Thanks! (and sorry if I forgot to mention someone)
  145. References to bug reports and discussions on issues:
  146. [1] = https://daniel.haxx.se/blog/2017/06/15/target-independent-libcurl-headers/
  147. [2] = https://curl.haxx.se/bug/?i=1565
  148. [3] = https://curl.haxx.se/bug/?i=1531
  149. [4] = https://curl.haxx.se/bug/?i=1556
  150. [5] = https://curl.haxx.se/bug/?i=1547
  151. [6] = https://curl.haxx.se/bug/?i=1511
  152. [7] = https://curl.haxx.se/bug/?i=1486
  153. [8] = https://curl.haxx.se/bug/?i=1538
  154. [9] = https://curl.haxx.se/bug/?i=1505
  155. [10] = https://curl.haxx.se/bug/?i=1476
  156. [11] = https://curl.haxx.se/bug/?i=1577
  157. [12] = https://curl.haxx.se/bug/?i=1569
  158. [13] = https://curl.haxx.se/bug/?i=1576
  159. [14] = https://curl.haxx.se/bug/?i=1546
  160. [15] = https://curl.haxx.se/bug/?i=1578
  161. [16] = https://curl.haxx.se/bug/?i=1512
  162. [17] = https://curl.haxx.se/bug/?i=1514
  163. [18] = https://curl.haxx.se/bug/?i=1584
  164. [19] = https://github.com/curl/curl/commit/73a2fcea0b4adea6ba342cd7ed1149782c214ae3#commitcomment-22655993
  165. [20] = https://curl.haxx.se/bug/?i=1592
  166. [21] = https://curl.haxx.se/bug/?i=1595
  167. [22] = https://curl.haxx.se/bug/?i=1593
  168. [23] = https://curl.haxx.se/bug/?i=1604
  169. [24] = https://curl.haxx.se/bug/?i=1606
  170. [25] = https://curl.haxx.se/bug/?i=1610
  171. [26] = https://curl.haxx.se/bug/?i=1598
  172. [27] = https://curl.haxx.se/bug/?i=1611
  173. [28] = https://github.com/curl/curl/pull/1486#issuecomment-310926872
  174. [29] = https://curl.haxx.se/bug/?i=1614
  175. [30] = https://curl.haxx.se/bug/?i=1454
  176. [31] = https://curl.haxx.se/bug/?i=1623
  177. [32] = https://curl.haxx.se/bug/?i=1616
  178. [33] = https://curl.haxx.se/bug/?i=1620
  179. [34] = https://curl.haxx.se/bug/?i=1521
  180. [35] = https://curl.haxx.se/bug/?i=1615
  181. [36] = https://curl.haxx.se/bug/?i=1591
  182. [37] = https://curl.haxx.se/bug/?i=1621
  183. [38] = https://curl.haxx.se/bug/?i=1617
  184. [39] = https://curl.haxx.se/bug/?i=1631
  185. [40] = https://curl.haxx.se/mail/lib-2017-07/0003.html
  186. [41] = https://curl.haxx.se/bug/?i=1637
  187. [42] = https://curl.haxx.se/bug/?i=1630
  188. [43] = https://curl.haxx.se/bug/?i=1638
  189. [44] = https://curl.haxx.se/bug/?i=1619
  190. [45] = https://curl.haxx.se/mail/lib-2017-07/0005.html
  191. [46] = https://curl.haxx.se/bug/?i=1642
  192. [47] = https://curl.haxx.se/mail/lib-2017-07/0005.html
  193. [48] = https://curl.haxx.se/bug/?i=1640
  194. [49] = https://curl.haxx.se/bug/?i=1639
  195. [50] = https://curl.haxx.se/bug/?i=1552
  196. [51] = https://github.com/curl/curl/issues/828#issuecomment-313475151
  197. [52] = https://curl.haxx.se/bug/?i=1612
  198. [53] = https://curl.haxx.se/bug/?i=1645
  199. [54] = https://curl.haxx.se/bug/?i=1649
  200. [55] = https://curl.haxx.se/bug/?i=1653
  201. [56] = https://curl.haxx.se/bug/?i=1589
  202. [57] = https://curl.haxx.se/bug/?i=1665
  203. [58] = https://curl.haxx.se/bug/?i=1664
  204. [59] = https://curl.haxx.se/bug/?i=1591
  205. [60] = https://curl.haxx.se/bug/?i=1672
  206. [61] = https://curl.haxx.se/bug/?i=1667
  207. [62] = https://github.com/curl/curl/commit/eb16305#commitcomment-23035670
  208. [63] = https://curl.haxx.se/bug/?i=1682
  209. [64] = https://bugzilla.redhat.com/1436158
  210. [65] = https://curl.haxx.se/bug/?i=1683
  211. [66] = https://curl.haxx.se/bug/?i=1703
  212. [67] = https://curl.haxx.se/bug/?i=1693
  213. [68] = https://curl.haxx.se/bug/?i=1652
  214. [69] = https://curl.haxx.se/bug/?i=1704
  215. [70] = https://curl.haxx.se/bug/?i=1674
  216. [71] = https://github.com/curl/curl/commit/de6de94#commitcomment-23370851
  217. [72] = https://curl.haxx.se/bug/?i=1688
  218. [73] = https://curl.haxx.se/bug/?i=1714
  219. [74] = https://curl.haxx.se/bug/?i=1669
  220. [75] = https://curl.haxx.se/mail/lib-2017-07/0033.html
  221. [76] = https://curl.haxx.se/bug/?i=1717
  222. [77] = https://curl.haxx.se/bug/?i=1711
  223. [78] = https://curl.haxx.se/mail/lib-2017-08/0008.html
  224. [79] = https://curl.haxx.se/bug/?i=1722
  225. [80] = https://curl.haxx.se/bug/?i=1718
  226. [81] = https://curl.haxx.se/bug/?i=1733
  227. [82] = https://curl.haxx.se/bug/?i=1728
  228. [83] = https://curl.haxx.se/docs/adv_20170809C.html
  229. [84] = https://curl.haxx.se/docs/adv_20170809B.html
  230. [85] = https://curl.haxx.se/docs/adv_20170809A.html
  231. [86] = https://curl.haxx.se/bug/?i=1730
  232. [87] = https://curl.haxx.se/bug/?i=1738