forked from CyanogenMod/android_external_curl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGES
4713 lines (3022 loc) · 153 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
Daniel Stenberg (15 Dec 2010)
- RELEASE-NOTES: synced with a865bd9fbaaa43e5c
- IsPipeliningPossible: only for HTTP
The function that checks if pipelining is possible now requires the HTTP
bit to be set so that it doesn't mistakenly tries to do it for other
protocols.
Bug: http://curl.haxx.se/mail/lib-2010-12/0152.html
Reported by: Dmitri Shubin
- multi_runsingle: don't timeout completed handles
The generic timeout code must not check easy handles that are already
completed. Going to completed (again) within there risked decreasing the
number of alive handles again and thus it could go negative.
This regression bug was added in 7.21.2 in commit ca10e28f06f1
- symbols-in-versions: CURLOPT_KEYPASSWD fixed
It was added in 7.17.0 and is not deprecated
- RELEASE-NOTES: synced with c28443c551825
Dan Fandrich (8 Dec 2010)
- Mention that using other libraries can affect app licensing
Yang Tse (7 Dec 2010)
- easy: fix compiler warning: end-of-loop code not reached
Daniel Stenberg (6 Dec 2010)
- disconnect: pass on the dead_connection argument
Cleanup fix after Kamil's commit 5c7c9a768d0093
Yang Tse (6 Dec 2010)
- sws: fix compier warning: external definition with no prior declaration
Daniel Stenberg (6 Dec 2010)
- [Heinrich Ko brought this change]
ossl_connect_common: detect connection re-use
ossl_connect_common() now checks whether or not 'struct
connectdata->state' is equal 'ssl_connection_complete' and if so, will
return CURLE_OK with 'done' set to 'TRUE'. This check prevents
ossl_connect_common() from creating a new ssl connection on an existing
ssl session which causes openssl to fail when it tries to parse an
encrypted TLS packet since the cipher data was effectively thrown away
when the new ssl connection was created.
Bug: http://curl.haxx.se/mail/lib-2010-11/0169.html
Kamil Dudka (6 Dec 2010)
- url: provide dead_connection flag in Curl_handler::disconnect
It helps to prevent a hangup with some FTP servers in case idle session
timeout has exceeded. But it may be useful also for other protocols
that send any quit message on disconnect. Currently used by FTP, POP3,
IMAP and SMTP.
Yang Tse (6 Dec 2010)
- ssh: fix a download resume point calculation
Daniel Stenberg (5 Dec 2010)
- Curl_wait_for_resolv: correct timeout
When looping in this function and checking for the timeout being
expired, it was not updating the reference time when calculating the
timediff since previous round which made it think each subsequent loop
to have taken longer than it actually did.
I also modified the function to use the generic Curl_timeleft() function
instead of the custom logic.
Bug: http://curl.haxx.se/bug/view.cgi?id=3112579
- Curl_send/recv_plain: return errno on failure
When send() and recv() fail, we now store the errno value to allow the
app to access it.
Bug: http://curl.haxx.se/bug/view.cgi?id=3128121
Reported by: Yuri
Guenter Knauf (5 Dec 2010)
- Updated OpenSSL version.
Yang Tse (4 Dec 2010)
- fix compiler warning: conversion may lose significant bits
- fix compiler warning: assignment within conditional expression
- fix getinfo CURLINFO_LOCAL* for reused connections (take 2) follow-up
- Show address string from proper buffer in case of connection failure.
- Try next address when inet_ntop() fails.
Daniel Stenberg (3 Dec 2010)
- version-check: added brief documentation
and the traditional source header
Yang Tse (3 Dec 2010)
- build: provide SIZEOF_SIZE_T DOS definition
- build: lib/config.dos renamed to lib/config-dos.h
- build: provide SIZEOF_SIZE_T VMS definition
- build: move config-vms.h from subdir 'packages/vms' into 'lib'
- build: provide SIZEOF_SIZE_T definition for non-configure builds
- build: provide SIZEOF_SIZE_T netware definition
- configure: undo using autobuilds to temporarily verify strict aliasing warnings.
- fix compiler warning: rounding, sign extension, or loss of accuracy may result
- fix compiler warning: statement is not reachable
- fix compiler warning: conversion may lose significant bits
- connect: fix compiler warning: unused variable
- fix getinfo CURLINFO_LOCAL* for reused connections (take 2)
- fix getinfo CURLINFO_LOCAL* for reused connections follow-up
Reinstate IPV6 build variable that got removed.
- fix getinfo CURLINFO_LOCAL* for reused connections
Failed to commit this file changes along with the others.
- fix getinfo CURLINFO_LOCAL* for reused connections
- atoi: remove atoi usage
- multi: fix compiler warning: conversion may lose significant bits follow-up
- ftp: fix 'bool' data type implementation dependant usage
- multi: fix compiler warning: conversion may lose significant bits
- multi: fix compiler warning: enumerated type mixed with another type
- hostip: edit comment
- xattr: fix compiler warning: enumerated type mixed with another type
- s/isspace/ISSPACE
- symbol-scan: use configure script knowledge about how to run the C preprocessor
- ignore file generated by configure
- curl_multi_info_read: fix compiler warning: conversion may lose significant bits
- inet_pton: fix compiler warning
warning C4146: unary minus operator applied to unsigned type, result still unsigned
- Curl_getaddrinfo_ex: sanitize function results follow-up.
- Curl_getaddrinfo_ex: sanitize function results.
Ensure that spurious results from system's getaddrinfo() ares not propagated
by Curl_getaddrinfo_ex() into the library.
Also ensure that the ai_addrlen member of Curl_getaddrinfo_ex()'s output linked
list of Curl_addrinfo structures has appropriate family-specific address size.
Kamil Dudka (22 Nov 2010)
- openldap: use remote port in URL passed to ldap_init_fd()
... not the proxy port. It makes no difference unless a proxy is used.
Yang Tse (20 Nov 2010)
- gtls: define and use gtls_EAGAIN, gtls_EINTR and gtls_EIO.
Winsock builds clobber some errno.h defines in setup_once.
Dan Fandrich (19 Nov 2010)
- Added a couple examples that were missing from the tar ball
- Check for errors while preprocessing curl.h in test 1119
This showed a problem when running the test out-of-tree, so
an include path is now being added to pick up the generated
curlbuild.h file.
- Use the 3-argument open for compatibility with older perls
- [Matthias Bolte brought this change]
Detect socket errors in GnuTLS on Windows
On Windows, translate WSAGetLastError() to errno values as GNU
TLS does it internally, too. This is necessary because send() and
recv() on Windows don't set errno when they fail but GNU TLS
expects a proper errno value.
Bug: http://curl.haxx.se/bug/view.cgi?id=3110991
Yang Tse (19 Nov 2010)
- test servers: fix strict aliasing compiler warnings
- configure: use autobuilds to temporarily verify strict aliasing warnings.
Temporarily, When cross-compiling with gcc 3.0 or later, enable strict aliasing
rules and warnings. Given that cross-compiled targets autobuilds do not run the
Julien Chaffraix (17 Nov 2010)
- configure: Prevent link errors with --librtmp.
If --librtmp was specified but pkg-config could not find the librtmp
file, we would have undefined symbols when linking curl.
We prevent this error by disabling this case as suggested on the mailing
list.
Daniel Stenberg (15 Nov 2010)
- RELEASE-NOTES: synced with cbf4961bf3e4
- gnutls->handshake: improved timeout handling
When no timeout is set, we call the socket_ready function with a timeout
value of 0 during handshake, which makes it loop too much/fast in this
function. It also made this function return CURLE_OPERATION_TIMEDOUT
wrongly on a slow handshake.
However, the particular bug report that highlighted this problem is not
solved by this fix, as this fix only makes the more proper error get
reported instead.
Bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=594150
Reported by: Johannes Ernst
Julien Chaffraix (13 Nov 2010)
- urldata: Capitalize enum protect_level values.
This makes it easier to spot the enum values from the variables.
Removed some unneeded DEBUGASSERT added in the previous commit.
- security: tighten enum protection_level usage.
While changing Curl_sec_read_msg to accept an enum protection_level
instead of an int, I went ahead and fixed the usage of the associated
fields.
Some code was assuming that prot_clear == 0. Fixed those to use the
proper value. Added assertions prior to any code that would set the
protection level.
Yang Tse (13 Nov 2010)
- configure: fix autoconf 2.68 warning: no AC_LANG_SOURCE call detected in body
Daniel Stenberg (12 Nov 2010)
- curl.1: "a file", not an
- version-check.pl: display version number for symbols
This script is the start of a helper tool that scans a source code and
outputs the most recent libcurl version it finds symbols for. Meaning
that if there's no conditions in the code, that's the earliest libcurl
version the scanned code requires.
It is not added to the Makefile.am yet as it is still a bit crude, but
I'm committing it to keep it and allow us to work on it.
- [Adam Light brought this change]
Makefile.vc6: fixed the xattr.c compile
Julien Chaffraix (12 Nov 2010)
- krb5: Use GSS_ERROR to check for error.
This is the advised way of checking for errors in the GSS-API RFC.
Also added some '\n' to the error message so that they are not mixed
with other outputs.
- security: Pass the right parameter to init.
init is expecting app_data. Passing it the struct connecdata would make
us crash later.
Daniel Stenberg (11 Nov 2010)
- HTTP Auth: Add CURLAUTH_ONLY
This is a meta symbol. OR this value together with a single specific
auth value to force libcurl to probe for un-restricted auth and if not,
only that single auth algorithm is acceptable.
For example you can use CURLAUTH_DIGEST|CURLAUTH_ONLY to make libcurl
first probe for what method to use, but yet only consider Digest to be
acceptable.
Using _only_ CURLAUTH_DIGEST without the CURLAUTH_ONLY field, will make
libcurl explicitly use Digest right away and not do any probing.
- ip_version: moved to connection struct
The IP version choice was previously only in the UserDefined struct
within the SessionHandle, but since we sometimes alter that option
during a request we need to have it on a per-connection basis.
I also moved more "init conn" code into the allocate_conn() function
which is designed for that purpose more or less.
Yang Tse (11 Nov 2010)
- buildconf: MAC OS X requires libtool version 1.5.26 or newer
MAC OS X requires libtool version 1.5.26 or newer, otherwise
configure will mishandle *.dSYM directories when it runs.
- configure: remove temporary autobuilds exercising of xattr function tests
- configure: use autobuilds to temporarily exercise xattr function tests
- xattr: portability fix
- curl-functions: provide xattr function tests that also check number of arguments
Daniel Stenberg (10 Nov 2010)
- test1120: verify FTP response 421
curl mustn't try to use the control connection after the 421 is received
- ftpserver.pl: spellfix comment
- [Rutger Hofman brought this change]
TFTP: resend the correct data
I found a bug in tftp_tx() in tftp.c. If a data resend is done after
reception of an ACK/OACK, the call to sendto is wrong.
- [Stefan Tomanek brought this change]
write extended attributes by using fsetxattr
Instead of reopening the downloaded file, fsetxattr uses the (already
open) file descriptor to attach extended attributes. This makes the
procedure more robust against errors caused by moved or deleted files.
Dan Fandrich (9 Nov 2010)
- Check for getinfo errors before setting attributes
Kamil Dudka (9 Nov 2010)
- ftp: treat server's response 421 as CURLE_OPERATION_TIMEDOUT
Bug: https://bugzilla.redhat.com/650255
Reported by: Simon H.
Daniel Stenberg (9 Nov 2010)
- symbols-in-version: add CURL_SOCKET_BAD
I also documented the filtering logic in the symbol-scan.pl function to
clarify why not all CURL_* symbols are included.
Yang Tse (9 Nov 2010)
- serial number bump
Kamil Dudka (8 Nov 2010)
- ftp: close connection as soon as ABOR has been sent
... and do not send ABOR unless really necessary.
Bug: https://bugzilla.redhat.com/649347
Reported by: Simon H.
Daniel Stenberg (8 Nov 2010)
- RELEASE-NOTES: synced with fc6c4c10f9faab08
I also recounted and updated the command line and libcurl options.
- help: indent the --xattr option like the others
- curl.1: --resolve documented
- CURLOPT_RESOLVE: documented
- CURLOPT_USE_SSL: move from FTP options to connection options
- xattr-check: correct the comment as well
- xattr: use const char * for const strings
- setxattr: fix the checks
My copy and paste job was a little too much copy and I missed to adjust
it properly to sys/xattr.h all over and this is a fix to cure that.
- CURLOPT_RESOLVE: added
CURLOPT_RESOLVE is a new option that sends along a curl_slist with
name:port:address sets that will populate the DNS cache with entries so
that request can be "fooled" to use another host than what otherwise
would've been used. Previously we've encouraged the use of Host: for
that when dealing with HTTP, but this new feature has the added bonus
that it allows the name from the URL to be used for TLS SNI and server
certificate name checks as well.
This is a first change. Surely more will follow to make it decent.
Yang Tse (8 Nov 2010)
- fix compiler warning
Dan Fandrich (7 Nov 2010)
- Added os-specific.c and xattr.c to the Symbian build files
Yang Tse (7 Nov 2010)
- xattr: fix VisualStudio builds
- fix snapshot generation
Daniel Stenberg (5 Nov 2010)
- --libcurl: simplify output
Removed the code that was needed for libcurl before 7.19.0 which now is
more than two years old.
Simplified the top comment and corrected the URL.
- [Alfred Gebert brought this change]
LDAP: detect non-binary attributes properly
If the query result has a binary attribute, the binary attribute is
base64 encoded. But all following non binary attributes are also base64
encoded which is wrong.
This is a test (LDAP server is public).
curl
ldap://x500.bund.de:389/o=Bund,c=DE?userCertificate,certificateSerialNumber?sub
?cn=*Woehleke*
- xattr: add configure check and #ifdefs
setxattr is a glibc call to set extended attributes, so configure now
checks for it and the code is adapted to only build when the
functionality is present.
- [Stefan Tomanek brought this change]
save metadata to extended file attributes
It is often convinient to track back the source of a once downloaded
file; this patch makes curl store the source URL and other metadata
alongside the retrieved file by using the extended attributes (if
supported by the file system and enabled by --xattr).
- test: remove test 580
Test 580 is removed again for two reasons:
1) Some compilers aren't satisfied by just a data variable called 'test'
when first.o wants a function called 'test'. The Solaris compiler says
"ld: warning: symbol `test' has differing types:" while the AIX compiler
downright rejects it.
2) Test case 1119 that was added after this test is way more complete
and cover everything test 580 does and more without introducing the same
problems.
- Revert: use Host: name for SNI and cert name checks
This reverts commit b0fd03f5b8d4520dd232a9d13567d16bd0ad8951,
4b2fbe1e97891f, afecd1aa13b4f, 68cde058f66b3
- TODO-RELEASE: "TLS SNI use Host:" is done
262 - Manual setting of TLS Server Name Indication - use Host:
- RELEASE-NOTES: synced with 7b823badbcab9d330
- curl.1: added a few missing exit codes
- certcheck: use the custom Host: name for checks
If you use a custom Host: name in a request to a SSL server, libcurl
will now use that given name when it verifies the server certificate to
be correct rather than using the host name used in the actual URL.
- SNI: simplify the custom host name use
The redirect check is already done at the position where the customhost
field is assigned so there's no point in doing that a second time.
- host: get the custom Host: name more genericly
When given a custom host name in a Host: header, we can use it for
several different purposes other than just cookies, so we rename it and
use it for SSL SNI etc.
- [Hongli Lai (Phusion) brought this change]
SNI: set name to custom Host header
OpenSSL SNI host name should be set to the custom Host header, if the
user provided one.
- fopen.c: re-indented, fixed previous mistake
I've made the code intended using curl-style now to look more like other
examples.
My previous "fix" was a bit too invasive but is now fixed again.
- multi use: call multi_perform even on select() timeouts
- example: add smtp-multi.c
An example application source code sending SMTP mail with the multi
interface. It is based on the code Alona Rossen provided, which in turn
is based on existing example/test code, and I converted it even more
into a decent example with a fair multi API use, put the info required
to edit at the top and I added some comments.
- CURLOPT_NOSIGNAL: add blurb about SIGPIPE
Dan Fandrich (3 Nov 2010)
- Allow building test 580 out of tree
Daniel Stenberg (3 Nov 2010)
- dist: add symbol-scan.pl to the tarball
- test1119: verify symbols-in-versions
- runtests: allow tests written as perl scripts
If a command is set type="perl", it can now specify a perl program that will
be run instead of an ordinary curl or built tool.
A perl test automatically disables memory and valgrind debugging.
- symbol-scan: verifies symbols-in-versions
This new script scans for all enums and #defines used by the curl/curl.h
and curl/multi.h headers. Then it reads all symbols mentioned in
symbols-in-vesions and make sure that there's no entries missing in
there. It then proceeds to verify that the entries that
symbols-in-vesions mentions but aren't found in the sources are truly
documented as removed.
This script is used in the new test case 1119
- symbols-in-versions: added 119 missing symbols
I've developed a script I call symbol-scan.pl that scans the curl.h and
multi.h header files and compare the symbols it finds in there with the
symbols symbols-in-versions documents and outputs a report on the
differences. Using this I've dug through the history to fill up
symbols-in-versions with all the symbols my script found mismatches for.
I will commit symbol-scan.pl separatly and think of a way to put it to
use in the build/tests so that we from now on will get this in-sync
check automatically.
Dan Fandrich (2 Nov 2010)
- Added mk580.pl to the tar ball
Daniel Stenberg (2 Nov 2010)
- symbols-in-versions: added missing symbols
- ignore: lib580.c is generated by mk580.pl
- test: added test 580 - verifies symbols-in-versions
The new perl script mk580.pl generates a C table in a fresh source file
named lib580.c and if that compiles fine we know that the file
docs/libcurl/symbols-in-versions at least doesn't include any symbols
that are misspelled.
An additional feature would be to somehow scan curl/curl.h and compare
with symbols-in-versions to see if there are symbols missing.
- spellfix: CURLOPT_TFTP_BLKSIZE it is
Kamil Dudka (29 Oct 2010)
- ftp: prevent server from hanging on closed data connection
Some FTP servers (e.g. Pure-ftpd) end up hanging if we close the data
connection before transferring all the requested data. If we send ABOR
in that case, it prevents the server from hanging.
Bug: https://bugzilla.redhat.com/643656
Reported by: Pasi Karkkainen, Patrick Monnerat
Dan Fandrich (28 Oct 2010)
- Removed a leftover mention of FTP in an error message
- Removed the native Makefile.riscos files
These haven't worked in at least 8 years due to missing source
files, and most active RiscOS developers these days apparently
cross-compile anyway.
Signed-off-by: James Bursa <[email protected]>
- Lightened the stack in wc_statemach to permit deeper recursion
Also, added a few hints to help compilers to perform tail call
recursion optimization.
Daniel Stenberg (20 Oct 2010)
- SSH: use libssh2_session_handshake()
In libssh2 1.2.8, libssh2_session_handshake() replaces
libssh2_session_startup() to fix the previous portability problem with
the socket type that was too small for win64 and thus easily could cause
crashes and more.
- SSH: avoid using the libssh2_ prefix
It is a bad idea to use the public prefix used by another library and
now we realize that libssh2 introduces a symbol in the upcoming version
1.2.8 that conflicts with our static function named libssh2_free.
- formdata: provide error message
When failing to build form post due to an error, the code now does a
proper failf(). Previously libcurl would report an error like "failed
creating formpost data" when a file wasn't possible to open which was
not easy for users to figure out.
I also lower cased a function name to be named more curl-style and
removed some unnecessary code.
- URL-parsing: consider ? a divider
The URL parser got a little stricter as it now considers a ? to be a
host name divider so that the slightly sloppier URLs work too. The
problem that made me do this change was the reported problem with an URL
like: [email protected] This form of URL is not
really a legal URL (due to the missing slash after the host name) but is
widely accepted by all major browsers and libcurl also already accepted
it, it was just the '@' letter that triggered the problem now.
The side-effect of this change is that now libcurl no longer accepts the
? letter as part of user-name or password when given in the URL, which
it used to accept (and is tested in test 191). That letter is however
mentioned in RFC3986 to be required to be percent encoded since it is
used as a divider.
Bug: http://curl.haxx.se/bug/view.cgi?id=3090268
- curl_easy_setopt.3: spellfix
- curl_easy_setopt.3: CURLOPT_USE_SSL is not just for FTP
It is for FTP, SMTP, POP3, IMAP at least.
- krb4.h: removed unused prototypes
- krb4: make a few functions static
- TODO-RELEASE: cleanup for 7.21.3 works
"SFTP resume with 4GB file does not work" is now removed as I'm sure
this is really a libssh2 bug and not a libcurl bug.
7.21.2 is released already
- RELEASE-NOTES: sync with 09a2d93a0f17ca
- http_chunks: remove debug output
Accidentally left in there during my previous debugging of this
- Curl_setopt: disallow CURLOPT_USE_SSL without SSL support
In order to avoid for example the pingpong protocols to issue STARTTLS
(or equivalent) even though there's no SSL support built-in.
Reported by: Sune Ahlgren
Bug: http://curl.haxx.se/mail/archive-2010-10/0045.html
- options: check for features for some options
Some options, such as the automatic decompression and some SSL related
ones now will bail out if the underlying libcurl doesn't have support
for the particular feature needed.
Dan Fandrich (14 Oct 2010)
- Fixed the IPv6 host address in test1203
Reported by: Christian Weisgerber
Bug: http://curl.haxx.se/bug/view.cgi?id=3087479
Daniel Stenberg (14 Oct 2010)
- curl_easy_setopt.3: clarify CURLOPT_CRLF
The option takes a parameter that should be 1 or 0 to enable or disable
the feature.
URL: http://curl.haxx.se/bug/view.cgi?id=3086428
Guenter Knauf (14 Oct 2010)
- Some more small Watcom makefile fixes.
- Added --noconfigure switch to testcurl.pl.
- Modified Watcom makefiles to work on Linux too.
- Added MingW32 rtmp target; changed Watcom targets.
Modified Watcom targets to avoid backslashs so that they can
work on Linux too.
Daniel Stenberg (13 Oct 2010)
- gitignore: ignore Makefile.vc10.dist made by maketgz
- curlver.h: start over at 7.21.3
- RELEASE-NOTES: start over towards 7.21.3
- THANKS: added contributors from 7.21.2
Version 7.21.2 (12 Oct 2010)
Daniel Stenberg (12 Oct 2010)
- RELEASE-NOTES: synced with ecd624b8e774a85
- [Julien Chaffraix brought this change]
CMake: Build fix.
Do not match the trailing '\n' in the regular expression as this would
make us dump a ) parenthesis on a new line.
This fixes the following error:
would get transformed into:
)
Bug: http://curl.haxx.se/mail/lib-2010-10/0065.html
Reported by: Dimitre Dimitrov
- header_callback: strip off file path separated with backslashes
If the filename contains a backslash, only use filename portion. The
idea is that even systems that don't handle backslashes as path
separators probably want that path removed for convenience.
This flaw is considered a security problem, see the curl security
vulnerability http://curl.haxx.se/docs/adv_20101013.html
Dan Fandrich (12 Oct 2010)
- Get the curl source files for Amiga from Makefile.inc
This is similar to how it's done in the lib directory.
The Amiga build appears to have been broken for a year because
of a missing homedir.c
- Added section on server-supplied names to security considerations
Guenter Knauf (12 Oct 2010)
- Fixed Watcom makefile.
- Added build bits for librtmp / libssh2 to Watcom makefiles.
- Added build bits for librtmp to NetWare makefiles.
Daniel Stenberg (12 Oct 2010)
- SFTP: more ignoring negative file sizes
As the change in 5f0ae7a0626cbe709 added a precaution against negative
file sizes that for some reason managed to get returned, this change now
introduces the same check at the second place in the code where the file
size from the libssh2 stat call is used.
This check might not be suitable for a 32 bit curl_off_t, but libssh2.h
assumes long long to work and to be 64 bit so I believe such a small
curl_off_t will be very unlikely to occur in the wild.
- SMTP: debug output for no known auth mechanisms supported
... and some minor source code whitespace edits
- test: urlglob error messages have no extra newline anymore
Guenter Knauf (11 Oct 2010)
- Added build bits for librtmp to MingW32 makefiles.
Daniel Stenberg (8 Oct 2010)
- RELEASE-NOTES: synced with 61f4cdb73ae4
- globbing: fix crash on unballanced open brace
Having an open brace without a closing brace caused a segfault.
Having a closing brace too many caused a silent error to occur, which
caused curl to bail out and return an error code but no error message
was shown. It does now!
All error message outputs no longer wrongly get _two_ newlines written
after the error message.
Reported by: Vlad Ureche
Bug: http://curl.haxx.se/bug/view.cgi?id=3083942
- [Dan Locks brought this change]
libcurl.m4: AC_PATH_PROG fixes
The invocation of autoconf's AC_PATH_PROG( ) is not quite right for
finding curl-config. This fix corrects the negative case (where
curl-config is not found).
- FAQ: added "How do I submit my patch?"
- examples: use example.com in example URLs
- TODO-RELEASE: libidn problem not repeatable
"261 - configure and libidn" is removed from the list since Julien
Chaffraix tried to repeat it but failed and the reporter did not return
to provide further details.
Reported by: Lyndon Hill
Bug: http://curl.haxx.se/mail/lib-2010-07/0029.html
- libcurl.m4: mention argument is PREFIX
The macro provides a --with-libcurl option that expects a PREFIX to be
specified and not actually a "directory" in which libcurl will be found.
This now spells that out more clearly.
Reported by: Dan Locks
Bug: http://curl.haxx.se/bug/view.cgi?id=3079891
Guenter Knauf (3 Oct 2010)
- Some NetWare makefile tweaks.
Renamed SDK_* to NDK_*; made NDK_* defines overwriteable from
environment; removed now obsolete YACC macro;
moved some curl_config.h defines to IPv6 section since they
are only needed when IPv6 is enabled - this makes libcurl compile
with older NDKs too which were not IPv6-aware.
Daniel Stenberg (2 Oct 2010)
- TODO-RELEASE: 416 error fixed
"3076808 Requests fail silently following a 416 error" done
Julien Chaffraix (2 Oct 2010)
- krb5-gssapi: Removed a memory leak in krb5_auth.
We forgot to release the buffer passed to gss_init_sec_context.
The previous logic was difficult to read as we were reusing the same
variable (gssbuf) for both input buffer and output buffer. Splitted the
logic in 2 variables to better underline who needs to be released.
Also made the code break at 80 lines.
- krb5-gssapi: Made the function always return a value.
kr5_auth missed a final 'return' statement. This is not an error in
gcc but can lead to potential bugs.
- krb5-gssapi: Delete the GSS-API context.
This fixes a memory leak related to the GSS-API code.
Added a krb5_init and krb5_end functions. Also removed a work-around
the lack of proper initialization of the GSS-API context.
Daniel Stenberg (2 Oct 2010)
- HTTP: remove special case for 416
It was pointed out that the special case libcurl did for 416 was
incorrect and wrong. 416 is not really different to other errors so the
response body must be handled like for other errors/http responses.
Reported by: Chris Smowton
Bug: http://curl.haxx.se/bug/view.cgi?id=3076808
- [Dan Fandrich brought this change]
sws: Added writedelay HTTP server command
This delays between write operations, hopefully making it easier
to spot problems where libcurl doesn't flush the socket properly
before waiting for the next response.
- TODO-RELEASE: no bug in ftp_nextconnect
The issue named "266 - Bug in ftp_nextconnect?" was deemed to not be a
bug and instead resulted in clarified docs.
- curl_easy_setopt.3: CURLOPT_DIRLISTONLY implies dir list
Make it explicit that setting CURLOPT_DIRLISTONLY to 1 will make libcurl
to list the directory.
- RELEASE-NOTES: synced up to 588402585bae
- TODO-RELEASE: move new features to next release
- README.ares: we know require c-ares 1.6.0
- SFTP: avoid downloading negative sizes!
It is still not clarified exactly why this happens, but libssh2
sometimes report a negative file size for the remote SFTP file and that
deeply confuses libcurl (or crashes it) so this precaution is added to
avoid badness.
Reported by: Ernest Beinrohr
Bug: http://curl.haxx.se/bug/view.cgi?id=3076430
- TODO-RELEASE: drop curl_easy_setoptv
I haven't read any really convincing arguments for adding it
- [Dirk Manske brought this change]
multi & hiper examples: updates and cleanups
all multi and hiper examples:
* don't loop curl_multi_perform calls, that was <7.20.0 style, currently
the exported multi functions will not return CURLM_CALL_MULTI_PERFORM
all hiper examples:
* renamed check_run_count to check_multi_info
* don't compare current running handle count with previous value, this
was the wrong way to check for finished requests, simply call
curl_multi_info_read
* it's also safe to call curl_multi_remove_handle inside the
curl_multi_info_read loop.
ghiper.c:
* replaced curl_multi_socket (that function is marked as obsolete) calls
with curl_multi_socket_action calls (as in hiperfifo.c and
evhiperfifo.c)
ghiper.c and evhiperfifo.c:
* be smart as hiperfifo.c, don't do uncessary curl_multi_* calls in
new_conn and main
- TODO-RELEASE: one fixed, one postponed, one added
As we're already in feature freeze, I pushed the feature onwards.
Dan Fandrich (29 Sep 2010)
- Renamed test1204 to test1117 to move it into the normal range
Patrick Monnerat (29 Sep 2010)
- Add gopher protocol definition to ILE/RPG binding.
OS400 compile script in test dir updated for chkhostname.
Julien Chaffraix (28 Sep 2010)
- krb5-gssapi: Remove several memory leaks.
Remove a leak seen on Kerberos/MIT (gss_OID is copied internally and
we were leaking it). Now we just pass NULL as advised in RFC2744.
|tmp| was never set back to buf->data.
Cleaned up Curl_sec_end to take into account failure in Curl_sec_login
(where conn->mech would be NULL but not conn->app_data or
conn->in_buffer->data).
- security.c: Remove Curl_sec_fflush_fd.
The current implementation would make us send wrong data on a closed
socket. We don't buffer our data so the method can be safely removed.
- security.c: We should always register the socket handler.
Following a change in the way socket handler are registered, the custom
recv and send method were conditionaly registered.
We need to register them everytime to handle the ftp security
extensions.
Re-added the clear text handling in sec_recv.
- security.c: Fix Curl_sec_login after rewrite.
Curl_sec_login was returning the opposite result that the code in ftp.c
was expecting. Simplified the return code (using a CURLcode) so to see
more clearly what is going on.