blob: 142c1741a490d64dd41e167ebcd55c9ddaa68a72 [file] [log] [blame]
Elliott Hughes82be86d2017-09-20 17:00:17 -07001 _ _ ____ _
2 ___| | | | _ \| |
3 / __| | | | |_) | |
4 | (__| |_| | _ <| |___
5 \___|\___/|_| \_\_____|
Lucas Eckels9bd90e62012-08-06 15:07:02 -07006
Elliott Hughes82be86d2017-09-20 17:00:17 -07007 Changelog
Lucas Eckels9bd90e62012-08-06 15:07:02 -07008
Elliott Hughes82be86d2017-09-20 17:00:17 -07009Version 7.55.1 (13 Aug 2017)
10
11Daniel Stenberg (13 Aug 2017)
12- RELEASE-NOTES/THANKS: curl 7.55.1 release time
13
14- gitignore: ignore .xz now instead of .lzma
15
16- [Sergei Nikulov brought this change]
17
18 cmake: Threads detection update. ref: #1702
19
20 Closes #1719
21
22- ipv6_scope: support unique local addresses
23
24 Fixes #1764
25 Closes #1773
26 Reported-by: James Slaughter
27
28- [Alex Potapenko brought this change]
29
30 curl/system.h: GCC doesn't define __ppc__ on PowerPC, uses __powerpc__
31
32 Closes #1774
33
34- test1448: verify redirect to IDN using URL
35
36 Closes #1772
37
38- [Salah-Eddin Shaban brought this change]
39
40 redirect: skip URL encoding for host names
41
42 This fixes redirects to IDN URLs
43
44 Fixes #1441
45 Closes #1762
46 Reported by: David Lord
47
48- test2032: mark as flaky (again)
49
50- travis: test cmake build on tarball too
51
52 Could've prevented #1755
53
54- [Simon Warta brought this change]
55
56 cmake: allow user to override CMAKE_DEBUG_POSTFIX
57
58 Closes #1763
59
60- connect-to.d: better language
61
62- connect-to.d: clarified
63
64- bagder/Curl_tvdiff_us: fix the math
65
66 Regression since adef394ac5 (released in 7.55.0)
67
68 Reported-by: Han Qiao
69 Fixes #1769
70 Closes #1771
71
72- curl/system.h: add Oracle Solaris Studio
73
74 Fixes #1752
75
76- [Alessandro Ghedini brought this change]
77
78 docs: fix typo funtion -> function
79
80 Closes #1770
81
82Alessandro Ghedini (12 Aug 2017)
83- docs: fix grammar in CURL_SSLVERSION_MAX_DEFAULT description
84
85- docs: fix typo stuct -> struct
86
87Dan Fandrich (12 Aug 2017)
88- test1447: require a curl with http support
89
90Daniel Stenberg (11 Aug 2017)
91- [Thomas Petazzoni brought this change]
92
93 curl/system.h: support more architectures
94
95 The long list of architectures in include/curl/system.h is annoying to
96 maintain, and needs to be extended for each and every architecture to
97 support.
98
99 Instead, let's rely on the __SIZEOF_LONG__ define of the gcc compiler
100 (we are in the GNUC condition anyway), which tells us if long is 4
101 bytes or 8 bytes.
102
103 This fixes the build of libcurl 7.55.0 on architectures such as
104 OpenRISC or ARC.
105
106 Closes #1766
107
108 Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
109
110- test2033: this went flaky again
111
112 Suspicion: when we enabled the threaded resolver by default.
113
114- test1447: verifies the parse proxy fix in 6e0e152ce5c
115
116- [Even Rouault brought this change]
117
118 parse_proxy(): fix memory leak in case of invalid proxy server name
119
120 Fixes the below leak:
121
122 $ valgrind --leak-check=full ~/install-curl-git/bin/curl --proxy "http://a:b@/x" http://127.0.0.1
123 curl: (5) Couldn't resolve proxy name
124 ==5048==
125 ==5048== HEAP SUMMARY:
126 ==5048== in use at exit: 532 bytes in 12 blocks
127 ==5048== total heap usage: 5,288 allocs, 5,276 frees, 445,271 bytes allocated
128 ==5048==
129 ==5048== 2 bytes in 1 blocks are definitely lost in loss record 1 of 12
130 ==5048== at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
131 ==5048== by 0x4E6CB79: parse_login_details (url.c:5614)
132 ==5048== by 0x4E6BA82: parse_proxy (url.c:5091)
133 ==5048== by 0x4E6C46D: create_conn_helper_init_proxy (url.c:5346)
134 ==5048== by 0x4E6EA18: create_conn (url.c:6498)
135 ==5048== by 0x4E6F9B4: Curl_connect (url.c:6967)
136 ==5048== by 0x4E86D05: multi_runsingle (multi.c:1436)
137 ==5048== by 0x4E88432: curl_multi_perform (multi.c:2160)
138 ==5048== by 0x4E7C515: easy_transfer (easy.c:708)
139 ==5048== by 0x4E7C74A: easy_perform (easy.c:794)
140 ==5048== by 0x4E7C7B1: curl_easy_perform (easy.c:813)
141 ==5048== by 0x414025: operate_do (tool_operate.c:1563)
142 ==5048==
143 ==5048== 2 bytes in 1 blocks are definitely lost in loss record 2 of 12
144 ==5048== at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
145 ==5048== by 0x4E6CBB6: parse_login_details (url.c:5621)
146 ==5048== by 0x4E6BA82: parse_proxy (url.c:5091)
147 ==5048== by 0x4E6C46D: create_conn_helper_init_proxy (url.c:5346)
148 ==5048== by 0x4E6EA18: create_conn (url.c:6498)
149 ==5048== by 0x4E6F9B4: Curl_connect (url.c:6967)
150 ==5048== by 0x4E86D05: multi_runsingle (multi.c:1436)
151 ==5048== by 0x4E88432: curl_multi_perform (multi.c:2160)
152 ==5048== by 0x4E7C515: easy_transfer (easy.c:708)
153 ==5048== by 0x4E7C74A: easy_perform (easy.c:794)
154 ==5048== by 0x4E7C7B1: curl_easy_perform (easy.c:813)
155 ==5048== by 0x414025: operate_do (tool_operate.c:1563)
156
157 Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2984
158 Credit to OSS Fuzz for discovery
159
160 Closes #1761
161
162- RELEASE-NOTES: synced with 37f2195a9
163
164- curlver: bump to 7.55.1
165
166- openssl: fix "error: this statement may fall through"
167
168 A gcc7 warning.
169
170- [David Benjamin brought this change]
171
172 openssl: remove CONST_ASN1_BIT_STRING.
173
174 Just making the pointer as const works for the pre-1.1.0 path too.
175
176 Closes #1759
177
178- maketgz: remove old *.dist files before making the tarball
179
180 To avoid "old crap" unintentionally getting shipped.
181
182 Bug: https://curl.haxx.se/mail/lib-2017-08/0050.html
183 Reported-by: Christian Weisgerber
184
185Jay Satiro (10 Aug 2017)
186- mkhelp.pl: allow executing this script directly
187
188 - Enable execute permission (chmod +x)
189
190 - Change interpreter to /usr/bin/env perl
191
192 Ref: https://github.com/curl/curl/issues/1743
193
194Daniel Stenberg (10 Aug 2017)
195- configure: use the threaded resolver backend by default if possible
196
197 Closes #1647
198
199- cmake: move cmake_uninstall.cmake to CMake/
200
201 Closes #1756
202
203- metalink: fix error: ‘*’ in boolean context, suggest ‘&&’ instead
204
205- dist: fix the cmake build by shipping cmake_uninstall.cmake.in too
206
207 Fixes #1755
208
209- travis: verify "make install"
210
211 Help-by: Jay Satiro
212 Closes #1753
213
214Marcel Raad (10 Aug 2017)
215- build: check out *.sln files with Windows line endings
216
217 Visual Studio doesn't like LF line endings in solution files and always
218 converts them to CRLF when doing changes to the solution. Notably, this
219 affects the solutions in the release archive.
220
221 Closes https://github.com/curl/curl/pull/1746
222
223- gitignore: ignore top-level .vs folder
224
225 This folder is generated when using the CMake build system from within
226 Visual Studio.
227
228 Closes https://github.com/curl/curl/pull/1746
229
230Jay Satiro (10 Aug 2017)
231- digest_sspi: Don't reuse context if the user/passwd has changed
232
233 Bug: https://github.com/curl/curl/issues/1685
234 Reported-by: paulharris@users.noreply.github.com
235
236 Assisted-by: Isaac Boukris
237
238 Closes https://github.com/curl/curl/pull/1742
239
240Daniel Stenberg (9 Aug 2017)
241- [Adam Sampson brought this change]
242
243 dist: Add dictserver.py/negtelnetserver.py to EXTRA_DIST
244
245 These weren't included in the 7.55.0 release, but are required in order
246 to run the full test suite.
247
248 Closes #1744
249
250- [Adam Sampson brought this change]
251
252 curl: do bounds check using a double comparison
253
254 The fix for this in 8661a0aacc01492e0436275ff36a21734f2541bb wasn't
255 complete: if the parsed number in num is larger than will fit in a long,
256 the conversion is undefined behaviour (causing test1427 to fail for me
257 on IA32 with GCC 7.1, although it passes on AMD64 and ARMv7). Getting
258 rid of the cast means the comparison will be done using doubles.
259
260 It might make more sense for the max argument to also be a double...
261
262 Fixes #1750
263 Closes #1749
264
265- make install: add 8 missing man pages to the installation
266
267- build: fix 'make install' with configure, install docs/libcurl/* too
268
269 Broken since d24838d4da9faa
270
271 Reported-by: Bernard Spil
272
273Version 7.55.0 (9 Aug 2017)
274
275Daniel Stenberg (9 Aug 2017)
276- RELEASE-NOTES: curl 7.55.0
277
278- THANKS: 20 new contributors in 7.55.0
279
280- [Viktor Szakats brought this change]
281
282 docs/comments: Update to secure URL versions
283
284 Closes #1741
285
286- configure: fix recv/send/select detection on Android
287
288 ... since they now provide several functions as
289 __attribute__((overloadable)), the argument detection logic need
290 updates.
291
292 Patched-by: destman at github
293
294 Fixes #1738
295 Closes #1739
296
297Marcel Raad (8 Aug 2017)
298- ax_code_coverage.m4: update to latest version
299
300 This updates the script to aad5ad5fedb306b39f901a899b7bd305b66c418d
301 from August 01, 2017. Notably, this removes the lconv version whitelist.
302
303 Closes https://github.com/curl/curl/pull/1716
304
305Daniel Stenberg (7 Aug 2017)
306- test1427: verify command line parser integer overflow detection
307
308- curl: detect and bail out early on parameter integer overflows
309
310 Make the number parser aware of the maximum limit curl accepts for a
311 value and return an error immediately if larger, instead of running an
312 integer overflow later.
313
314 Fixes #1730
315 Closes #1736
316
317- glob: do not continue parsing after a strtoul() overflow range
318
319 Added test 1289 to verify.
320
321 CVE-2017-1000101
322
323 Bug: https://curl.haxx.se/docs/adv_20170809A.html
324 Reported-by: Brian Carpenter
325
326- tftp: reject file name lengths that don't fit
327
328 ... and thereby avoid telling send() to send off more bytes than the
329 size of the buffer!
330
331 CVE-2017-1000100
332
333 Bug: https://curl.haxx.se/docs/adv_20170809B.html
334 Reported-by: Even Rouault
335
336 Credit to OSS-Fuzz for the discovery
337
338- [Even Rouault brought this change]
339
340 file: output the correct buffer to the user
341
342 Regression brought by 7c312f84ea930d8 (April 2017)
343
344 CVE-2017-1000099
345
346 Bug: https://curl.haxx.se/docs/adv_20170809C.html
347
348 Credit to OSS-Fuzz for the discovery
349
350- easy_events: make event data static
351
352 First: this function is only used in debug-builds and not in
353 release/real builds. It is used to drive tests using the event-based
354 API.
355
356 A pointer to the local struct is passed to CURLMOPT_TIMERDATA, but the
357 CURLMOPT_TIMERFUNCTION calback can in fact be called even after this
358 funtion returns, namely when curl_multi_remove_handle() is called.
359
360 Reported-by: Brian Carpenter
361
362- getparameter: avoid returning uninitialized 'usedarg'
363
364 Fixes #1728
365
366Marcel Raad (5 Aug 2017)
367- [Isaac Boukris brought this change]
368
369 gssapi: fix memory leak of output token in multi round context
370
371 When multiple rounds are needed to establish a security context
372 (usually ntlm), we overwrite old token with a new one without free.
373 Found by proposed gss tests using stub a gss implementation (by
374 valgrind error), though I have confirmed the leak with a real
375 gssapi implementation as well.
376
377 Closes https://github.com/curl/curl/pull/1733
378
379- darwinssl: fix compiler warning
380
381 clang complains:
382 vtls/darwinssl.c:40:8: error: extra tokens at end of #endif directive
383 [-Werror,-Wextra-tokens]
384
385 This breaks the darwinssl build on Travis. Fix it by making this token
386 a comment.
387
388 Closes https://github.com/curl/curl/pull/1734
389
390- CMake: fix CURL_WERROR for MSVC
391
392 When using CURL_WERROR in MSVC builds, the debug flags were overridden
393 by the release flags and /WX got added twice in debug mode.
394
395 Closes https://github.com/curl/curl/pull/1715
396
397Daniel Stenberg (4 Aug 2017)
398- RELEASE-NOTES: synced with 561e9217c
399
400- test1010: verify that #1718 is fixed
401
402 ... by doing two transfers in nocwd mode and check that there's no
403 superfluous CWD command.
404
405- FTP: skip unnecessary CWD when in nocwd mode
406
407 ... when reusing a connection. If it didn't do any CWD previously.
408
409 Fixes #1718
410
411Marcel Raad (4 Aug 2017)
412- travis: explicitly specify dist
413
414 This makes the builds more reproducible as travis is currently rolling
415 out trusty as default dist [1]. Specifically, this avoids coverage
416 check failures when trusty is used as seen in [2] until we figure out
417 what's wrong.
418
419 [1] https://blog.travis-ci.com/2017-07-11-trusty-as-default-linux-is-coming
420 [2] https://github.com/curl/curl/pull/1692
421
422 Closes https://github.com/curl/curl/pull/1725
423
424Daniel Stenberg (4 Aug 2017)
425- travis: BUILD_TYPE => T
426
427 (to make the full line appear nicer on travis web UI)
428
429- travis: add osx build with darwinssl
430
431 Closes #1706
432
433- darwin: silence compiler warnings
434
435 With a clang pragma and three type fixes
436
437 Fixes #1722
438
439- BUILD.WINDOWS: mention buildconf.bat for builds off git
440
441- darwinssl: fix curlssl_sha256sum() compiler warnings on first argument
442
443- test130: verify comments in .netrc
444
445- [Gisle Vanem brought this change]
446
447 netrc: skip lines starting with '#'
448
449 Bug: https://curl.haxx.se/mail/lib-2017-08/0008.html
450
451Marcel Raad (3 Aug 2017)
452- CMake: set MSVC warning level to 4
453
454 The MSVC warning level defaults to 3 in CMake. Change it to 4, which is
455 consistent with the Visual Studio and NMake builds. Disable level 4
456 warning C4127 for the library and additionally C4306 for the test
457 servers to get a clean CURL_WERROR build as that warning is raised in
458 some macros in older Visual Studio versions.
459
460 Ref: https://github.com/curl/curl/pull/1667#issuecomment-314082794
461 Closes https://github.com/curl/curl/pull/1711
462
463Daniel Stenberg (2 Aug 2017)
464- CURLOPT_NETRC.3: fix typo in 7e48aa386156f9c2
465
466 Reported-by: Viktor Szakats
467
468- CURLOPT_NETRC.3: mention the file name on windows
469
470 ... and CURLOPT_NETRC_FILE(3).
471
472- travis: build osx with libressl too
473
474- travis: build osx with openssl too
475
476- tests/server/util: fix curltime mistake from 4dee50b9c80f9
477
478Marcel Raad (1 Aug 2017)
479- curl_threads: fix MSVC compiler warning
480
481 Use LongToHandle to convert from long to HANDLE in the Win32
482 implementation.
483 This should fix the following warning when compiling with
484 MSVC 11 (2012) in 64-bit mode:
485 lib\curl_threads.c(113): warning C4306:
486 'type cast' : conversion from 'long' to 'HANDLE' of greater size
487
488 Closes https://github.com/curl/curl/pull/1717
489
490Daniel Stenberg (1 Aug 2017)
491- BUGS: improved phrasing about security bugs
492
493 Reported-by: Max Dymond
494
495- BUGS: clarify how to report security related bugs
496
497- [Brad Spencer brought this change]
498
499 multi: fix request timer management
500
501 There are some bugs in how timers are managed for a single easy handle
502 that causes the wrong "next timeout" value to be reported to the
503 application when a new minimum needs to be recomputed and that new
504 minimum should be an existing timer that isn't currently set for the
505 easy handle. When the application drives a set of easy handles via the
506 `curl_multi_socket_action()` API (for example), it gets told to wait the
507 wrong amount of time before the next call, which causes requests to
508 linger for a long time (or, it is my guess, possibly forever).
509
510 Bug: https://curl.haxx.se/mail/lib-2017-07/0033.html
511
512Jay Satiro (1 Aug 2017)
513- curl_setup: Define CURL_NO_OLDIES for building libcurl
514
515 .. to catch accidental use of deprecated error codes.
516
517 Ref: https://github.com/curl/curl/issues/1688#issuecomment-316764237
518
519Daniel Stenberg (1 Aug 2017)
520- [Jeremy Tan brought this change]
521
522 configure: fix the check for IdnToUnicode
523
524 Fixes #1669
525 Closes #1713
526
527- http: fix response code parser to avoid integer overflow
528
529 test 1429 and 1433 were updated to work with the stricter HTTP status line
530 parser.
531
532 Closes #1714
533 Reported-by: Brian Carpenter
534
535Jay Satiro (31 Jul 2017)
536- [Dwarakanath Yadavalli brought this change]
537
538 libcurl: Stop using error codes defined under CURL_NO_OLDIES
539
540 Fixes https://github.com/curl/curl/issues/1688
541 Closes https://github.com/curl/curl/pull/1712
542
543- include.d: clarify --include is only for response headers
544
545 Follow-up to 171f8de and de6de94.
546
547 Bug: https://github.com/curl/curl/commit/de6de94#commitcomment-23370851
548 Reported-by: Daniel Stenberg
549
550Daniel Stenberg (30 Jul 2017)
551- [jasjuang brought this change]
552
553 cmake: support make uninstall
554
555 Closes #1674
556
557- RELEASE-NOTES: synced with 001701c47
558
559Marcel Raad (29 Jul 2017)
560- AppVeyor: now really use CURL_WERROR
561
562 It was misspelled as CURL_ERROR in commit
563 2d86e8d1286e0fbe3d811e2e87fa0b5e53722db4.
564
565 Closes https://github.com/curl/curl/pull/1686
566
567Jay Satiro (29 Jul 2017)
568- tool_help: clarify --include is only for response headers
569
570 Follow-up to 171f8de.
571
572 Ref: https://github.com/curl/curl/issues/1704
573
574- splay: fix signed/unsigned mismatch warning
575
576 Follow-up to 4dee50b.
577
578 Ref: https://github.com/curl/curl/pull/1693
579
580Daniel Stenberg (28 Jul 2017)
581- include.d: clarify that it concerns the response headers
582
583 Reported-by: olesteban at github
584 Fixes #1704
585
586- [Johannes Schindelin brought this change]
587
588 curl_rtmp: fix a compiler warning
589
590 The headers of librtmp declare the socket as `int`, and on Windows, that
591 disagrees with curl_socket_t.
592
593 Bug: #1652
594
595 Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
596
597- test1323: verify curlx_tvdiff
598
599- timeval: struct curltime is a struct timeval replacement
600
601 ... to make all libcurl internals able to use the same data types for
602 the struct members. The timeval struct differs subtly on several
603 platforms so it makes it cumbersome to use everywhere.
604
605 Ref: #1652
606 Closes #1693
607
608- darwinssl: fix variable type mistake (regression)
609
610 ... which made --tlsv1.2 not work because it would blank the max tls
611 version variable.
612
613 Reported-by: Nick Miyake
614 Bug: #1703
615
616- multi: mention integer overflow risk if using > 500 million sockets
617
618 Reported-by: ovidiu-benea@users.noreply.github.com
619
620 Closes #1675
621 Closes #1683
622
623- checksrc: escape open brace in regex
624
625 ... to silence warning.
626
627Kamil Dudka (20 Jul 2017)
628- nss: fix a possible use-after-free in SelectClientCert()
629
630 ... causing a SIGSEGV in showit() in case the handle used to initiate
631 the connection has already been freed.
632
633 This commit fixes a bug introduced in curl-7_19_5-204-g5f0cae803.
634
635 Reported-by: Rob Sanders
636 Bug: https://bugzilla.redhat.com/1436158
637
638- nss: unify the coding style of nss_send() and nss_recv()
639
640 No changes in behavior intended by this commit.
641
642Marcel Raad (18 Jul 2017)
643- tests/server/resolve.c: fix deprecation warning
644
645 MSVC warns that gethostbyname is deprecated. Always use getaddrinfo
646 instead to fix this when IPv6 is enabled, also for IPv4 resolves. This
647 is also consistent with what libcurl does.
648
649 Closes https://github.com/curl/curl/pull/1682
650
651Jay Satiro (17 Jul 2017)
652- darwinssl: fix pinnedpubkey build error
653
654 - s/SessionHandle/Curl_easy/
655
656 Bug: https://github.com/curl/curl/commit/eb16305#commitcomment-23035670
657 Reported-by: Gisle Vanem
658
659Marcel Raad (16 Jul 2017)
660- rtspd: fix GCC warning after MSVC warning fix
661
662 Older GCC warns:
663 /tests/server/rtspd.c:1194:10: warning: missing braces around
664 initializer [-Wmissing-braces]
665
666 Fix this by using memset instead of an initializer.
667
668- libtest: fix MSVC warning C4706
669
670 With warning level 4, MSVC warns about assignments within conditional
671 expressions. Change the while loop to a do-while loop to fix this. This
672 change is also consistent with CODE_STYLE.md.
673
674- sockfilt: suppress conversion warning with explicit cast
675
676 MSVC warns when implicitly casting -1 to unsigned long.
677
678- rtspd: fix MSVC level 4 warning
679
680 warning C4701: potentially uninitialized local variable 'req' used
681
682- winbuild: re-enable warning C4127 for curl tool
683
684 Disabled in cda19a345f6970e22fe8b7a808aeb8f086a21eac. It only needs to
685 be disabled for libcurl.
686
687- winbuild: build with warning level 4
688
689 This is consistent with 7bc64561a2e63ca93e4b0b31d350773ba80955c2, which
690 changed the warning level from 3 to 4 for the Visual Studio project
691 files. But disable the level 4 warning C4127 "conditional expression is
692 constant", as that one is issued by older versions of the Windows SDK
693 as well as curl itself under some circumstances.
694
695 Closes https://github.com/curl/curl/pull/1667
696
697Jay Satiro (12 Jul 2017)
698- [Max Dymond brought this change]
699
700 travis: install libidn2
701
702 Install libidn2 to increase test coverage (IDN tests)
703
704 Closes https://github.com/curl/curl/pull/1673
705
706Marcel Raad (12 Jul 2017)
707- travis: enable warnings also in release mode
708
709 ... to get warnings also on Linux/GCC and OSX/clang.
710
711 Closes https://github.com/curl/curl/pull/1666
712
713Daniel Stenberg (12 Jul 2017)
714- [Max Dymond brought this change]
715
716 travis: install libssh2
717
718 Install libssh2 to increase test coverage (SFTP, SCP)
719
720Marcel Raad (12 Jul 2017)
721- system.h: include winsock2.h before windows.h
722
723 ... to avoid compiler warnings if the user doesn't want
724 WIN32_LEAN_AND_MEAN.
725
726- build: remove WIN32_LEAN_AND_MEAN from individual build systems
727
728 It's defined for all build systems in curl_setup.h since commit
729 beb08481d01a07a8b10938b1078a5e298b1c2912. This caused macro
730 redefinition warnings in the configure builds.
731
732 Closes https://github.com/curl/curl/pull/1677
733
734Jay Satiro (11 Jul 2017)
735- ISSUE_TEMPLATE: Add a comment not to file security issues on github
736
737Marcel Raad (11 Jul 2017)
738- curl_setup: always define WIN32_LEAN_AND_MEAN on Windows
739
740 Make sure to always define WIN32_LEAN_AND_MEAN before including any
741 Windows headers to avoid pulling in unnecessary headers. This avoids
742 unnecessary macro clashes and compiler warnings.
743
744 Ref: https://github.com/curl/curl/issues/1562
745 Closes https://github.com/curl/curl/pull/1672
746
747Jay Satiro (11 Jul 2017)
748- strerror: Preserve Windows error code in some functions
749
750 This is a follow-up to af02162 which removed (SET_)ERRNO macros. That
751 commit was an earlier draft that I committed by mistake, which was then
752 remedied by a5834e5 and e909de6, and now this commit. With this commit
753 there is now no difference between the current code and the changes that
754 were approved in the final draft.
755
756 Thanks-to: Max Dymond, Marcel Raad, Daniel Stenberg, Gisle Vanem
757 Ref: https://github.com/curl/curl/pull/1589
758
759Marcel Raad (10 Jul 2017)
760- [Max Dymond brought this change]
761
762 tests: Fix up issues with errno in test files
763
764 Closes https://github.com/curl/curl/pull/1671
765
766Daniel Stenberg (10 Jul 2017)
767- errno: fix non-windows builds after af0216251b94e7
768
769- [Ryan Winograd brought this change]
770
771 make: fix docs build on OpenBSD
772
773 Ref: #1591
774
775Marcel Raad (10 Jul 2017)
776- ldap: fix MinGW compiler warning
777
778 ldap_bind_s is marked as deprecated in w32api's winldap.h shipping with
779 the latest original MinGW, resulting in compiler warnings since commit
780 f0fe66f13c93d3d0af45d9fb1231c9164e0f9dc8. Fix this for the non-SSPI
781 case by using ldap_simple_bind_s again instead of ldap_bind_s with
782 LDAP_AUTH_SIMPLE.
783
784 Closes https://github.com/curl/curl/pull/1664
785
786- curl-compilers.m4: disable warning spam with Cygwin's clang
787
788 When building with Cygwin or MinGW, libtool uses a wrapper executable
789 instead of a wrapper script [1], which is written in C and throws
790 missing-variable-declarations warnings. Don't enable these warnings on
791 Cygwin and MinGW in order to avoid warnings for every executable built,
792 which spams the test suite output when using Cygwin's clang.
793
794 [1] https://www.gnu.org/software/libtool/manual/html_node/Wrapper-executables.html
795
796 Closes https://github.com/curl/curl/pull/1665
797
798Jay Satiro (10 Jul 2017)
799- curl_setup_once: Remove ERRNO/SET_ERRNO macros
800
801 Prior to this change (SET_)ERRNO mapped to GetLastError/SetLastError
802 for Win32 and regular errno otherwise.
803
804 I reviewed the code and found no justifiable reason for conflating errno
805 on WIN32 with GetLastError/SetLastError. All Win32 CRTs support errno,
806 and any Win32 multithreaded CRT supports thread-local errno.
807
808 Fixes https://github.com/curl/curl/issues/895
809 Closes https://github.com/curl/curl/pull/1589
810
811- tool_getparam: fix potentially uninitialized err
812
813Marcel Raad (9 Jul 2017)
814- smb: rename variable to fix shadowing warning
815
816 GCC 4.6.3 on travis complains:
817 smb.c: In function ‘get_posix_time’:
818 smb.c:725:13: error: declaration of ‘time’ shadows a global declaration
819 [-Werror=shadow]
820
821 Fix this by renaming the variable.
822
823- tool_cb_wrt: fix variable shadowing warning
824
825 GCC 4.4 complains:
826 tool_cb_wrt.c:81: error: declaration of ‘isatty’ shadows a global
827 declaration
828 /usr/include/unistd.h:782: error: shadowed declaration is here
829
830 Fix this by renaming the variable.
831
832 Closes https://github.com/curl/curl/pull/1661
833
834Daniel Stenberg (8 Jul 2017)
835- RELEASE-NOTES: synced with be2c999b8
836
837- travis: install stunnel
838
839- valgrind.supp: supress OpenSSL false positive seen on travis
840
841- travis: detect and use valgrind for normal builds
842
843 Closes #1653
844
845- travis: add SMB, DICT, TELNET torture to coverage test
846
847- [Paul Harris brought this change]
848
849 cmake: offer CMAKE_DEBUG_POSTFIX when building with MSVC
850
851 Removes BUILD_RELEASE_DEBUG_DIRS since it wasn't used anywhere.
852
853 Closes #1649
854
855- CURLOPT_POSTFIELDS.3: explain the 100-continue magic better
856
857- [Max Dymond brought this change]
858
859 test1452: add telnet negotiation
860
861 Add a basic telnet server for negotiating some telnet options before
862 echoing back any data that's sent to it.
863
864 Closes #1645
865
866- travis: do more tests in the coverage run
867
868 I added a selection of torture and event tests that run "fast enough"
869
870- curl_easy_escape.3: mention the (lack of) encoding
871
872 Fixes #1612
873 Reported-by: Jeroen Ooms
874
875- [Gisle Vanem brought this change]
876
877 memdebug: don't setbuf() if the file open failed
878
879 Bug: https://github.com/curl/curl/issues/828#issuecomment-313475151
880
881- appveyor: enable CURL_WERROR on all builds
882
883- cmake: add CURL_WERROR for enabling "warning as errors"
884
885- [Hannes Magnusson brought this change]
886
887 cmake: remove spurious "-l" from linker flags
888
889 Fixes #1552
890
891- test506: skip if threaded-resolver
892
893- runtests: support "threaded-resolver" as a feature
894
895 ... to let tests require it or skip if present
896
897- asyn-thread.c: fix unused variable warnings on macOS
898
899- http: s/TINY_INITIAL_POST_SIZE/EXPECT_100_THRESHOLD
900
901 Make the name reflect its use better, and add a short comment describing
902 what it's for.
903
904- cmake: if inet_pton is used, bump _WIN32_WINNT
905
906 ... and make sure inet_pton is always checked for when *not* using Windows,
907 which is a regression from 4fc6ebe18.
908
909 Idea-by: Sergei Nikulov
910
911- select.h: avoid macro redefinition harder
912
913 ... by checking the POLLIN define, as the header file checks don't work
914 on Windows.
915
916- inet_pton: fix include on windows to get prototype
917
918 inet_pton() exists on Windows and gets used by our cmake builds. Make
919 sure the correct header file is included to avoid compiler warnings.
920
921 Closes #1639
922
923- TODO: 1.10 auto-detect proxy
924
925 Closes #1572
926
927- TODO: HTTP proxy CONNECT is non-blocking now
928
929- cmake: fix send/recv argument scanner for windows
930
931 ... by simply trying the Windows argument types first.
932
933 Fixes #1640
934
935- RELEASE-NOTES: synced with 596cfb6c0
936
937- [Gisle Vanem brought this change]
938
939 smb: add support for CURLOPT_FILETIME
940
941 Bug: https://curl.haxx.se/mail/lib-2017-07/0005.html
942
943 Closes #1643
944
945- travis: install nghttp2 on linux builds
946
947 Closes #1642
948
949- [Gisle Vanem brought this change]
950
951 smb: fix build for djgpp/MSDOS
952
953 bug: https://curl.haxx.se/mail/lib-2017-07/0005.html
954
955- configure: try ldap/lber in reversed order first
956
957 When scanning for which LDAP libraries to use, try the -lldap -llber
958 combination before the reversed order since it has a greater chance of
959 working when linking with libcurl statically.
960
961 Fixes #1619
962 Closes #1634
963 Reported-by: David E. Narváez
964
965- configure: remove checks for 5 functions never used
966
967 fork, getprotobyname, inet_addr, perror, uname
968
969 closes #1638
970
971- dist: add SMB python deps into the tarball
972
973- [Max Dymond brought this change]
974
975 test1451: add SMB support to the testbed
976
977 Add test 1451 which does some very basic SMB testing using the impacket
978 SMB server.
979
980 Closes #1630
981
982- [Max Dymond brought this change]
983
984 test: add impacket for SMB testing
985
986 Import impacket 0.9.15 for use in SMB testing. This was generated by
987 doing "pip2.7 install -t . impacket"
988
989 Unnecessary files for current testing were deleted.
990
991- travis.yml: use --enable-werror on debug builds
992
993 ... to better detect and fault on compiler warnings/errors
994
995 Closes #1637
996
997- tool_sleep: typecast to avoid macos compiler warning
998
999 tool_sleep.c:54:24: error: implicit conversion loses integer precision:
1000 'long' to '__darwin_suseconds_t' (aka 'int')
1001 [-Werror,-Wshorten-64-to-32]
1002
1003- [Martin Kepplinger brought this change]
1004
1005 timeval.c: Use long long constant type for timeval assignment
1006
1007 On a 64 bit host, sparse says:
1008
1009 timeval.c:148:15: warning: constant 0x7fffffffffffffff is so big it is long
1010 timeval.c:149:12: warning: constant 0x7fffffffffffffff is so big it is long
1011
1012 so let's use long long constant types in order to prevent undesired overflow
1013 failures.
1014
1015 Bug: https://curl.haxx.se/mail/lib-2017-07/0003.html
1016
1017 Closes #1636
1018
1019 Signed-off-by: Martin Kepplinger <martink@posteo.de>
1020
1021- url: make the original string get used on subsequent transfers
1022
1023 ... since CURLOPT_URL should follow the same rules as other options:
1024 they remain set until changed or cleared.
1025
1026 Added test 1551 to verify.
1027
1028 Fixes #1631
1029 Closes #1632
1030 Reported-by: Pavel Rochnyak
1031
1032- [Johannes Schindelin brought this change]
1033
1034 gtls: fix build when sizeof(long) < sizeof(void *)
1035
1036 - Change gnutls pointer/int macros to pointer/curl_socket_t.
1037 Prior to this change they used long type as well.
1038
1039 The size of the `long` data type can be shorter than that of pointer
1040 types. This is the case most notably on Windows.
1041
1042 If C99 were acceptable, we could simply use `intptr_t` here. But we
1043 want to retain C89 compatibility.
1044
1045 Simply use the trick of performing pointer arithmetic with the NULL
1046 pointer: to convert an integer `i` to a pointer, simply take the
1047 address of the `i`th element of a hypothetical character array
1048 starting at address NULL. To convert back, simply cast the pointer
1049 difference.
1050
1051 Thanks to Jay Satiro for the initial modification to use curl_socket_t
1052 instead of int/long.
1053
1054 Closes #1617
1055
1056 Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
1057
1058- [Ryan Winograd brought this change]
1059
1060 unit1399: fix integer overflow
1061
1062 Bug: #1616
1063 Closes #1633
1064
1065- [Per Malmberg brought this change]
1066
1067 cmake: Added compatibility options for older Windows versions
1068
1069 CURL_STATIC_CRT and ENABLE_INET_PTON
1070
1071 Closes #1621
1072
1073- unit1399: add logging to time comparison
1074
1075 ... to enable tracking down why autobuilds fail on this
1076
1077 Bug: #1616
1078
1079- make: build the docs subdir only from within src
1080
1081 ... and don't build at all in include
1082
1083 Prompted-by-work-by: Simon Warta
1084 Ref: #1590
1085 Closes #1591
1086
1087- [Max Dymond brought this change]
1088
1089 test1450: fix up DICT server in torture mode
1090
1091 As per https://github.com/curl/curl/pull/1615, the DICT server is a
1092 little spammy in torture mode due to the sockets being torn down
1093 unexpectedly. Fix this by adding some error handling to the handling
1094 function.
1095
1096 Closes #1629
1097
1098- [Max Dymond brought this change]
1099
1100 test1450: add simple testing for DICT
1101
1102 Add a new server which provides a DICT interface. This is intended to
1103 begin coverage testing for lib/dict.c
1104
1105 Closes #1615
1106
1107- [Dan Fandrich brought this change]
1108
1109 test1521: fix out-of-tree builds, broken with 467da3af
1110
1111 The test.h file is no longer in the same directory as the source file,
1112 so that directory needs to be added to the include path.
1113
1114 Fixes #1627
1115 Closes #1628
1116
1117- [Max Dymond brought this change]
1118
1119 http2: handle PING frames
1120
1121 Add a connection check function to HTTP2 based off RTSP. This causes
1122 PINGs to be handled the next time the connection is reused.
1123
1124 Closes #1521
1125
1126- [Max Dymond brought this change]
1127
1128 handler: refactor connection checking
1129
1130 Add a new type of callback to Curl_handler which performs checks on
1131 the connection. Alter RTSP so that it uses this callback to do its
1132 own check on connection health.
1133
1134- [dmitrykos brought this change]
1135
1136 openssl: improve fallback seed of PRNG with a time based hash
1137
1138 Fixes #1620
1139
1140- [Ryan Winograd brought this change]
1141
1142 progress: prevent resetting t_starttransfer
1143
1144 Prevent `Curl_pgrsTime` from modifying `t_starttransfer` when invoked
1145 with `TIMER_STARTTRANSFER` more than once during a single request.
1146
1147 When a redirect occurs, this is considered a new request and
1148 `t_starttransfer` can be updated to reflect the `t_starttransfer` time
1149 of the redirect request.
1150
1151 Closes #1616
1152
1153 Bug: https://github.com/curl/curl/pull/1602#issuecomment-310267370
1154
1155- curl_strequal.3: fix typo in SYNOPSIS
1156
1157 Reported-by: Jesse Chisholm
1158
1159 Fixes #1623
1160
1161- RELEASE-NOTES: synced with ce2c3ebda
1162
1163Kamil Dudka (28 Jun 2017)
1164- curl --socks5-{basic,gssapi}: control socks5 auth
1165
1166 Closes https://github.com/curl/curl/pull/1454
1167
1168- CURLOPT_SOCKS5_AUTH: allowed methods for SOCKS5 proxy auth
1169
1170 If libcurl was built with GSS-API support, it unconditionally advertised
1171 GSS-API authentication while connecting to a SOCKS5 proxy. This caused
1172 problems in environments with improperly configured Kerberos: a stock
1173 libcurl failed to connect, despite libcurl built without GSS-API
1174 connected fine using username and password.
1175
1176 This commit introduces the CURLOPT_SOCKS5_AUTH option to control the
1177 allowed methods for SOCKS5 authentication at run time.
1178
1179 Note that a new option was preferred over reusing CURLOPT_PROXYAUTH
1180 for compatibility reasons because the set of authentication methods
1181 allowed by default was different for HTTP and SOCKS5 proxies.
1182
1183 Bug: https://curl.haxx.se/mail/lib-2017-01/0005.html
1184 Closes https://github.com/curl/curl/pull/1454
1185
1186- socks: deduplicate the code for auth request
1187
1188- socks: use proxy_user instead of proxy_name
1189
1190 ... to make it obvious what the data is used for
1191
1192Daniel Stenberg (27 Jun 2017)
1193- libtest/make: generate lib1521.c
1194
1195 ... instead of having the generated code checked in. This saves space in
1196 the tarball but primarily automatically adapts to newly added options.
1197
1198 Closes #1614
1199
1200Jay Satiro (26 Jun 2017)
1201- tool_getparam: fix memory leak on test 1147 OOM (torture tests)
1202
1203 Bug: https://github.com/curl/curl/pull/1486#issuecomment-310926872
1204 Reported-by: Dan Fandrich
1205
1206Dan Fandrich (25 Jun 2017)
1207- test1537: fixed memory leak on OOM
1208
1209Marcel Raad (25 Jun 2017)
1210- test1521: fix compiler warnings
1211
1212 The integer literal 3123123123 doesn't fit into a 32-bit signed
1213 integer, so GCC with 32-bit long warns in C90 mode:
1214 this decimal constant is unsigned only in ISO C90 [enabled by default]
1215 Fix this by using ULONG_MAX, which should fit in any curl_off_t and has
1216 the correct suffix to not issue any warnings.
1217 Also adds the missing CURLOPT_REQUEST_TARGET from commit
1218 9b167fd090f596eac828817d48c247eeae53407f.
1219
1220 Closes https://github.com/curl/curl/pull/1611
1221
1222Daniel Stenberg (24 Jun 2017)
1223- curl/system.h: add check for XTENSA for 32bit gcc
1224
1225 Reported-by: Neil Kolban
1226 Fixes: 1598
1227
1228- [Henrik S. Gaßmann brought this change]
1229
1230 winbuild: fix boringssl build
1231
1232 Compile with `WIN32_LEAN_AND_MEAN` which prevents `windows.h` from
1233 including too much clutter including `wincrypt.h` which in turn contains
1234 some preprocessor macros that clash with boringssl symbols.
1235
1236 Detect boringssl by checking the existance of `is_boringssl.h` and set
1237 the corresponding `HAVE_BORINGSSL` for compilation which is used in
1238 `ldap.c` to undefine the evil macros.
1239
1240 Closes #1610
1241
1242- progress: progress.timespent needs to be us
1243
1244 follow-up to 64ed44a815e4e to fix test 500 failures
1245
1246Marcel Raad (24 Jun 2017)
1247- curl-compilers.m4: fix unknown-warning-option on Apple clang
1248
1249 Since 5598b0bd63f690c151074494ce47ef872f004ab4, clang -v is used to
1250 detect the clang version. The version number was expected to come after
1251 the word "version". For Apple clang, this doesn't work as it has its
1252 own versioning scheme.
1253 The version number is now first searched after the string
1254 "based on LLVM". This works for Apple clang before version 7, and also
1255 for e.g. Ubuntu's clang up to version 3.7. If it's not found and the
1256 version string contains "Apple LLVM version", clang version 3.7 is
1257 assumed, which is the version that comes with Xcode 7. Otherwise, the
1258 version number is still expected after the word "version", which works
1259 for very old Apple clang versions.
1260
1261 Ref: https://trac.macports.org/wiki/XcodeVersionInfo
1262 Fixes https://github.com/curl/curl/issues/1606
1263 Closes https://github.com/curl/curl/pull/1607
1264
1265Daniel Stenberg (24 Jun 2017)
1266- progress: fix "time spent", broke in adef394ac
1267
1268- CURLINFO_REDIRECT_URL.3: mention the CURLOPT_MAXREDIRS case
1269
1270 ... supported since 7.54.1
1271
1272- maketgz: switch to -6e for xz
1273
1274 To reduce the memory requirement for decompress, and still do almost as
1275 good compression as with -9e.
1276
1277 Pointed-out-by: Dan Fandrich
1278
1279- libtest/Makefile: remove unused lib1541 variables
1280
1281- CONTRIBUTE.md: mention the out-of-tree build test too
1282
1283- maketgz: switch to xz instead of lzma
1284
1285 The compressed output size seems to be a tad bit smaller, but generally
1286 xz seems more preferred these days and is used directly by for example
1287 gentoo instead of bz2.
1288
1289 "Users of LZMA Utils should move to XZ Utils" =>
1290 https://tukaani.org/lzma/
1291
1292 Closes #1604
1293
1294- --request-target: instead of --strip-path-slash
1295
1296 ... and CURLOPT_REQUEST_TARGET instead of CURLOPT_STRIP_PATH_SLASH.
1297
1298 This option instead provides the full "alternative" target to use in the
1299 request, instead of extracting the path from the URL.
1300
1301 Test 1298 and 1299 updated accordingly.
1302
1303 Idea-by: Evert Pot
1304 Suggestion: https://daniel.haxx.se/blog/2017/06/19/options-with-curl/comment-page-1/#comment-18373
1305
1306 Closes #1593
1307
1308Marcel Raad (21 Jun 2017)
1309- lib1521: fix missing-variable-declarations clang warnings
1310
1311 Declare TU-local variables static.
1312
1313- travis: enable typecheck-gcc warnings
1314
1315 - switch debug and release configurations so that we get an optimized
1316 build with GCC 4.3+ as required by typecheck-gcc
1317 - enable warnings-as-errors for release builds
1318 (which have warnings disabled)
1319
1320 Closes https://github.com/curl/curl/pull/1595
1321
1322- typecheck-gcc: add support for CURLINFO_OFF_T
1323
1324 typecheck-gcc expected curl_socket_t instead of curl_off_t arguments
1325 for CURLINFO_OFF_T. Detected by test1521, unfortunately only when run
1326 locally.
1327
1328 Closes https://github.com/curl/curl/pull/1592
1329
1330Daniel Stenberg (21 Jun 2017)
1331- [Simon Warta brought this change]
1332
1333 ci: whitelist branches to avoid testing feature branches twice
1334
1335- [Gisle Vanem brought this change]
1336
1337 lib: fix the djgpp build
1338
1339 Bug: https://github.com/curl/curl/commit/73a2fcea0b4adea6ba342cd7ed1149782c214ae3#commitcomment-22655993
1340
1341Marcel Raad (20 Jun 2017)
1342- if2ip: fix compiler warning in ISO C90 mode
1343
1344 remote_scope_id is only used when both HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID
1345 and ENABLE_IPV6 are defined instead of only one of them.
1346
1347Daniel Stenberg (20 Jun 2017)
1348- travis: do the distcheck test build out-of-tree as well
1349
1350- http: add --strip-path-slash and CURLOPT_STRIP_PATH_SLASH
1351
1352 ... to enable sending "OPTIONS *" which wasn't possible previously.
1353
1354 This option currently only works for HTTP.
1355
1356 Added test cases 1298 + 1299 to verify
1357
1358 Fixes #1280
1359 Closes #1462
1360
1361- test1521: test getinfo's OFF_T types too
1362
1363 Closes #1588
1364
1365- lib1521: add curl_easy_getinfo calls to the test set
1366
1367 Also added return value checks to make sure no unexpected return codes
1368 are used.
1369
1370- [Simon Warta brought this change]
1371
1372 automake: use $(MKHELP) variable instead if constant mkhelp.pl
1373
1374 this improves symmetry with the rule above
1375
1376- [Simon Warta brought this change]
1377
1378 mkhelp.pl: fix script name in usage text
1379
1380- RELEASE-NOTES: synced with 3b80d3ca4
1381
1382- getinfo: return sizes as curl_off_t
1383
1384 This change introduces new alternatives for the existing six
1385 curl_easy_getinfo() options that return sizes or speeds as doubles. The
1386 new versions are named like the old ones but with an appended '_T':
1387
1388 CURLINFO_CONTENT_LENGTH_DOWNLOAD_T
1389 CURLINFO_CONTENT_LENGTH_UPLOAD_T
1390 CURLINFO_SIZE_DOWNLOAD_T
1391 CURLINFO_SIZE_UPLOAD_T
1392 CURLINFO_SPEED_DOWNLOAD_T
1393 CURLINFO_SPEED_UPLOAD_T
1394
1395 Closes #1511
1396
1397- PIPELINING_SERVER_BL: cleanup the internal list use
1398
1399 The list was freed incorrectly since the llist refactor of
1400 cbae73e1dd959. Added test 1550 to verify that it works and avoid future
1401 regressions.
1402
1403 Reported-by: Pascal Terjan
1404
1405 Fixes #1584
1406 Closes #1585
1407
1408- http2: fix OOM crash
1409
1410 torture mode with test 1021 found it
1411
1412- CURLOPT_PREQUOTE.3: spellfix man page reference
1413
1414Marcel Raad (18 Jun 2017)
1415- http_proxy: fix build with http and proxy
1416
1417 After deff7de0eb0e22d2d142b96b9cc84cd8db5d2a48, the build without
1418 CURL_DISABLE_PROXY and CURL_DISABLE_HTTP was failing because of missing
1419 includes.
1420
1421- http_proxy: fix compiler warning
1422
1423 With CURL_DISABLE_PROXY or CURL_DISABLE_HTTP, GCC complained about a
1424 missing prototype for Curl_connect_free.
1425
1426Daniel Stenberg (18 Jun 2017)
1427- TODO: update the TOC too
1428
1429- TODO: implement support for CURLOPT_PREQUOTE with SFTP
1430
1431 ... also updated the CURLOPT_PREQUOTE.3 man page to mention the correct
1432 protocol support.
1433
1434 Closes #1514
1435
1436- tool_wrte_cb: remove check for config == NULL
1437
1438 ... as it really cannot have reached this far with config being NULL,
1439 thus this is unnecesary and misleading.
1440
1441 Bug: https://news.ycombinator.com/item?id=14577585 and
1442 https://daniel.haxx.se/blog/2017/06/17/curl-doesnt-spew-binary-anymore/comment-page-1/#comment-18356
1443
1444 Forwarded-to-us-by: Jakub Wilk
1445
1446- curl: prevent binary output spewed to terminal
1447
1448 ... unless "--output -" is used. Binary detection is done by simply
1449 checking for a binary zero in early data.
1450
1451 Added test 1425 1426 to verify.
1452
1453 Closes #1512
1454
1455Marcel Raad (16 Jun 2017)
1456- Makefile.m32: enable -W for MinGW32 build
1457
1458 The configure-based build also has this in addition to -Wall.
1459
1460 Closes https://github.com/curl/curl/pull/1578
1461
1462- curl-compilers.m4: enable comma clang warning
1463
1464 It usually warns when using commas instead of semicolons or other
1465 operators by accident.
1466
1467 Closes https://github.com/curl/curl/pull/1578
1468
1469- curl-compilers.m4: enable missing-variable-declarations clang warning
1470
1471 It usually warns when forgetting to declare TU-local variables static.
1472
1473 Closes https://github.com/curl/curl/pull/1578
1474
1475- curl-compilers.m4: enable double-promotion warning
1476
1477 Enable -Wdouble-promotion for both GCC and clang. It warns on implicit
1478 promotion from float to double.
1479
1480 Closes https://github.com/curl/curl/pull/1578
1481
1482- curl-compilers.m4: enable vla warning for clang
1483
1484 Previously, that warning was only implicitly active in C90 mode.
1485 Enable it unconditionally as already done for GCC.
1486
1487 Closes https://github.com/curl/curl/pull/1578
1488
1489Daniel Stenberg (16 Jun 2017)
1490- http-proxy: fix chunked-encoded CONNECT responses
1491
1492 Regression since 5113ad0424.
1493
1494 ... and remove 'flaky' from test 1061 again
1495
1496 Closes #1579
1497
1498- http-proxy: deal with EAGAIN
1499
1500 ... the previous code would reset the header length wrongly (since
1501 5113ad0424). This makes test 1060 reliable again.
1502
1503 Also: make sws send even smaller chunks of data to increase the
1504 likeliness of this happening.
1505
1506- libtest/libntlmconnect: fix compiler warnings from f94fcdb
1507
1508- [Jay Satiro brought this change]
1509
1510 HTTPS-Proxy: don't offer h2 for https proxy connections
1511
1512 Bug: https://github.com/curl/curl/issues/1254
1513
1514 Closes #1546
1515
1516- tests: stabilize test 2032 and 2033
1517
1518 Both these tests run the same underlying test code: libntlmconnect.c -
1519 this test code made some assumptions about socket ordering when it used
1520 curl_easy_fdset() and when we changed timing or got accidental changes
1521 in libcurl the tests would fail.
1522
1523 The tests verify that the different transfers keep using the same
1524 connections, which I now instead made sure by adding the number of bytes
1525 each transfer gets and then verifies that they always get the same
1526 amount as when these tests worked.
1527
1528 Closes #1576
1529
1530- test1148: verify the -# progressbar
1531
1532 Closes #1569
1533
1534- test1061: mark as flaky
1535
1536 Fails intermittently on travis builds since a few days. Likely due to
1537 5113ad0424.
1538
1539Jay Satiro (16 Jun 2017)
1540- url: refactor the check for Windows drive letter in path
1541
1542 - Move the logic to detect a Windows drive letter prefix
1543 (eg c: in c:foo) into a function-like macro.
1544
1545 Closes https://github.com/curl/curl/pull/1571
1546
1547- mk-ca-bundle.pl: Check curl's exit code after certdata download
1548
1549 - No longer allow partial downloads of certdata.
1550
1551 Prior to this change partial downloads were (erroneously?) allowed since
1552 only the server code was checked to be 200.
1553
1554 Bug: https://github.com/curl/curl/pull/1577
1555 Reported-by: Matteo B.
1556
1557Daniel Stenberg (16 Jun 2017)
1558- dist: add the fuzz dir to the tarball
1559
1560- configure: disable nghttp2 too if HTTP has been disabled
1561
1562- http-proxy: fix build with --disable-proxy or --disable-http
1563
1564 Reported-by: Dan Fandrich
1565
1566- fuzz/README: document how to build
1567
1568 Fixes #1476
1569
1570- [Frederik B brought this change]
1571
1572 fuzz: corpora file structure, initial commit
1573
1574- [Frederik B brought this change]
1575
1576 fuzz: bring oss-fuzz initial code converted to C89
1577
1578- http-proxy: only attempt FTP over HTTP proxy
1579
1580 ... all other non-HTTP protocol schemes are now defaulting to "tunnel
1581 trough" mode if a HTTP proxy is specified. In reality there are no HTTP
1582 proxies out there that allow those other schemes.
1583
1584 Assisted-by: Ray Satiro, Michael Kaufmann
1585
1586 Closes #1505
1587
1588- TODO: the generated include file is gone
1589
1590 ... since commit 73a2fcea0b
1591
1592- curl_setup.h: error out on CURL_WANTS_CA_BUNDLE_ENV use
1593
1594 ... to make it really apparent if there's any user using this on purpose.
1595
1596 Suggested-by: Jay Satiro
1597
1598 Closes #1542
1599
1600- lib/curl_setup.h: remove CURL_WANTS_CA_BUNDLE_ENV
1601
1602 When this define was set, libcurl would check the environment variable
1603 named CURL_CA_BUNDLE at run-time and use that CA cert bundle. This
1604 feature was only defined by the watcom and m32 makefiles and caused
1605 inconsistent behaviours among libcurls built on different platforms.
1606
1607 The curl tool does already feature its own similar logic and the library
1608 does not really need it, and it isn't documented libcurl behavior. So
1609 this change removes it.
1610
1611 Ref: #1538
1612
1613- test1147: verify -H on a file
1614
1615- curl: allow --header and --proxy-header read from file
1616
1617 So many headers can be provided as @filename.
1618
1619 Suggested-by: Timothe Litt
1620
1621 Closes #1486
1622
1623- RELEASE-NOTES: synced with 2ad80eec5
1624
1625- curl/curlver.h: start working on 7.55.0
1626
1627- http-proxy: do the HTTP CONNECT process entirely non-blocking
1628
1629 Mentioned as a problem since 2007 (8f87c15bdac63) and of course it
1630 existed even before that.
1631
1632 Closes #1547
1633
1634- progress: let "current speed" be UL + DL speeds combined
1635
1636 Bug #1556
1637 Reported-by: Paul Harris
1638 Closes #1559
1639
1640Marcel Raad (14 Jun 2017)
1641- system.h: fix MinGW build
1642
1643 CURLSYS_PULL_WS2TCPIP_H got renamed to CURL_PULL_WS2TCPIP_H in commit
1644 73a2fcea0b4adea6ba342cd7ed1149782c214ae3.
1645
1646Daniel Stenberg (14 Jun 2017)
1647- timers: store internal time stamps as time_t instead of doubles
1648
1649 This gives us accurate precision and it allows us to avoid storing "no
1650 time" for systems with too low timer resolution as we then bump the time
1651 up to 1 microsecond. Should fix test 573 on windows.
1652
1653 Remove the now unused curlx_tvdiff_secs() function.
1654
1655 Maintains the external getinfo() API with using doubles.
1656
1657 Fixes #1531
1658
1659- dist: make the hugehelp.c not get regenerated unnecessarily
1660
1661 The maketgz script now makes sure the generated hugehelp.c file in the
1662 tarball is newer than the generated curl.1 man page, so that it doesn't
1663 have to get unnecessarily rebuilt first thing in a typical build. It
1664 thus also removes the need for perl to build off a plain release
1665 tarball.
1666
1667 Fixes #1565
1668
1669- includes: remove curl/curlbuild.h and curl/curlrules.h
1670
1671 Rely entirely on curl/system.h now.
1672
1673 Introduced in Aug 2008 with commit 14240e9e109f. Now gone.
1674
1675 Fixes #1456
1676
1677Version 7.54.1 (14 Jun 2017)
1678
1679Daniel Stenberg (14 Jun 2017)
1680- release: 7.54.1
1681
1682Dan Fandrich (13 Jun 2017)
1683- mk-lib1521.pl: updated to match the test changes in 916ec30a
1684
1685Daniel Stenberg (13 Jun 2017)
1686- [Stuart Henderson brought this change]
1687
1688 libressl: OCSP and intermediate certs workaround no longer needed
1689
1690 lib/vtls/openssl.c has a workaround for a bug with OCSP responses signed
1691 by intermediate certs, this was fixed in LibreSSL in
1692 https://github.com/libressl-portable/openbsd/commit/912c64f68f7ac4f225b7d1fdc8fbd43168912ba0
1693
1694 Bug: https://curl.haxx.se/mail/lib-2017-06/0038.html
1695
1696- url: fix buffer overwrite with file protocol (CVE-2017-9502)
1697
1698 Bug: https://github.com/curl/curl/issues/1540
1699 Advisory: https://curl.haxx.se/docs/adv_20170614.html
1700
1701 Assisted-by: Ray Satiro
1702 Reported-by: Marcel Raad
1703
1704- urlglob: fix division by zero
1705
1706 The multiply() function that is used to avoid integer overflows, was
1707 itself reason for a possible division by zero error when passed a
1708 specially formatted glob.
1709
1710 Reported-by: GwanYeong Kim
1711
1712- configure: update the copyright year in the output
1713
1714- [ygrek brought this change]
1715
1716 BINDINGS: update SP-Forth and OCaml urls
1717
1718Michael Kaufmann (11 Jun 2017)
1719- FindWin32CACert: Use a temporary buffer on the stack
1720
1721 Don't malloc() the temporary buffer, and use the correct type:
1722 SearchPath() works with TCHAR, but SearchPathA() works with char.
1723 Set the buffer size to MAX_PATH, because the terminating null byte
1724 is already included in MAX_PATH.
1725
1726 Reviewed-by: Daniel Stenberg
1727 Reviewed-by: Marcel Raad
1728
1729 Closes #1548
1730
1731Dan Fandrich (11 Jun 2017)
1732- test1521: fixed OOM handling
1733
1734Daniel Stenberg (9 Jun 2017)
1735- RELEASE-PROCEDURE: updated future release dates
1736
1737- [Paul Harris brought this change]
1738
1739 gitignore: ignore all vim swap files
1740
1741 Closes #1561
1742
1743- lib1521: fix compiler warnings on the use of bad 'long' values
1744
1745 Reported-by: Marcel Raad
1746 Bug: https://github.com/curl/curl/commit/cccac4fb2b20d6ed87da7978408c3ecacc464fe4#commitcomment-22453387
1747
1748- setopt: check CURLOPT_ADDRESS_SCOPE option range
1749
1750 ... and return error instead of triggering an assert() when being way
1751 out of range.
1752
1753Jay Satiro (8 Jun 2017)
1754- [TheAssassin brought this change]
1755
1756 cmake: Fix inconsistency regarding mbed TLS include directory
1757
1758 Previously, one had to set MBEDTLS_INCLUDE_DIR to make CMake find the
1759 headers, but the system complained that mbed TLS wasn't found due to
1760 MBEDTLS_INCLUDE_DIRS (note the trailing s) was not set. This commit
1761 attempts to fix that.
1762
1763 Closes https://github.com/curl/curl/pull/1541
1764
1765Daniel Stenberg (8 Jun 2017)
1766- [Ryuichi KAWAMATA brought this change]
1767
1768 examples/multi-uv.c: fix deprecated symbol
1769
1770 Closes #1557
1771
1772- asyn-ares: s/Curl_expire_latest/Curl_expire
1773
1774- expire: remove Curl_expire_latest()
1775
1776 With the introduction of expire IDs and the fact that existing timers
1777 can be removed now and thus never expire, the concept with adding a
1778 "latest" timer is not working anymore as it risks to not expire at all.
1779
1780 So, to be certain the timers actually are in line and will expire, the
1781 plain Curl_expire() needs to be used. The _latest() function was added
1782 as a sort of shortcut in the past that's quite simply not necessary
1783 anymore.
1784
1785 Follow-up to 31b39c40cf90
1786
1787 Reported-by: Paul Harris
1788
1789 Closes #1555
1790
1791- [Chris Carlmar brought this change]
1792
1793 configure: fix link with librtmp when specifying path
1794
1795 Bug: https://curl.haxx.se/mail/lib-2017-06/0017.html
1796
1797- file: make speedcheck use current time for checks
1798
1799 ... as it would previously just get the "now" timestamp before the
1800 transfer starts and then not update it again.
1801
1802 Closes #1550
1803
1804- metalink: remove unused printf() argument
1805
1806- travis: let some builds *not* use --enable-debug
1807
1808 typecheck-gcc and other things require optimized builds
1809
1810 Closes #1544
1811
1812- README.md: show the coverall coverage on github
1813
1814- lib1521: fix compiler warnings
1815
1816- test1521: make the code < 80 columns wide
1817
1818- test1121: use stricter types to work with typcheck-gcc
1819
1820- typecheck-gcc: allow CURLOPT_STDERR to be NULL too
1821
1822- test1521: test *all* curl_easy_setopt options
1823
1824 mk-lib1521.pl generates a test program (lib1521.c) that calls
1825 curl_easy_setopt() for every known option with a few typical values to
1826 make sure they work (ignoring the return codes).
1827
1828 Some small changes were necessary to avoid asserts and NULL accesses
1829 when doing this.
1830
1831 The perl script needs to be manually rerun when we add new options.
1832
1833 Closes #1543
1834
1835Dan Fandrich (5 Jun 2017)
1836- test1538: added "verbose logs" keyword
1837
1838 These error messages are not displayed with --disable-verbose
1839
1840Daniel Stenberg (5 Jun 2017)
1841- test1262: verify ftp download with -z for "if older than this"
1842
1843Marcel Raad (5 Jun 2017)
1844- curl_ntlm_core: use Curl_raw_toupper instead of toupper
1845
1846 This was the only remaining use of toupper in the entire source code.
1847
1848 Suggested-by: Daniel Stenberg
1849
1850Daniel Stenberg (4 Jun 2017)
1851- RELEASE-NOTES: synced with 65ba92650
1852
1853Marcel Raad (4 Jun 2017)
1854- curl_ntlm_core: pass unsigned char to toupper
1855
1856 Otherwise, clang on Cygwin64 warns:
1857 curl_ntlm_core.c:525:35: error: array subscript is of type 'char'
1858 [-Werror,-Wchar-subscripts]
1859 dest[2 * i] = (unsigned char)(toupper(src[i]));
1860 ^~~~~~~~~~~~~~~
1861 /usr/include/ctype.h:152:25: note: expanded from macro 'toupper'
1862 (void) __CTYPE_PTR[__x]; (toupper) (__x);})
1863 ^~~~
1864
1865Jay Satiro (3 Jun 2017)
1866- [Mahmoud Samir Fayed brought this change]
1867
1868 BINDINGS: add Ring binding
1869
1870 Closes https://github.com/curl/curl/pull/1539
1871
1872Daniel Stenberg (4 Jun 2017)
1873- CONTRIBUTE.md: mention tests done on pull requests
1874
1875- travis: add coverage, distcheck and cmake builds
1876
1877 Closes #1534
1878
1879Marcel Raad (3 Jun 2017)
1880- libtest: fix int-in-bool-context warnings
1881
1882 GCC 7 complained:
1883 ‘*’ in boolean context, suggest ‘&&’ instead [-Wint-in-bool-context]
1884
1885- libtest: fix implicit-fallthrough warnings with GCC 7
1886
1887- x509asn1: fix implicit-fallthrough warning with GCC 7
1888
1889- curl_sasl: fix unused-variable warning
1890
1891 This fixes the following warning with CURL_DISABLE_CRYPTO_AUTH,
1892 as seen in the autobuilds:
1893
1894 curl_sasl.c:417:9: warning: unused variable 'serverdata'
1895 [-Wunused-variable]
1896
1897Daniel Stenberg (3 Jun 2017)
1898- updatemanpages.pl: error out on too old git version
1899
1900Marcel Raad (3 Jun 2017)
1901- cyassl: define build macros before including ssl.h
1902
1903 cyassl/ssl.h needs the macros from cyassl/options.h, so define them
1904 before including cyassl/ssl.h the first time, which happens in
1905 urldata.h.
1906 This broke the build on Ubuntu Xenial, which comes with WolfSSL 3.4.8
1907 and therefore redefines the symbols from cyassl/options.h instead of
1908 including the header.
1909
1910 Closes https://github.com/curl/curl/pull/1536
1911
1912Daniel Stenberg (3 Jun 2017)
1913- tool_util: remove unused tvdiff_secs and remove tool_ prefix
1914
1915 Closes #1532
1916
1917- dedotdot: fixed output for ".." and "." only input
1918
1919 Found when updating test 1395, which I did to increase test coverage of
1920 this source file...
1921
1922 Closes #1535
1923
1924Marcel Raad (2 Jun 2017)
1925- mbedtls: make TU-local variable static
1926
1927 mbedtls_x509_crt_profile_fr is only used locally.
1928 This fixes a missing-variable-declarations warning with clang.
1929
1930- MD(4|5): silence cast-align clang warning
1931
1932 Unaligned access is on purpose here and the warning is harmless on
1933 affected architectures. GCC knows that, while clang warns on all
1934 architectures.
1935
1936Daniel Stenberg (2 Jun 2017)
1937- test1538: fix typo
1938
1939- test1538: verify the libcurl strerror API calls
1940
1941- curl_endian: remove unused functions
1942
1943 Closes #1529
1944
1945- test1537: dedicated tests of the URL (un)escape API calls
1946
1947 Closes #1530
1948
1949- coverage: run event tests too
1950
1951 ... the torture ones are commented out only because they are slooooow.
1952
1953- build: provide easy code coverage measuring
1954
1955 Closes #1528
1956
1957- typecheck-gcc.h: check CURLINFO_CERTINFO
1958
1959 ... and update the certinfo.c example accordingly.
1960
1961 Fixes https://github.com/curl/curl/issues/846
1962
1963- typecheck-gcc.h: check CURLINFO_TLS_SSL_PTR and CURLINFO_TLS_SESSION
1964
1965 ... so that they get the required "struct curl_tlssessioninfo **"
1966 arguments.
1967
1968- typecheck-gcc.h: separate getinfo slist checks from other pointers
1969
1970 Fixes #1524
1971
1972Marcel Raad (1 Jun 2017)
1973- curl-compilers.m4: escape square brackets in regex
1974
1975 Otherwise, they are removed in the final configure file.
1976 Also changed sed to "$SED" like in most other calls in this file.
1977
1978- curl-compilers.m4: fix compiler_num for clang
1979
1980 "clang -dumpversion" always returns "4.2.1", the GCC version that clang
1981 was initially compatible to. Use "clang -v" instead, which returns the
1982 actual clang version.
1983
1984 Fixes https://github.com/curl/curl/issues/1522
1985 Closes https://github.com/curl/curl/pull/1523
1986
1987Daniel Stenberg (31 May 2017)
1988- examples/externalsocket.c: s/closesocket/closecb
1989
1990 ... since closesocket is a function in WinSock.
1991
1992 Reported-by: Marcel Raad
1993 Bug: https://github.com/curl/curl/commit/55fcb8485914700132fd1854c9509b66c955efbe#co
1994 mmitcomment-22347818
1995
1996Marcel Raad (31 May 2017)
1997- lib583: fix compiler warning
1998
1999 Use CURLMcode for variable 'res' and cast to int where necessary
2000 instead of the other way around. Other tests do the same.
2001
2002 This fixes the following clang warning:
2003 lib583.c:68:15: warning: cast from function call of type 'CURLMcode' to
2004 non-matching type 'int' [-Wbad-function-cast]
2005
2006Daniel Stenberg (31 May 2017)
2007- CURLOPT_SSH_KEY*.3: typos
2008
2009 Reported-by: Gisle Vanem
2010
2011- CURLOPT_STREAM_DEPENDS.3: typo
2012
2013- CURLOPT_FNMATCH_FUNCTION.3: also modified example to avoid fcpp issues
2014
2015- CURLOPT_FNMATCH_DATA.3: modified example to avoid fcpp issues
2016
2017- opts: more than 100 more examples for man pages...
2018
2019- libtest/lib574.c: use correct callback proto
2020
2021- examples/sampleconv.c: indent changes, made callbacks static
2022
2023- example/externalsocket.c: make it use CLOSESOCKETFUNCTION too
2024
2025Marcel Raad (31 May 2017)
2026- curl-compilers.m4: enable -Wshift-sign-overflow for clang
2027
2028 clang 2.9+ supports -Wshift-sign-overflow, which warns about undefined
2029 behavior on signed left shifts when shifting by too many places.
2030
2031 Ref: https://github.com/curl/curl/issues/1516
2032 Closes https://github.com/curl/curl/pull/1517
2033
2034Daniel Stenberg (31 May 2017)
2035- CURLOPT_PROXY.3: fix test 1140 breakage
2036
2037Jay Satiro (31 May 2017)
2038- build-wolfssl: Sync config with wolfSSL 3.11
2039
2040 wolfSSL configure script relevant changes from 3.10 to 3.11:
2041
2042 - Async threading support added; disabled by default without async
2043 crypto, which continues to be disabled by default.
2044
2045 wolfSSL configure script relevant changes from 3.11 to 3.11.1 (beta):
2046
2047 - TLS 1.3 beta support added; disabled by default.
2048
2049 For experimenting I put in a comment block the defines needed to enable
2050 TLS 1.3 support (ie the equivalent of --enable-tls13).
2051
2052Daniel Stenberg (30 May 2017)
2053- opts: more examples added to man pages
2054
2055- docs: clarify NO_PROXY further
2056
2057 Fixes #1208
2058
2059- CURLOPT_PROXY.3: describe the environment variables more
2060
2061- transfer: init the infilesize from the postfields...
2062
2063 ... with a strlen() if no size was set, and do this in the pretransfer
2064 function so that the info is set early. Otherwise, the default strlen()
2065 done on the POSTFIELDS data never sets state.infilesize.
2066
2067 Reported-by: Vincas Razma
2068 Bug: #1294
2069
2070Jay Satiro (29 May 2017)
2071- test557: fix ubsan runtime error due to int left shift
2072
2073 - Test curl_msnprintf negative int width arg using INT_MIN instead of
2074 1 << 31 which is undefined behavior.
2075
2076 Closes https://github.com/curl/curl/issues/1516
2077
2078- mbedtls: fix variable shadow warning
2079
2080 vtls/mbedtls.c:804:69: warning: declaration of 'entropy' shadows a global declaration [-Wshadow]
2081 CURLcode Curl_mbedtls_random(struct Curl_easy *data, unsigned char *entropy,
2082 ^~~~~~~
2083
2084Daniel Stenberg (29 May 2017)
2085- RELEASE-NOTES: synced with 3aaac8c2f
2086
2087Dan Fandrich (28 May 2017)
2088- tests: removed some redundant empty <stdout> sections
2089
2090- runtests.pl: removed <precommand> feature
2091
2092 This hasn't been used in over a decade. <precheck> can still be used to
2093 run commands before the main test.
2094
2095Daniel Stenberg (27 May 2017)
2096- opts: more examples added in option man pages
2097
2098Dan Fandrich (27 May 2017)
2099- runtests.pl: removed unused arguments to valgrindparse
2100
2101Daniel Stenberg (25 May 2017)
2102- TODO: 6.4 is done, send telnet data in chunks
2103
2104- [Phil Crump brought this change]
2105
2106 docs/CURLOPT_SSLVERSION.3: Correct define name in example
2107
2108 Closes #1509
2109
2110- ssh: fix 'left' may be used uninitialized
2111
2112 follow-up to f31760e63b4e
2113
2114 Reported-by: Michael Kaufmann
2115 Bug: https://github.com/curl/curl/pull/1495#issuecomment-303982793
2116
2117Michael Kaufmann (24 May 2017)
2118- time: fix type conversions and compiler warnings
2119
2120 Fix bugs and compiler warnings on systems with 32-bit long and
2121 64-bit time_t.
2122
2123 Reviewed-by: Daniel Stenberg
2124
2125 Closes #1499
2126
2127Marcel Raad (24 May 2017)
2128- examples: fix Wimplicit-fallthrough warnings
2129
2130 This is contained in -Wextra with GCC 7.
2131
2132Daniel Stenberg (24 May 2017)
2133- [Anatol Belski brought this change]
2134
2135 winbuild: fix the nghttp2 build
2136
2137 Closes #1321
2138
2139GitHub (24 May 2017)
2140- [Sergei Nikulov brought this change]
2141
2142 LDAP: documentation update per #878 changes (#1506)
2143
2144Daniel Stenberg (23 May 2017)
2145- redirect: store the "would redirect to" URL when max redirs is reached
2146
2147 Test 1261 added to verify.
2148
2149 Reported-by: Lloyd Fournier
2150
2151 Fixes #1489
2152 Closes #1497
2153
2154GitHub (24 May 2017)
2155- [Sergei Nikulov brought this change]
2156
2157 LDAP: fixed checksrc issue
2158
2159- [Sergei Nikulov brought this change]
2160
2161 LDAP: using ldap_bind_s on Windows with methods (#878)
2162
2163 * LDAP: using ldap_bind_s on Windows with methods(BASIC/DIGEST/NTLM/AUTONEG)
2164
2165 * ldap: updated per build options handling
2166
2167 * ldap: fixed logic for auth selection
2168
2169Daniel Stenberg (23 May 2017)
2170- [Akhil Kedia brought this change]
2171
2172 cmake: fix build on Ubuntu 14.04
2173
2174 Fixed a syntax error with setting cache variables (The type and
2175 docstring were missing), resulting in build errors. Quoted the
2176 CURL_CA_PATH and CURL_CA_BUNDLE otherwise the path was written without
2177 quotes in C code, resulting in build errors.
2178
2179 Closes #1503
2180
2181 Signed-off-by: Akhil <akhil.kedia@samsung.com>
2182
2183- url: fix declaration of 'pipe' shadows a global declaration
2184
2185 follow-up to 4cdb1be8246c
2186
2187Kamil Dudka (22 May 2017)
2188- memdebug: fix compilation failure
2189
2190 .... caused by a typo in the last commit (fixing issue #1504):
2191
2192 memdebug.c: In function ‘curl_fclose’:
2193 memdebug.c:444:3: error: implicit declaration of function
2194 ‘DEBUGDEBUGASSERT’ [-Werror=implicit-function-declaration]
2195
2196Daniel Stenberg (22 May 2017)
2197- assert: avoid, use DEBUGASSERT instead!
2198
2199 ... as it does extra checks to actually work.
2200
2201 Reported-by: jonrumsey at github
2202 Fixes #1504
2203
2204- [Simon Warta brought this change]
2205
2206 cmake: remove unused variables: GNUTLS_ENABLED, NSS_ENABLED
2207
2208- [Simon Warta brought this change]
2209
2210 cmake: remove CURL_CA_BUNDLE from cmake TODO
2211
2212- [Simon Warta brought this change]
2213
2214 cmake: auto detection of CURL_CA_BUNDLE/CURL_CA_PATH
2215
2216 Closes #1461
2217
2218- [Simon Warta brought this change]
2219
2220 cmake: add CURL_CA_BUNDLE/CURL_CA_FALLBACK/CURL_CA_PATH options
2221
2222- [Simon Warta brought this change]
2223
2224 cmake: Add CURL_CA_FALLBACK to curl_config.h.cmake
2225
2226 This is for symmetry with the autoconf generated curl_config.h.in
2227
2228- RELEASE-NOTES: synced with 052a14e3c
2229
2230Michael Kaufmann (20 May 2017)
2231- tests: stabilize test 1034
2232
2233 Pass the invalid domain name on stdin. On some systems, the test
2234 framework cannot pass invalid UTF-8 sequences on the command line.
2235
2236 Closes #1488
2237
2238Daniel Stenberg (20 May 2017)
2239- ssh: ignore timeouts during disconnect
2240
2241 ... as otherwise it risks not cleaning up the libssh2 handle properly
2242 which leads to memory leak!
2243
2244 Assisted-by: Joel Depooter
2245
2246 Closes #1495
2247 Closes #1479
2248
2249 Bug: https://curl.haxx.se/mail/lib-2017-04/0024.html
2250
2251- ghiper.c/hiperfifo.c: add comment about missing timer functionality
2252
2253 It takes someone to read up on the APIs of these libraries to figure out
2254 how to do this correctly.
2255
2256 Reported-by: Michael Kaufmann
2257
2258 Closes #1253
2259
2260- asiohiper.cpp / evhiperfifo.c: deal with negative timerfunction input
2261
2262 That means delete the timer.
2263
2264 Reported-by: Michael Kaufmann
2265 Ref: #1253
2266
2267- cmdline-opts/write-out.d: s/-L/--location
2268
2269 Since the man page generator wants the long option name version to
2270 generate the proper output.
2271
2272- [Bernhard M. Wiedemann brought this change]
2273
2274 mkhelp.pl: do not add current time into curl binary
2275
2276 ... as part of hugehelpgz rodata to make build reproducible.
2277
2278 See https://reproducible-builds.org/ for why this is good
2279
2280 Closes #1490
2281
2282- oauth2-bearer.d: mention the <token> argument
2283
2284Nick Zitzmann (16 May 2017)
2285- darwinssl: Fix exception when processing a client-side certificate file
2286 if no error was raised by the API but the SecIdentityRef was null
2287
2288 Fixes #1450
2289
2290Daniel Stenberg (16 May 2017)
2291- curl_sasl: fix build error with CURL_DISABLE_CRYPTO_AUTH + USE_NTLM
2292
2293 Reported-by: wyattoday at github
2294 Fixes #1487
2295
2296- docs/cmdline-opts/config.d: edit for language
2297
2298- RELEASE-NOTES: synced with eb16305e6
2299
2300- [moparisthebest brought this change]
2301
2302 SecureTransport/DarwinSSL: Implement public key pinning
2303
2304 Closes #1400
2305
2306- man pages: fix example syntax errors
2307
2308 follow-up to 5ddad099b42b50
2309
2310- docs/libcurl/opts: added more examples in man pages
2311
2312- CURLOPT_HTTPPROXYTUNNEL: clarify, add example
2313
2314- curl: show the libcurl release date in --version output
2315
2316 ... and support and additional "security patched" date for those who
2317 enhance older versions that way. Pass on the define CURL_PATCHSTAMP with
2318 a date for that.
2319
2320 Building with non-release headers shows the date as [unreleased].
2321
2322 Also: this changes the date format generated in the curlver.h file to be
2323 "YYYY-MM-DD" (no name of the day or month, no time, no time zone) to
2324 make it easier on the eye and easier to parse. Example (new) date
2325 string: 2017-05-09
2326
2327 Suggested-by: Brian Childs
2328
2329 Closes #1474
2330
2331Dan Fandrich (13 May 2017)
2332- url.c: add a compile-time check that CURL_MAX_WRITE_SIZE is large enough
2333
2334 Some code (e.g. Curl_fillreadbuffer) assumes that this buffer is not
2335 exceedingly tiny and will break if it is. This same check is already
2336 done at run time in the CURLOPT_BUFFERSIZE option.
2337
2338- lib510: don't write past the end of the buffer if it's too small
2339
2340- tests: added missing keywords "chunked Transfer-Encoding"
2341
2342Daniel Stenberg (13 May 2017)
2343- THANKS: add a few missing names
2344
2345 ... I found them in the commit logs from the early years
2346
2347Dan Fandrich (13 May 2017)
2348- tests: made a couple of prechecks consistent with others
2349
2350 Also removed a TODO suggesting caching the precheck results. Tests
2351 showed this would save about 0.1 sec on the total test run time on a
2352 relatively modern system, an unnoticeable gain at the cost of longer and
2353 more complicated code. There would also be a danger that a cached test
2354 result would be inappropriately returned, such as when other test
2355 dependencies (like environment variables) are different or when the
2356 precheck causes side effects (like filesystem changes).
2357
2358Daniel Stenberg (12 May 2017)
2359- FAQ: add 7.4 to toc
2360
2361 ... and delete trailing whitespace
2362
2363 Fixes #1484
2364
2365- multi: remove leftover debug infof() calls from e9fd794a6
2366
2367- pipeline: fix mistakenly trying to pipeline POSTs
2368
2369 The function IsPipeliningPossible() would return TRUE if either
2370 pipelining OR HTTP/2 were possible on a connection, which would lead to
2371 it returning TRUE even for POSTs on HTTP/1 connections.
2372
2373 It now returns a bitmask so that the caller can differentiate which kind
2374 the connection allows.
2375
2376 Fixes #1481
2377 Closes #1483
2378 Reported-by: stootill at github
2379
2380Jay Satiro (12 May 2017)
2381- [Ron Eldor brought this change]
2382
2383 mbedtls: Support server renegotiation request
2384
2385 Tested with servers: IIS 7.5; OpenSSL 1.0.2.
2386
2387 Closes https://github.com/curl/curl/pull/1475
2388
2389Marcel Raad (11 May 2017)
2390- cookie_interface: fix -Wcomma warning
2391
2392 clang 5.0 complains:
2393 possible misuse of comma operator here [-Wcomma]
2394
2395- formdata: fix -Wcomma warning
2396
2397 clang 5.0 complains:
2398 possible misuse of comma operator here [-Wcomma]
2399
2400 Change the comma to a semicolon to fix that.
2401
2402Daniel Stenberg (10 May 2017)
2403- multi: use a fixed array of timers instead of malloc
2404
2405 ... since the total amount is low this is faster, easier and reduces
2406 memory overhead.
2407
2408 Also, Curl_expire_done() can now mark an expire timeout as done so that
2409 it never times out.
2410
2411 Closes #1472
2412
2413- multi: assign IDs to all timers and make each timer singleton
2414
2415 A) reduces the timeout lists drastically
2416
2417 B) prevents a lot of superfluous loops for timers that expires "in vain"
2418 when it has actually already been extended to fire later on
2419
2420- [Richard Hsu brought this change]
2421
2422 tests: remove superfluous test 1399
2423
2424 @MarcelRaad noted that `test1399` causes infinite loop on MinGW.
2425 Looking into this, seems like it is related to how Windows handles
2426 CRLF. See https://github.com/curl/curl/commit/9e093f by @mback2k.
2427 Removing `test1399` as it's identical to `test1326` then with such a
2428 fix.
2429
2430 Test 1399 was broughy by commit 862b02f8947039e
2431
2432 Closes #1478
2433
2434Dan Fandrich (9 May 2017)
2435- tests: make test file names more unique
2436
2437 Include the test number in the names of files written out by tests to
2438 reduce the chance of accidental duplication and to make it more clear
2439 which test is associated with which file.
2440
2441- tests: removed redundant --trace-ascii arguments
2442
2443 This is already added by the test suite; it's not clear why all these
2444 tests had it, unless it's cargo-culting.
2445
2446Marcel Raad (9 May 2017)
2447- tool: fix remaining -Wcast-qual warnings
2448
2449 Avoid casting away low-level const.
2450
2451Daniel Stenberg (9 May 2017)
2452- formboundary: convert assert into run-time check
2453
2454 ... to really make sure the boundary fits in the target buffer.
2455
2456 Fixes unused parameter 'buflen' warning.
2457
2458 Reported-by: Michael Kaufmann
2459 Bug: https://github.com/curl/curl/pull/1468#issuecomment-300078754
2460
2461Dan Fandrich (9 May 2017)
2462- tests: list the primary server first in the server section
2463
2464Daniel Stenberg (8 May 2017)
2465- curl: generate the --help output
2466
2467 ... using the docs/cmdline-opts/gen.pl script, so that we get all the
2468 command line option documentation from the same source.
2469
2470 The generation of the list has to be done manually and pasted into the
2471 source code.
2472
2473 Closes #1465
2474
2475- tests: updated for modified fake random
2476
2477- [Jay Satiro brought this change]
2478
2479 rand: treat fake entropy the same regardless of endianness
2480
2481 When the random seed is purposely made predictable for testing purposes
2482 by using the CURL_ENTROPY environment variable, process that data in an
2483 endian agnostic way so the the initial random seed is the same
2484 regardless of endianness.
2485
2486 - Change Curl_rand to write to a char array instead of int array.
2487
2488 - Add Curl_rand_hex to write random hex characters to a buffer.
2489
2490 Fixes #1315
2491 Closes #1468
2492
2493 Co-authored-by: Daniel Stenberg
2494 Reported-by: Michael Kaufmann
2495
2496Dan Fandrich (8 May 2017)
2497- tests: give each stunnel.conf file a unique name
2498
2499 Otherwise, subsequent uses of stunnel overwrite the configuration file
2500 of previous invocations so they can no longer be inspected.
2501
2502Marcel Raad (8 May 2017)
2503- tool_msgs: remove wrong cast
2504
2505 Commit 481e0de00a9003b9c5220b120e3fc302d9b0932d changed the variable
2506 type from int to size_t, so don't cast the result of strlen to int
2507 anymore.
2508
2509- tftpd: fix signed/unsigned mismatch warnings
2510
2511 alarm's argument is unsigned.
2512
2513- libtest: fix MinGW-w64 warnings
2514
2515 long is 32 bits while size_t is 64 bits on MinGW-w64, so
2516 typecheck-gcc.h complains when using size_t for a long option.
2517 Also, curl_socket_t is unsigned long long rather than int.
2518
2519Daniel Stenberg (8 May 2017)
2520- curl.1: depend the build on the Makefile.inc too
2521
2522 ... to also make it update when we remove files, like we did for
2523 --environment in commit a8e388dd1095.
2524
2525- RELEASE-NOTES: synced with e3f84efc32d6b01a
2526
2527- runtests: fix "use of undefined value" warning in -R handling
2528
2529Marcel Raad (8 May 2017)
2530- test537: use correct variable type
2531
2532 Avoids narrowing conversion warnings because rlim_t is usually
2533 unsigned long.
2534
2535 Closes https://github.com/curl/curl/pull/1469
2536
2537- sendrecv: fix MinGW-w64 warning
2538
2539 The first argument to select is an int, while curl_socket_t is
2540 unsigned long long when using WinSock. It's ignored anyway [1].
2541
2542 [1] https://msdn.microsoft.com/en-us/library/windows/desktop/ms740141.aspx
2543
2544- tool_parsecfg: fix -Wcast-qual warning
2545
2546 Don't convert string literal to char * before assigning it to
2547 const char *.
2548
2549- asyn-thread: fix unused macro warnings
2550
2551 Don't do anything in this file if CURLRES_THREADED is not defined.
2552
2553- tftp: silence bad-function-cast warning
2554
2555 The cases this warns about are handled elsewhere, so just use an
2556 intermediate variable to silence the warning.
2557
2558Daniel Stenberg (7 May 2017)
2559- [canavan at github brought this change]
2560
2561 buildconf: fix hang on IRIX
2562
2563 Apparently, /usr/bin/m4 ignores the --version parameter and waits for
2564 input from stdin.
2565
2566 Fixes #1471
2567
2568- opts: fix bad example formatting \n => \\n
2569
2570 ...to render properly nroff.
2571
2572- opts: examples added to 8 more libcurl option man pages
2573
2574- curl: remove tool_writeenv.[ch]
2575
2576 ... and USE_ENVIRONMENT and --environment. It was once added for RISC OS
2577 support and its platform specific behavior has been annoying ever
2578 since. Added in commit c3c8bbd3b2688da8e, mostly unchanged since
2579 then. Most probably not actually used for years.
2580
2581 Closes #1463
2582
2583Dan Fandrich (6 May 2017)
2584- runtests.pl: simplify the datacheck read section
2585
2586 Also, document that numbered datacheck sections are possible.
2587
2588Marcel Raad (5 May 2017)
2589- tests: fix -Wcast-qual warnings
2590
2591 Avoid casting string literals to non-const char *.
2592
2593Daniel Stenberg (5 May 2017)
2594- docs/opts: 24 more man pages now have examples
2595
2596- docs/opts: 23 more man pages now have examples
2597
2598- tests/server: run checksrc by default in debug-builds
2599
2600- curl_slist_append.3: clarify a NULL input creates a new list
2601
2602Marcel Raad (5 May 2017)
2603- unit1305: fix compiler warning
2604
2605 calloc and ai_addrlen expect different (usually unsigned) types.
2606
2607Daniel Stenberg (5 May 2017)
2608- runtests: use -R for random order
2609
2610 Suggested-by: Dan Fandrich
2611
2612- runtests: add -o to run test cases in scrambled order
2613
2614 ... instead of numerical order.
2615
2616 Closes #1466
2617
2618Dan Fandrich (4 May 2017)
2619- sockfilt.c: shortened too long line
2620
2621Marcel Raad (4 May 2017)
2622- tests/server: make string literals const
2623
2624 assign string literals to const char * instead of char * in order to
2625 avoid a lot of these warnings:
2626 cast from 'const char *' to 'char *' drops const qualifier
2627 [-Wcast-qual]
2628
2629Dan Fandrich (4 May 2017)
2630- schannel: return a more specific error code for SEC_E_UNTRUSTED_ROOT
2631
2632- test557: set a known good numeric locale
2633
2634 Windows does not allow setting the locale with environment variables (as
2635 the test attempted to do), so the test failed when run with a user
2636 locale that has a comma as radixchar. Changed the test to call
2637 setlocale() explicitly to ensure that a known working locale is set even
2638 on Windows.
2639
2640Daniel Stenberg (4 May 2017)
2641- curl: fix warning "comma at end of enumerator list"
2642
2643- test559: verify use of minimum CURLOPT_BUFFERSIZE
2644
2645Marcel Raad (4 May 2017)
2646- curl_setup_once: use SEND_QUAL_ARG2 for swrite
2647
2648 SEND_QUAL_ARG2 had to be set, but was never used. Use it in swrite to
2649 avoid warnings about casting away low-level const.
2650
2651 Closes https://github.com/curl/curl/pull/1464
2652
2653Daniel Stenberg (4 May 2017)
2654- CURLINFO_REDIRECT_URL.3: add example
2655
2656- CURLINFO_EFFECTIVE_URL.3: add example
2657
2658Marcel Raad (3 May 2017)
2659- lib: fix compiler warnings
2660
2661 Fix the following warnings when building the tests by using the correct
2662 types:
2663 cast from 'const char *' to 'void *' drops const qualifier
2664 [-Wcast-qual]
2665 implicit conversion changes signedness [-Wsign-conversion]
2666
2667- typecheck-gcc: add support for CURLINFO_SOCKET
2668
2669 Closes https://github.com/curl/curl/pull/1452
2670
2671- typecheck-gcc: add missing string options
2672
2673 Closes https://github.com/curl/curl/pull/1452
2674
2675Daniel Stenberg (3 May 2017)
2676- abstract-unix-socket.d: shorten the help text to fit within 79 cols
2677
2678- RELEASE-NOTES: synced with 862b02f89
2679
2680- [Richard Hsu brought this change]
2681
2682 Telnet: Write full buffer instead of byte-by-byte
2683
2684 Previous TODO wanting to write in chunks. We should support writing more
2685 at once since some TELNET servers may respond immediately upon first
2686 byte written such as WHOIS servers.
2687
2688 Closes #1389
2689
2690- curl: non-boolean command line args reject --no- prefixes
2691
2692 ... and instead properly respond with an error message to the user
2693 instead of silently ignoring.
2694
2695 Fixes #1453
2696 Closes #1458
2697
2698Marcel Raad (2 May 2017)
2699- testpart: remove _MPRINTF_REPLACE
2700
2701 Support for _MPRINTF_REPLACE in mprintf.h was removed in
2702 55452ebdff47f98bf3cc383f1dfc3623fcaefefd, replaced with curl_printf.h.
2703
2704Dan Fandrich (2 May 2017)
2705- gtls: fixed a lingering BUFSIZE reference
2706
2707Daniel Stenberg (2 May 2017)
2708- ssh: fix compiler warning from e40e9d7f0de
2709
2710- url: let CURLOPT_BUFFERSIZE realloc to smaller sizes too
2711
2712 Closes #1449
2713
2714- BUFSIZE: rename to READBUFFER_*, make separate MASTERBUF_SIZE
2715
2716- openssl: use local stack for temp storage
2717
2718- sendf: remove use of BUFSIZE from debug data conversions
2719
2720 The buffer can have other sizes.
2721
2722- buffer: use data->set.buffer_size instead of BUFSIZE
2723
2724 ... to properly use the dynamically set buffer size!
2725
2726- krb5: use private buffer for temp string, not receive buffer
2727
2728- upload: UPLOAD_BUFSIZE is now for the upload buffer
2729
2730- unit1606: do not print/access buffer
2731
2732 It was a wrong assumption that it could do that!
2733
2734- http-proxy: use a dedicated CONNECT response buffer
2735
2736 To make it suitably independent of the receive buffer and its flexible
2737 size.
2738
2739- transfer: fix minor buffer_size mistake
2740
2741- failf: use private buffer, don't clobber receive buffer
2742
2743- pingpong: use the set buffer size
2744
2745- http2: use the correct set buffer size
2746
2747- http: don't clobber the receive buffer for timecond
2748
2749- buffer_size: make sure it always has the correct size
2750
2751 Removes the need for CURL_BUFSIZE
2752
2753- file: use private buffer for C-L output
2754
2755 ... instead of clobbering the download buffer.
2756
2757- CURLOPT_BUFFERSIZE: 1024 bytes is now the minimum size
2758
2759 The buffer is needed to receive FTP, HTTP CONNECT responses etc so
2760 already at this size things risk breaking and smaller is certainly not
2761 wise.
2762
2763- ftp: use private buffer for temp storage, not receive buffer
2764
2765- http: use private user:password output buffer
2766
2767 Don't clobber the receive buffer.
2768
2769Marcel Raad (1 May 2017)
2770- anyauthput: remove unused code
2771
2772 The definition of TRUE was introduced in
2773 4a728747e6f8845e500910e397dfc99aaf4a7984 and is not used anymore since
2774 e664cd5826d43930fcc5b5dbaedbec94af33184b.
2775 The usage of intptr_t was removed in
2776 32e38b8f42477cf5ce3c3fef2fcc9db82f7fb7be.
2777
2778Jay Satiro (1 May 2017)
2779- tool: Fix missing prototype warnings for CURL_DOES_CONVERSIONS
2780
2781 - Include tool_convert.h where needed.
2782
2783 Bug: https://github.com/curl/curl/issues/1460
2784 Reported-by: Gisle Vanem
2785
2786- curl_setup: Ensure no more than one IDN lib is enabled
2787
2788 Prior to this change it was possible for libcurl to be built with both
2789 Windows' native IDN lib (normaliz) and libidn2 enabled. It appears that
2790 doesn't offer any benefit --and could cause a bug-- since libcurl's IDN
2791 handling is written to use either one but not both.
2792
2793 Bug: https://github.com/curl/curl/issues/1441#issuecomment-297689856
2794 Reported-by: Gisle Vanem
2795
2796Marcel Raad (1 May 2017)
2797- getpart: use correct variable type
2798
2799 This fixes the following clang warning:
2800 getpart.c:201:17: warning: cast from function call of type 'CURLcode'
2801 to non-matching type 'int' [-Wbad-function-cast]
2802
2803- tests: declare TU-local variables static
2804
2805 This fixes missing-variable-declarations warnings when building with
2806 clang.
2807
2808- tool_cb_prg: fix double-promotion warning
2809
2810 clang complains:
2811 tool_cb_prg.c:86:22: error: implicit conversion increases
2812 floating-point precision: 'float' to 'double'
2813 [-Werror,-Wdouble-promotion]
2814
2815 Fix this by using a double instead of a float constant.
2816
2817Dan Fandrich (1 May 2017)
2818- examples: fixed too long line and too long string warnings
2819
2820Marcel Raad (30 Apr 2017)
2821- examples: declare TU-local variables static
2822
2823 This fixes missing-variable-declarations warnings when building with
2824 clang.
2825
2826- http2: declare TU-local variables static
2827
2828 This fixes the following clang warnings:
2829
2830 http2.c:184:27: error: no previous extern declaration for non-static
2831 variable 'Curl_handler_http2' [-Werror,-Wmissing-variable-declarations]
2832 http2.c:204:27: error: no previous extern declaration for non-static
2833 variable 'Curl_handler_http2_ssl'
2834 [-Werror,-Wmissing-variable-declarations]
2835
2836Dan Fandrich (30 Apr 2017)
2837- unit1604: fixed indentation
2838
2839- unit1604: fixed compilation under Windows, broken in the previous commit
2840
2841- tests: fixed OOM handling of unit tests to abort test
2842
2843 It's dangerous to continue to run the test when a memory alloc fails.
2844
2845Marcel Raad (29 Apr 2017)
2846- curl_rtmp: fix missing-variable-declarations warnings
2847
2848 clang complains:
2849
2850 curl_rtmp.c:61:27: error: no previous extern declaration for non-static variable 'Curl_handler_rtmp' [-Werror,-Wmissing-variable-declarations]
2851 curl_rtmp.c:81:27: error: no previous extern declaration for non-static variable 'Curl_handler_rtmpt' [-Werror,-Wmissing-variable-declarations]
2852 curl_rtmp.c:101:27: error: no previous extern declaration for non-static variable 'Curl_handler_rtmpe' [-Werror,-Wmissing-variable-declarations]
2853 curl_rtmp.c:121:27: error: no previous extern declaration for non-static variable 'Curl_handler_rtmpte' [-Werror,-Wmissing-variable-declarations]
2854 curl_rtmp.c:141:27: error: no previous extern declaration for non-static variable 'Curl_handler_rtmps' [-Werror,-Wmissing-variable-declarations]
2855 curl_rtmp.c:161:27: error: no previous extern declaration for non-static variable 'Curl_handler_rtmpts' [-Werror,-Wmissing-variable-declarations]
2856
2857 Fix this by including the header file.
2858
2859Dan Fandrich (29 Apr 2017)
2860- url: fixed a memory leak on OOM while setting CURLOPT_BUFFERSIZE
2861
2862- tests: added --remote-time tests for remaining protocols that support it
2863
2864- runtests.pl: support multiline <postcheck> commands
2865
2866- tool_operate: use utimes instead of obsolescent utime when available
2867
2868- test1443: test --remote-time
2869
2870- http-proxy: removed unused argument in CURL_DISABLE_PROXY case
2871
2872 Missed in commit 55c3c02e
2873
2874Daniel Stenberg (27 Apr 2017)
2875- cookie_interface.c: changed the other domain to example.com too
2876
2877- cookie_interface.c: fix cookie domain so the example works
2878
2879Dan Fandrich (26 Apr 2017)
2880- Makefile: fix make dist
2881
2882 Commit 80a87e8a broke 'make dist' as it can't handle installing from
2883 absolute target names. Rearranged the dependencies so the absolute name
2884 is used for building but the relative name is use for distributing.
2885
2886Marcel Raad (26 Apr 2017)
2887- lib: remove unused code
2888
2889 This fixes the following clang warnings:
2890 macro is not used [-Wunused-macros]
2891 will never be executed [-Wunreachable-code]
2892
2893 Closes https://github.com/curl/curl/pull/1448
2894
2895Daniel Stenberg (26 Apr 2017)
2896- http-proxy: remove unused argument from Curl_proxyCONNECT()
2897
2898- [Martin Kepplinger brought this change]
2899
2900 url: declare get_protocol_family() static
2901
2902 get_protocol_family() is not defined static even though there is a
2903 static local forward declaration. Let's simply make the definition match
2904 it's declaration.
2905
2906 Bug: https://curl.haxx.se/mail/lib-2017-04/0127.html
2907
2908- examples: ftpuploadfrommem.c
2909
2910 Uploads data to an FTP site, directly from memory.
2911
2912 Closes #1451
2913
2914Kamil Dudka (25 Apr 2017)
2915- nss: load libnssckbi.so if no other trust is specified
2916
2917 The module contains a more comprehensive set of trust information than
2918 supported by nss-pem, because libnssckbi.so also includes information
2919 about distrusted certificates.
2920
2921 Reviewed-by: Kai Engert
2922 Closes #1414
2923
2924- nss: factorize out nss_{un,}load_module to separate fncs
2925
2926 No change of behavior is intended by this commit.
2927
2928- nss: do not leak PKCS #11 slot while loading a key
2929
2930 It could prevent nss-pem from being unloaded later on.
2931
2932 Bug: https://bugzilla.redhat.com/1444860
2933
2934Marcel Raad (25 Apr 2017)
2935- typecheck-gcc: fix _curl_is_slist_info
2936
2937 Info values starting with CURLINFO_SOCKET expect a curl_socket_t, not a
2938 curl_slist argument.
2939
2940 This fixes the following GCC warning when building the examples with
2941 --enable-optimize:
2942
2943 ../../include/curl/typecheck-gcc.h:126:42: warning: call to
2944 ‘_curl_easy_getinfo_err_curl_slist’ declared with attribute warning:
2945 curl_easy_getinfo expects a pointer to 'struct curl_slist *' for this
2946 info [enabled by default]
2947 sendrecv.c:90:11: note: in expansion of macro ‘curl_easy_getinfo’
2948 res = curl_easy_getinfo(curl, CURLINFO_ACTIVESOCKET, &sockfd);
2949
2950 Closes https://github.com/curl/curl/pull/1447
2951
2952Daniel Stenberg (25 Apr 2017)
2953- curl: set a 100K buffer size by default
2954
2955 Test command 'time curl http://localhost/80GB -so /dev/null' on a Debian
2956 Linux.
2957
2958 Before (middle performing run out 9):
2959
2960 real 0m28.078s
2961 user 0m11.240s
2962 sys 0m12.876s
2963
2964 After (middle performing run out 9)
2965
2966 real 0m26.356s (93.9%)
2967 user 0m5.324s (47.4%)
2968 sys 0m8.368s (65.0%)
2969
2970 Also, doing SFTP over a 200 millsecond latency link is now about 6 times
2971 faster.
2972
2973 Closes #1446
2974
2975- transfer: remove 'uploadbuf' pointer and cleanup readwrite_upload()
2976
2977 The data->req.uploadbuf struct member served no good purpose, instead we
2978 use ->state.uploadbuffer directly. It makes it clearer in the code which
2979 buffer that's being used.
2980
2981 Removed the 'SingleRequest *' argument from the readwrite_upload() proto
2982 as it can be derived from the Curl_easy struct. Also made the code in
2983 the readwrite_upload() function use the 'k->' shortcut to all references
2984 to struct fields in 'data->req', which previously was made with a mix of
2985 both.
2986
2987Jay Satiro (25 Apr 2017)
2988- configure: stop prepending to LDFLAGS, CPPFLAGS
2989
2990 - Change prepends to appends because user's LDFLAGS and CPPFLAGS should
2991 always come first so they're searched before ours.
2992
2993 Bug: https://github.com/curl/curl/issues/1420
2994 Reported-by: Helmut K. C. Tessarek
2995
2996Marcel Raad (25 Apr 2017)
2997- if2ip: fix -Wcast-align warning
2998
2999 Follow-up to 119037325de02579f5c58256ca2ed2a0aa592c86, which fixed the
3000 warning in the HAVE_GETIFADDRS block, but not in the
3001 HAVE_IOCTL_SIOCGIFADDR block.
3002
3003Dan Fandrich (24 Apr 2017)
3004- Makefile: avoid use of GNU-specific form of $<
3005
3006 $< is only allowed in implicit rules in some non-GNU makes (e.g. BSD,
3007 AIX) so avoid use elsewhere by referencing the dependent curl.1 file
3008 directly instead. This is somewhat tricky because the file is supplied
3009 in the packaged tar ball (but not in git) but must still be able to be
3010 rebuilt when its dependencies change. The right thing must happen in
3011 both tar ball and git source trees, as well as in both in-tree and
3012 out-of-tree builds.
3013
3014Kamil Dudka (24 Apr 2017)
3015- nss: adapt to the new Curl_llist API
3016
3017 This commit fixes compilation failure caused by
3018 cbae73e1dd95946597ea74ccb580c30f78e3fa73.
3019
3020Marcel Raad (24 Apr 2017)
3021- curl-compilers.m4: accept -Og and -Ofast GCC flags
3022
3023 -Og, introduced in GCC 4.8, optimizes for debugging experience.
3024 -Ofast, introduced in GCC 4.7, builds on -O3 and enables further
3025 optimizations breaking strict standards compliance.
3026 When specified in CFLAGS, these were always overridden by -O0 or -O2.
3027 Fix this by adding them to flags_opt_all.
3028
3029 Ref: https://gcc.gnu.org/onlinedocs/gcc-4.8.0/gcc/Optimize-Options.html
3030 Ref: https://github.com/curl/curl/pull/1404#issuecomment-296401570
3031 Closes https://github.com/curl/curl/pull/1440
3032
3033Daniel Stenberg (24 Apr 2017)
3034- RELEASE-NOTES: synced with c68fed875
3035
3036- configure: fix the -ldl check for openssl, add -lpthread check
3037
3038 The check for if -ldl is needed to build with (a statically built)
3039 openssl was broken. This repairs the check, and adds a check for
3040 -lpthread as well since OpenSSL 1.1.0+ does in fact require -lpthread so
3041 only adding -ldl for a static openssl build is no longer enough.
3042
3043 Reported-by: Jay Satiro
3044 Ref: #1426
3045 Closes #1427
3046
3047- llist: fix a comment after cbae73e1dd9
3048
3049 Pointed-it-by: Kevin Ji
3050 URL: https://github.com/curl/curl/commit/cbae73e1dd95946597ea74ccb580c30f78e3fa73#commitcomment-21872622
3051
3052Jay Satiro (22 Apr 2017)
3053- schannel: Don't treat encrypted partial record as pending data
3054
3055 - Track when the cached encrypted data contains only a partial record
3056 that can't be decrypted without more data (SEC_E_INCOMPLETE_MESSAGE).
3057
3058 - Change Curl_schannel_data_pending to return false in such a case.
3059
3060 Other SSL libraries have pending data functions that behave similarly.
3061
3062 Ref: https://github.com/curl/curl/pull/1387
3063
3064 Closes https://github.com/curl/curl/pull/1392
3065
3066Daniel Stenberg (22 Apr 2017)
3067- [Alan Jenkins brought this change]
3068
3069 multi: clarify condition in curl_multi_wait
3070
3071 `if(nfds || extra_nfds) {` is followed by `malloc(nfds * ...)`.
3072
3073 If `extra_fs` could be non-zero when `nfds` was zero, then we have
3074 `malloc(0)` which is allowed to return `NULL`. But, malloc returning
3075 NULL can be confusing. In this code, the next line would treat the NULL
3076 as an allocation failure.
3077
3078 It turns out, if `nfds` is zero then `extra_nfds` must also be zero.
3079 The final value of `nfds` includes `extra_nfds`. So the test for
3080 `extra_nfds` is redundant. It can only confuse the reader.
3081
3082 Closes #1439
3083
3084Marcel Raad (22 Apr 2017)
3085- lib: fix maybe-uninitialized warnings
3086
3087 With -Og, GCC complains:
3088
3089 easy.c:628:7: error: ‘mcode’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
3090
3091 ../lib/strcase.h:35:29: error: ‘tok_buf’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
3092 vauth/digest.c:208:9: note: ‘tok_buf’ was declared here
3093
3094 ../lib/strcase.h:35:29: error: ‘tok_buf’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
3095 vauth/digest.c:566:15: note: ‘tok_buf’ was declared here
3096
3097 Fix this by initializing the variables.
3098
3099Dan Fandrich (22 Apr 2017)
3100- gnutls: removed some code when --disable-verbose is configured
3101
3102 This reduces the binary size and fixes a compile warning.
3103
3104Daniel Stenberg (22 Apr 2017)
3105- llist: no longer uses malloc
3106
3107 The 'list element' struct now has to be within the data that is being
3108 added to the list. Removes 16.6% (tiny) mallocs from a simple HTTP
3109 transfer. (96 => 80)
3110
3111 Also removed return codes since the llist functions can't fail now.
3112
3113 Test 1300 updated accordingly.
3114
3115 Closes #1435
3116
3117Marcel Raad (21 Apr 2017)
3118- typecheck-gcc: handle function pointers properly
3119
3120 All the callbacks passed to curl_easy_setopt are defined as function
3121 pointers. The possibility to pass both functions and function pointers
3122 was handled for the callbacks that typecheck-gcc.h defined as
3123 compatible, but not for the public callback types themselves.
3124
3125 This makes all compatible callback types defined in typecheck-gcc.h
3126 function pointers too and checks all functions uniformly with
3127 _curl_callback_compatible, which handles both functions and function
3128 pointers.
3129
3130 A symptom of the problem was a warning in tool_operate.c with
3131 --disable-libcurl-option and without --enable-debug as that file
3132 passes the callback functions to curl_easy_setopt directly.
3133
3134 Fixes https://github.com/curl/curl/issues/1403
3135 Closes https://github.com/curl/curl/pull/1404
3136
3137Dan Fandrich (21 Apr 2017)
3138- mbedtls: enable NTLM (& SMB) even if MD4 support is unavailable
3139
3140 In that case, use libcurl's internal MD4 routine. This fixes tests 1013
3141 and 1014 which were failing due to configure assuming NTLM and SMB were
3142 always available whenever mbed TLS was in use (which is now true).
3143
3144Daniel Stenberg (21 Apr 2017)
3145- tests: remove the html and PDF versions from the tarball
3146
3147- openssl: fix memory leak in servercert
3148
3149 ... when failing to get the server certificate.
3150
3151- Revert "src/Makefile.am: avoid explicit $<"
3152
3153 This reverts commit 5b4cbcf11d5100ff793a8e9edbaa6fe1fc7495f5.
3154
3155 Since it broke out-of-tree builds from tarballs. See discussion in #1432
3156
3157- bump: start working on next release
3158
3159- src/Makefile.am: avoid explicit $<
3160
3161 ... since apparently "BSD make" doesn't support it.
3162
3163 Reported-by: Thomas Klausner
3164 Fixes #1432
3165
3166Version 7.54.0 (19 Apr 2017)
3167
3168Daniel Stenberg (19 Apr 2017)
3169- THANKS: add contributors from 7.54.0 release notes
3170
3171- RELEASE-NOTES: curl 7.54.0
3172
3173Marcel Raad (18 Apr 2017)
3174- nss: fix MinGW compiler warnings
3175
3176 This fixes 3 warnings issued by MinGW:
3177 1. PR_ImportTCPSocket actually has a paramter of type PROsfd instead of
3178 PRInt32, which is 64 bits on Windows. Fixed this by including the
3179 corresponding header file instead of redeclaring the function, which is
3180 supported even though it is in the private include folder. [1]
3181 2. In 64-bit mode, size_t is 64 bits while CK_ULONG is 32 bits, so an explicit
3182 narrowing cast is needed.
3183 3. Curl_timeleft returns time_t instead of long since commit
3184 21aa32d30dbf319f2d336e0cb68d3a3235869fbb.
3185
3186 [1] https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR/Reference/PR_ImportTCPSocket
3187
3188 Closes https://github.com/curl/curl/pull/1393
3189
3190Daniel Stenberg (18 Apr 2017)
3191- [Jay Satiro brought this change]
3192
3193 TLS: Fix switching off SSL session id when client cert is used
3194
3195 Move the sessionid flag to ssl_primary_config so that ssl and proxy_ssl
3196 will each have their own sessionid flag.
3197
3198 Regression since HTTPS-Proxy support was added in cb4e2be. Prior to that
3199 this issue had been fixed in 247d890, CVE-2016-5419.
3200
3201 Bug: https://github.com/curl/curl/issues/1341
3202 Reported-by: lijian996@users.noreply.github.com
3203
3204 The new incarnation of this bug is called CVE-2017-7468 and is documented
3205 here: https://curl.haxx.se/docs/adv_20170419.html
3206
3207- [David Benjamin brought this change]
3208
3209 openssl: don't try to print nonexistant peer private keys
3210
3211 X.509 certificates carry public keys, not private keys. Fields
3212 corresponding to the private half of the key will always be NULL.
3213
3214 Closes #1425
3215
3216- [David Benjamin brought this change]
3217
3218 openssl: fix thread-safety bugs in error-handling
3219
3220 ERR_error_string with NULL parameter is not thread-safe. The library
3221 writes the string into some static buffer. Two threads doing this at
3222 once may clobber each other and run into problems. Switch to
3223 ERR_error_string_n which avoids this problem and is explicitly
3224 bounds-checked.
3225
3226 Also clean up some remnants of OpenSSL 0.9.5 around here. A number of
3227 comments (fixed buffer size, explaining that ERR_error_string_n was
3228 added in a particular version) date to when ossl_strerror tried to
3229 support pre-ERR_error_string_n OpenSSLs.
3230
3231 Closes #1424
3232
3233- [David Benjamin brought this change]
3234
3235 openssl: make SSL_ERROR_to_str more future-proof
3236
3237 Rather than making assumptions about the values, use a switch-case.
3238
3239 Closes #1424
3240
3241- [Daniel Gustafsson brought this change]
3242
3243 code: fix typos and style in comments
3244
3245 A few random typos, and minor whitespace cleanups, found in comments
3246 while reading code.
3247
3248 Closes #1423
3249
3250Marcel Raad (17 Apr 2017)
3251- extern-scan.pl: strip trailing CR
3252
3253 This makes test 1135 pass with CRLF checkouts.
3254
3255 Ref: https://github.com/curl/curl/pull/1344#issuecomment-289243166
3256 Closes https://github.com/curl/curl/pull/1422
3257
3258- configure.ac: ignore CR after version numbers
3259
3260 Ignore everything after the version numbers in LIBCURL_VERSION and
3261 LIBCURL_VERSION_NUM to ged rid of the extra CR character.
3262 This makes tests 1022 and 1023 pass on Linux with a CRLF checkout.
3263
3264 Ref: https://github.com/curl/curl/pull/1344#issuecomment-289243166
3265 Closes https://github.com/curl/curl/pull/1422
3266
3267- .gitattributes: force shell scripts to LF
3268
3269 Bash on Linux errors out on CR characters.
3270 This makes tests 1221 and 1222 pass on Linux with a CRLF checkout.
3271
3272 Ref: https://github.com/curl/curl/pull/1344#issuecomment-289243166
3273 Closes https://github.com/curl/curl/pull/1422
3274
3275- unit1303: fix compiler warning
3276
3277 MinGW-w64 complains:
3278 warning: conversion to 'long int' from 'time_t {aka long long int}' may
3279 alter its value [-Wconversion]
3280 Fix this by using the correct type.
3281
3282Daniel Stenberg (16 Apr 2017)
3283- RELEASE-NOTES: synced with 1451271e0
3284
3285- [Larry Stefani brought this change]
3286
3287 http2: fix handle leak in error path
3288
3289 Add missing newhandle free call in push_promise().
3290
3291 Closes #1416
3292
3293- [Larry Stefani brought this change]
3294
3295 mbedtls: fix memory leak in error path
3296
3297 Add missing our_ssl_sessionid free call in mbed_connect_step3().
3298
3299 Closes #1417
3300
3301Marcel Raad (15 Apr 2017)
3302- curl-compilers.m4: turn implicit function declarations into errors
3303
3304 This adds -Werror-implicit-function-declaration for GCC 2.95+ so that
3305 these errors are visible at the point where they occur instead of only
3306 at link time.
3307 Implicit function declarations are illegal in C99 and C++ anyway, and
3308 the same warning has been turned into an error for ICC in commit
3309 3072c5b8a127057aa922b7c51051bbb4a630b091.
3310
3311 Ref: https://gcc.gnu.org/onlinedocs/gcc-2.95.2/gcc_2.html#SEC8
3312 Ref: https://curl.haxx.se/mail/lib-2017-04/0001.html
3313 Closes https://github.com/curl/curl/pull/1419
3314
3315- test1541: also test for CURL_PULL_WS2TCPIP_H
3316
3317 Ref: https://github.com/curl/curl/issues/1408
3318 Closes https://github.com/curl/curl/pull/1412
3319
3320- tests/server/util: prefer <poll.h> over <sys/poll.h>
3321
3322 Follow-up to aa573c3c55cda72ec5ef677d87f6f46a53385f0c
3323
3324 Ref: https://github.com/curl/curl/pull/1406
3325
3326Daniel Stenberg (11 Apr 2017)
3327- Curl_expire_latest: ignore already expired timers
3328
3329 If the existing timer is still in there but has expired, the new timer
3330 should be added.
3331
3332 Reported-by: Rainer Canavan
3333 Bug: https://curl.haxx.se/mail/lib-2017-04/0030.html
3334 Closes #1407
3335
3336- system.h: fix mingw section
3337
3338 Reported-by: Marcel Raad
3339 Fixes #1408
3340 Closes #1409
3341
3342Marcel Raad (11 Apr 2017)
3343- polarssl: unbreak build with versions < 1.3.8
3344
3345 ssl_session_init was only introduced in version 1.3.8, the penultimate
3346 version. The function only contains a memset, so replace it with that.
3347
3348 Suggested-by: Jay Satiro
3349 Fixes https://github.com/curl/curl/issues/1401
3350
3351- poll: prefer <poll.h> over <sys/poll.h>
3352
3353 The POSIX standard location is <poll.h>. Using <sys/poll.h> results in
3354 warning spam when using the musl standard library.
3355
3356 Closes https://github.com/curl/curl/pull/1406
3357
3358Daniel Stenberg (10 Apr 2017)
3359- [Alexis La Goutte brought this change]
3360
3361 openssl: fix this statement may fall through [-Wimplicit-fallthrough=]
3362
3363 Closes #1402
3364
3365Kamil Dudka (10 Apr 2017)
3366- nss: load CA certificates even with --insecure
3367
3368 ... because they may include an intermediate certificate for a client
3369 certificate and the intermediate certificate needs to be presented to
3370 the server, no matter if we verify the peer or not.
3371
3372 Reported-by: thraidh
3373 Closes #851
3374
3375Daniel Stenberg (10 Apr 2017)
3376- RELEASE-NOTES: synced with f9d1e9a27f7e1
3377
3378Dan Fandrich (10 Apr 2017)
3379- libcurl-thread.3: fixed a bad macro that caused test 1140 to fail
3380
3381Daniel Stenberg (9 Apr 2017)
3382- libcurl-thread.3: also mention threaded-resolver
3383
3384 Reported-by: Alex Bligh
3385 Bug: https://curl.haxx.se/mail/lib-2017-04/0044.html
3386
3387- .github/stale.yml: enable the stale bot
3388
3389 Issues and PRs with no activity for 180 days will get marked as stale,
3390 and if no further activity happens within 14 more days, the issue gets
3391 closed.
3392
3393 This follows our established policy of not letting stalled bugs "get in
3394 the way": https://curl.haxx.se/docs/bugs.html#Closing_off_stalled_bugs
3395
3396 Closes #1398
3397
3398Jay Satiro (8 Apr 2017)
3399- CURLINFO_SCHEME.3: fix variable type
3400
3401 - Change documented param type to char ** from incorrect long *.
3402
3403Marcel Raad (8 Apr 2017)
3404- INSTALL.md: fix secure transport configure arguments
3405
3406 --without-ssl is needed instead of --with-winssl.
3407
3408- vtls: fix unreferenced variable warnings
3409
3410 ... by moving the variables into the correct #ifdef block.
3411
3412Daniel Stenberg (7 Apr 2017)
3413- BUGS: "Bugs in old versions"
3414
3415- system.h: add section for tcc
3416
3417 Closes #1397
3418
3419Marcel Raad (7 Apr 2017)
3420- schannel: fix compiler warnings
3421
3422 When UNICODE is not defined, the Curl_convert_UTF8_to_tchar macro maps
3423 directly to its argument. As it is declared as a pointer to const and
3424 InitializeSecurityContext expects a pointer to non-const, both MSVC and MinGW
3425 issue a warning about implicitly casting away the const. Fix this by declaring
3426 the variables as pointers to non-const.
3427
3428 Closes https://github.com/curl/curl/pull/1394
3429
3430- [Isaac Boukris brought this change]
3431
3432 sspi: print out InitializeSecurityContext() error message
3433
3434 Reported-by: Carsten (talksinmath)
3435
3436 Fixes #1384
3437 Closes #1395
3438
3439- gtls: fix compiler warning
3440
3441 Curl_timeleft returns time_t instead of long since commit
3442 21aa32d30dbf319f2d336e0cb68d3a3235869fbb.
3443
3444Daniel Stenberg (6 Apr 2017)
3445- test1606: verify speedcheck
3446
3447- low_speed_limit: improved function for longer time periods
3448
3449 Previously, periods of fast speed between periods of slow speed would
3450 not count and could still erroneously trigger a timeout.
3451
3452 Reported-by: Paul Harris
3453 Fixes #1345
3454 Closes #1390
3455
3456- system.h: set sizeof long to 4 on "default 32 bit" systems
3457
3458 Triggered a test failure on test 1541 for the build known as
3459 "Linux 4.4 i686 tcc 0.9.26 glibc 2.20"
3460
3461Marcel Raad (6 Apr 2017)
3462- nss: fix build after e60fe20fdf94e829ba5fce33f7a9d6c281149f7d
3463
3464 Curl_llist_alloc is now Curl_llist_init.
3465
3466 Closes https://github.com/curl/curl/pull/1391
3467
3468Daniel Stenberg (6 Apr 2017)
3469- INSTALL.cmake: more problems
3470
3471 and mention specific issues where they are discussed
3472
3473- test1541: ignore the curl_off_t variable type name comparison
3474
3475 ... the sizes and the formatting strings are what's really important and
3476 avoids problems with int64_t vs "long long".
3477
3478 Bug: https://curl.haxx.se/mail/lib-2017-04/0019.html
3479
3480- Revert "configure: prefer 'long long' to int64_t for curl_off_t"
3481
3482 This reverts commit 81284374bf3c670d2050f8562edeb69f060b07cc.
3483
3484 Due to mingw32 brekage.
3485
3486Marcel Raad (5 Apr 2017)
3487- tool_operate: fix MinGW compiler warning
3488
3489 MinGW complains:
3490 tool_operate.c:197:15: error: comparison is always true due to limited range
3491 of data type [-Werror=type-limits]
3492
3493 Fix this by only doing the comparison if 'long' is large enough to hold the
3494 constant it is compared with.
3495
3496 Closes https://github.com/curl/curl/pull/1378
3497
3498- tool_operate: move filetime code to its own function
3499
3500 Ref: https://github.com/curl/curl/pull/1378
3501
3502Daniel Stenberg (5 Apr 2017)
3503- configure: prefer 'long long' to int64_t for curl_off_t
3504
3505 Since it is a native type and it makes it less complicated to find a
3506 matching one in system.h
3507
3508 Bug: https://curl.haxx.se/mail/lib-2017-04/0010.html
3509 Reported-by: Dan Fandrich
3510
3511 Closes #1388
3512
3513- [Dániel Bakai brought this change]
3514
3515 tests: added test for Curl_splaygetbest to unit1309
3516
3517 This checks the new behavior of Curl_splaygetbest, so that the smallest
3518 node not larger than the key is removed, and FIFO behavior is kept even
3519 when there are multiple nodes with the same key.
3520
3521 Closes #1358
3522
3523- [Dániel Bakai brought this change]
3524
3525 multi: fix queueing of pending easy handles
3526
3527 Multi handles repeatedly invert the queue of pending easy handles when
3528 used with CURLMOPT_MAX_TOTAL_CONNECTIONS. This is caused by a multistep
3529 process involving Curl_splaygetbest and violates the FIFO property of
3530 the multi handle.
3531 This patch fixes this issue by redefining the "best" node in the
3532 context of timeouts as the "smallest not larger than now", and
3533 implementing the necessary data structure modifications to do this
3534 effectively, namely:
3535 - splay nodes with the same key are now stored in a doubly-linked
3536 circular list instead of a non-circular one to enable O(1)
3537 insertion to the tail of the list
3538 - Curl_splayinsert inserts nodes with the same key to the tail of
3539 the same list
3540 - in case of multiple nodes with the same key, the one on the head of
3541 the list gets selected
3542
3543Marcel Raad (4 Apr 2017)
3544- tool: fix Windows Unicode build
3545
3546 ... by explicitly calling the ANSI versions of Windows API functions where
3547 required.
3548
3549Daniel Stenberg (4 Apr 2017)
3550- [Martin Kepplinger brought this change]
3551
3552 curl_sasl: declare mechtable static
3553
3554 struct mechtable is only used locally here. It can be declared static.
3555
3556Jay Satiro (4 Apr 2017)
3557- [Antti Hätälä brought this change]
3558
3559 url: don't free postponed data on connection reuse
3560
3561 - Don't free postponed data on a connection that will be reused since
3562 doing so can cause data loss when pipelining.
3563
3564 Only Windows builds are affected by this.
3565
3566 Closes https://github.com/curl/curl/issues/1380
3567
3568Daniel Stenberg (4 Apr 2017)
3569- RELEASE-NOTES: synced with 4f2e348f9b42c69c480
3570
3571- hash: move key into hash struct to reduce mallocs
3572
3573 This removes one tiny malloc for each hash struct allocated. In a simple
3574 case like "curl localhost", this save three mallocs.
3575
3576 Closes #1376
3577
3578- llist: replace Curl_llist_alloc with Curl_llist_init
3579
3580 No longer allocate the curl_llist head struct for lists separately.
3581
3582 Removes 17 (15%) tiny allocations in a normal "curl localhost" invoke.
3583
3584 closes #1381
3585
3586Jay Satiro (4 Apr 2017)
3587- easy: silence compiler warning
3588
3589 Safe to silence warning adding time delta of poll, which can trigger on
3590 Windows since sizeof time_t > sizeof long.
3591
3592 warning C4244: '+=' : conversion from 'time_t' to 'long', possible loss
3593 of data
3594
3595Daniel Stenberg (4 Apr 2017)
3596- [Richlv brought this change]
3597
3598 docs: minor typo in write-out.d
3599
3600 Closes #1382
3601
3602- include: curl/system.h is a run-time version of curlbuild.h
3603
3604 system.h is aimed to replace curlbuild.h at a later point in time when
3605 we feel confident system.h works sufficiently well.
3606
3607 curl/system.h is currently used in parallel with curl/curlbuild.h
3608
3609 curl/system.h determines a data sizes, data types and include file
3610 status based on available preprocessor defines instead of getting
3611 generated at build-time. This, in order to avoid relying on a build-time
3612 generated file that makes it complicated to do 32 and 64 bit bields from
3613 the same installed set of headers.
3614
3615 Test 1541 verifies that system.h comes to the same conclusion that
3616 curlbuild.h offers.
3617
3618 Closes #1373
3619
3620- multi: make curl_multi_wait avoid malloc in the typical case
3621
3622 When only a few additional file descriptors are used, avoid the malloc.
3623
3624 Closes #1377
3625
3626Marcel Raad (3 Apr 2017)
3627- tests/server/util: remove in6addr_any for recent MinGW
3628
3629 In ancient MinGW versions, in6addr_any was declared as extern, but not
3630 defined. Because of that, 22a0c57746ae12506b1ba0f0fafffd26c1907d6a added
3631 definitions for in6addr_any when compiling with MinGW. The bug was fixed in
3632 w32api version 3.6 from 2006, so this workaround is not needed anymore for
3633 recent versions.
3634
3635 This fixes the following MinGW-w64 warnings because the MinGW-w64 version of
3636 IN6ADDR_ANY_INIT has the two additional braces inside the macro:
3637 util.c:59:14: warning: braces around scalar initializer
3638 util.c:59:40: warning: excess elements in scalar initializer
3639
3640 Ref: https://sourceforge.net/p/mingw/mingw-org-wsl/ci/e4803e0da25c57ae1ad0fa75ae2b7182ff7fa339/tree/w32api/ChangeLog
3641 Closes https://github.com/curl/curl/pull/1379
3642
3643Daniel Stenberg (3 Apr 2017)
3644- docs: added examples for CURLINFO_FILETIME.3 and CURLOPT_FILETIME.3
3645
3646Jay Satiro (31 Mar 2017)
3647- fail-early.d: fix typos
3648
3649- docs: Explain --fail-early does not imply --fail
3650
3651 Closes https://github.com/curl/curl/pull/1375
3652
3653Daniel Stenberg (1 Apr 2017)
3654- telnet: (win32) fix read callback return variable
3655
3656 telnet.c(1427,21): warning: comparison of constant 268435456 with
3657 expression of type 'CURLcode' is always false
3658
3659 telnet.c(1433,21): warning: comparison of constant 268435457 with
3660 expression of type 'CURLcode' is always false
3661
3662 Reviewed-by: Jay Satiro
3663 Reported-by: Gisle Vanem
3664 Bug: https://github.com/curl/curl/issues/1225#issuecomment-290340890
3665
3666 Closes #1374
3667
3668- CTestConfig.cmake: removed, unused
3669
3670- libcurl.def: removed, unused
3671
3672- docs/index.html: removed, was not shipped anyway
3673
3674- dist: add missing files to the tarball
3675
3676Peter Wu (30 Mar 2017)
3677- cmake: fix build with cmake 2.8.12.2
3678
3679 For some reason, CMake 2.8.12.2 did not expand the list argument in a
3680 single DEPENDS argument. Remove the quotes, so it gets expanded into
3681 multiple arguments for add_custom_command and add_custom_target.
3682
3683 Fixes https://github.com/curl/curl/issues/1370
3684 Closes #1372
3685
3686Marcel Raad (30 Mar 2017)
3687- ssh: fix narrowing conversion warning
3688
3689 'left' is used as time_t but declared as long.
3690 MinGW complains:
3691 error: conversion to 'long int' from 'time_t {aka long long int}' may alter
3692 its value [-Werror=conversion]
3693 Changed the declaration to time_t.
3694
3695- http2: silence unused parameter warnings
3696
3697 In release mode, MinGW complains:
3698 error: unused parameter 'lib_error_code' [-Werror=unused-parameter]
3699
3700Daniel Stenberg (30 Mar 2017)
3701- [Hanno Böck brought this change]
3702
3703 curl: fix callback functions to match prototype
3704
3705 The function tool_debug_cb doesn't match curl_debug_callback in curl.h
3706 (unsigned vs. signed char* for 3rd param).
3707
3708 Bug: https://curl.haxx.se/mail/lib-2017-03/0120.html
3709
3710- [Alexis La Goutte brought this change]
3711
3712 gcc7: fix ‘*’ in boolean context, suggest ‘&&’ instead [-Wint-in-bool-context]
3713
3714 Closes #1371
3715
3716Marcel Raad (30 Mar 2017)
3717- schannel: fix unused variable warning
3718
3719 If CURL_DISABLE_VERBOSE_STRINGS is defined, hostname is not used in
3720 schannel_connect_step3.
3721
3722- connect: fix unreferenced parameter warning
3723
3724 When CURL_DISABLE_VERBOSE_STRINGS is defined, the reason parameter in
3725 Curl_conncontrol is not used as the infof macro expands to nothing.
3726
3727- select: use correct SIZEOF_ constant
3728
3729 At least under Windows, there is no SIZEOF_LONG, so it evaluates to 0 even
3730 though sizeof(int) == sizeof(long). This should probably have been
3731 CURL_SIZEOF_LONG, but the type of timeout_ms changed from long to time_t
3732 anyway.
3733 This triggered MSVC warning C4668 about implicitly replacing undefined
3734 macros with '0'.
3735
3736 Closes https://github.com/curl/curl/pull/1362
3737
3738Daniel Stenberg (30 Mar 2017)
3739- cmake: add cmake file in docs/libcurl/opts/ to dist
3740
3741- cmake: add more missing files to the dist
3742
3743- docs/Makefile.am: include CMakeLists.txt in the dist tarball
3744
3745Marcel Raad (29 Mar 2017)
3746- NTLM: check for features with #ifdef instead of #if
3747
3748 Feature defines are normally checked with #ifdef instead of #if in the rest of
3749 the codebase. Additionally, some compilers warn when a macro is implicitly
3750 evaluated to 0 because it is not defined, which was the case here.
3751
3752 Ref: https://github.com/curl/curl/pull/1362#discussion_r108605101
3753 Closes https://github.com/curl/curl/pull/1367
3754
3755Daniel Stenberg (29 Mar 2017)
3756- [Hanno Böck brought this change]
3757
3758 curl: fix callback argument inconsistency
3759
3760 As you can see the callback definition uses a char* for the first
3761 argument, while the function uses a void*.
3762
3763 URL: https://curl.haxx.se/mail/lib-2017-03/0116.html
3764
3765- RELEASE-NOTES: synced with 556c51a2df
3766
3767- [madblobfish brought this change]
3768
3769 KNOWN_BUGS: typo
3770
3771 Closes #1364
3772
3773- [Maksim Stsepanenka brought this change]
3774
3775 make: use the variable MAKE for recursive calls
3776
3777 Closes #1366
3778
3779- conncache: make hashkey avoid malloc
3780
3781 ... to make it much faster. Idea developed with primepie on IRC.
3782
3783 Closes #1365
3784
3785Kamil Dudka (28 Mar 2017)
3786- http: do not treat FTPS over CONNECT as HTTPS
3787
3788 If we use FTPS over CONNECT, the TLS handshake for the FTPS control
3789 connection needs to be initiated in the SENDPROTOCONNECT state, not
3790 the WAITPROXYCONNECT state. Otherwise, if the TLS handshake completed
3791 without blocking, the information about the completed TLS handshake
3792 would be saved to a wrong flag. Consequently, the TLS handshake would
3793 be initiated in the SENDPROTOCONNECT state once again on the same
3794 connection, resulting in a failure of the TLS handshake. I was able to
3795 observe the failure with the NSS backend if curl ran through valgrind.
3796
3797 Note that this commit partially reverts curl-7_21_6-52-ge34131d.
3798
3799Daniel Stenberg (28 Mar 2017)
3800- pause: handle mixed types of data when paused
3801
3802 When receiving chunked encoded data with trailers, and the write
3803 callback returns PAUSE, there might be both body and header to store to
3804 resend on unpause. Previously libcurl returned error for that case.
3805
3806 Added test case 1540 to verify.
3807
3808 Reported-by: Stephen Toub
3809 Fixes #1354
3810 Closes #1357
3811
3812Jay Satiro (28 Mar 2017)
3813- [Isaac Boukris brought this change]
3814
3815 http: Fix proxy connection reuse with basic-auth
3816
3817 When using basic-auth, connections and proxy connections
3818 can be re-used with different Authorization headers since
3819 it does not authenticate the connection (like NTLM does).
3820
3821 For instance, the below command should re-use the proxy
3822 connection, but it currently doesn't:
3823 curl -v -U alice:a -x http://localhost:8181 http://localhost/
3824 --next -U bob:b -x http://localhost:8181 http://localhost/
3825
3826 This is a regression since refactoring of ConnectionExists()
3827 as part of: cb4e2be7c6d42ca0780f8e0a747cecf9ba45f151
3828
3829 Fix the above by removing the username and password compare
3830 when re-using proxy connection at proxy_info_matches().
3831
3832 However, this fix brings back another bug would make curl
3833 to re-print the old proxy-authorization header of previous
3834 proxy basic-auth connection because it wasn't cleared.
3835
3836 For instance, in the below command the second request should
3837 fail if the proxy requires authentication, but would succeed
3838 after the above fix (and before aforementioned commit):
3839 curl -v -U alice:a -x http://localhost:8181 http://localhost/
3840 --next -x http://localhost:8181 http://localhost/
3841
3842 Fix this by clearing conn->allocptr.proxyuserpwd after use
3843 unconditionally, same as we do for conn->allocptr.userpwd.
3844
3845 Also fix test 540 to not expect digest auth header to be
3846 resent when connection is reused.
3847
3848 Signed-off-by: Isaac Boukris <iboukris@gmail.com>
3849
3850 Closes https://github.com/curl/curl/pull/1350
3851
3852- openssl: exclude DSA code when OPENSSL_NO_DSA is defined
3853
3854 - Fix compile errors that occur in openssl.c when OpenSSL lib was
3855 built without DSA support.
3856
3857 Bug: https://github.com/curl/curl/issues/1361
3858 Reported-by: neheb@users.noreply.github.com
3859
3860- examples/fopen: checksrc compliance
3861
3862Marcel Raad (28 Mar 2017)
3863- schannel: fix variable shadowing warning
3864
3865 No need to redeclare the variable.
3866
3867- multi: fix MinGW-w64 compiler warnings
3868
3869 error: conversion to 'long int' from 'time_t {aka long long int}' may alter
3870 its value [-Werror=conversion]
3871
3872- .gitattributes: turn off CRLF for *.am
3873
3874 If Makefile.am uses CRLF, buildconf in a Windows checkout fails with:
3875 ".ibtoolize: error: AC_CONFIG_MACRO_DIRS([m4]) conflicts with
3876 ACLOCAL_AMFLAGS=-I m4"
3877
3878Daniel Stenberg (26 Mar 2017)
3879- [klemens brought this change]
3880
3881 spelling fixes
3882
3883 Closes #1356
3884
3885- curl: check for end of input in writeout backslash handling
3886
3887 Reported-by: Brian Carpenter
3888
3889 Added test 1442 to verify
3890
3891Marcel Raad (24 Mar 2017)
3892- tests/README: make "Run" section foolproof
3893
3894 curl must be built before building the tests.
3895
3896 Closes https://github.com/curl/curl/pull/1352
3897
3898Daniel Stenberg (23 Mar 2017)
3899- openssl: fix comparison between signed and unsigned integer expressions
3900
3901Marcel Raad (23 Mar 2017)
3902- [Edward Kimmel brought this change]
3903
3904 asiohiper: make sure socket is open in event_cb
3905
3906 Send curl_socket_t to event_cb and make sure it hasn't been closed yet.
3907
3908 Closes https://github.com/curl/curl/pull/1318
3909
3910Dan Fandrich (23 Mar 2017)
3911- openssl: made the error table static const
3912
3913Jay Satiro (23 Mar 2017)
3914- openssl: fall back on SSL_ERROR_* string when no error detail
3915
3916 - If SSL_get_error is called but no extended error detail is available
3917 then show that SSL_ERROR_* as a string.
3918
3919 Prior to this change there was some inconsistency in that case: the
3920 SSL_ERROR_* code may or may not have been shown, or may have been shown
3921 as unknown even if it was known.
3922
3923 Ref: https://github.com/curl/curl/issues/1300
3924
3925 Closes https://github.com/curl/curl/pull/1348
3926
3927Dan Fandrich (23 Mar 2017)
3928- mkhelp: disable compression if the perl gzip module is unavailable
3929
3930 This is nowadays included with the base perl distribution, but wasn't
3931 prior to about perl 5.14
3932
3933Daniel Stenberg (23 Mar 2017)
3934- [Anders Roxell brought this change]
3935
3936 tests/README: mention nroff for --manual tests
3937
3938 Signed-off-by: Anders Roxell <anders.roxell@gmail.com>
3939
3940 Closes #1342
3941
3942- CURLINFO_PRIMARY_IP.3: add example
3943
3944- travis: run tests-nonflaky instead of tests-full
3945
3946- make: introduce 'test-nonflaky' target
3947
3948 Running this in the root build dir will invoke the test suite to only
3949 run tests not marked as 'flaky'.
3950
3951- test2033: flaky
3952
3953Jay Satiro (21 Mar 2017)
3954- [Ales Mlakar brought this change]
3955
3956 mbedtls: add support for CURLOPT_SSL_CTX_FUNCTION
3957
3958 Ref: https://curl.haxx.se/mail/lib-2017-02/0097.html
3959
3960 Closes https://github.com/curl/curl/pull/1272
3961
3962Peter Wu (21 Mar 2017)
3963- cmake: add support for building HTML and PDF docs
3964
3965 Note that for some reason there is this warning (that also exists with
3966 autotools, added since curl-7_15_1-94-ga718cb05f):
3967
3968 docs/libcurl/curl_multi_socket_all.3:1: can't open `man3/curl_multi_socket.3': No such file or directory
3969
3970 Additionally, adjust the roffit --mandir option to support creating
3971 links when doing out-of-tree builds.
3972
3973 Ref: https://github.com/curl/curl/pull/1288
3974
3975- cmake: build manual pages (including curl.1)
3976
3977 Also make Perl mandatory to allow building the docs.
3978
3979 While CMakeLists.txt could probably read the list of manual pages from
3980 Makefile.am, actually putting those in CMakeLists.txt is cleaner so that
3981 is what is done here.
3982
3983 Fixes #1230
3984 Ref: https://github.com/curl/curl/pull/1288
3985
3986- docs: split file lists into Makefile.inc
3987
3988 For easier sharing with CMake. The contents were reformatted to use
3989 two-space indent and expanded tabs (matching lib/Makefile.common).
3990
3991 Ref: https://github.com/curl/curl/pull/1288
3992
3993Daniel Stenberg (21 Mar 2017)
3994- examples: comment typos in http2 examples
3995
3996- RELEASE-NOTES: typo
3997
3998- RELEASE-NOTES: synced with 6e0f26c8a8c28df
3999
4000- multi: fix streamclose() crash in debug mode
4001
4002 The code would refer to the wrong data pointer. Only debug builds do
4003 this - for verbosity.
4004
4005 Reported-by: zelinchen@users.noreply.github.com
4006 Fixes #1329
4007
4008- CONTRIBUTE: mention referring to github issues in commit msgs
4009
4010Dan Fandrich (20 Mar 2017)
4011- runtests.pl: fixed display of the Gopher IPv6 port number
4012
4013- tests: fixed the documented test server port numbers
4014
4015- test714/5: added HTTP as a required feature
4016
4017 These tests use an HTTP proxy so require that curl be built with HTTP
4018 support.
4019
4020- tests: strip more options from non-HTTP --libcurl tests
4021
4022 The CURLOPT_USERAGENT and CURLOPT_MAXREDIRS options are only set if HTTP
4023 support is available, so ignore them in tests where HTTP is not
4024 guaranteed.
4025
4026Jay Satiro (18 Mar 2017)
4027- [Palo Markovic brought this change]
4028
4029 darwinssl: fix typo in variable name
4030
4031 Broken a week ago in 6448f98.
4032
4033 Closes https://github.com/curl/curl/pull/1337
4034
4035- tool_operate: Fix showing HTTPS-Proxy options on CURLE_SSL_CACERT
4036
4037 - Show the HTTPS-proxy options on CURLE_SSL_CACERT if libcurl was built
4038 with HTTPS-proxy support.
4039
4040 Prior to this change those options were shown only if an HTTPS-proxy was
4041 specified by --proxy, but that did not take into account environment
4042 variables such as http_proxy, https_proxy, etc. Follow-up to e1187c4.
4043
4044 Bug: https://github.com/curl/curl/issues/1331
4045 Reported-by: Nehal J Wani
4046
4047- CURLINFO_LOCAL_PORT.3: fix typo
4048
4049Daniel Stenberg (16 Mar 2017)
4050- CURLINFO_LOCAL_PORT.3: added example
4051
4052- SSLCERTS.md: mention HTTPS proxies and their separate options
4053
4054- BINDINGS: a Delphi binding
4055
4056- KNOWN_BUGS: remove libidn related issue
4057
4058 ... as we no longer use libidn
4059
4060Dan Fandrich (14 Mar 2017)
4061- build: removed redundant DEPENDENCIES from makefiles
4062
4063Daniel Stenberg (13 Mar 2017)
4064- [Sylvestre Ledru brought this change]
4065
4066 Improve code readbility
4067
4068 ... by removing the else branch after a return, break or continue.
4069
4070 Closes #1310
4071
4072Jay Satiro (13 Mar 2017)
4073- [Anatol Belski brought this change]
4074
4075 winbuild: add basic support for OpenSSL 1.1.x
4076
4077 - Auto-detect OpenSSL 1.1 libs
4078
4079 Closes https://github.com/curl/curl/pull/1322
4080
4081Daniel Stenberg (13 Mar 2017)
4082- RELEASE-NOTES: synced with c25e0761d0fc49c4
4083
4084- make: regenerate docs/curl.1 by runinng make in docs
4085
4086 ... previously, docs/ was only a dist subdir, now also a build subdir.
4087
4088 Reported-by: Dan Fandrich
4089 Bug: https://curl.haxx.se/mail/lib-2017-03/0017.html
4090
4091Dan Fandrich (12 Mar 2017)
4092- test1440/1: depend on well-defined file: behaviour
4093
4094 Depend on the known behaviour of URLs for nonexistent files rather than
4095 the undefined behaviour of URLs for directories (which fails on Windows).
4096 The test isn't about file: URLs at all, so the URL used doesn't really
4097 matter.
4098
4099- tests: clear the SSL_CERT_FILE variable on --libcurl tests
4100
4101 Otherwise, the contents will end up in the output and fail the
4102 verification.
4103
4104- test1287: added verbose logs keyword
4105
4106- tool_writeout: fixed a buffer read overrun on --write-out
4107
4108 If a % ended the statement, the string's trailing NUL would be skipped
4109 and memory past the end of the buffer would be accessed and potentially
4110 displayed as part of the --write-out output. Added tests 1440 and 1441
4111 to check for this kind of condition.
4112
4113 Reported-by: Brian Carpenter
4114
4115Jay Satiro (12 Mar 2017)
4116- [Desmond O. Chang brought this change]
4117
4118 url: add option CURLOPT_SUPPRESS_CONNECT_HEADERS
4119
4120 - Add new option CURLOPT_SUPPRESS_CONNECT_HEADERS to allow suppressing
4121 proxy CONNECT response headers from the user callback functions
4122 CURLOPT_HEADERFUNCTION and CURLOPT_WRITEFUNCTION.
4123
4124 - Add new tool option --suppress-connect-headers to expose
4125 CURLOPT_SUPPRESS_CONNECT_HEADERS and allow suppressing proxy CONNECT
4126 response headers from --dump-header and --include.
4127
4128 Assisted-by: Jay Satiro
4129 Assisted-by: CarloCannas@users.noreply.github.com
4130 Closes https://github.com/curl/curl/pull/783
4131
4132- http_proxy: Ignore TE and CL in CONNECT 2xx responses
4133
4134 A client MUST ignore any Content-Length or Transfer-Encoding header
4135 fields received in a successful response to CONNECT.
4136 "Successful" described as: 2xx (Successful). RFC 7231 4.3.6
4137
4138 Prior to this change such a case would cause an error.
4139
4140 In some ways this bug appears to be a regression since c50b878. Prior to
4141 that libcurl may have appeared to function correctly in such cases by
4142 acting on those headers instead of causing an error. But that behavior
4143 was also incorrect.
4144
4145 Bug: https://github.com/curl/curl/issues/1317
4146 Reported-by: mkzero@users.noreply.github.com
4147
4148- [Thomas Glanzmann brought this change]
4149
4150 mbedtls: fix typo in variable name
4151
4152 Broken a few days ago in 6448f98.
4153
4154 Bug: https://curl.haxx.se/mail/lib-2017-03/0015.html
4155
4156Michael Kaufmann (11 Mar 2017)
4157- tests: fix the authretry tests
4158
4159 Do not call curl_easy_reset() between the requests, because the
4160 auth state must be preserved for these tests.
4161
4162 Follow-up to 0afbcfd
4163
4164- proxy: skip SSL initialization for closed connections
4165
4166 This prevents a "Descriptor is not a socket" error for WinSSL.
4167
4168 Reported-by: Antony74@users.noreply.github.com
4169 Reviewed-by: Jay Satiro
4170
4171 Fixes https://github.com/curl/curl/issues/1239
4172
4173- curl_easy_reset: Also reset the authentication state
4174
4175 Follow-up to 5278462
4176 See https://github.com/curl/curl/issues/1095
4177
4178- [Isaac Boukris brought this change]
4179
4180 authneg: clear auth.multi flag at http_done
4181
4182 This flag is meant for the current request based on authentication
4183 state, once the request is done we can clear the flag.
4184
4185 Also change auth.multi to auth.multipass for better readability.
4186
4187 Fixes https://github.com/curl/curl/issues/1095
4188 Closes https://github.com/curl/curl/pull/1326
4189
4190 Signed-off-by: Isaac Boukris <iboukris@gmail.com>
4191 Reported-by: Michael Kaufmann
4192
4193Dan Fandrich (11 Mar 2017)
4194- url: don't compile detect_proxy if HTTP support is disabled
4195
4196- cmdline-opts: fixed a few typos
4197
4198Daniel Stenberg (10 Mar 2017)
4199- README.md: add coverity and travis badges
4200
4201- ISSUE_TEMPLATE: for bugs, ask questions on the mailing list
4202
4203 and try to add the top comment within an HTML comment in the hope
4204 that it might get hidden if the text is kept
4205
4206- openssl: add two /* FALLTHROUGH */ to satisfy coverity
4207
4208 CID 1402159 and 1402158
4209
4210- tests: disabled 1903 now
4211
4212 Test 1903 is doing HTTP pipelining, and that is a timing and ordering
4213 sensitive operation and this fails far too often on the Travis CI
4214 leading to people more or less ignoring test failures there. Not good.
4215
4216 The end of pipelning is probably coming sooner rather than later
4217 anyway...
4218
4219Dan Fandrich (9 Mar 2017)
4220- tls-max.d: added to the makefile
4221
4222- build: fixed making man page in out-of-tree tarball builds
4223
4224 The man page taken from the release package is found in a different
4225 location than if it's built from source. It must be referenced as $< in
4226 the rule to get its correct location in the VPATH.
4227
4228- mkhelp: simplified the gzip code
4229
4230 This eliminates the need for an external gzip program, which wasn't
4231 working with Busybox's gzip, anyway. It now compresses using perl's
4232 IO::Compress::Gzip
4233
4234- polarssl: fixed compile errors introduced in 6448f98c
4235
4236Daniel Stenberg (8 Mar 2017)
4237- bump: next release will be known as 7.54.0
4238
4239 ...due to the newly added CURL_SSLVERSION_MAX_* functionality
4240
4241- openssl: unbreak the build after 6448f98c1857de
4242
4243 Verified with OpenSSL 1.1.0e and OpenSSL master (1.1.1)
4244
4245Kamil Dudka (8 Mar 2017)
4246- [Jozef Kralik brought this change]
4247
4248 vtls: add options to specify range of enabled TLS versions
4249
4250 This commit introduces the CURL_SSLVERSION_MAX_* constants as well as
4251 the --tls-max option of the curl tool.
4252
4253 Closes https://github.com/curl/curl/pull/1166
4254
4255Daniel Stenberg (8 Mar 2017)
4256- RELEASE-NOTES: synced with 6888a670aa01
4257
4258- MANPAGE: clarify the dash situation in meta data
4259
4260- insecure.d: clarify that this is for server connections
4261
4262 Assisted-by: Ray Satiro
4263 Bug: https://curl.haxx.se/mail/lib-2017-03/0002.html
4264
4265Dan Fandrich (8 Mar 2017)
4266- test1260: added http as a required feature
4267
4268Daniel Stenberg (7 Mar 2017)
4269- [Steve Brokenshire brought this change]
4270
4271 maketgz: Run updatemanpages.pl to update man pages
4272
4273 maketgz now runs scripts/updatemanpages.pl to update the man pages .TH
4274 section to use the current date and curl/libcurl version.
4275
4276 (TODO Section 3.1)
4277
4278 Closes #1058
4279
4280- [Steve Brokenshire brought this change]
4281
4282 gitignore: Ignore man page dist files
4283
4284 Ignore man page dist files generated by scripts/updatemanpages.pl
4285
4286- [Steve Brokenshire brought this change]
4287
4288 Makefile.am: Remove distribution man pages when running 'make clean'
4289
4290- [Steve Brokenshire brought this change]
4291
4292 Makefile.am: Added scripts/updatemanpages.pl to EXTRA_DIST
4293
4294- [Steve Brokenshire brought this change]
4295
4296 updatemanpages.pl: Update man pages to use current date and versions
4297
4298 Added script to update man pages to use the current date and
4299 curl/libcurl versions.
4300
4301 updatemanpages.pl has three arrays: list of directories to look in,
4302 list of extensions to process, list of files to exclude from
4303 processing.
4304
4305 Check man page in git repoistory using the date from the existing man
4306 page before updating to avoid updating the man page if no change is
4307 made.
4308
4309 If data is received from the git command then update the man page with
4310 the current date and version otherwise leave alone.
4311
4312 Applied patch from badger to make the date argument optional, change the
4313 git command used, added date argument to processfile subroutine and
4314 print to STDERR if no date is found in a man page.
4315
4316 Added code to process the changed man page into a new man page with
4317 .dist added to the filename to keep the original source files unchanged.
4318 Updated POD documentation to reflect that the date argument optional.
4319
4320 Code style is in line with CODE_STYLE.md.
4321
4322 Directories: docs/ docs/libcurl/ docs/libcurl/opts/ tests/
4323 Extensions: .1 .3
4324 Excluded files: mk-ca-bundle.1 template.3
4325
4326 (TODO Section 3.1)
4327
4328- [Tatsuhiro Tsujikawa brought this change]
4329
4330 http2: Fix assertion error on redirect with CL=0
4331
4332 This fixes assertion error which occurs when redirect is done with 0
4333 length body via HTTP/2, and the easy handle is reused, but new
4334 connection is established due to hostname change:
4335
4336 curl: http2.c:1572: ssize_t http2_recv(struct connectdata *,
4337 int, char *, size_t, CURLcode *):
4338 Assertion `httpc->drain_total >= data->state.drain' failed.
4339
4340 To fix this bug, ensure that http2_handle_stream is called.
4341
4342 Fixes #1286
4343 Closes #1302
4344
4345- ares: Curl_resolver_wait_resolv: clear *entry first in function
4346
4347- ares: better error return on timeouts
4348
4349 Assisted-by: Ray Satiro
4350
4351 Bug: https://curl.haxx.se/mail/lib-2017-03/0009.html
4352
4353Jay Satiro (6 Mar 2017)
4354- KNOWN_BUGS: Add DarwinSSL won't import PKCS#12 without a password
4355
4356 Bug: https://github.com/curl/curl/issues/1308
4357 Reported-by: Justin Clift
4358
4359Dan Fandrich (6 Mar 2017)
4360- test1260: removed errant XML tag
4361
4362Daniel Stenberg (6 Mar 2017)
4363- URL: return error on malformed URLs with junk after port number
4364
4365 ... because it causes confusion with users. Example URLs:
4366
4367 "http://[127.0.0.1]:11211:80" which a lot of languages' URL parsers will
4368 parse and claim uses port number 80, while libcurl would use port number
4369 11211.
4370
4371 "http://user@example.com:80@localhost" which by the WHATWG URL spec will
4372 be treated to contain user name 'user@example.com' but according to
4373 RFC3986 is user name 'user' for the host 'example.com' and then port 80
4374 is followed by "@localhost"
4375
4376 Both these formats are now rejected, and verified so in test 1260.
4377
4378 Reported-by: Orange Tsai
4379
4380- BINDINGS: update the Lua-cURL URL
4381
4382- [Sylvestre Ledru brought this change]
4383
4384 BINDINGS: add Scilab binding
4385
4386 Closes #1312
4387
4388- BINDINGS: add go-curl and perl6-net-curl
4389
4390 Reported-by: Peter Pentchev
4391
4392- BINDINGS: add misssing C++ bindings
4393
4394 Reported-by: Giuseppe Persico
4395
4396- ares: return error at once if timed out before name resolve starts
4397
4398 Pointed-out-by: Ray Satiro
4399 Bug: https://curl.haxx.se/mail/lib-2017-03/0004.html
4400
4401Peter Wu (5 Mar 2017)
4402- [Michael Maltese brought this change]
4403
4404 CMake: Set at most one SSL library
4405
4406 Ref: https://github.com/curl/curl/pull/1228
4407
4408- [Michael Maltese brought this change]
4409
4410 CMake: Add mbedTLS support
4411
4412 Ref: https://github.com/curl/curl/pull/1228
4413
4414- [Michael Maltese brought this change]
4415
4416 CMake: Add DarwinSSL support
4417
4418 Assisted-by: Simon Warta <simon@kullo.net>
4419 Ref: https://github.com/curl/curl/pull/1228
4420
4421- [Michael Maltese brought this change]
4422
4423 CMake: Reorganize SSL support, separate WinSSL and SSPI
4424
4425 This is closer to how configure.ac does it
4426
4427 Ref: https://github.com/curl/curl/pull/1228
4428
4429Jay Satiro (4 Mar 2017)
4430- CURLOPT_SSL_CTX_FUNCTION.3: Fix EXAMPLE formatting errors
4431
4432 .. also document that CURLE_NOT_BUILT_IN is a RETURN VALUE.
4433
4434 Ref: https://github.com/curl/curl/pull/1290
4435
4436Daniel Stenberg (4 Mar 2017)
4437- [Andrew Krieger brought this change]
4438
4439 fix potential use of uninitialized variables
4440
4441 MSVC with LTCG detects this at warning level 4.
4442
4443 Closes #1304
4444
4445Dan Fandrich (4 Mar 2017)
4446- [Sylvestre Ledru brought this change]
4447
4448 fix some typos in the doc (#1306)
4449
4450- tests: fixed a typo in some comments
4451
4452Jay Satiro (3 Mar 2017)
4453- url: split off proxy init and parsing from create_conn
4454
4455 Move the proxy parse/init into helper create_conn_helper_init_proxy to
4456 mitigate the chances some non-proxy code will be mistakenly added to it.
4457
4458 Ref: https://github.com/curl/curl/issues/1274#issuecomment-281556510
4459 Ref: https://github.com/curl/curl/pull/1293
4460
4461 Closes https://github.com/curl/curl/pull/1298
4462
4463- [Alexis La Goutte brought this change]
4464
4465 build: fix gcc7 implicit fallthrough warnings
4466
4467 Mark intended fallthroughs with /* FALLTHROUGH */ so that gcc will know
4468 it's expected and won't warn on [-Wimplicit-fallthrough=].
4469
4470 Closes https://github.com/curl/curl/pull/1297
4471
4472- [Greg Rowe brought this change]
4473
4474 configure: fix --with-zlib when a path is specified
4475
4476 Prior to this change if you attempted to configure curl using
4477 --wtih-zlib and specified a path the path would be ignored if you also
4478 had pkg-config installed on your system. This situation can easily
4479 arise when you are cross compiling. This change moves the test for
4480 detecting zlib settings via pkg-config only if OPT_ZLIB is not set.
4481
4482 Closes https://github.com/curl/curl/pull/1292
4483
4484- [c4rlo brought this change]
4485
4486 no-keepalive.d: fix typo
4487
4488 Closes https://github.com/curl/curl/pull/1301
4489
4490- checksrc.bat: Ignore curl_config.h.in, curl_config.h
4491
4492- configure: fix for --enable-pthreads
4493
4494 Better handle options conflicts that can occur if --enable-pthreads.
4495
4496 Bug: https://github.com/curl/curl/pull/1295
4497 Reported-by: Marc-Antoine Perennou
4498
4499- [JDepooter brought this change]
4500
4501 darwinssl: Warn that disabling host verify also disables SNI
4502
4503 In DarwinSSL the SSLSetPeerDomainName function is used to enable both
4504 sending SNI and verifying the host. When host verification is disabled
4505 the function cannot be called, therefore SNI is disabled as well.
4506
4507 Closes https://github.com/curl/curl/pull/1240
4508
4509Marcel Raad (28 Feb 2017)
4510- warnless: suppress compiler warning
4511
4512 If size_t is 32 bits, MSVC warns:
4513 warning C4310: cast truncates constant value
4514 The warning is harmless as CURL_MASK_SCOFFT gets
4515 truncated to the maximum value of size_t.
4516
4517Dan Fandrich (27 Feb 2017)
4518- tests: enable HTTP/2 tests to run with non-default port numbers
4519
4520Marcel Raad (27 Feb 2017)
4521- digest_sspi: fix compilation warning
4522
4523 MSVC complains:
4524 warning C4701: potentially uninitialized local variable 'output_token_len' used
4525
4526Jay Satiro (26 Feb 2017)
4527- cyassl: get library version string at runtime
4528
4529 wolfSSL >= 3.6.0 supports getting its library version string at runtime.
4530
4531Dan Fandrich (26 Feb 2017)
4532- test1139: allow for the possibility that the man page is not rebuilt
4533
4534 This is likely to be the case when building from a tar ball release
4535 package which includes a prebuilt man page. In that case, test the
4536 packaged man page instead. This only makes a difference when building
4537 out-of-tree (in-tree, the location in both cases is identical).
4538
4539Jay Satiro (25 Feb 2017)
4540- [Isaac Boukris brought this change]
4541
4542 url: fix unix-socket support for proxy-disabled builds
4543
4544 Prior to this change if curl was built with Unix Socket support
4545 (--enable-unix-sockets) and without Proxy support (--disable-proxy) then
4546 unix socket options would erroneously be ignored.
4547
4548 Regression introduced in:
4549 0b8d682f81ee9acb763dd4c9ad805fe08d1227c0
4550
4551 Bug: https://github.com/curl/curl/issues/1274
4552 Reported-by: mccormickt12@users.noreply.github.com
4553
4554 Closes https://github.com/curl/curl/pull/1289
4555
4556Dan Fandrich (26 Feb 2017)
4557- gopher: fixed detection of an error condition from Curl_urldecode
4558
4559- ftp: fixed a NULL pointer dereference on OOM
4560
4561Jay Satiro (25 Feb 2017)
4562- [Peter Wu brought this change]
4563
4564 docs: de-duplicate file lists in the Makefiles
4565
4566 Make use of macro substitution of suffix patterns to remove duplication
4567 of manual names. This approach is portable according to
4568 http://pubs.opengroup.org/onlinepubs/009695399/utilities/make.html
4569
4570 Closes https://github.com/curl/curl/pull/1287
4571
4572Dan Fandrich (25 Feb 2017)
4573- ftp: removed an erroneous free in an OOM path
4574
4575- proxy: fixed a memory leak on OOM
4576
4577- tests: use consistent environment variables for setting charset
4578
4579 The character set in POSIX is set by the locale defined by (in
4580 decreasing order of precedence) the LC_ALL, LC_CTYPE and LANG
4581 environment variables (CHARSET was used by libidn but not libidn2).
4582 LC_ALL is cleared to ensure that LC_CTYPE takes effect, but LC_ALL is
4583 not used to set the locale to ensure that other parts of the locale
4584 aren't overridden. Since there doesn't seem to be a cross-platform way
4585 of specifying a UTF-8 locale, and not all systems may support UTF-8, a
4586 <precheck> is used to skip the test if UTF-8 can't be verified to be
4587 available. Test 1035 was also converted to UTF-8 for consistency, as
4588 the actual character set used there is irrelevant to the test.
4589
4590 This patch uses a different UTF-8 locale than the last attempt, namely
4591 en_US.UTF-8. This one has been verified on 7 different Linux and BSD
4592 distributions and is more complete and usable than the locale UTF-8 (on
4593 at least some systems).
4594
4595- test557: explicitly use the C locale so the numeric output is as expected
4596
4597Jay Satiro (25 Feb 2017)
4598- [Simon Warta brought this change]
4599
4600 cmake: Replace invalid UTF-8 byte sequence
4601
4602 - Change the encoding of the regex temp placeholder token to UTF-8.
4603
4604 Prior to this change the file contained special chars in a different
4605 encoding than ASCII or UTF-8 making text editors and Python complain
4606 when reading the file.
4607
4608 Closes https://github.com/curl/curl/pull/1271
4609 Closes https://github.com/curl/curl/pull/1275
4610
4611Daniel Stenberg (24 Feb 2017)
4612- bump: work on the next release
4613
4614Version 7.53.1 (24 Feb 2017)
4615
4616Daniel Stenberg (24 Feb 2017)
4617- release: 7.53.1
4618
4619- Revert "tests: use consistent environment variables for setting charset"
4620
4621 This reverts commit ecd1d020abdae3c3ce3643ddab3106501e62e7c0.
4622
4623 That commit caused test failures on my Debian Linux machine for all
4624 changed test cases. We need to reconsider how that should get done.
4625
4626Dan Fandrich (23 Feb 2017)
4627- tests: use consistent environment variables for setting charset
4628
4629 Character set in POSIX is set by the locale defined (in decreasing order
4630 of precedence) by the LC_ALL, LC_CTYPE and LANG environment variables (I
4631 believe CHARSET is only historic). LC_ALL is cleared to ensure that
4632 LC_CTYPE takes effect, but LC_ALL is not used to set the locale to
4633 ensure that other parts of the locale aren't overriden, if set. Since
4634 there doesn't seem to be a cross-platform way of specifying a UTF-8
4635 locale, and not all systems may support UTF-8, a <precheck> is used
4636 (where relevant) to skip the test if UTF-8 isn't in use. Test 1035 was
4637 also converted to UTF-8 for consistency, as the actual character set
4638 used there is irrelevant to the test.
4639
4640Jay Satiro (23 Feb 2017)
4641- url: Default the CA proxy bundle location to CURL_CA_BUNDLE
4642
4643 If the compile-time CURL_CA_BUNDLE location is defined use it as the
4644 default value for the proxy CA bundle location, which is the same as
4645 what we already do for the regular CA bundle location.
4646
4647 Ref: https://github.com/curl/curl/pull/1257
4648
4649Daniel Stenberg (23 Feb 2017)
4650- [Sergii Pylypenko brought this change]
4651
4652 rand: added missing #ifdef HAVE_FCNTL_H around fcntl.h header
4653
4654 Closes #1285
4655
4656- TODO: "OPTIONS *"
4657
4658 Closes #1280
4659
4660- RELEASE-NOTES: synced with 443e5b03a7d441
4661
4662- THANKS-filter: shachaf
4663
4664- [İsmail Dönmez brought this change]
4665
4666 tests: Set CHARSET & LANG to UTF-8 in 1035, 2046 and 2047
4667
4668 Closes #1283
4669 Fixes #1277
4670
4671- bump: 7.53.1 coming up
4672
4673 synced with df665f4df0f7a352
4674
4675- formdata: check for EOF when reading from stdin
4676
4677 Reported-by: shachaf@users.noreply.github.com
4678
4679 Fixes #1281
4680
4681Jay Satiro (22 Feb 2017)
4682- docs: gitignore curl.1
4683
4684 curl.1 is generated by the cmdline-opts script since 4c49b83.
4685
4686Daniel Stenberg (22 Feb 2017)
4687- TODO: HTTP Digest using SHA-256
4688
4689- TODO: brotli is deployed widely now
4690
4691Jay Satiro (21 Feb 2017)
4692- [Viktor Szakats brought this change]
4693
4694 urldata: include curl_sspi.h when Windows SSPI is enabled
4695
4696 f77dabe broke builds in Windows using Windows SSPI but not Windows SSL.
4697
4698 Bug: https://github.com/curl/curl/issues/1276
4699 Reported-by: jveazey@users.noreply.github.com
4700
4701- url: Improve CURLOPT_PROXY_CAPATH error handling
4702
4703 - Change CURLOPT_PROXY_CAPATH to return CURLE_NOT_BUILT_IN if the option
4704 is not supported, which is the same as what we already do for
4705 CURLOPT_CAPATH.
4706
4707 - Change the curl tool to handle CURLOPT_PROXY_CAPATH error
4708 CURLE_NOT_BUILT_IN as a warning instead of as an error, which is the
4709 same as what we already do for CURLOPT_CAPATH.
4710
4711 - Fix CAPATH docs to show that CURLE_NOT_BUILT_IN is returned when the
4712 respective CAPATH option is not supported by the SSL library.
4713
4714 Ref: https://github.com/curl/curl/pull/1257
4715
4716- cyassl: fix typo
4717
4718Version 7.53.0 (22 Feb 2017)
4719
4720Daniel Stenberg (22 Feb 2017)
4721- release: 7.53.0
4722
4723- cookie: fix declaration of 'dup' shadows a global declaration
4724
4725- TLS: make SSL_VERIFYSTATUS work again
4726
4727 The CURLOPT_SSL_VERIFYSTATUS option was not properly handled by libcurl
4728 and thus even if the status couldn't be verified, the connection would
4729 be allowed and the user would not be told about the failed verification.
4730
4731 Regression since cb4e2be7c6d42ca
4732
4733 CVE-2017-2629
4734 Bug: https://curl.haxx.se/docs/adv_20170222.html
4735
4736 Reported-by: Marcus Hoffmann
4737
4738Jay Satiro (21 Feb 2017)
4739- digest_sspi: Handle 'stale=TRUE' directive in HTTP digest
4740
4741 - If the server has provided another challenge use it as the replacement
4742 input token if stale=TRUE. Otherwise previous credentials have failed
4743 so return CURLE_LOGIN_DENIED.
4744
4745 Prior to this change the stale directive was ignored and if another
4746 challenge was received it would cause error CURLE_BAD_CONTENT_ENCODING.
4747
4748 Ref: https://tools.ietf.org/html/rfc2617#page-10
4749
4750 Bug: https://github.com/curl/curl/issues/928
4751 Reported-by: tarek112@users.noreply.github.com
4752
4753Daniel Stenberg (20 Feb 2017)
4754- smb: use getpid replacement for windows UWP builds
4755
4756 Source: https://github.com/Microsoft/vcpkg/blob/7676b8780db1e1e591c4fc7eba4f96f73c428cb4/ports/curl/0002_fix_uwp.patch
4757
4758- TODO: CURLOPT_RESOLVE for any port number
4759
4760 Closes #1264
4761
4762- RELEASE-NOTES: synced with af30f1152d43dcdb
4763
4764- [Jean Gressmann brought this change]
4765
4766 sftp: improved checks for create dir failures
4767
4768 Since negative values are errors and not only -1. This makes SFTP upload
4769 with --create-dirs work (again).
4770
4771 Closes #1269
4772
4773Jay Satiro (20 Feb 2017)
4774- [Max Khon brought this change]
4775
4776 digest_sspi: Fix nonce-count generation in HTTP digest
4777
4778 - on the first invocation: keep security context returned by
4779 InitializeSecurityContext()
4780
4781 - on subsequent invocations: use MakeSignature() instead of
4782 InitializeSecurityContext() to generate HTTP digest response
4783
4784 Bug: https://github.com/curl/curl/issues/870
4785 Reported-by: Andreas Roth
4786
4787 Closes https://github.com/curl/curl/pull/1251
4788
4789- examples/multi-uv: checksrc compliance
4790
4791Michael Kaufmann (19 Feb 2017)
4792- string formatting: fix 4 printf-style format strings
4793
4794Dan Fandrich (18 Feb 2017)
4795- tests: removed the obsolete name parameter
4796
4797Michael Kaufmann (18 Feb 2017)
4798- speed caps: update the timeouts if the speed is too low/high
4799
4800 Follow-up to 4b86113
4801
4802 Fixes https://github.com/curl/curl/issues/793
4803 Fixes https://github.com/curl/curl/issues/942
4804
4805- docs: fix timeout handling in multi-uv example
4806
4807- proxy: fix hostname resolution and IDN conversion
4808
4809 Properly resolve, convert and log the proxy host names.
4810 Support the "--connect-to" feature for SOCKS proxies and for passive FTP
4811 data transfers.
4812
4813 Follow-up to cb4e2be
4814
4815 Reported-by: Jay Satiro
4816 Fixes https://github.com/curl/curl/issues/1248
4817
4818Jay Satiro (17 Feb 2017)
4819- [Isaac Boukris brought this change]
4820
4821 http: fix missing 'Content-Length: 0' while negotiating auth
4822
4823 - While negotiating auth during PUT/POST if a user-specified
4824 Content-Length header is set send 'Content-Length: 0'.
4825
4826 This is what we do already in HTTPREQ_POST_FORM and what we did in the
4827 HTTPREQ_POST case (regression since afd288b).
4828
4829 Prior to this change no Content-Length header would be sent in such a
4830 case.
4831
4832 Bug: https://curl.haxx.se/mail/lib-2017-02/0006.html
4833 Reported-by: Dominik Hölzl
4834
4835 Closes https://github.com/curl/curl/pull/1242
4836
4837Daniel Stenberg (16 Feb 2017)
4838- [Simon Warta brought this change]
4839
4840 winbuild: add note on auto-detection of MACHINE in Makefile.vc
4841
4842 Closes #1265
4843
4844- RELEASE-PROCEDURE: update the upcoming release calendar
4845
4846- TODO: consider file name from the redirected URL with -O ?
4847
4848 It isn't easily solved, but with some thinking someone could probably
4849 come up with a working approach?
4850
4851 Closes #1241
4852
4853Jay Satiro (15 Feb 2017)
4854- tool_urlglob: Allow a glob range with the same start and stop
4855
4856 For example allow ranges like [1-1] and [a-a] etc.
4857
4858 Regression since 5ca96cb.
4859
4860 Bug: https://github.com/curl/curl/issues/1238
4861 Reported-by: R. Dennis Steed
4862
4863Daniel Stenberg (15 Feb 2017)
4864- axtls: adapt to API changes
4865
4866 Builds with axTLS 2.1.2. This then also breaks compatibility with axTLS
4867 < 2.1.0 (the older API)
4868
4869 ... and fix the session_id mixup brought in 04b4ee549
4870
4871 Fixes #1220
4872
4873- RELEASE-NOTES: synced with 690935390c29c
4874
4875- [Nick Draffen brought this change]
4876
4877 curl: fix typo in time condition warning message
4878
4879 The warning message had a typo. The argument long form is --time-cond
4880 not --timecond
4881
4882 Closes #1263
4883
4884- smb: code indent
4885
4886Jay Satiro (14 Feb 2017)
4887- configure: Allow disabling pthreads, fall back on Win32 threads
4888
4889 When the threaded resolver option is specified for configure the default
4890 thread library is pthreads. This change makes it possible to
4891 --disable-pthreads and then configure can fall back on Win32 threads for
4892 native Windows builds.
4893
4894 Closes https://github.com/curl/curl/pull/1260
4895
4896Daniel Stenberg (13 Feb 2017)
4897- http2: fix memory-leak when denying push streams
4898
4899 Reported-by: zelinchen@users.noreply.github.com
4900 Fixes #1229
4901
4902Jay Satiro (11 Feb 2017)
4903- tool_operate: Show HTTPS-Proxy options on CURLE_SSL_CACERT
4904
4905 When CURLE_SSL_CACERT occurs the tool shows a lengthy error message to
4906 the user explaining possible solutions such as --cacert and --insecure.
4907
4908 This change appends to that message similar options --proxy-cacert and
4909 --proxy-insecure when there's a specified HTTPS proxy.
4910
4911 Closes https://github.com/curl/curl/issues/1258
4912
4913Daniel Stenberg (10 Feb 2017)
4914- cmdline-opts/page-footer: ftp.sunet.se is no longer an FTP mirror
4915
4916- URL: only accept ";options" in SMTP/POP3/IMAP URL schemes
4917
4918 Fixes #1252
4919
4920Jay Satiro (9 Feb 2017)
4921- cmdline-opts/socks*: Mention --preproxy in --socks* opts
4922
4923 - Document in --socks* opts they're still mutually exclusive of --proxy.
4924
4925 Partial revert of 423a93c; I had misinterpreted the SOCKS proxy +
4926 HTTP/HTTPS proxy combination.
4927
4928 - Document in --socks* opts that --preproxy can be used to specify a
4929 SOCKS proxy at the same time --proxy is used with an HTTP/HTTPS proxy.
4930
4931Daniel Stenberg (9 Feb 2017)
4932- CURLOPT_SSL_VERIFYPEER.3: also the https proxy version
4933
4934Kamil Dudka (9 Feb 2017)
4935- nss: make FTPS work with --proxytunnel
4936
4937 If the NSS code was in the middle of a non-blocking handshake and it
4938 was asked to finish the handshake in blocking mode, it unexpectedly
4939 continued in the non-blocking mode, which caused a FTPS connection
4940 over CONNECT to fail with "(81) Socket not ready for send/recv".
4941
4942 Bug: https://bugzilla.redhat.com/1420327
4943
4944Daniel Stenberg (9 Feb 2017)
4945- examples/multithread.c: link to our multi-thread docs
4946
4947 ... instead of the OpenSSL mutex page.
4948
4949- http_proxy: avoid freeing static memory
4950
4951 Follow up to 7fe81ec298e0: make sure 'host' is either NULL or malloced.
4952
4953- [Cameron MacMinn brought this change]
4954
4955 http_proxy: Fix tiny memory leak upon edge case connecting to proxy
4956
4957 Fixes #1255
4958
4959Michael Kaufmann (8 Feb 2017)
4960- polarssl, mbedtls: Fix detection of pending data
4961
4962 Reported-by: Dan Fandrich
4963 Bug: https://curl.haxx.se/mail/lib-2017-02/0032.html
4964
4965Dan Fandrich (7 Feb 2017)
4966- test1139: Added the --manual keyword since the manual is required
4967
4968Daniel Stenberg (7 Feb 2017)
4969- RELEASE-NOTES: synced with 102454459dd688c
4970
4971- THANKS-filter: polish some recent contributors
4972
4973- http2: reset push header counter fixes crash
4974
4975 When removing an easy handler from a multi before it completed its
4976 transfer, and it had pushed streams, it would segfault due to the pushed
4977 counted not being cleared.
4978
4979 Fixed-by: zelinchen@users.noreply.github.com
4980 Fixes #1249
4981
4982- [Markus Westerlind brought this change]
4983
4984 transfer: only retry nobody-requests for HTTP
4985
4986 Using sftp to delete a file with CURLOPT_NOBODY set with a reused
4987 connection would fail as curl expected to get some data. Thus it would
4988 retry the command again which fails as the file has already been
4989 deleted.
4990
4991 Fixes #1243
4992
4993Jay Satiro (7 Feb 2017)
4994- [Daniel Gustafsson brought this change]
4995
4996 telnet: Fix typos
4997
4998 Ref: https://github.com/curl/curl/pull/1245
4999
5000- [Daniel Gustafsson brought this change]
5001
5002 test552: Fix typos
5003
5004 Closes https://github.com/curl/curl/pull/1245
5005
5006- [Daniel Gustafsson brought this change]
5007
5008 darwinssl: Avoid parsing certificates when not in verbose mode
5009
5010 The information extracted from the server certificates in step 3 is only
5011 used when in verbose mode, and there is no error handling or validation
5012 performed as that has already been done. Only run the certificate
5013 information extraction when in verbose mode and libcurl was built with
5014 verbose strings.
5015
5016 Closes https://github.com/curl/curl/pull/1246
5017
5018- [JDepooter brought this change]
5019
5020 schannel: Remove incorrect SNI disabled message
5021
5022 - Remove the SNI disabled when host verification disabled message
5023 since that is incorrect.
5024
5025 - Show a message for legacy versions of Windows <= XP that connections
5026 may fail since those versions of WinSSL lack SNI, algorithms, etc.
5027
5028 Bug: https://github.com/curl/curl/pull/1240
5029
5030Daniel Stenberg (7 Feb 2017)
5031- CHANGES: spell fix, use correct path to script
5032
5033- CHANGES.0: removed
5034
5035 This is the previously manually edited changelog, not touched since Aug
5036 2015. Still present in git for those who wants it.
5037
5038Dan Fandrich (6 Feb 2017)
5039- cmdline-opts: Fixed build and test in out of source tree builds
5040
5041Viktor Szakats (6 Feb 2017)
5042- use *.sourceforge.io and misc URL updates
5043
5044 Ref: https://sourceforge.net/blog/introducing-https-for-project-websites/
5045 Closes: https://github.com/curl/curl/pull/1247
5046
5047Jay Satiro (6 Feb 2017)
5048- docs: Add more HTTPS proxy documentation
5049
5050 - Document HTTPS proxy type.
5051
5052 - Document --write-out %{proxy_ssl_verify_result}.
5053
5054 - Document SOCKS proxy + HTTP/HTTPS proxy combination.
5055
5056 HTTPS proxy support was added in 7.52.0 for OpenSSL, GnuTLS and NSS.
5057
5058 Ref: https://github.com/curl/curl/commit/cb4e2be
5059
5060- OS400: Fix symbols
5061
5062 - s/CURLOPT_SOCKS_PROXY/CURLOPT_PRE_PROXY
5063 Follow-up to 7907a2b and 845522c.
5064
5065 - Fix incorrect id for CURLOPT_PROXY_PINNEDPUBLICKEY.
5066
5067 - Add id for CURLOPT_ABSTRACT_UNIX_SOCKET.
5068
5069 Bug: https://github.com/curl/curl/issues/1237
5070 Reported-by: jonrumsey@users.noreply.github.com
5071
5072- [Sean Burford brought this change]
5073
5074 cmake: Support curl --xattr when built with cmake
5075
5076 - Test for and set HAVE_FSETXATTR when support for extended file
5077 attributes is present.
5078
5079 Closes https://github.com/curl/curl/pull/1176
5080
5081- [Adam Langley brought this change]
5082
5083 openssl: Don't use certificate after transferring ownership
5084
5085 SSL_CTX_add_extra_chain_cert takes ownership of the given certificate
5086 while, despite the similar name, SSL_CTX_add_client_CA does not. Thus
5087 it's best to call SSL_CTX_add_client_CA before
5088 SSL_CTX_add_extra_chain_cert, while the code still has ownership of the
5089 argument.
5090
5091 Closes https://github.com/curl/curl/pull/1236
5092
5093Daniel Stenberg (29 Jan 2017)
5094- [Antoine Aubert brought this change]
5095
5096 mbedtls: implement CTR-DRBG and HAVEGE random generators
5097
5098 closes #1227
5099
5100- docs: we no longer ship HTML versions of man pages
5101
5102 ... refer to the web site for the web versions.
5103
5104- [railsnewbie257 brought this change]
5105
5106 docs: proofread README.netware README.win32
5107
5108 Closes #1231
5109
5110- RELEASE-NOTES; synced with ab08d82648
5111
5112Michael Kaufmann (28 Jan 2017)
5113- mbedtls: disable TLS session tickets
5114
5115 SSL session reuse with TLS session tickets is not supported yet.
5116 Use SSL session IDs instead.
5117
5118 See https://github.com/curl/curl/issues/1109
5119
5120- gnutls: disable TLS session tickets
5121
5122 SSL session reuse with TLS session tickets is not supported yet.
5123 Use SSL session IDs instead.
5124
5125 Fixes https://github.com/curl/curl/issues/1109
5126
5127- polarssl: fix hangs
5128
5129 This bugfix is similar to commit c111178bd4.
5130
5131Daniel Stenberg (27 Jan 2017)
5132- cookies: do not assume a valid domain has a dot
5133
5134 This repairs cookies for localhost.
5135
5136 Non-PSL builds will now only accept "localhost" without dots, while PSL
5137 builds okeys everything not listed as PSL.
5138
5139 Added test 1258 to verify.
5140
5141 This was a regression brought in a76825a5efa6b4
5142
5143- TODO: remove "Support TLS v1.3"
5144
5145 Support is trickling in already.
5146
5147- [railsnewbie257 brought this change]
5148
5149 INTERNALS.md: language improvements
5150
5151 Closes #1226
5152
5153- telnet: fix windows compiler warnings
5154
5155 Thumbs-up-by: Jay Satiro
5156
5157 Closes #1225
5158
5159- VC: remove the makefile.vc6 build infra
5160
5161 The winbuild/ build files is now the single MSVC makefile build choice.
5162
5163 Closes #1215
5164
5165- [Jay Satiro brought this change]
5166
5167 cmdline-opts/gen.pl: Open input files in CRLF mode
5168
5169 On Windows it's possible to have input files with CRLF line endings and
5170 a perl that defaults to LF line endings (eg msysgit). Currently that
5171 results in generator output of mixed line endings of CR, LF and CRLF.
5172
5173 This change fixes that issue in the most succinct way by opening the
5174 files in :crlf text mode even when the perl being used does not default
5175 to that mode. (On operating systems that don't have a separate text mode
5176 it's essentially a no-op.) The output continues to be in the perl's
5177 native line ending.
5178
5179- docs/curl.1: generate from the cmdline-opts script
5180
5181- vtls: source indentation fix
5182
5183- contri*.sh: cut off parentheses from names too
5184
5185- RELEASE-NOTES: synced with 01ab7c30bba6f
5186
5187- vtls: fix PolarSSL non-blocking handling
5188
5189 A regression brought in cb4e2be
5190
5191 Reported-by: Michael Kaufmann
5192 Bug: https://github.com/curl/curl/issues/1174#issuecomment-274018791
5193
5194- [Antoine Aubert brought this change]
5195
5196 vtls: fix mbedtls multi non blocking handshake.
5197
5198 When using multi, mbedtls handshake is in non blocking mode. vtls must
5199 set wait for read/write flags for the socket.
5200
5201 Closes #1223
5202
5203- [Richy Kim brought this change]
5204
5205 CURLOPT_BUFFERSIZE: support enlarging receive buffer
5206
5207 Replace use of fixed macro BUFSIZE to define the size of the receive
5208 buffer. Reappropriate CURLOPT_BUFFERSIZE to include enlarging receive
5209 buffer size. Upon setting, resize buffer if larger than the current
5210 default size up to a MAX_BUFSIZE (512KB). This can benefit protocols
5211 like SFTP.
5212
5213 Closes #1222
5214
5215- sws: use SOCKERRNO, not errno
5216
5217 Reported-by: Gisle Vanem
5218
5219Michael Kaufmann (19 Jan 2017)
5220- KNOWN_BUGS: HTTP/2 server push enabled when no pushes can be accepted
5221
5222 This has been implemented with commit 9ad034e.
5223
5224Viktor Szakats (19 Jan 2017)
5225- *.rc: escape non-ASCII/non-UTF-8 character for clarity
5226
5227 Closes https://github.com/curl/curl/pull/1217
5228
5229Kamil Dudka (19 Jan 2017)
5230- docs: non-blocking SSL handshake is now supported with NSS
5231
5232 Implemented since curl-7_36_0-130-g8868a22
5233
5234 Reported-by: Fahim Chandurwala
5235
5236Michael Kaufmann (18 Jan 2017)
5237- CURLOPT_CONNECT_TO: Fix compile warnings
5238
5239 Fix compile warnings that appeared only when curl has been configured
5240 with '--disable-verbose'.
5241
5242Daniel Stenberg (18 Jan 2017)
5243- usercertinmem.c: improve the short description
5244
5245- parseurl: move back buffer to function scope
5246
5247 Regression since 1d4202ad, which moved the buffer into a more narrow
5248 scope, but the data in that buffer was used outside of that more narrow
5249 scope.
5250
5251 Reported-by: Dan Fandrich
5252 Bug: https://curl.haxx.se/mail/lib-2017-01/0093.html
5253
5254Jay Satiro (17 Jan 2017)
5255- openssl: Fix random generation
5256
5257 - Fix logic error in Curl_ossl_random.
5258
5259 Broken a few days ago in 807698d.
5260
5261Daniel Stenberg (17 Jan 2017)
5262- TODO: share OpenSSL contexts
5263
5264 By supporting this, subsequent connects would load a lot less data from
5265 disk.
5266
5267 Closes #1110
5268
5269- bump: next release will be 7.53.0
5270
5271Kamil Dudka (15 Jan 2017)
5272- nss: use the correct lock in nss_find_slot_by_name()
5273
5274Alessandro Ghedini (15 Jan 2017)
5275- http2: disable server push if not requested
5276
5277 Ref: https://github.com/curl/curl/pull/1160
5278
5279Daniel Stenberg (14 Jan 2017)
5280- [railsnewbie257 brought this change]
5281
5282 docs: improved language in README.md HISTORY.md CONTRIBUTE.md
5283
5284 Closes #1211
5285
5286Alessandro Ghedini (14 Jan 2017)
5287- http: print correct HTTP string in verbose output when using HTTP/2
5288
5289 Before:
5290 ```
5291 % src/curl https://sigsegv.ninja/ -v --http2
5292 ...
5293 > GET / HTTP/1.1
5294 > Host: sigsegv.ninja
5295 > User-Agent: curl/7.52.2-DEV
5296 > Accept: */*
5297 >
5298 ...
5299 ```
5300
5301 After:
5302 ```
5303 % src/curl https://sigsegv.ninja/ -v --http2
5304 ...
5305 > GET / HTTP/2
5306 > Host: sigsegv.ninja
5307 > User-Agent: curl/7.52.2-DEV
5308 > Accept: */*
5309 >
5310 ```
5311
5312Daniel Stenberg (14 Jan 2017)
5313- TODO: send only part of --data
5314
5315 Closes #1200
5316
5317- TODO: implemened "--fail-fast to exit on first transfer fail"
5318
5319 Even though it is called --fail-early
5320
5321- TODO: Chunked transfer multipart formpost
5322
5323 Closes #1139
5324
5325- TODO: Improve formpost API, not just add an easy argument
5326
5327- addrinfo: fix compiler warning on offsetof() use
5328
5329 curl_addrinfo.c:519:20: error: conversion to ‘curl_socklen_t {aka
5330 unsigned int}’ from ‘long unsigned int’ may alter its value
5331 [-Werror=conversion]
5332
5333 Follow-up to 1d786faee1046f
5334
5335- THANKS-filter: Jiri Malak
5336
5337- RELEASE-NOTES: synced with a7c73ae309c
5338
5339Peter Wu (13 Jan 2017)
5340- [Isaac Boukris brought this change]
5341
5342 unix_socket: add support for abstract unix domain socket
5343
5344 In addition to unix domain sockets, Linux also supports an
5345 abstract namespace which is independent of the filesystem.
5346
5347 In order to support it, add new CURLOPT_ABSTRACT_UNIX_SOCKET
5348 option which uses the same storage as CURLOPT_UNIX_SOCKET_PATH
5349 internally, along with a flag to specify abstract socket.
5350
5351 On non-supporting platforms, the abstract address will be
5352 interpreted as an empty string and fail gracefully.
5353
5354 Also add new --abstract-unix-socket tool parameter.
5355
5356 Signed-off-by: Isaac Boukris <iboukris@gmail.com>
5357 Reported-by: Chungtsun Li (typeless)
5358 Reviewed-by: Daniel Stenberg
5359 Reviewed-by: Peter Wu
5360 Closes #1197
5361 Fixes #1061
5362
5363Daniel Stenberg (13 Jan 2017)
5364- write-out.d: 'time_total' is not always shown with ms precision
5365
5366 We have higher resolution since 7.52.0
5367
5368- next.d: --trace and --trace-ascii are also global
5369
5370- [Isaac Boukris brought this change]
5371
5372 curl: reset the easy handle at --next
5373
5374 So that only "global" options (verbose mostly) survive into the next
5375 transfer, and the others have to be set again unless default is fine.
5376
5377- [Frank Gevaerts brought this change]
5378
5379 docs: Add note about libcurl copying strings to CURLOPT_* manpages
5380
5381 Closes #1169
5382
5383- [Frank Gevaerts brought this change]
5384
5385 CURLOPT_PREQUOTE.3: takes a struct curl_slist*, not a char*
5386
5387- IDN: Use TR46 non-transitional
5388
5389 Assisted-by: Tim Rühsen
5390
5391- IDN: revert use of the transitional option
5392
5393 It made the german ß get converted to ss, IDNA2003 style, and we can't
5394 have that for the .de TLD - a primary reason for our switch to IDNA2008.
5395
5396 Test 165 verifies.
5397
5398- [Tim Rühsen brought this change]
5399
5400 IDN: Fix compile time detection of linidn2 TR46
5401
5402 Follow-up to f30cbcac1
5403
5404 Closes #1207
5405
5406- [ERAMOTO Masaya brought this change]
5407
5408 url: --noproxy option overrides NO_PROXY environment variable
5409
5410 Under condition using http_proxy env var, noproxy list was the
5411 combination of --noproxy option and NO_PROXY env var previously. Since
5412 this commit, --noproxy option overrides NO_PROXY environment variable
5413 even if use http_proxy env var.
5414
5415 Closes #1140
5416
5417- [ERAMOTO Masaya brought this change]
5418
5419 url: Refactor detect_proxy()
5420
5421 If defined CURL_DISABLE_HTTP, detect_proxy() returned NULL. If not
5422 defined CURL_DISABLE_HTTP, detect_proxy() checked noproxy list.
5423
5424 Thus refactor to set proxy to NULL instead of calling detect_proxy() if
5425 define CURL_DISABLE_HTTP, and refactor to call detect_proxy() if not
5426 define CURL_DISABLE_HTTP and the host is not in the noproxy list.
5427
5428- [ERAMOTO Masaya brought this change]
5429
5430 url: Fix NO_PROXY env var to work properly with --proxy option.
5431
5432 The combination of --noproxy option and http_proxy env var works well
5433 both for proxied hosts and non-proxied hosts.
5434
5435 However, when combining NO_PROXY env var with --proxy option,
5436 non-proxied hosts are not reachable while proxied host is OK.
5437
5438 This patch allows us to access non-proxied hosts even if using NO_PROXY
5439 env var with --proxy option.
5440
5441- [Tim Rühsen brought this change]
5442
5443 IDN: Use TR46 'transitional' for toASCII translations
5444
5445 References: http://unicode.org/faq/idn.html
5446 http://unicode.org/reports/tr46
5447
5448 Closes #1206
5449
5450- [railsnewbie257 brought this change]
5451
5452 docs: FAQ MAIL-ETIQUETTE language fixes
5453
5454 Closes #1194
5455
5456- [Marcus Hoffmann brought this change]
5457
5458 gnutls: check for alpn and ocsp in configure
5459
5460 Check for presence of gnutls_alpn_* and gnutls_ocsp_* functions during
5461 configure instead of relying on the version number. GnuTLS has options
5462 to turn these features off and we ca just work with with such builds
5463 like we work with older versions.
5464
5465 Signed-off-by: Marcus Hoffmann <m.hoffmann@cartelsol.com>
5466
5467 Closes #1204
5468
5469Jay Satiro (12 Jan 2017)
5470- url: Fix parsing for when 'file' is the default protocol
5471
5472 Follow-up to 3463408.
5473
5474 Prior to 3463408 file:// hostnames were silently stripped.
5475
5476 Prior to this commit it did not work when a schemeless url was used with
5477 file as the default protocol.
5478
5479 Ref: https://curl.haxx.se/mail/lib-2016-11/0081.html
5480 Closes https://github.com/curl/curl/pull/1124
5481
5482 Also fix for drive letters:
5483
5484 - Support --proto-default file c:/foo/bar.txt
5485
5486 - Support file://c:/foo/bar.txt
5487
5488 - Fail when a file:// drive letter is detected and not MSDOS/Windows.
5489
5490 Bug: https://github.com/curl/curl/issues/1187
5491 Reported-by: Anatol Belski
5492 Assisted-by: Anatol Belski
5493
5494Daniel Stenberg (12 Jan 2017)
5495- rand: make it work without TLS backing
5496
5497 Regression introduced in commit f682156a4fc6c4
5498
5499 Reported-by: John Kohl
5500 Bug: https://curl.haxx.se/mail/lib-2017-01/0055.html
5501
5502Jay Satiro (12 Jan 2017)
5503- STARTTLS: Don't print response character in denied messages
5504
5505 Both IMAP and POP3 response characters are used internally, but when
5506 appended to the STARTTLS denial message likely could confuse the user.
5507
5508 Closes https://github.com/curl/curl/pull/1203
5509
5510- smtp: Fix STARTTLS denied error message
5511
5512 - Format the numeric denial code as an integer instead of a character.
5513
5514Daniel Stenberg (11 Jan 2017)
5515- http2_send: avoid unsigned integer wrap around
5516
5517 ... when checking for a too large request.
5518
5519Jay Satiro (9 Jan 2017)
5520- [Jiri Malak brought this change]
5521
5522 cmake: Fix passing _WINSOCKAPI_ macro to compiler
5523
5524 Define _WINSOCKAPI_ blank rather than to 1 in order to match the value
5525 used by Microsoft's winsock header files.
5526
5527 Closes https://github.com/curl/curl/pull/1195
5528
5529Daniel Stenberg (9 Jan 2017)
5530- sws: retry send() on EWOULDBLOCK
5531
5532 Fixes spurious test 1060 and 1061 failures on OpenBSD, Solaris and more.
5533
5534 Bug: https://curl.haxx.se/mail/lib-2017-01/0009.html
5535 Reported-by: Christian Weisgerber
5536
5537- RELEASE-NOTES: synced with a41e8592d6b3e58
5538
5539- examples: make the C++ examples follow our code style too
5540
5541 At least mostly, not counting // comments.
5542
5543- [Aulddays brought this change]
5544
5545 asiohiper: improved socket handling
5546
5547 libcurl requires CURLMOPT_SOCKETFUNCTION to KEEP watching socket events
5548 and notify back. Modify event_cb() to continue watching events when
5549 fired.
5550
5551 Fixes #1191
5552 Closes #1192
5553 Fixed-by: Mingliang Zhu
5554
5555- [Jiří Malák brought this change]
5556
5557 lib506: fix build for Open Watcom
5558
5559 Rename symbol lock to locks to not clash with OW CRTL function name.
5560
5561 Closes #1196
5562
5563- ROADMAP: 2017 cleanup
5564
5565 Removed items already fixed, clarified a few others.
5566
5567- COPYING: update the generic copyright year range
5568
5569- docs/silent: mention --show-error in --silent description
5570
5571 Reported in #1190
5572 Reported-by: Dan Jacobson
5573
5574- docs/page-header: mention how to disable the progress meter
5575
5576 curl.1 is regenerated
5577
5578 Fixes #1190
5579
5580Dan Fandrich (7 Jan 2017)
5581- wolfssl: display negotiated SSL version and cipher
5582
5583- wolfssl: support setting cipher list
5584
5585Patrick Monnerat (6 Jan 2017)
5586- CIPHERS.md: document GSKit ciphers
5587
5588Jay Satiro (5 Jan 2017)
5589- [peterpih brought this change]
5590
5591 TheArtOfHttpScripting: grammar
5592
5593Nick Zitzmann (3 Jan 2017)
5594- darwinssl: --insecure overrides --cacert if both settings are in use
5595
5596 Fixes #1184
5597
5598Jay Satiro (2 Jan 2017)
5599- docs/libcurl: TCP_KEEPALIVE start and interval default to 60
5600
5601 Since the TCP keep-alive options were added in 705f0f7 the start and
5602 interval default values have been 60, but that wasn't documented.
5603
5604 Bug: https://curl.haxx.se/mail/lib-2017-01/0000.html
5605 Reported-by: Praveen Pvs
5606
5607Daniel Stenberg (29 Dec 2016)
5608- curl.h: CURLE_FUNCTION_NOT_FOUND is no longer in use
5609
5610 This error code was once introduced when some library was dynamically
5611 loaded and a funciton within said library couldn't be found.
5612
5613- content_encoding: change return code on a failure
5614
5615 Failure to decompress is now a write error instead of the weird
5616 "function not found".
5617
5618- page-footer: error 36 is protocol agnostic!
5619
5620Jay Satiro (28 Dec 2016)
5621- tool_operate: Fix --remote-time incorrect times on Windows
5622
5623 - Use Windows API SetFileTime to set the file time instead of utime.
5624
5625 Avoid utime on Windows if possible because it may apply a daylight
5626 saving time offset to our UTC file time.
5627
5628 Bug: https://curl.haxx.se/mail/archive-2016-11/0033.html
5629 Reported-by: Tim
5630
5631 Closes https://github.com/curl/curl/pull/1121
5632
5633Daniel Stenberg (29 Dec 2016)
5634- [Max Khon brought this change]
5635
5636 digest_sspi: copy terminating NUL as well
5637
5638 Curl_auth_decode_digest_http_message(): copy terminating NUL as later
5639 Curl_override_sspi_http_realm() expects a NUL-terminated string.
5640
5641 Fixes #1180
5642
5643- curl_formadd.3: CURLFORM_CONTENTSLENGTH not needed when chunked
5644
5645 Mentioned in #1013
5646
5647- [Kyselgov E.N brought this change]
5648
5649 cmake: use crypt32.lib when building with OpenSSL on windows
5650
5651 Reviewed-by: Peter Wu
5652 Closes #1149
5653 Fixes #1147
5654
5655- [Chris Araman brought this change]
5656
5657 darwinssl: fix CFArrayRef leak
5658
5659 Reviewed-by: Nick Zitzmann
5660 Closes #1173
5661
5662- [Chris Araman brought this change]
5663
5664 darwinssl: fix iOS build
5665
5666 Reviewed-by: Nick Zitzmann
5667 Fixes #1172
5668
5669- curl: remove superfluous include file
5670
5671 The <netinet/tcp.h> is a leftover from the past when TCP socket options
5672 were set in this file. This include causes build issues on AIX 4.3.
5673
5674 Reported-by: Kim Minjoong
5675
5676 Closes #1178
5677
5678- RELEASE-NOTES: synced with a7b38c9dc98481e
5679
5680- vtls: s/SSLEAY/OPENSSL
5681
5682 Fixed an old leftover use of the USE_SSLEAY define which would make a
5683 socket get removed from the applications sockets to monitor when the
5684 multi_socket API was used, leading to timeouts.
5685
5686 Bug: #1174
5687
5688- docs/ciphers: link to our own new page about ciphers
5689
5690 ... as the former ones always go stale!
5691
5692- cmdline-opts/page-footer: add three more exit codes
5693
5694 ... and regenerated curl.1
5695
5696- formdata: use NULL, not 0, when returning pointers
5697
5698- ftp: failure to resolve proxy should return that error code
5699
5700- configure: accept --with-libidn2 instead
5701
5702 ... which the help text already implied since we switched to libidn2
5703 from libidn in commit 9c91ec778104ae3b back in October 2016.
5704
5705 Reported-by: Christian Weisgerber
5706 Bug: https://curl.haxx.se/mail/lib-2016-12/0110.html
5707
5708- test1282: verify the ftp-gss check
5709
5710- ftp-gss: check for init before use
5711
5712 To avoid dereferencing a NULL pointer.
5713
5714 Reported-by: Daniel Romero
5715
5716Jay Satiro (24 Dec 2016)
5717- build-wolfssl: Sync config with wolfSSL 3.10
5718
5719 wolfSSL configure script relevant changes from 3.9 to 3.10:
5720
5721 - DES3 no longer enabled by default
5722 - Shamir no longer enabled by default
5723 - Extended master secret enabled by default
5724 - RSA and ECC timing protections enabled by default
5725
5726 For backwards compatibility I enabled DES3 and ECC shamir config options
5727 (ie no change from 3.9), and the other changes are included.
5728
5729- cyassl: use time_t instead of long for timeout
5730
5731Daniel Stenberg (23 Dec 2016)
5732- bump: toward next release
5733
5734- http: remove "Curl_http_done: called premature" message
5735
5736 ... it only confuses people.
5737
5738- openssl-random: check return code when asking for random
5739
5740 and fail appropriately if it returns error
5741
5742- gnutls-random: check return code for failed random
5743
5744Version 7.52.1 (22 Dec 2016)
5745
5746Daniel Stenberg (22 Dec 2016)
5747- RELEASE-NOTES: curl 7.52.1
5748
5749- lib557.c: use a shorter MAXIMIZE representation
5750
5751 Since several compilers had problems with the previous one
5752
5753 Reported-by: Ray Satiro
5754 Bug: https://curl.haxx.se/mail/lib-2016-12/0098.html
5755
5756- runtests: remove the valgrind parser
5757
5758 Old legacy parsing that 1) hid problems for us and 2) probably isn't
5759 needed anymore.
5760
5761- [Kamil Dudka brought this change]
5762
5763 randit: store the value in the buffer
5764
5765- tests/Makefile: run checksrc on debug builds
5766
5767 ... just like we already do in src/ and lib/
5768
5769- lib557: move the "enable LONGLINE" to allow more long lines
5770
5771 This file is riddled with them...
5772
5773- bump: toward next release
5774
5775Marcel Raad (21 Dec 2016)
5776- lib: fix MSVC compiler warnings
5777
5778 Visual C++ complained:
5779 warning C4267: '=': conversion from 'size_t' to 'long', possible loss of data
5780 warning C4701: potentially uninitialized local variable 'path' used
5781
5782Version 7.52.0 (20 Dec 2016)
5783
5784Daniel Stenberg (20 Dec 2016)
5785- THANKS: 13 new contributors from 7.52.0
5786
5787- RELEASE-NOTES: 7.52.0
5788
5789- ssh: inhibit coverity warning with (void)
5790
5791 CID 1397391 (#1 of 1): Unchecked return value (CHECKED_RETURN)
5792
5793- Curl_recv_has_postponed_data: silence compiler warnings
5794
5795 Follow-up to d00f2a8f2
5796
5797Jay Satiro (19 Dec 2016)
5798- tests: checksrc compliance
5799
5800- http_proxy: Fix proxy CONNECT hang on pending data
5801
5802 - Check for pending data before waiting on the socket.
5803
5804 Bug: https://github.com/curl/curl/issues/1156
5805 Reported-by: Adam Langley
5806
5807Daniel Stenberg (19 Dec 2016)
5808- cmdline-opts/tlsv1.d: rephrased
5809
5810- [Dan McNulty brought this change]
5811
5812 schannel: fix wildcard cert name validation on Win CE
5813
5814 Fixes a few issues in manual wildcard cert name validation in
5815 schannel support code for Win32 CE:
5816 - when comparing the wildcard name to the hostname, the wildcard
5817 character was removed from the cert name and the hostname
5818 was checked to see if it ended with the modified cert name.
5819 This allowed cert names like *.com to match the connection
5820 hostname. This violates recommendations from RFC 6125.
5821 - when the wildcard name in the certificate is longer than the
5822 connection hostname, a buffer overread of the connection
5823 hostname buffer would occur during the comparison of the
5824 certificate name and the connection hostname.
5825
5826- printf: fix floating point buffer overflow issues
5827
5828 ... and add a bunch of floating point printf tests
5829
5830- config-amigaos.h: (embarrassed) made the line shorter
5831
5832- config-amigaos.h: fix bug report email reference
5833
5834- RELEASE-NOTES: synced with 4517158abfeba
5835
5836- CIPHERS.md: backtick the names to show underscores fine
5837
5838- form-string.d: fix format mistake
5839
5840 and regenerated curl.1
5841
5842 Reported-by: Gisle Vanem
5843
5844Michael Kaufmann (18 Dec 2016)
5845- openssl: simplify expression in Curl_ossl_version
5846
5847- curl_easy_recv: Improve documentation and example program
5848
5849 Follow-up to 82245ea: Fix the example program sendrecv.c (handle
5850 CURLE_AGAIN, handle incomplete send). Improve the documentation
5851 for curl_easy_recv() and curl_easy_send().
5852
5853 Reviewed-by: Frank Meier
5854 Assisted-by: Jay Satiro
5855
5856 See https://github.com/curl/curl/pull/1134
5857
5858- [Isaac Boukris brought this change]
5859
5860 Curl_getconnectinfo: avoid checking if the connection is closed
5861
5862 It doesn't benefit us much as the connection could get closed at
5863 any time, and also by checking we lose the ability to determine
5864 if the socket was closed by reading zero bytes.
5865
5866 Reported-by: Michael Kaufmann
5867
5868 Closes https://github.com/curl/curl/pull/1134
5869
5870Daniel Stenberg (18 Dec 2016)
5871- CIPHERS.md: attempt to document TLS cipher names
5872
5873 As the official docs seems really hard to keep track of and link to over
5874 time
5875
5876- curl.1: generated after 6cce4dbf830
5877
5878- cmdline-opts/post30X.d: fix the RFC references
5879
5880- curl.1: regenerated
5881
5882 Fixed trailing whitespace and numerous formatting glitches
5883
5884- cmdline-opts: formatting fixes
5885
5886- curl_easy_setopt.3: removed CURLOPT_SOCKS_PROXYTYPE
5887
5888- tool_getparam.c: make comments use the up-to-date option names
5889
5890- manpage-scan.pl: allow deprecated options to get removed from curl.1
5891
5892 --krb4, --ftp-ssl and --ftp-ssl-reqd no longer need to be documented in the
5893 man page
5894
5895- cmdline-opts/gen.pl: trim off trailing spaces
5896
5897- cmdline-opts/proxy-tlsuser.d: remove trailing .d
5898
5899- curl_easy_setopt.3: CURLOPT_PRE_PROXY instead of CURLOPT_SOCKS_PROXY
5900
5901- symbols: removed two, added one
5902
5903- cmdline-opts: include the man page split up files in the dist
5904
5905- curl.1: generated with gen.pl
5906
5907 This is the first time we replace the manually edited curt.1 with the
5908 generated one created by gen.pl and the individual option documentation
5909 pages.
5910
5911 Do not edit this file, edit the individual pages and regenerate this
5912 output.
5913
5914 This file will be generated by the build system soon and then removed
5915 from git.
5916
5917- cmdline-opts: added some missing info
5918
5919- CURLINFO_SSL_VERIFYRESULT.3: language
5920
5921- HTTPS-PROXY docs: update/polish
5922
5923- cmdline-opts/page-header: mention it is generated
5924
5925 ... to avoid people from trying to edit the pending curl.1 version that
5926 gets generated by gen.pl
5927
5928- preproxy: renamed what was added as SOCKS_PROXY
5929
5930 CURLOPT_SOCKS_PROXY -> CURLOPT_PRE_PROXY
5931
5932 Added the corresponding --preroxy command line option. Sets a SOCKS
5933 proxy to connect to _before_ connecting to a HTTP(S) proxy.
5934
5935- curl: normal socks proxies still use CURLOPT_PROXY
5936
5937 ... the newly introduced CURLOPT_SOCKS_PROXY is special and should be
5938 asked for specially. (Needs new code.)
5939
5940 Unified proxy type to a single variable in the config struct.
5941
5942- CURLOPT_SOCKS_PROXYTYPE: removed
5943
5944 This was added as part of the SOCKS+HTTPS proxy merge but there's no
5945 need to support this as we prefer to have the protocol specified as a
5946 prefix instead.
5947
5948- curl_multi_socket.3: fix typo
5949
5950- checksrc: warn for assignments within if() expressions
5951
5952 ... they're already frowned upon in our source code style guide, this
5953 now enforces the rule harder.
5954
5955- checksrc: stricter no-space-before-paren enforcement
5956
5957 In order to make the code style more uniform everywhere
5958
5959- ISSUE_TEMPLATE: try mentioning known bugs/todo in new issue template
5960
5961- RELEASE-NOTES: synced with 71a55534fa6
5962
5963- [Adam Langley brought this change]
5964
5965 openssl: don't use OpenSSL's ERR_PACK.
5966
5967 ERR_PACK is an internal detail of OpenSSL. Also, when using it, a
5968 function name must be specified which is overly specific: the test will
5969 break whenever OpenSSL internally change things so that a different
5970 function creates the error.
5971
5972 Closes #1157
5973
5974Dan Fandrich (5 Dec 2016)
5975- test2032: Mark test as flaky
5976
5977Jay Satiro (3 Dec 2016)
5978- [Jeremy Pearson brought this change]
5979
5980 libcurl-multi.3: typo
5981
5982 Closes https://github.com/curl/curl/pull/1153
5983
5984Dan Fandrich (2 Dec 2016)
5985- test1281: added http as a required feature
5986
5987Daniel Stenberg (2 Dec 2016)
5988- curl: support zero-length argument strings in config files
5989
5990 ... like 'user-agent = ""'
5991
5992 Adjusted test 71 to verify.
5993
5994- http_proxy: simplify CONNECT response reading
5995
5996 Since it now reads responses one byte a time, a loop could be removed
5997 and it is no longer limited to get the whole response within 16K, it is
5998 now instead only limited to 16K maximum header line lengths.
5999
6000- tests: fix CONNECT test cases to be more strict
6001
6002 ... as they broke with the cleaned up CONNECT handling
6003
6004- CONNECT: read responses one byte at a time
6005
6006 ... so that it doesn't read data that is actually coming from the
6007 remote. 2xx responses have no body from the proxy, that data is from the
6008 peer.
6009
6010 Fixes #1132
6011
6012- CONNECT: reject TE or CL in 2xx responses
6013
6014 A server MUST NOT send any Transfer-Encoding or Content-Length header
6015 fields in a 2xx (Successful) response to CONNECT. (RFC 7231 section
6016 4.3.6)
6017
6018 Also fixes the three test cases that did this.
6019
6020- URL parser: reject non-numerical port numbers
6021
6022 Test 1281 added to verify
6023
6024Dan Fandrich (30 Nov 2016)
6025- runtests: made Servers: output be more consistent by removing OFF
6026
6027- cyassl: fixed typo introduced in 4f8b1774
6028
6029Michael Kaufmann (30 Nov 2016)
6030- CURLOPT_CONNECT_TO: Skip non-matching "connect-to" entries properly
6031
6032 If a port number in a "connect-to" entry does not match, skip this
6033 entry instead of connecting to port 0.
6034
6035 If a port number in a "connect-to" entry matches, use this entry
6036 and look no further.
6037
6038 Reported-by: Jay Satiro
6039 Assisted-by: Jay Satiro, Daniel Stenberg
6040
6041 Closes #1148
6042
6043Daniel Stenberg (29 Nov 2016)
6044- BUGS: describe bug handling process
6045
6046- RELEASE-NOTES: synced with 19613fb3
6047
6048Jay Satiro (28 Nov 2016)
6049- http2: check nghttp2_session_set_local_window_size exists
6050
6051 The function only exists since nghttp2 1.12.0.
6052
6053 Bug: https://github.com/curl/curl/commit/a4d8888#commitcomment-19985676
6054 Reported-by: Michael Kaufmann
6055
6056Daniel Stenberg (28 Nov 2016)
6057- [Anders Bakken brought this change]
6058
6059 http2: Fix crashes when parent stream gets aborted
6060
6061 Closes #1125
6062
6063- cmdline-docs: more options converted and fixed
6064
6065 Now all options are in the new system.
6066
6067- gen: include footer in mainpage output
6068
6069Jay Satiro (28 Nov 2016)
6070- lib1536: checksrc compliance
6071
6072Daniel Stenberg (28 Nov 2016)
6073- cmdline-opts: more command line options documented
6074
6075 Moved over to the new format
6076
6077- curl: remove --proxy-ssl* options
6078
6079 There's mostly likely no need to allow setting SSLv2/3 version for HTTPS
6080 proxy. Those protocols are insecure by design and deprecated.
6081
6082- CURLOPT_PROXY_*.3: polished some proxy option man pages
6083
6084Patrick Monnerat (26 Nov 2016)
6085- os400: support CURLOPT_PROXY_PINNEDPUBLICKEY
6086
6087 Also define it in ILE/RPG binding.
6088
6089Daniel Stenberg (26 Nov 2016)
6090- [Okhin Vasilij brought this change]
6091
6092 curl_version_info: add CURL_VERSION_HTTPS_PROXY
6093
6094 Closes #1142
6095
6096- [Frank Gevaerts brought this change]
6097
6098 tests: Add some testcases for recent new features.
6099
6100 Add missing tests for CURLINFO_SCHEME, CURLINFO_PROTOCOL, %{scheme},
6101 and %{http_version}
6102
6103 closes #1143
6104
6105- [Frank Gevaerts brought this change]
6106
6107 curl_easy_reset: clear info for CULRINFO_PROTOCOL and CURLINFO_SCHEME
6108
6109- CURLOPT_PROXY_CAINFO.3: clarify proxy use
6110
6111- CURLOPT_PROXY_CRLFILE.3: clarify https proxy and availability
6112
6113- curl_easy_setopt.3: add CURLOPT_PROXY_PINNEDPUBLICKEY
6114
6115 Follow-up to 4f8b17743d7c55a
6116
6117- docs: include all opts man pages in dist
6118
6119 Sorted the lists too.
6120
6121 ... and include the new ones in the PDF and HTML generation targets
6122
6123- [Thomas Glanzmann brought this change]
6124
6125 HTTPS Proxy: Implement CURLOPT_PROXY_PINNEDPUBLICKEY
6126
6127- [Thomas Glanzmann brought this change]
6128
6129 url: proxy: Use 443 as default port for https proxies
6130
6131- TODO: removed "HTTPS proxy"
6132
6133- [Jan-E brought this change]
6134
6135 winbuild: add config option ENABLE_NGHTTP2
6136
6137 Closes #1141
6138
6139Jay Satiro (24 Nov 2016)
6140- tool_urlglob: Improve sanity check in glob_range
6141
6142 Prior to this change we depended on errno if strtol could not perform a
6143 conversion. POSIX says EINVAL *may* be set. Some implementations like
6144 Microsoft's will not set it if there's no conversion.
6145
6146 Ref: https://github.com/curl/curl/commit/ee4f7660#commitcomment-19658189
6147
6148- tool_help: Change description for --retry-connrefused
6149
6150 Ref: https://github.com/curl/curl/pull/1064#issuecomment-260052409
6151
6152Patrick Monnerat (25 Nov 2016)
6153- os400: sync ILE/RPG binding
6154
6155Jay Satiro (24 Nov 2016)
6156- test1135: Fix curl_easy_duphandle prototype for code style
6157
6158 Follow-up to dbadaeb which changed the style.
6159
6160- x509asn1: Restore the parameter check in Curl_getASN1Element
6161
6162 - Restore the removed parts of the parameter check.
6163
6164 Follow-up to 945f60e which altered the parameter check.
6165
6166Daniel Stenberg (25 Nov 2016)
6167- RELEASE-NOTES: update option counters
6168
6169- [Frank Gevaerts brought this change]
6170
6171 add CURLINFO_SCHEME, CURLINFO_PROTOCOL, and %{scheme}
6172
6173 Adds access to the effectively used protocol/scheme to both libcurl and
6174 curl, both in string and numeric (CURLPROTO_*) form.
6175
6176 Note that the string form will be uppercase, as it is just the internal
6177 string.
6178
6179 As these strings are declared internally as const, and all other strings
6180 returned by curl_easy_getinfo() are de-facto const as well, string
6181 handling in getinfo.c got const-ified.
6182
6183 Closes #1137
6184
6185- RELEASE-NOTES: synced with 63198a4750aeb
6186
6187- curl.1: the new --proxy options ship in 7.52.0
6188
6189- checksrc: move open braces to comply with function declaration style
6190
6191- checksrc: detect wrongly placed open braces in func declarations
6192
6193- checksrc: white space edits to comply to stricter checksrc
6194
6195- checksrc: verify ASTERISKNOSPACE
6196
6197 Detects (char*) and 'char*foo' uses.
6198
6199- checksrc: code style: use 'char *name' style
6200
6201- checksrc: add ASTERISKSPACE
6202
6203 Verifies a 'char *name' style, with no space after the asterisk.
6204
6205- openssl: remove dead code
6206
6207 Coverity CID 1394666
6208
6209- [Okhin Vasilij brought this change]
6210
6211 HTTPS-proxy: fixed mbedtls and polishing
6212
6213- darwinssl: adopted to the HTTPS proxy changes
6214
6215 It builds and runs all test cases. No adaptations for actual HTTPS proxy
6216 support has been made.
6217
6218- gtls: fix indent to silence compiler warning
6219
6220 vtls/gtls.c: In function ‘Curl_gtls_data_pending’:
6221 vtls/gtls.c:1429:3: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation]
6222 if(conn->proxy_ssl[connindex].session &&
6223 ^~
6224 vtls/gtls.c:1433:5: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
6225 return res;
6226
6227- [Thomas Glanzmann brought this change]
6228
6229 mbedtls: Fix compile errors
6230
6231- [Alex Rousskov brought this change]
6232
6233 proxy: Support HTTPS proxy and SOCKS+HTTP(s)
6234
6235 * HTTPS proxies:
6236
6237 An HTTPS proxy receives all transactions over an SSL/TLS connection.
6238 Once a secure connection with the proxy is established, the user agent
6239 uses the proxy as usual, including sending CONNECT requests to instruct
6240 the proxy to establish a [usually secure] TCP tunnel with an origin
6241 server. HTTPS proxies protect nearly all aspects of user-proxy
6242 communications as opposed to HTTP proxies that receive all requests
6243 (including CONNECT requests) in vulnerable clear text.
6244
6245 With HTTPS proxies, it is possible to have two concurrent _nested_
6246 SSL/TLS sessions: the "outer" one between the user agent and the proxy
6247 and the "inner" one between the user agent and the origin server
6248 (through the proxy). This change adds supports for such nested sessions
6249 as well.
6250
6251 A secure connection with a proxy requires its own set of the usual SSL
6252 options (their actual descriptions differ and need polishing, see TODO):
6253
6254 --proxy-cacert FILE CA certificate to verify peer against
6255 --proxy-capath DIR CA directory to verify peer against
6256 --proxy-cert CERT[:PASSWD] Client certificate file and password
6257 --proxy-cert-type TYPE Certificate file type (DER/PEM/ENG)
6258 --proxy-ciphers LIST SSL ciphers to use
6259 --proxy-crlfile FILE Get a CRL list in PEM format from the file
6260 --proxy-insecure Allow connections to proxies with bad certs
6261 --proxy-key KEY Private key file name
6262 --proxy-key-type TYPE Private key file type (DER/PEM/ENG)
6263 --proxy-pass PASS Pass phrase for the private key
6264 --proxy-ssl-allow-beast Allow security flaw to improve interop
6265 --proxy-sslv2 Use SSLv2
6266 --proxy-sslv3 Use SSLv3
6267 --proxy-tlsv1 Use TLSv1
6268 --proxy-tlsuser USER TLS username
6269 --proxy-tlspassword STRING TLS password
6270 --proxy-tlsauthtype STRING TLS authentication type (default SRP)
6271
6272 All --proxy-foo options are independent from their --foo counterparts,
6273 except --proxy-crlfile which defaults to --crlfile and --proxy-capath
6274 which defaults to --capath.
6275
6276 Curl now also supports %{proxy_ssl_verify_result} --write-out variable,
6277 similar to the existing %{ssl_verify_result} variable.
6278
6279 Supported backends: OpenSSL, GnuTLS, and NSS.
6280
6281 * A SOCKS proxy + HTTP/HTTPS proxy combination:
6282
6283 If both --socks* and --proxy options are given, Curl first connects to
6284 the SOCKS proxy and then connects (through SOCKS) to the HTTP or HTTPS
6285 proxy.
6286
6287 TODO: Update documentation for the new APIs and --proxy-* options.
6288 Look for "Added in 7.XXX" marks.
6289
6290Patrick Monnerat (24 Nov 2016)
6291- Declare endian read functions argument as a const pointer.
6292 This is done for all functions of the form Curl_read[136][624]_[lb]e.
6293
6294- Limit ASN.1 structure sizes to 256K. Prevent some allocation size overflows.
6295 See CRL-01-006.
6296
6297Jay Satiro (22 Nov 2016)
6298- url: Fix conn reuse for local ports and interfaces
6299
6300 - Fix connection reuse for when the proposed new conn 'needle' has a
6301 specified local port but does not have a specified device interface.
6302
6303 Bug: https://curl.haxx.se/mail/lib-2016-11/0137.html
6304 Reported-by: bjt3[at]hotmail.com
6305
6306Daniel Stenberg (21 Nov 2016)
6307- rand: pass in number of randoms as an unsigned argument
6308
6309Jay Satiro (20 Nov 2016)
6310- rand: Fix potentially uninitialized result warning
6311
6312Marcel Raad (19 Nov 2016)
6313- vtls: fix build warnings
6314
6315 Fix warnings about conversions from long to time_t in openssl.c and
6316 schannel.c.
6317
6318 Follow-up to de4de4e3c7c
6319
6320Daniel Stenberg (18 Nov 2016)
6321- [Marcel Raad brought this change]
6322
6323 lib: fix compiler warnings after de4de4e3c7c
6324
6325 Visual C++ now complains about implicitly casting time_t (64-bit) to
6326 long (32-bit). Fix this by changing some variables from long to time_t,
6327 or explicitly casting to long where the public interface would be
6328 affected.
6329
6330 Closes #1131
6331
6332Peter Wu (17 Nov 2016)
6333- [Isaac Boukris brought this change]
6334
6335 Don't mix unix domain sockets with regular ones
6336
6337 When reusing a connection, make sure the unix domain
6338 socket option matches.
6339
6340Jay Satiro (17 Nov 2016)
6341- tests: Fix HTTP2-Settings header for huge window size
6342
6343 Follow-up to a4d8888. Changing the window size in that commit resulted
6344 in a different HTTP2-Settings upgrade header, causing test 1800 to fail.
6345
6346- http2: Use huge HTTP/2 windows
6347
6348 - Improve performance by using a huge HTTP/2 window size.
6349
6350 Bug: https://github.com/curl/curl/issues/1102
6351 Reported-by: afrind@users.noreply.github.com
6352 Assisted-by: Tatsuhiro Tsujikawa
6353
6354Daniel Stenberg (16 Nov 2016)
6355- cmdline-docs: more conversion
6356
6357- gen: support 'protos'
6358
6359 and warn on unrecognized lines
6360
6361- gen: support 'single' to make an individual page man page
6362
6363- cmdline-docs: more options converted over
6364
6365- gen: support 'redirect'
6366
6367 ... and warn for too long --help lines
6368
6369- cmdline/gen: replace options in texts better
6370
6371Jay Satiro (16 Nov 2016)
6372- http2: Fix address sanitizer memcpy warning
6373
6374 - In Curl_http2_switched don't call memcpy when src is NULL.
6375
6376 Curl_http2_switched can be called like:
6377
6378 Curl_http2_switched(conn, NULL, 0);
6379
6380 .. and prior to this change memcpy was then called like:
6381
6382 memcpy(dest, NULL, 0)
6383
6384 .. causing address sanitizer to warn:
6385
6386 http2.c:2057:3: runtime error: null pointer passed as argument 2, which
6387 is declared to never be null