-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCHANGES.txt
7219 lines (4426 loc) · 195 KB
/
CHANGES.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
_ _ ____ _
___| | | | _ \| |
/ __| | | | |_) | |
| (__| |_| | _ <| |___
\___|\___/|_| \_\_____|
Changelog
Version 7.70.0 (29 Apr 2020)
Daniel Stenberg (29 Apr 2020)
- RELEASE-NOTES: 7.70.0
- THANKS: synced with the 7.70.0 release
- headers: copyright range fix
- [Rikard Falkeborn brought this change]
doh: Constify some input pointers
Closes #5306
- nss: check for PK11_CreateDigestContext() returning NULL
... to avoid crashes!
Reported-by: Hao Wu
Fixes #5302
Closes #5303
- travis: bump the wolfssl CI build to use 4.4.0
Closes #5301
- copyright updates: adjust year ranges
Marc Hoersken (26 Apr 2020)
- CI: do not include */ci branches in PR builds
Align Azure Pipelines with GitHub Actions.
Daniel Stenberg (25 Apr 2020)
- runtests: check for the disabled tests relative srcdir
To make it work correctly for out-of-tree builds.
Follow-up to 75e8feb6fb08b
Bug: https://github.com/curl/curl/pull/5288#issuecomment-619346389
Reported-by: Marcel Raad
Closes #5297
- runtests: revert commenting out a line I did for debugging
Follow-up to 11091cd4d. It was not meant to be pushed!
- smtp: set auth correctly
Regression since 7.69.0 and 68fb25fa3fcff.
The code wrongly assigned 'from' instead of 'auth' which probably was a
copy and paste mistake from other code, leading to that auth could
remain NULL and later cause an error to be returned.
Assisted-by: Eric Sauvageau
Fixes #5294
Closes #5295
Marcel Raad (25 Apr 2020)
- lib: clean up whitespace
This fixes CodeFactor warnings.
Daniel Stenberg (25 Apr 2020)
- [Anderson Toshiyuki Sasaki brought this change]
libssh: avoid options override by configuration files
Previously, options set explicitly through command line options could be
overridden by the configuration files parsed automatically when
ssh_connect() was called.
By calling ssh_options_parse_config() explicitly, the configuration
files are parsed before setting the options, avoiding the options
override. Once the configuration files are parsed, the automatic
configuration parsing is not executed.
Fixes #4972
Closes #5283
Signed-off-by: Anderson Toshiyuki Sasaki <[email protected]>
- runtests: when <killserver> mentions http, kill http/2 too
Since the http2 test server is a mere proxy that needs to know about the
dynamic port the HTTP server is using, it too needs to get restarted
when the http server is killed.
A regression caused by 80d6515.
Fixes #5289
Closes #5291
- [Yuri Slobodyanyuk brought this change]
docs: fix two typos
Closes #5292
- [Emil Engler brought this change]
tests/git: ignore mqttd and port files
Closes #5290
- tests: make runtests check that disabled tests exists
... and error out if so. Removed '536' from DISABLED as there is no such
test file.
Closes #5288
- test1154: set a proper name
- select: make Curl_socket_check take timediff_t timeout
Coverity found CID 1461718:
Integer handling issues (CONSTANT_EXPRESSION_RESULT) "timeout_ms >
9223372036854775807L" is always false regardless of the values of its
operands. This occurs as the logical second operand of "||".
Closes #5240
- [i-ky brought this change]
libcurl-multi.3: added missing full stop
Closes #5285
Jay Satiro (22 Apr 2020)
- transfer: Switch PUT to GET/HEAD on 303 redirect
Prior to this change if there was a 303 reply to a PUT request then
the subsequent request to respond to that redirect would also be a PUT.
It was determined that was most likely incorrect based on the language
of the RFCs. Basically 303 means "see other" resource, which implies it
is most likely not the same resource, therefore we should not try to PUT
to that different resource.
Refer to the discussions in #5237 and #5248 for more information.
Fixes https://github.com/curl/curl/issues/5237
Closes https://github.com/curl/curl/pull/5248
Daniel Stenberg (22 Apr 2020)
- lib/mk-ca-bundle: skip empty certs
Reviewed-by: Emil Engler
Reported-by: Ashwin Metpalli
Fixes #5278
Closes #5280
- version: skip idn2_check_version() check and add precaution
A gcc-10's -fanalyze complaint made me spot and do these improvements.
Closes #5281
- RELEASE-NOTES: synced
- [Brian Bergeron brought this change]
curl.h: update comment typo
"routines with be invoked" -> "routines will be invoked"
Closes #5279
- [Emil Engler brought this change]
GnuTLS: Don't skip really long certificate fields
Closes #5271
- gnutls: bump lowest supported version to 3.1.10
GnuTLS 3.1.10 added new functions we want to use. That version was
released on Mar 22, 2013. Removing support for older versions also
greatly simplifies the code.
Ref: #5271
Closes #5276
- mqtt: make NOSTATE get within the debug name array
- tests: run the RTSP test server on a dynamic port number
To avoid port collisions.
Closes #5272
- tests: add %NOLISTENPORT and use it
The purpose with this variable is to provide a port number that is
reasonably likely to not have a listener on the local host so that tests
can try connect failures against it. It uses port 47 - "reserved"
according to IANA.
Updated six tests to use it instead of the previous different ports.
Assisted-by: Emil Engler
Closes #5270
- mqtt: remove code with no purpose
Detected by Coverity. CID 1462319.
"The same code is executed when the condition result is true or false,
because the code in the if-then branch and after the if statement is
identical."
Closes #5275
- mqtt: fix Curl_read() error handling while reading remaining length
Detected by Coverity. CID 1462320.
Closes #5274
- server/tftpd: fix compiler warning
Follow-up from 369ce38ac1d
Reported-by: Marc Hörsken
- http: free memory when Alt-Used header creation fails due to OOM
Reported-by: James Fuller
Fixes #5268
Closes #5269
Daniel Gustafsson (20 Apr 2020)
- lib: fix typos in comments and errormessages
This fixes a few randomly spotted typos in recently merged code, most
notably one in a userfacing errormessage the schannel code.
Daniel Stenberg (20 Apr 2020)
- tests: run the SOCKS test server on a dynamic port number
Closes #5266
- [Johannes Schindelin brought this change]
multi-ssl: reset the SSL backend on `Curl_global_cleanup()`
When cURL is compiled with support for multiple SSL backends, it is
possible to configure an SSL backend via `curl_global_sslset()`, but
only *before* `curl_global_init()` was called.
If another SSL backend should be used after that, a user might be
tempted to call `curl_global_cleanup()` to start over. However, we did
not foresee that use case and forgot to reset the SSL backend in that
cleanup.
Let's allow that use case.
Fixes #5255
Closes #5257
Reported-by: davidedec on github
Signed-off-by: Johannes Schindelin <[email protected]>
- tests: run the TFTP test server on a dynamic port number
Picking a dynamic unused port is better than a fixed to avoid the
collision risk.
Closes #5265
- mqtt: improve the state machine
To handle PUBLISH before SUBACK and more.
Updated the existing tests and added three new ones.
Reported-by: Christoph Krey
Bug: https://curl.haxx.se/mail/lib-2020-04/0021.html
Closes #5246
- runtests: always put test number in servercmd file
- RELEASE-NOTES: synced
- release-notes.pl: fix parsing typo
James Fuller (20 Apr 2020)
- [xquery brought this change]
ensure all references to ports are replaced by vars
- [xquery brought this change]
add more alt-svc test coverage
Daniel Stenberg (20 Apr 2020)
- test1247: use http server to get the port number set
Follow-up to 0f5db7b263f
- runtests: use a unix domain socket path with the pid in the name
To make it impossible for test cases to access the file name without
using the proper variable for the purpose.
Closes #5264
Daniel Gustafsson (19 Apr 2020)
- [Tom brought this change]
src: Remove C99 constructs to ensure C89 compliance
This fixes the error: 'for' loop initial declaration used outside C99
mode by declaring the loop increment variable in the beginning of the
block instead of inside the for loop.
Fixes #5254
Reviewed-by: Daniel Gustafsson <[email protected]>
Daniel Stenberg (19 Apr 2020)
- runtests: dummy init the ports variables to avoid warnings
... and generate something that can help debug test cases.
- [Patrick Monnerat brought this change]
mime: properly check Content-Type even if it has parameters
New test 669 checks this fix is effective.
Fixes #5256
Closes #5258
Reported-by: thanhchungbtc on github
- tests/FILEFORMAT: converted to markdown and extended
Closes #5261
- test1245: make it work with dynamic FTP server port
- test1055: make it work with dynamic FTP port
- test1028: make it run on dynamic FTP server port
- tests: move pingpong server to dynamic listening port
FTP, IMAP, POP3, SMTP and their IPv6 versions are now all on dynamic
ports
Test 842-845 are unfortunately a bit hard to move over to this concept
right now and require "default port" still...
- test1056: work with dynamic HTTP ipv6 port
- test1448: work with dynamic HTTP server port
- tests: introduce preprocessed test cases
The runtests script now always performs variable replacement on the
entire test source file before the test gets executed, and saves the
updated version in a temporary file (log/test[num]) so that all test
case readers/servers can use that version (if present) and thus enjoy
the powers of test case variable substitution.
This is necessary to allow complete port number freedom.
Test 309 is updated to work with a non-fixed port number thanks to this.
- tests: make 2006-2010 handle different port number lengths
- tests: run the sws server on "any port"
Makes the test servers for HTTP and Gopher pop up on a currently unused
port and runtests adapts to that!
Closes #5247
Marc Hoersken (18 Apr 2020)
- sockfilt: tidy variable naming and data structure in select_ws
This commit does not introduce any logical changes to the code.
Reviewed-by: Jay Satiro and Marcel Raad
Closes #5238
Daniel Stenberg (17 Apr 2020)
- [Anderson Toshiyuki Sasaki brought this change]
libssh: Use new ECDSA key types to check known hosts
From libssh 0.9.0, ssh_key_type() returns different key types for ECDSA
keys depending on the curve.
Signed-off-by: Anderson Toshiyuki Sasaki <[email protected]>
Fixes #5252
Closes #5253
Marcel Raad (17 Apr 2020)
- appveyor: add Unicode winbuild jobs
These are cheap as they don't build tests.
Closes https://github.com/curl/curl/pull/5063
Daniel Stenberg (16 Apr 2020)
- mqttd: s/errno/SOCKERRNO
To behave proper on Windows
Reported-by: Gisle Vanem
Bug: https://github.com/curl/curl/commit/5e855bbd18f84a02c951be7cac6188276818cdac#r38507132
Closes #5241
- buildconf: use find -execdir instead, remove -print and the ares files
Follow-up to 1e41bec96a6e
Suggested-by: Marc Hörsken
- [Alexander V. Tikhonov brought this change]
buildconf: avoid using tempfile when removing files
Closes #5213
- copyright: bump the copyright year range
- scripts/release-notes.pl: accept colon after the Fixes/Closes keywords
- [JP Mens brought this change]
docs/MQTT: replace confusing 80 by 75
I was a bit surprised by the `80`: first thought: what's HTTP doing
here? ;)
Closes #5236
- [Brad King brought this change]
cmake: Avoid MSVC C4273 warnings in send/recv checks
We use `check_c_source_compiles` to check possible send/recv signatures
by reproducing the forward declarations from system headers. On Windows
the `winsock2.h` header adds dll linkage settings to its forward
declaration. If ours does not match the compiler warns:
warning C4273: 'recv': inconsistent dll linkage
Add `WINSOCK_API_LINKAGE` to our test signatures when it is defined so
that our linkage is consistent with that from `winsock2.h`.
Fixes #4764
Closes #5232
Jay Satiro (14 Apr 2020)
- KNOWN_BUGS: Add entry 'Blocking socket operations'
- Add threaded resolver cleanup and GSSAPI for FTP to the TODO list of
known blocking operations.
- New known bugs entry 'Blocking socket operations in non-blocking API'
that directs to the TODO's list of known blocking operations.
Ref: https://github.com/curl/curl/pull/5214#issuecomment-612488021
Reported-by: Marc Hoersken
Closes https://github.com/curl/curl/pull/5216
Marc Hoersken (14 Apr 2020)
- test2043: use revoked.badssl.com instead of revoked.grc.com
The certificate of revoked.grc.com has expired on 2020-04-13.
Reviewed-by: Jay Satiro
Closes #5233
- sockfilt: fix broken pipe on Windows to be ready in select_ws
Closes #5228
Daniel Stenberg (14 Apr 2020)
- RELEASE-NOTES: synced
- scripts/release-notes: fix duplicate output header
- github/workflow: enable MQTT in the macOS debug build
- azure: add mqtt support to one of the Windows builds
- travis: add mqtt job on Linux
- tests: add four MQTT tests 1190 - 1193
- tests: add the mqtt test server mqttd
- tests: support hex encoded data and mqtt server
The mqtt server is started using a "random" port.
- [Björn Stenberg brought this change]
mqtt: add new experimental protocol
Closes #5173
- TODO: Consider convenience options for JSON and XML?
Closes #5203
- tool: do not declare functions with Curl_ prefix
To avoid collision risks with private libcurl symbols when linked with
static versions (or just versions not hiding internal symbols).
Reported-by: hydra3333 on github
Fixes #5219
Closes #5234
- [Nathaniel R. Lewis brought this change]
cmake: add aliases so exported target names are available in tree
Reviewed-by: Brad King
Closes #5206
- version: increase buffer space for ssl version output
To avoid it getting truncated, especially when several SSL backends are
built-in.
Reported-by: Gisle Vanem
Fixes #5222
Closes #5226
Marc Hoersken (13 Apr 2020)
- cirrus: no longer ignore test 504 which is working again
The test is working again, because TCP blackholing is disabled.
- appveyor: completely disable tests that fail to timeout early
The tests changed from ignored to disabled are tests that are
about connecting to non-listening socket. On AppVeyor these
tests are not reliable, because for some unknown reason the
connect is not timing out before the test time limit is reached.
Daniel Stenberg (13 Apr 2020)
- test1908: avoid using fixed port number in test data
Closes #5225
Jay Satiro (12 Apr 2020)
- [Andrew Kurushin brought this change]
schannel: Fix blocking timeout logic
- Fix schannel_send for the case when no timeout was set.
Prior to this change schannel would error if the socket was not ready
to send data and no timeout was set.
This commit is similar to parent commit 89dc6e0 which recently made the
same change for SOCKS, for the same reason. Basically it was not well
understood that when Curl_timeleft returns 0 it is not a timeout of 0 ms
but actually means no timeout.
Fixes https://github.com/curl/curl/issues/5177
Closes https://github.com/curl/curl/pull/5221
- socks: Fix blocking timeout logic
- Document in Curl_timeleft's comment block that returning 0 signals no
timeout (ie there's infinite time left).
- Fix SOCKS' Curl_blockread_all for the case when no timeout was set.
Prior to this change if the timeout had a value of 0 and that was passed
to SOCKET_READABLE it would return right away instead of blocking. That
was likely because it was not well understood that when Curl_timeleft
returns 0 it is not a timeout of 0 ms but actually means no timeout.
Ref: https://github.com/curl/curl/pull/5214#issuecomment-612512360
Closes https://github.com/curl/curl/pull/5220
- [Marc Hoersken brought this change]
gopher: check remaining time left during write busy loop
Prior to this change gopher's blocking code would block forever,
ignoring any set timeout value.
Assisted-by: Jay Satiro
Reviewed-by: Daniel Stenberg
Similar to #5220 and #5221
Closes #5214
Daniel Stenberg (13 Apr 2020)
- [Dirkjan Bussink brought this change]
gnutls: ensure TLS 1.3 when SRP isn't requested
When SRP is requested in the priority string, GnuTLS will disable
support for TLS 1.3. Before this change, curl would always add +SRP to
the priority list, effectively always disabling TLS 1.3 support.
With this change, +SRP is only added to the priority list when SRP
authentication is also requested. This also allows updating the error
handling here to not have to retry without SRP. This is because SRP is
only added when requested and in that case a retry is not needed.
Closes #5223
Marc Hoersken (12 Apr 2020)
- tests/server: add hidden window to gracefully handle WM_CLOSE
Forward Window events as signals to existing signal event handler.
- tests/server: add CTRL event handler for Win32 consoles
Forward CTRL events as signals to existing signal event handler.
- tests/server: move all signal handling routines to util.[ch]
Avoid code duplication to prepare for portability enhancements.
Daniel Stenberg (12 Apr 2020)
- compressed.d: stress that the headers are not modified
Suggested-by: Michael Osipov
Assisted-by: Jay Satiro
Bug: https://github.com/curl/curl/issues/5182#issuecomment-611638008
Closes #5217
Marc Hoersken (11 Apr 2020)
- tests/server/util.c: use curl_off_t instead of long for pid
Avoid potential overflow of huge PIDs on Windows.
Related to #5188
Assisted-by: Marcel Raad
- tests: use Cygwin/msys PIDs for stunnel and sshd on Windows
Since the Windows versions of both programs would write Windows
PIDs to their pidfiles which we cannot handle, we need to use
our known perl.exe Cygwin/msys PID together with exec() in order
to tie the spawned processes to the existance of our perl.exe
The perl.exe that is executing secureserver.pl and sshserver.pl
has a Cygwin/msys PID, because it is started inside Cygwin/msys.
Related to #5188
- tests: add Windows compatible pidwait like pidkill and pidterm
Related to #5188
- tests: fix conflict between Cygwin/msys and Windows PIDs
Add 65536 to Windows PIDs to allow Windows specific treatment
by having disjunct ranges for Cygwin/msys and Windows PIDs.
See also:
- https://cygwin.com/git/?p=newlib-cygwin.git;a=commit; ↵
h=b5e1003722cb14235c4f166be72c09acdffc62ea
- https://cygwin.com/git/?p=newlib-cygwin.git;a=commit; ↵
h=448cf5aa4b429d5a9cebf92a0da4ab4b5b6d23fe
Replaces #5178
Closes #5188
Daniel Stenberg (11 Apr 2020)
- RELEASE-NOTES: synced
- release-notes.pl: detect the start of the references in cleanup mode
- Revert "file: on Windows, refuse paths that start with \\"
This reverts commit 1b71bc532bde8621fd3260843f8197182a467ff2.
Reminded-by: Chris Roberts
Bug: https://curl.haxx.se/mail/archive-2020-04/0013.html
Closes #5215
Jay Satiro (11 Apr 2020)
- lib: fix conversion warnings for SOCKET_WRITABLE/READABLE
- If loss of data may occur converting a timediff_t to time_t and
the time value is > TIME_T_MAX then treat it as TIME_T_MAX.
This is a follow-up to 8843678 which removed the (time_t) typecast
from the macros so that conversion warnings could be identified.
Closes https://github.com/curl/curl/pull/5199
- test1148: tolerate progress updates better (again)
- Ignore intermediate progress updates.
- Support locales that use a character other than period as decimal
separator (eg 100,0%).
test1148 checks that the progress finishes at 100% and has the right
bar width. Prior to this change the test assumed that the only progress
reported for such a quick transfer was 100%, however in rare instances
(like in the CI where transfer time can slow considerably) there may be
intermediate updates. For example, below is stderrlog1148 from a failed
CI run with explicit \r and \n added (it is one line; broken up so that
it's easier to understand).
\r
\r################################## 48.3%
\r######################################################################## 100.0%
\n
Closes https://github.com/curl/curl/pull/5194
Marc Hoersken (10 Apr 2020)
- sshserver.pl: use cached Win32 environment check variable
- appveyor: partially revert 3413a110 to keep build without proxy
Ref: #5211 and #4526
Reported-by: Marcel Raad
- appveyor: ignore failing 'connect to non-listening proxy' tests
Closes #5211
- CI/macos: convert CRLF to LF and align indentation
Daniel Stenberg (9 Apr 2020)
- url: allow non-HTTPS altsvc-matching for debug builds
This is already partly supported but this part was missing.
Reported-by: James Fuller
Closes #5205
- server/resolve: remove AI_CANONNAME to make macos tell the truth
With this bit set, my mac successfully resolves "ip6-localhost" when in
fact there is no such host known to my machine! That in turn made test
241 wrongly execute and fail.
Closes #5202
- runtests: fix warning about using an undefined variable
Follow-up from 4d939ef6ceb2db1
- release-notes: fix the initial reference list output
- github actions: run when pushed to master or */ci + PRs
Avoid double-builds when using "local" branches for PRs. For both macos
and fuzz jobs.
Closes #5201
- runtests: provide nicer errormsg when protocol "dump" file is empty
- [Gilles Vollant brought this change]
schannel: support .P12 or .PFX client certificates
Used with curl command line option like this: --cert
<filename>:<password> --cert-type p12
Closes #5193
- tests: verify split initial HTTP requests with CURL_SMALLREQSEND
test1294: "split request" being when the entire request isn't sent in
the first go, and the remainder is sent in the PERFORM state. A GET
request is otherwise not sending anything during PERFORM.
test1295: same kind of split but with POST
Closes #5197
- http: don't consider upload done if the request isn't completely sent off
Fixes #4919
Closes #5197
- http: allow Curl_add_buffer_send() to do a short first send by force
In a debug build, settting the environment variable "CURL_SMALLREQSEND"
will make the first HTTP request send not send more bytes than the set
amount, thus ending up verifying that the logic for handling a split
HTTP request send works correctly.
- connect: store connection info for QUIC connections
Restores the --head functionality to the curl utility which extracts
'protocol' that is stored that way.
Reported-by: James Fuller
Fixes #5196
Closes #5198
- tests/README: update the port numbers list
Since the pipelining server is long gone.
Reported-by: James Fuller
- select: remove typecast from SOCKET_WRITABLE/READABLE macros
So that they don't hide conversions-by-mistake
Reviewed-by: Jay Satiro
Closes #5190
- CURLOPT_WRITEFUNCTION.3: add inline example and new see-also
Closes #5192
- release-notes: output trailing references sorted numerically
- cleanup: correct copyright year range on a few files
- configure: remove use of -vec-report0 from CFLAGS with icc
... as it apparently isn't (always) supported.
Reported-by: Alain Miniussi
Fixes #5096
Closes #5191
- warnless: remove code block for icc that didn't work
Reported-by: Alain Miniussi
Fixes #5096
Marc Hoersken (6 Apr 2020)
- dist: add missing setup-win32.h
Follow up to d820224b8b
Daniel Stenberg (6 Apr 2020)
- RELEASE-NOTES: synced
- scripts/release-notes.pl: add helper script for RELEASE-NOTES maintenance
This script helps putting entries in the RELEASE-NOTES using a coherent
style and sorting with a minimal human editing effort - as long as the
first line in the commit message is good enough! There's a short howto
at the top of the file.
- [Dennis Felsing brought this change]
configure: don't check for Security.framework when cross-compiling
Since it checks for the local file, not the cross-compiled one.
Closes #5189
- TODO: Option to make -Z merge lined based outputs on stdout
Closes #5175
- lib: never define CURL_CA_BUNDLE with a getenv
- it breaks the build (since 6de756c9b1de34b7a1)
- it's not documented and not consistent across platforms
- the curl tool does that getenv magic
Bug: https://github.com/curl/curl/commit/6de756c#r38127030
Reported-by: Gisle Vanem
Closes #5187
Marc Hoersken (5 Apr 2020)
- lib670: use the same Win32 API check as all other lib tests
- appveyor: use random test server ports based upon APPVEYOR_API_URL
Avoid conflicts of test server ports with AppVeyor API on localhost.
Closes #5034
- appveyor: sort builds by type and add two new variants
Related to #5034 and #5063
- appveyor: show failed tests in log even if test is ignored
And print API response with newline only if there is one
- appveyor: turn disabled tests into ignored result tests
Daniel Stenberg (5 Apr 2020)
- KNOWN_BUGS: fixed "USE_UNIX_SOCKETS on Windows"
Fixed with #5170 (commit 23a870f2fd041278)
- test1566: verify --etag-compare that gets a 304 back
Verifies the fix in #5183
Closes #5186
- [Kwon-Young Choi brought this change]
CURLINFO_CONDITION_UNMET: return true for 304 http status code
In libcurl, CURLINFO_CONDITION_UNMET is used to avoid writing to the
output file if the server did not transfered a file based on time
condition. In the same manner, getting a 304 HTTP response back from the
server, for example after passing a custom If-Match-* header, also
fulfill this condition.
Fixes #5181
Closes #5183
- [Kwon-Young Choi brought this change]
curl: allow both --etag-compare and --etag-save with same file name
This change inverse the order of processing for the --etag-compare and
--etag-save option to process first --etag-compare. This in turn allows
to use the same file name to compare and save an etag.
The original behavior of not failing if the etag file does not exists is
conserved.
Fixes #5179
Closes #5180
Viktor Szakats (4 Apr 2020)
- windows: enable UnixSockets with all build toolchains
Extend existing unix socket support in Windows builds to be
enabled for all toolchain vendors or versions. (Previously
it was only supported with certain MSVC versions + more recent
Windows 10 SDKs)
Ref: https://devblogs.microsoft.com/commandline/af_unix-comes-to-windows/
Ref: https://github.com/curl/curl/issues/5162
Closes: https://github.com/curl/curl/pull/5170
Daniel Stenberg (4 Apr 2020)
- KNOWN_BUGS: Store TLS context per transfer instead of per connection
Closes #5102
Marc Hoersken (3 Apr 2020)
- sockfilt: remove redundancy in timeout handling
And update other logmsg output in select_ws on Windows.
- sockfilt: fix handling of ready closed sockets on Windows
Replace the incomplete workaround regarding FD_CLOSE
only signalling once by instead doing a pre-check with
standard select and storing the result for later use.
select keeps triggering on closed sockets on Windows while
WSAEventSelect fires only once with data still available.
By doing the pre-check we do not run in a deadlock
due to waiting forever for another FD_CLOSE event.
- sockfilt: fix race-condition of waiting threads and event handling
Fix race-condition of waiting threads finishing while events are
already being processed which lead to invalid or skipped events.
Use mutex to check for one event at a time or do post-processing.
In addition to mutex-based locking use specific event as signal.
Closes #5156
Daniel Stenberg (2 Apr 2020)
- [Leo Neat brought this change]
CI-fuzz: increase fuzz time to 40 minutes
Closes #5174
Marc Hoersken (2 Apr 2020)
- CI: increase Azure Pipelines timeouts due to performance issues
The current demand on Azure negatively impacts the CI performance.
- runtests.pl: log host OS as detected by Perl environment