-
Notifications
You must be signed in to change notification settings - Fork 2
/
CHANGES
5860 lines (3769 loc) · 196 KB
/
CHANGES
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.30.0 (12 Apr 2013)
Daniel Stenberg (12 Apr 2013)
- RELEASE-NOTES: cleaned up for 7.30 (synced with 5c5e1a1cd20)
Most notable the security advisory:
http://curl.haxx.se/docs/adv_20130412.html
- test1218: another cookie tailmatch test
... and make 1216 also verify it with a file input
These tests verify commit 3604fde3d3c9b0d, the fix for the "cookie
domain tailmatch" vulnerability. See
http://curl.haxx.se/docs/adv_20130412.html
- [YAMADA Yasuharu brought this change]
cookie: fix tailmatching to prevent cross-domain leakage
Cookies set for 'example.com' could accidentaly also be sent by libcurl
to the 'bexample.com' (ie with a prefix to the first domain name).
This is a security vulnerabilty, CVE-2013-1944.
Bug: http://curl.haxx.se/docs/adv_20130412.html
Guenter Knauf (11 Apr 2013)
- Enabled MinGW sync resolver builds.
Yang Tse (10 Apr 2013)
- if2ip.c: fix compiler warning
Guenter Knauf (10 Apr 2013)
- Fixed lost OpenSSL output with "-t" - followup.
The previously applied patch didnt work on Windows; we cant rely
on shell commands like 'echo' since they act diffently on each
platform and each shell.
In order to keep this script platform-independent the code must
only use pure Perl.
Daniel Stenberg (9 Apr 2013)
- test1217: verify parsing 257 responses with "rubbish" before path
Test 1217 verifies commit e0fb2d86c9f78, and without that change this
test fails.
- [Bill Middlecamp brought this change]
FTP: handle "rubbish" in front of directory name in 257 responses
When doing PWD, there's a 257 response which apparently some servers
prefix with a comment before the path instead of after it as is
otherwise the norm.
Failing to parse this, several otherwise legitimate use cases break.
Bug: http://curl.haxx.se/mail/lib-2013-04/0113.html
Guenter Knauf (9 Apr 2013)
- Fixed ares-enabled builds with static makefiles.
- Fixed lost OpenSSL output with "-t".
The OpenSSL pipe wrote to the final CA bundle file, but the encoded PEM
output wrote to a temporary file. Consequently, the OpenSSL output was
lost when the temp file was renamed to the final file at script finish
(overwriting the final file written earlier by openssl).
Patch posted to the list by Richard Michael (rmichael edgeofthenet org).
Daniel Stenberg (9 Apr 2013)
- test1216: test tailmatching cookie domains
This test is an attempt to repeat the problem YAMADA Yasuharu reported
at http://curl.haxx.se/mail/lib-2013-04/0108.html
- RELEASe-NOTES: synced with 29fdb2700f797
added "tcpkeepalive on Mac OS X"
Nick Zitzmann (8 Apr 2013)
- darwinssl: disable insecure ciphers by default
I noticed that aria2's SecureTransport code disables insecure ciphers such
as NULL, anonymous, IDEA, and weak-key ciphers used by SSLv3 and later.
That's a good idea, and now we do the same thing in order to prevent curl
from accessing a "secure" site that only negotiates insecure ciphersuites.
Daniel Stenberg (8 Apr 2013)
- [Robert Wruck brought this change]
tcpkeepalive: Support CURLOPT_TCP_KEEPIDLE on OSX
MacOS X doesn't have TCP_KEEPIDLE/TCP_KEEPINTVL but only a single
TCP_KEEPALIVE (see
http://developer.apple.com/library/mac/#DOCUMENTATION/Darwin/Reference/ManPages/man4/tcp.4.html).
Here is a patch for CURLOPT_TCP_KEEPIDLE on OSX platforms.
- configure: remove CURL_CHECK_FUNC_RECVFROM
1 - We don't use the results from the test and we never did. recvfrom()
is only used by the TFTP code and it has not caused any problems.
2 - the CURL_CHECK_FUNC_RECVFROM function is extremely slow
Steve Holme (8 Apr 2013)
- RELEASE-NOTES: Corrected duplicate NTLM memory leaks
- RELEASE-NOTES: Removed trailing full stop
Daniel Stenberg (8 Apr 2013)
- [Fabian Keil brought this change]
proxy: make ConnectionExists() check credential of proxyconnections too
Previously it only compared credentials if the requested needle
connection wasn't using a proxy. This caused NTLM authentication
failures when using proxies as the authentication code wasn't send on
the connection where the challenge arrived.
Added test 1215 to verify: NTLM server authentication through a proxy
(This is a modified copy of test 67)
- RELEASE-NOTES: sync with 704a5dfca9
- TODO-RELEASE: cleaned up, not really maintained lately
Marc Hoersken (7 Apr 2013)
- if2ip.c: Fixed another warning: unused parameter 'remote_scope'
Daniel Stenberg (7 Apr 2013)
- [Marc Hoersken brought this change]
cookie.c: Made cookie sort function more deterministic
Since qsort implementations vary with regards to handling the order
of similiar elements, this change makes the internal sort function
more deterministic by comparing path length first, then domain length
and finally the cookie name. Spotted with testcase 62 on Windows.
Marc Hoersken (7 Apr 2013)
- curl_schannel.c: Follow up on memory leak fix ae4558d
- Revert "getpart.pm: Strip carriage returns to fix Windows support"
This reverts commit e51b23c925a2721cf7c29b2b376d3d8903cfb067.
As discussed on the mailinglist, this was not the correct approach.
- http_negotiate.c: Fixed passing argument from incompatible pointer type
- ftp.c: Added missing brackets around ABOR command logic
- sockfilt.c: Fixed detection of client-side connection close
WINSOCK only:
Since FD_CLOSE is only signaled once, it may trigger at the same
time as FD_READ. Data actually being available makes it impossible
to detect that the connection was closed by checking that recv returns
zero. Another recv attempt could block the connection if it was
not closed. This workaround abuses exceptfds in conjunction with
readfds to signal that the connection has actually closed.
- curl_schannel.c: Fixed memory leak if connection was not successful
- if2ip.c: Fixed warning: unused parameter 'remote_scope'
- runtests.pl: Fixed --verbose parameter passed to http_pipe.py
- sockfilt.c: Reduce CPU load while running under a Windows PIPE
- tftpd.c: Apply sread timeout to the whole data transfer session
- getpart.pm: Strip carriage returns to fix Windows support
Daniel Stenberg (6 Apr 2013)
- ftp tests: libcurl returns CURLE_FTP_ACCEPT_FAILED better now
Since commit 57aeabcc1a20f, it handles errors on the control connection
while waiting for the data connection better.
Test 591 and 592 are updated accordingly.
- FTP: wait on both connections during active STOR state
When doing PORT and upload (STOR), this function needs to extract the
file descriptor for both connections so that it will respond immediately
when the server eventually connects back.
This flaw caused active connections to become unnecessary slow but they
would still often work due to the normal polling on a timeout. The bug
also would not occur if the server connected back very fast, like when
testing on local networks.
Bug: http://curl.haxx.se/bug/view.cgi?id=1183
Reported by: Daniel Theron
Marc Hoersken (6 Apr 2013)
- tftpd.c: Follow up cleanup and restore of previous sockopt
Daniel Stenberg (6 Apr 2013)
- [Kim Vandry brought this change]
connect: treat an interface bindlocal() problem as a non-fatal error
I am using curl_easy_setopt(CURLOPT_INTERFACE, "if!something") to force
transfers to use a particular interface but the transfer fails with
CURLE_INTERFACE_FAILED, "Failed binding local connection end" if the
interface I specify has no IPv6 address. The cause is as follows:
The remote hostname resolves successfully and has an IPv6 address and an
IPv4 address.
cURL attempts to connect to the IPv6 address first.
bindlocal (in lib/connect.c) fails because Curl_if2ip cannot find an
IPv6 address on the interface.
This is a fatal error in singleipconnect()
This change will make cURL try the next IP address in the list.
Also included are two changes related to IPv6 address scope:
- Filter the choice of address in Curl_if2ip to only consider addresses
with the same scope ID as the connection address (mismatched scope for
local and remote address does not result in a working connection).
- bindlocal was ignoring the scope ID of addresses returned by
Curl_if2ip . Now it uses them.
Bug: http://curl.haxx.se/bug/view.cgi?id=1189
Marc Hoersken (6 Apr 2013)
- tftpd.c: Fixed sread timeout on Windows by setting it manually
- ftp.pm: Added tskill to support Windows XP Home
- runtests.pl: Modularization of MinGW/Msys compatibility functions
- ftp.pm: Made Perl testsuite able to handle Windows processes
- util.c: Revert workaround eeefcdf, 6eb56e7 and e3787e8
- ftp.pm: Made Perl testsuite able to kill Windows processes
- util.c: Follow up cleanup on eeefcdf
Daniel Stenberg (6 Apr 2013)
- cpp: use #ifdef __MINGW32__ to avoid compiler complaints
... instead of just #if
Marc Hoersken (6 Apr 2013)
- util.c: Made write_pidfile write the correct PID on MinGW/Msys
This workaround fixes an issue on MinGW/Msys regarding the Perl
testsuite scripts not being able to signal or control the server
processes. The MinGW Perl runtime only sees the Msys processes and
their corresponding PIDs, but sockfilt (and other servers) wrote the
Windows PID into their PID-files. Since this PID is useless to the
testsuite, the write_pidfile function was changed to search for the
Msys PID and write that into the PID-file.
Daniel Stenberg (5 Apr 2013)
- RELEASE-NOTES: synced with 5e722b2d09087
3 more bug fixes, 6 more contributors
Marc Hoersken (5 Apr 2013)
- sockfilt.c: Fixed handling of multiple fds being signaled
Kamil Dudka (5 Apr 2013)
- curl_global_init.3: improve description of CURL_GLOBAL_ALL
Reported by: Tomas Mlcoch
- examples/multi-single.c: fix the order of destructions
... so that it adheres to the API documentation.
Reported by: Tomas Mlcoch
Daniel Stenberg (5 Apr 2013)
- Curl_open: restore default MAXCONNECTS to 5
At some point recently we lost the default value for the easy handle's
connection cache, and this change puts it back to 5 - which is the
former default value and it is documented in the curl_easy_setopt.3 man
page.
Marc Hoersken (4 Apr 2013)
- sockfilt.c: Added wrapper functions to fix Windows console issues
The new read and write wrapper functions support reading from stdin
and writing to stdout/stderr on Windows by using the appropriate
Windows API functions and data types.
Yang Tse (4 Apr 2013)
- lib1509.c: fix compiler warnings
- easy.c: fix compiler warning
Daniel Stenberg (4 Apr 2013)
- --engine: spellfix the help message
Reported by: Fredrik Thulin
Yang Tse (4 Apr 2013)
- http_negotiate.c: follow-up for commit 3dcc1a9c
Linus Nielsen Feltzing (4 Apr 2013)
- easy: Fix the broken CURLOPT_MAXCONNECTS option
Copy the CURLOPT_MAXCONNECTS option to CURLMOPT_MAXCONNECTS in
curl_easy_perform().
Bug: http://curl.haxx.se/bug/view.cgi?id=1212
Reported-by: Steven Gu
Guenter Knauf (4 Apr 2013)
- Updated copyright date.
- Another small output fix for --help and --version.
Yang Tse (4 Apr 2013)
- http_negotiate.c: fix several SPNEGO memory handling issues
Guenter Knauf (4 Apr 2013)
- Added a cont to specify base64 line wrap.
- Fixed version output.
- Added support for --help and --version options.
- Added option to specify length of base64 output.
Based on a patch posted to the list by Richard Michael.
Daniel Stenberg (3 Apr 2013)
- curl_easy_setopt.3: CURLOPT_HTTPGET disables CURLOPT_UPLOAD
- [Yasuharu Yamada brought this change]
Curl_cookie_add: only increase numcookies for new cookies
Count up numcookies in Curl_cookie_add() only when cookie is new one
- SO_SNDBUF: don't set SNDBUF for win32 versions vista or later
The Microsoft knowledge-base article
http://support.microsoft.com/kb/823764 describes how to use SNDBUF to
overcome a performance shortcoming in winsock, but it doesn't apply to
Windows Vista and later versions. If the described SNDBUF magic is
applied when running on those more recent Windows versions, it seems to
instead have the reversed effect in many cases and thus make libcurl
perform less good on those systems.
This fix thus adds a run-time version-check that does the SNDBUF magic
conditionally depending if it is deemed necessary or not.
Bug: http://curl.haxx.se/bug/view.cgi?id=1188
Reported by: Andrew Kurushin
Tested by: Christian Hägele
Nick Zitzmann (1 Apr 2013)
- darwinssl: additional descriptive messages of SSL handshake errors
(This doesn't need to appear in the release notes.)
Guenter Knauf (1 Apr 2013)
- Added dns and connect time to output.
Daniel Stenberg (1 Apr 2013)
- RELEASE-NOTES: synced with 0614b902136
- code-policed
- tcpkeepalive: support TCP_KEEPIDLE/TCP_KEEPINTVL on win32
Patch by: Robert Wruck
Bug: http://curl.haxx.se/bug/view.cgi?id=1209
- BINDINGS: BBHTTP is a cocoa binding, Julia has a binding
- ftp_sendquote: use PPSENDF, not FTPSENDF
The last remaining code piece that still used FTPSENDF now uses PPSENDF.
In the problematic case, a PREQUOTE series was done on a re-used
connection when Curl_pp_init() hadn't been called so it had messed up
pointers. The init call is done properly from Curl_pp_sendf() so this
change fixes this particular crash.
Bug: http://curl.haxx.se/mail/lib-2013-03/0319.html
Reported by: Sam Deane
Steve Holme (27 Mar 2013)
- RELEASE-NOTES: Corrected typo
Daniel Stenberg (27 Mar 2013)
- [Clemens Gruber brought this change]
multi-uv.c: remove unused variable
- RELEASE-NOTES: add two references
- test1509: verify proxy header response headers count
Modified sws to support and use custom CONNECT responses instead of the
previously naive hard-coded version. Made the HTTP test server able to
extract test case number from the host name in a CONNECT request by
finding the number after the last dot. It makes 'machine.moo.123' use
test case 123.
Adapted a larger amount of tests to the new <connect> style.
Bug: http://curl.haxx.se/bug/view.cgi?id=1204
Reported by: Martin Jansen
- [Clemens Gruber brought this change]
Added libuv example multi-uv.c
Yang Tse (25 Mar 2013)
- NTLM: fix several NTLM code paths memory leaks
- WIN32 MemoryTracking: track wcsdup() _wcsdup() and _tcsdup() usage
As of 25-mar-2013 wcsdup() _wcsdup() and _tcsdup() are only used in
WIN32 specific code, so tracking of these has not been extended for
other build targets. Without this fix, memory tracking system on
WIN32 builds, when using these functions, would provide misleading
results.
In order to properly extend this support for all targets curl.h
would have to define curl_wcsdup_callback prototype and consequently
wchar_t should be visible before that in curl.h. IOW curl_wchar_t
defined in curlbuild.h and this pulling whatever system header is
required to get wchar_t definition.
Additionally a new curl_global_init_mem() function that also receives
user defined wcsdup() callback would be required.
- curl_ntlm_msgs.c: revert commit 463082bea4
reverts unreleased invalid memory leak fix
Daniel Stenberg (23 Mar 2013)
- RELEASE-NOTES: synced with bc6037ed3ec02
More changes, bugfixes and contributors!
- [Martin Jansen brought this change]
Curl_proxyCONNECT: count received headers
Proxy servers tend to add their own headers at the beginning of
responses. The size of these headers was not taken into account by
CURLINFO_HEADER_SIZE before this change.
Bug: http://curl.haxx.se/bug/view.cgi?id=1204
Steve Holme (21 Mar 2013)
- sasl: Corrected a few violations of the curl coding standards
Corrected some incorrectly positioned pointer variable declarations to
be "char *" rather than "char* ".
- multi.c: Corrected a couple of violations of the curl coding standards
Corrected some incorrectly positioned pointer variable declarations to
be "type *" rather than "type* ".
- imap-tests: Added CRLF to reply data to be compliant with RFC-822
Updated the reply data in tests: 800, 801, 802, 804 and 1321 to possess
the CRLF as per RFC-822.
- multi.c: Fix compilation warning
warning: an enumerated type is mixed with another type
- multi.c: fix compilation error
warning: conversion from enumeration type to different enumeration type
- lib1900.c: fix compilation warning
warning: declaration of 'time' shadows a global declaration
Yang Tse (20 Mar 2013)
- [John E. Malmberg brought this change]
build_vms.com: use existing curlbuild.h and parsing fix
This patch removes building curlbuild.h from the build_vms.com procedure
and uses the one in the daily or release tarball instead.
packages/vms/build_curlbuild_h.com is obsolete with this change.
Accessing the library module name "tool_main" needs different handling
when the optional extended parsing is enabled.
Tested on IA64/VMS 8.4 and VAX/VMS 7.3
Nick Zitzmann (19 Mar 2013)
- darwinssl: disable ECC ciphers under Mountain Lion by default
I found out that ECC doesn't work as of OS X 10.8.3, so those ciphers are
turned off until the next point release of OS X.
Steve Holme (18 Mar 2013)
- FEATURES: Small tidy up for constancy and grammar
Daniel Stenberg (18 Mar 2013)
- [Oliver Schindler brought this change]
Curl_proxyCONNECT: clear 'rewindaftersend' on success
After having done a POST over a CONNECT request, the 'rewindaftersend'
boolean could be holding the previous value which could lead to badness.
This should be tested for in a new test case!
Bug: https://groups.google.com/d/msg/msysgit/B31LNftR4BI/KhRTz0iuGmUJ
Steve Holme (18 Mar 2013)
- TODO: Reordered the protocol and security sections
Moved SMTP, POP3, IMAP and New Protocol sections to be listed after the
other protocols (FTP, HTTP and TELNET) and SASL to be after SSL and
GnuTLS as these are all security related.
Additionally fixed numbering of the SSL and GnuTLS sections as they
weren't consecutive.
Yang Tse (18 Mar 2013)
- tests: specify 'text' mode for some output files in verify section
Steve Holme (17 Mar 2013)
- imap: Fixed incorrect initial response generation for SASL AUTHENTICATE
Fixed incorrect initial response generation for the NTLM and LOGIN SASL
authentication mechanisms when the SASL-IR was detected.
Introduced in commit: 6da7dc026c14.
- FEATURES: Expanded the supported enhanced IMAP command list
- TODO: Corrected typo in TOC
- TODO: Added IMAP section and removed unused Other protocols section
- TODO: Added graceful base64 decoding failure to SMTP and POP3
- TODO: Corrected typo on section 10.2 heading
Yang Tse (16 Mar 2013)
- tests: 96, 558, 1330: strip build subdirectory dependent leading path
Steve Holme (15 Mar 2013)
- TODO: Added section 10.2 Initial response to POP3 to do list
- imap-tests: Corrected copy/paste error in test808 reply data
Yang Tse (15 Mar 2013)
- unit1330.c: fix date
- tests: add #96 #558 and #1330
These verfy that the 'memory tracking' subsystem is actually doing its
job when using curl tool (#96), a test in libtest (#558) and also a unit
test (#1330), in order to prevent regressions in this functionallity.
Steve Holme (15 Mar 2013)
- imap-tests: Added test808 for custom EXAMINE command
Daniel Stenberg (15 Mar 2013)
- HTTP proxy: insert slash in URL if missing
curl has been accepting URLs using slightly wrong syntax for a long
time, such as when completely missing as slash "http://example.org" or
missing a slash when a query part is given
"http://example.org?q=foobar".
curl would translate these into a legitimate HTTP request to servers,
although as was shown in bug #1206 it was not adjusted properly in the
cases where a HTTP proxy was used.
Test 1213 and 1214 were added to the test suite to verify this fix.
The test HTTP server was adjusted to allow us to specify test number in
the host name only without using any slashes in a given URL.
Bug: http://curl.haxx.se/bug/view.cgi?id=1206
Reported by: ScottJi
Steve Holme (14 Mar 2013)
- ftpserver.pl: Added EXAMINE_imap() for IMAP EXAMINE commands
Used hard coded data from RFC-3501 section 6.3.2.
Yang Tse (14 Mar 2013)
- curl_memory.h: introduce CURLX_NO_MEMORY_CALLBACKS usage possibility
This commit alone does not fix anything nor modifies existing
interfaces or behaviors, although it is a prerequisite for other
fixes.
- Makefile.vc6: add missing files
Linus Nielsen Feltzing (14 Mar 2013)
- pipelining: Remove dead code.
- Multiple pipelines and limiting the number of connections.
Introducing a number of options to the multi interface that
allows for multiple pipelines to the same host, in order to
optimize the balance between the penalty for opening new
connections and the potential pipelining latency.
Two new options for limiting the number of connections:
CURLMOPT_MAX_HOST_CONNECTIONS - Limits the number of running connections
to the same host. When adding a handle that exceeds this limit,
that handle will be put in a pending state until another handle is
finished, so we can reuse the connection.
CURLMOPT_MAX_TOTAL_CONNECTIONS - Limits the number of connections in total.
When adding a handle that exceeds this limit,
that handle will be put in a pending state until another handle is
finished. The free connection will then be reused, if possible, or
closed if the pending handle can't reuse it.
Several new options for pipelining:
CURLMOPT_MAX_PIPELINE_LENGTH - Limits the pipeling length. If a
pipeline is "full" when a connection is to be reused, a new connection
will be opened if the CURLMOPT_MAX_xxx_CONNECTIONS limits allow it.
If not, the handle will be put in a pending state until a connection is
ready (either free or a pipe got shorter).
CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE - A pipelined connection will not
be reused if it is currently processing a transfer with a content
length that is larger than this.
CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE - A pipelined connection will not
be reused if it is currently processing a chunk larger than this.
CURLMOPT_PIPELINING_SITE_BL - A blacklist of hosts that don't allow
pipelining.
CURLMOPT_PIPELINING_SERVER_BL - A blacklist of server types that don't allow
pipelining.
See the curl_multi_setopt() man page for details.
Yang Tse (13 Mar 2013)
- tool_main.c: remove redundant vms_show storage-class specifier
vms_show 'extern' storage-class specifier removed from tool_main.c due to...
- Advice from Tor Arntsen: http://curl.haxx.se/mail/lib-2013-03/0164.html
- HP OpenVMS docs stating that 'Extern is the default storage class for
variables declared outside a function.'
http://h71000.www7.hp.com/commercial/c/docs/dec_c_help_5.html
(Storage_Classes section)
- test509: libcurl initialization with memory callbacks and actual usage
Steve Holme (13 Mar 2013)
- pop3: Removed unnecessary transfer cancellation
Following commit e450f66a02d8 and the changes in the multi interface
being used internally, from 7.29.0, the transfer cancellation in
pop3_dophase_done() is no longer required.
Yang Tse (13 Mar 2013)
- Makefile.am: add VMS files not being included in tarball
- [Tom Grace brought this change]
build_vms.com: VMS build fixes
Added missing slash in cc_full_list.
Removed unwanted extra quotes inside symbol tool_main
for non-VAX architectures that triggered link failure.
Replaced curl_sys_inc with sys_inc.
- [Tom Grace brought this change]
tool_main.c: fix VMS global variable storage-class specifier
An extern submits a psect and a global reference to the linker to point
to it. Using "extern int vms_show = 0" also creates a globaldef.
The use of the extern by itself does declare a psect but does not declare
a globalsymbol. It does declare a globalref. But the linker needs one and
only one globaldef or there is an error.
Patrick Monnerat (12 Mar 2013)
- OS400: synchronize RPG binding
Steve Holme (12 Mar 2013)
- pop3: Fixed continuous wait when using --ftp-list
Don't initiate a transfer when using --ftp-list.
Kamil Dudka (12 Mar 2013)
- [Zdenek Pavlas brought this change]
curl_global_init: accept the CURL_GLOBAL_ACK_EINTR flag
The flag can be used in pycurl-based applications where using the multi
interface would not be acceptable because of the performance lost caused
by implementing the select() loop in python.
Bug: http://curl.haxx.se/bug/view.cgi?id=1168
Downstream Bug: https://bugzilla.redhat.com/919127
- easy: do not ignore poll() failures other than EINTR
Yang Tse (12 Mar 2013)
- curl.h: stricter CURL_EXTERN linkage decorations logic
No API change involved.
Info: http://curl.haxx.se/mail/lib-2013-02/0234.html
Daniel Stenberg (11 Mar 2013)
- THANKS: Latin-1'ified Jiri's name
Steve Holme (11 Mar 2013)
- test806: Added CRLF to reply data to be compliant with RFC-822
Daniel Stenberg (11 Mar 2013)
- test805: added crlf newlines to make data size match
since mails sent are supposed to have CRLF line endings I added them and
now the data size after (\Seen) matches again properly
- test: fix newline for the data check of 807
Yang Tse (11 Mar 2013)
- test801 to test807: fix protocol section line endings
Steve Holme (10 Mar 2013)
- Makefile.am: Corrected a couple of spurious tab characters
Corrected a couple of tab characters between test702 and test703, and
between test900 and test901 which should be spaces.
- [Jiri Hruska brought this change]
imap: Added test807 for custom request functionality (STORE)
- [Jiri Hruska brought this change]
imap: Added test806 for IMAP (folder) LIST command
- [Jiri Hruska brought this change]
imap: Added test805 for APPEND functionality
- [Jiri Hruska brought this change]
imap: Added test804 for skipping SELECT if in the same mailbox
- [Jiri Hruska brought this change]
imap: Added test802 and test803 for UIDVALIDITY verification
Added one test for a request with matching UIDVALIDITY and one which is
a mismatched request that will fail.
- [Jiri Hruska brought this change]
imap: Added test801 for UID and SECTION URL parameters
- [Jiri Hruska brought this change]
imap-tests: Accept quoted parameters in ftpserver.pl
Any IMAP parameter can come in escaped and in double quotes. Added a
simple function to unquote the command parameters and applied it to
the IMAP command handlers.
- [Jiri Hruska brought this change]
tests: Fix ftpserver.pl indentation
The whole of FETCH_imap() had one extra space of indentation, whilst
APPEND_imap() used indentation of 2 instead of 4 in places.
- Makefile.am: Corrected end of line filler character
The majority of lines, that specify a test file for inclusion, end with
a tab character before the slash whilst some end with a space. Corrected
those that end with a space to end with a tab character as well.
- email-tests: Updated the test data that corresponds to the test number
Finished segregating the email protocol tests, into their own protocol
based ranges, in preparation of adding more e-mail related tests to the
test suite.
- email-tests: Renamed the IMAP test to be 800
Continued segregating the email protocol tests, into their own protocol
based ranges, in preparation of adding more e-mail related tests to the
test suite.
- email-tests: Renamed the SMTP tests to be in the range 900-906
Continued segregating the email protocol tests, into their own protocol
based ranges, in preparation of adding more e-mail related tests to the
test suite.
- email-tests: Renamed the POP3 tests to be in the range 850-857
Started segregating the email protocol tests, into their own protocol
based ranges, in preparation of adding more e-mail related tests to the
test suite.
Daniel Stenberg (10 Mar 2013)
- hiperfifo: updated to use current libevent API
Patch by: Myk Taylor
Steve Holme (10 Mar 2013)
- imap: Reworked some function descriptions
- imap: Added some missing comments to imap_sendf()
- email: Removed hard returns from init functions
Daniel Stenberg (9 Mar 2013)
- curl_multi_wait: avoid second loop if nothing to do
... hopefully this will also make clang-analyzer stop warning on
potentional NULL dereferences (which were false positives anyway).
- multi_runsingle: avoid NULL dereference
When Curl_do() returns failure, the connection pointer could be NULL so
the code path following needs to that that into account.
Bug: http://curl.haxx.se/mail/lib-2013-03/0062.html
Reported by: Eric Hu
Steve Holme (9 Mar 2013)
- imap: Re-factored all perform based functions
Standardised the naming of all perform based functions to be in the form
imap_perform_something().
Daniel Stenberg (9 Mar 2013)
- [Cédric Deltheil brought this change]
examples/getinmemory.c: abort the transfer if not enough memory
No more use exit(3) but instead tell libcurl that no byte has been
written to let it return a `CURLE_WRITE_ERROR`. In addition, check
curl easy handle return code.
- RELEASE-NOTES: synced with ca3c0ed3a9c
8 more bugfixes, one change and a bunch of contributors
Yang Tse (9 Mar 2013)
- Makefile.am: empty AM_LDFLAGS definition for automake 1.7 compatibility
Steve Holme (9 Mar 2013)
- imap: Added description comments to all perform based functions
- imap: Removed the need for separate custom request functions
Moved the custom request processing into the LIST command as the logic
is the same.
- imap: Corrected typo in comment
Yang Tse (9 Mar 2013)
- Makefile.am: empty AM_LDFLAGS definition for automake 1.7 compatibility
Steve Holme (9 Mar 2013)
- imap: Moved imap_logout() to be grouped with the other perform functions
- email: Updated the function descriptions for the logout / quit functions
Updated the function description comments following commit 4838d196fdbf.
- email: Simplified the logout / quit functions
Moved the blocking state machine to the disconnect functions so that the
logout / quit functions are only responsible for sending the actual
command needed to logout or quit.
Additionally removed the hard return on failure.
- email: Tidied up the *_regular_transfer() functions
Added comments and simplified convoluted dophase_done comparison.
- email: Simplified nesting of if statements in *_doing() functions
Daniel Stenberg (8 Mar 2013)
- RELEASE-NOTES: mention that krb4 is up for consideration
Steve Holme (8 Mar 2013)
- imap: Fixed handling of untagged responses for the STORE custom command
Added an exception, for the STORE command, to the untagged response
processor in imap_endofresp() as servers will back respones containing
the FETCH keyword instead.
Yang Tse (8 Mar 2013)
- curlbuild.h.dist: enhance non-configure GCC ABI detection logic
GCC specific adjustments:
- check __ILP32__ before 32 and 64bit processor architectures in
order to detect ILP32 programming model on 64 bit processors
which, of course, also support LP64 programming model, when using
gcc 4.7 or newer.
- keep 32bit processor architecture checks in order to support gcc
versions older than 4.7 which don't define __ILP32__
- check __LP64__ for gcc 3.3 and newer, while keeping 64bit processor
architecture checks for older versions which don't define __LP64__
- curlbuild.h.dist: fix GCC build on ARM systems without configure script
Bug: http://curl.haxx.se/bug/view.cgi?id=1205
Reported by: technion
- [Gisle Vanem brought this change]
polarssl.c: fix header filename typo
- configure: use XC_LIBTOOL for portability across libtool versions
- xc-lt-iface.m4: provide XC_LIBTOOL macro
Steve Holme (7 Mar 2013)
- imap: Fixed SELECT not being performed for custom requests
- email: Minor code tidy up following recent changes
Removed unwanted braces and added variable initialisation.
- DOCS: Corrected the IMAP URL grammar of the UIDVALIDITY parameter
- FEATURES: Provided a little clarity in some IMAP features
- email: Optimised block_statemach() functions
Optimised the result test in each of the block_statemach() functions.
- DOCS: Added the list command to the IMAP URL section
Added examples of the list command and clarified existing example URLs
following recent changes.
- FEATURES: Updated for recent imap additions
Updated the imap features list, corrected a typo in the smtp features
and clarified a pop3 feature.
Daniel Stenberg (7 Mar 2013)
- version bump: the next release will be 7.30.0
- checksrc: ban unsafe functions
The list of unsafe functions currently consists of sprintf, vsprintf,
strcat, strncat and gets.
Subsequently, some existing code needed updating to avoid warnings on
this.
Steve Holme (7 Mar 2013)
- RELEASE-NOTES: Added missing imap fixes and additions
With all the recent imap changes it wasn't clear what new features and
fixes should be included in the release notes.
Nick Zitzmann (6 Mar 2013)
- RELEASE-NOTES: brought this up-to-date with the latest changes
Steve Holme (6 Mar 2013)