9
Version 7.30.0 (12 Apr 2013)
11
Daniel Stenberg (12 Apr 2013)
12
- RELEASE-NOTES: cleaned up for 7.30 (synced with 5c5e1a1cd20)
14
Most notable the security advisory:
15
http://curl.haxx.se/docs/adv_20130412.html
17
- test1218: another cookie tailmatch test
19
... and make 1216 also verify it with a file input
21
These tests verify commit 3604fde3d3c9b0d, the fix for the "cookie
22
domain tailmatch" vulnerability. See
23
http://curl.haxx.se/docs/adv_20130412.html
25
- [YAMADA Yasuharu brought this change]
27
cookie: fix tailmatching to prevent cross-domain leakage
29
Cookies set for 'example.com' could accidentaly also be sent by libcurl
30
to the 'bexample.com' (ie with a prefix to the first domain name).
32
This is a security vulnerabilty, CVE-2013-1944.
34
Bug: http://curl.haxx.se/docs/adv_20130412.html
36
Guenter Knauf (11 Apr 2013)
37
- Enabled MinGW sync resolver builds.
39
Yang Tse (10 Apr 2013)
40
- if2ip.c: fix compiler warning
42
Guenter Knauf (10 Apr 2013)
43
- Fixed lost OpenSSL output with "-t" - followup.
45
The previously applied patch didnt work on Windows; we cant rely
46
on shell commands like 'echo' since they act diffently on each
47
platform and each shell.
48
In order to keep this script platform-independent the code must
51
Daniel Stenberg (9 Apr 2013)
52
- test1217: verify parsing 257 responses with "rubbish" before path
54
Test 1217 verifies commit e0fb2d86c9f78, and without that change this
57
- [Bill Middlecamp brought this change]
59
FTP: handle "rubbish" in front of directory name in 257 responses
61
When doing PWD, there's a 257 response which apparently some servers
62
prefix with a comment before the path instead of after it as is
65
Failing to parse this, several otherwise legitimate use cases break.
67
Bug: http://curl.haxx.se/mail/lib-2013-04/0113.html
69
Guenter Knauf (9 Apr 2013)
70
- Fixed ares-enabled builds with static makefiles.
72
- Fixed lost OpenSSL output with "-t".
74
The OpenSSL pipe wrote to the final CA bundle file, but the encoded PEM
75
output wrote to a temporary file. Consequently, the OpenSSL output was
76
lost when the temp file was renamed to the final file at script finish
77
(overwriting the final file written earlier by openssl).
78
Patch posted to the list by Richard Michael (rmichael edgeofthenet org).
80
Daniel Stenberg (9 Apr 2013)
81
- test1216: test tailmatching cookie domains
83
This test is an attempt to repeat the problem YAMADA Yasuharu reported
84
at http://curl.haxx.se/mail/lib-2013-04/0108.html
86
- RELEASe-NOTES: synced with 29fdb2700f797
88
added "tcpkeepalive on Mac OS X"
90
Nick Zitzmann (8 Apr 2013)
91
- darwinssl: disable insecure ciphers by default
93
I noticed that aria2's SecureTransport code disables insecure ciphers such
94
as NULL, anonymous, IDEA, and weak-key ciphers used by SSLv3 and later.
95
That's a good idea, and now we do the same thing in order to prevent curl
96
from accessing a "secure" site that only negotiates insecure ciphersuites.
98
Daniel Stenberg (8 Apr 2013)
99
- [Robert Wruck brought this change]
101
tcpkeepalive: Support CURLOPT_TCP_KEEPIDLE on OSX
103
MacOS X doesn't have TCP_KEEPIDLE/TCP_KEEPINTVL but only a single
105
http://developer.apple.com/library/mac/#DOCUMENTATION/Darwin/Reference/ManPages/man4/tcp.4.html).
106
Here is a patch for CURLOPT_TCP_KEEPIDLE on OSX platforms.
108
- configure: remove CURL_CHECK_FUNC_RECVFROM
110
1 - We don't use the results from the test and we never did. recvfrom()
111
is only used by the TFTP code and it has not caused any problems.
113
2 - the CURL_CHECK_FUNC_RECVFROM function is extremely slow
115
Steve Holme (8 Apr 2013)
116
- RELEASE-NOTES: Corrected duplicate NTLM memory leaks
118
- RELEASE-NOTES: Removed trailing full stop
120
Daniel Stenberg (8 Apr 2013)
121
- [Fabian Keil brought this change]
123
proxy: make ConnectionExists() check credential of proxyconnections too
125
Previously it only compared credentials if the requested needle
126
connection wasn't using a proxy. This caused NTLM authentication
127
failures when using proxies as the authentication code wasn't send on
128
the connection where the challenge arrived.
130
Added test 1215 to verify: NTLM server authentication through a proxy
131
(This is a modified copy of test 67)
133
- RELEASE-NOTES: sync with 704a5dfca9
135
- TODO-RELEASE: cleaned up, not really maintained lately
137
Marc Hoersken (7 Apr 2013)
138
- if2ip.c: Fixed another warning: unused parameter 'remote_scope'
140
Daniel Stenberg (7 Apr 2013)
141
- [Marc Hoersken brought this change]
143
cookie.c: Made cookie sort function more deterministic
145
Since qsort implementations vary with regards to handling the order
146
of similiar elements, this change makes the internal sort function
147
more deterministic by comparing path length first, then domain length
148
and finally the cookie name. Spotted with testcase 62 on Windows.
150
Marc Hoersken (7 Apr 2013)
151
- curl_schannel.c: Follow up on memory leak fix ae4558d
153
- Revert "getpart.pm: Strip carriage returns to fix Windows support"
155
This reverts commit e51b23c925a2721cf7c29b2b376d3d8903cfb067.
156
As discussed on the mailinglist, this was not the correct approach.
158
- http_negotiate.c: Fixed passing argument from incompatible pointer type
160
- ftp.c: Added missing brackets around ABOR command logic
162
- sockfilt.c: Fixed detection of client-side connection close
165
Since FD_CLOSE is only signaled once, it may trigger at the same
166
time as FD_READ. Data actually being available makes it impossible
167
to detect that the connection was closed by checking that recv returns
168
zero. Another recv attempt could block the connection if it was
169
not closed. This workaround abuses exceptfds in conjunction with
170
readfds to signal that the connection has actually closed.
172
- curl_schannel.c: Fixed memory leak if connection was not successful
174
- if2ip.c: Fixed warning: unused parameter 'remote_scope'
176
- runtests.pl: Fixed --verbose parameter passed to http_pipe.py
178
- sockfilt.c: Reduce CPU load while running under a Windows PIPE
180
- tftpd.c: Apply sread timeout to the whole data transfer session
182
- getpart.pm: Strip carriage returns to fix Windows support
184
Daniel Stenberg (6 Apr 2013)
185
- ftp tests: libcurl returns CURLE_FTP_ACCEPT_FAILED better now
187
Since commit 57aeabcc1a20f, it handles errors on the control connection
188
while waiting for the data connection better.
190
Test 591 and 592 are updated accordingly.
192
- FTP: wait on both connections during active STOR state
194
When doing PORT and upload (STOR), this function needs to extract the
195
file descriptor for both connections so that it will respond immediately
196
when the server eventually connects back.
198
This flaw caused active connections to become unnecessary slow but they
199
would still often work due to the normal polling on a timeout. The bug
200
also would not occur if the server connected back very fast, like when
201
testing on local networks.
203
Bug: http://curl.haxx.se/bug/view.cgi?id=1183
204
Reported by: Daniel Theron
206
Marc Hoersken (6 Apr 2013)
207
- tftpd.c: Follow up cleanup and restore of previous sockopt
209
Daniel Stenberg (6 Apr 2013)
210
- [Kim Vandry brought this change]
212
connect: treat an interface bindlocal() problem as a non-fatal error
214
I am using curl_easy_setopt(CURLOPT_INTERFACE, "if!something") to force
215
transfers to use a particular interface but the transfer fails with
216
CURLE_INTERFACE_FAILED, "Failed binding local connection end" if the
217
interface I specify has no IPv6 address. The cause is as follows:
219
The remote hostname resolves successfully and has an IPv6 address and an
222
cURL attempts to connect to the IPv6 address first.
224
bindlocal (in lib/connect.c) fails because Curl_if2ip cannot find an
225
IPv6 address on the interface.
227
This is a fatal error in singleipconnect()
229
This change will make cURL try the next IP address in the list.
231
Also included are two changes related to IPv6 address scope:
233
- Filter the choice of address in Curl_if2ip to only consider addresses
234
with the same scope ID as the connection address (mismatched scope for
235
local and remote address does not result in a working connection).
237
- bindlocal was ignoring the scope ID of addresses returned by
238
Curl_if2ip . Now it uses them.
240
Bug: http://curl.haxx.se/bug/view.cgi?id=1189
242
Marc Hoersken (6 Apr 2013)
243
- tftpd.c: Fixed sread timeout on Windows by setting it manually
245
- ftp.pm: Added tskill to support Windows XP Home
247
- runtests.pl: Modularization of MinGW/Msys compatibility functions
249
- ftp.pm: Made Perl testsuite able to handle Windows processes
251
- util.c: Revert workaround eeefcdf, 6eb56e7 and e3787e8
253
- ftp.pm: Made Perl testsuite able to kill Windows processes
255
- util.c: Follow up cleanup on eeefcdf
257
Daniel Stenberg (6 Apr 2013)
258
- cpp: use #ifdef __MINGW32__ to avoid compiler complaints
260
... instead of just #if
262
Marc Hoersken (6 Apr 2013)
263
- util.c: Made write_pidfile write the correct PID on MinGW/Msys
265
This workaround fixes an issue on MinGW/Msys regarding the Perl
266
testsuite scripts not being able to signal or control the server
267
processes. The MinGW Perl runtime only sees the Msys processes and
268
their corresponding PIDs, but sockfilt (and other servers) wrote the
269
Windows PID into their PID-files. Since this PID is useless to the
270
testsuite, the write_pidfile function was changed to search for the
271
Msys PID and write that into the PID-file.
273
Daniel Stenberg (5 Apr 2013)
274
- RELEASE-NOTES: synced with 5e722b2d09087
276
3 more bug fixes, 6 more contributors
278
Marc Hoersken (5 Apr 2013)
279
- sockfilt.c: Fixed handling of multiple fds being signaled
281
Kamil Dudka (5 Apr 2013)
282
- curl_global_init.3: improve description of CURL_GLOBAL_ALL
284
Reported by: Tomas Mlcoch
286
- examples/multi-single.c: fix the order of destructions
288
... so that it adheres to the API documentation.
290
Reported by: Tomas Mlcoch
292
Daniel Stenberg (5 Apr 2013)
293
- Curl_open: restore default MAXCONNECTS to 5
295
At some point recently we lost the default value for the easy handle's
296
connection cache, and this change puts it back to 5 - which is the
297
former default value and it is documented in the curl_easy_setopt.3 man
300
Marc Hoersken (4 Apr 2013)
301
- sockfilt.c: Added wrapper functions to fix Windows console issues
303
The new read and write wrapper functions support reading from stdin
304
and writing to stdout/stderr on Windows by using the appropriate
305
Windows API functions and data types.
307
Yang Tse (4 Apr 2013)
308
- lib1509.c: fix compiler warnings
310
- easy.c: fix compiler warning
312
Daniel Stenberg (4 Apr 2013)
313
- --engine: spellfix the help message
315
Reported by: Fredrik Thulin
317
Yang Tse (4 Apr 2013)
318
- http_negotiate.c: follow-up for commit 3dcc1a9c
320
Linus Nielsen Feltzing (4 Apr 2013)
321
- easy: Fix the broken CURLOPT_MAXCONNECTS option
323
Copy the CURLOPT_MAXCONNECTS option to CURLMOPT_MAXCONNECTS in
326
Bug: http://curl.haxx.se/bug/view.cgi?id=1212
327
Reported-by: Steven Gu
329
Guenter Knauf (4 Apr 2013)
330
- Updated copyright date.
332
- Another small output fix for --help and --version.
334
Yang Tse (4 Apr 2013)
335
- http_negotiate.c: fix several SPNEGO memory handling issues
337
Guenter Knauf (4 Apr 2013)
338
- Added a cont to specify base64 line wrap.
340
- Fixed version output.
342
- Added support for --help and --version options.
344
- Added option to specify length of base64 output.
346
Based on a patch posted to the list by Richard Michael.
348
Daniel Stenberg (3 Apr 2013)
349
- curl_easy_setopt.3: CURLOPT_HTTPGET disables CURLOPT_UPLOAD
351
- [Yasuharu Yamada brought this change]
353
Curl_cookie_add: only increase numcookies for new cookies
355
Count up numcookies in Curl_cookie_add() only when cookie is new one
357
- SO_SNDBUF: don't set SNDBUF for win32 versions vista or later
359
The Microsoft knowledge-base article
360
http://support.microsoft.com/kb/823764 describes how to use SNDBUF to
361
overcome a performance shortcoming in winsock, but it doesn't apply to
362
Windows Vista and later versions. If the described SNDBUF magic is
363
applied when running on those more recent Windows versions, it seems to
364
instead have the reversed effect in many cases and thus make libcurl
365
perform less good on those systems.
367
This fix thus adds a run-time version-check that does the SNDBUF magic
368
conditionally depending if it is deemed necessary or not.
370
Bug: http://curl.haxx.se/bug/view.cgi?id=1188
371
Reported by: Andrew Kurushin
372
Tested by: Christian Hägele
374
Nick Zitzmann (1 Apr 2013)
375
- darwinssl: additional descriptive messages of SSL handshake errors
377
(This doesn't need to appear in the release notes.)
379
Guenter Knauf (1 Apr 2013)
380
- Added dns and connect time to output.
382
Daniel Stenberg (1 Apr 2013)
383
- RELEASE-NOTES: synced with 0614b902136
387
- tcpkeepalive: support TCP_KEEPIDLE/TCP_KEEPINTVL on win32
389
Patch by: Robert Wruck
390
Bug: http://curl.haxx.se/bug/view.cgi?id=1209
392
- BINDINGS: BBHTTP is a cocoa binding, Julia has a binding
394
- ftp_sendquote: use PPSENDF, not FTPSENDF
396
The last remaining code piece that still used FTPSENDF now uses PPSENDF.
397
In the problematic case, a PREQUOTE series was done on a re-used
398
connection when Curl_pp_init() hadn't been called so it had messed up
399
pointers. The init call is done properly from Curl_pp_sendf() so this
400
change fixes this particular crash.
402
Bug: http://curl.haxx.se/mail/lib-2013-03/0319.html
403
Reported by: Sam Deane
405
Steve Holme (27 Mar 2013)
406
- RELEASE-NOTES: Corrected typo
408
Daniel Stenberg (27 Mar 2013)
409
- [Clemens Gruber brought this change]
411
multi-uv.c: remove unused variable
413
- RELEASE-NOTES: add two references
415
- test1509: verify proxy header response headers count
417
Modified sws to support and use custom CONNECT responses instead of the
418
previously naive hard-coded version. Made the HTTP test server able to
419
extract test case number from the host name in a CONNECT request by
420
finding the number after the last dot. It makes 'machine.moo.123' use
423
Adapted a larger amount of tests to the new <connect> style.
425
Bug: http://curl.haxx.se/bug/view.cgi?id=1204
426
Reported by: Martin Jansen
428
- [Clemens Gruber brought this change]
430
Added libuv example multi-uv.c
432
Yang Tse (25 Mar 2013)
433
- NTLM: fix several NTLM code paths memory leaks
435
- WIN32 MemoryTracking: track wcsdup() _wcsdup() and _tcsdup() usage
437
As of 25-mar-2013 wcsdup() _wcsdup() and _tcsdup() are only used in
438
WIN32 specific code, so tracking of these has not been extended for
439
other build targets. Without this fix, memory tracking system on
440
WIN32 builds, when using these functions, would provide misleading
443
In order to properly extend this support for all targets curl.h
444
would have to define curl_wcsdup_callback prototype and consequently
445
wchar_t should be visible before that in curl.h. IOW curl_wchar_t
446
defined in curlbuild.h and this pulling whatever system header is
447
required to get wchar_t definition.
449
Additionally a new curl_global_init_mem() function that also receives
450
user defined wcsdup() callback would be required.
452
- curl_ntlm_msgs.c: revert commit 463082bea4
454
reverts unreleased invalid memory leak fix
456
Daniel Stenberg (23 Mar 2013)
457
- RELEASE-NOTES: synced with bc6037ed3ec02
459
More changes, bugfixes and contributors!
461
- [Martin Jansen brought this change]
463
Curl_proxyCONNECT: count received headers
465
Proxy servers tend to add their own headers at the beginning of
466
responses. The size of these headers was not taken into account by
467
CURLINFO_HEADER_SIZE before this change.
469
Bug: http://curl.haxx.se/bug/view.cgi?id=1204
471
Steve Holme (21 Mar 2013)
472
- sasl: Corrected a few violations of the curl coding standards
474
Corrected some incorrectly positioned pointer variable declarations to
475
be "char *" rather than "char* ".
477
- multi.c: Corrected a couple of violations of the curl coding standards
479
Corrected some incorrectly positioned pointer variable declarations to
480
be "type *" rather than "type* ".
482
- imap-tests: Added CRLF to reply data to be compliant with RFC-822
484
Updated the reply data in tests: 800, 801, 802, 804 and 1321 to possess
485
the CRLF as per RFC-822.
487
- multi.c: Fix compilation warning
489
warning: an enumerated type is mixed with another type
491
- multi.c: fix compilation error
493
warning: conversion from enumeration type to different enumeration type
495
- lib1900.c: fix compilation warning
497
warning: declaration of 'time' shadows a global declaration
499
Yang Tse (20 Mar 2013)
500
- [John E. Malmberg brought this change]
502
build_vms.com: use existing curlbuild.h and parsing fix
504
This patch removes building curlbuild.h from the build_vms.com procedure
505
and uses the one in the daily or release tarball instead.
507
packages/vms/build_curlbuild_h.com is obsolete with this change.
509
Accessing the library module name "tool_main" needs different handling
510
when the optional extended parsing is enabled.
512
Tested on IA64/VMS 8.4 and VAX/VMS 7.3
514
Nick Zitzmann (19 Mar 2013)
515
- darwinssl: disable ECC ciphers under Mountain Lion by default
517
I found out that ECC doesn't work as of OS X 10.8.3, so those ciphers are
518
turned off until the next point release of OS X.
520
Steve Holme (18 Mar 2013)
521
- FEATURES: Small tidy up for constancy and grammar
523
Daniel Stenberg (18 Mar 2013)
524
- [Oliver Schindler brought this change]
526
Curl_proxyCONNECT: clear 'rewindaftersend' on success
528
After having done a POST over a CONNECT request, the 'rewindaftersend'
529
boolean could be holding the previous value which could lead to badness.
531
This should be tested for in a new test case!
533
Bug: https://groups.google.com/d/msg/msysgit/B31LNftR4BI/KhRTz0iuGmUJ
535
Steve Holme (18 Mar 2013)
536
- TODO: Reordered the protocol and security sections
538
Moved SMTP, POP3, IMAP and New Protocol sections to be listed after the
539
other protocols (FTP, HTTP and TELNET) and SASL to be after SSL and
540
GnuTLS as these are all security related.
542
Additionally fixed numbering of the SSL and GnuTLS sections as they
545
Yang Tse (18 Mar 2013)
546
- tests: specify 'text' mode for some output files in verify section
548
Steve Holme (17 Mar 2013)
549
- imap: Fixed incorrect initial response generation for SASL AUTHENTICATE
551
Fixed incorrect initial response generation for the NTLM and LOGIN SASL
552
authentication mechanisms when the SASL-IR was detected.
554
Introduced in commit: 6da7dc026c14.
556
- FEATURES: Expanded the supported enhanced IMAP command list
558
- TODO: Corrected typo in TOC
560
- TODO: Added IMAP section and removed unused Other protocols section
562
- TODO: Added graceful base64 decoding failure to SMTP and POP3
564
- TODO: Corrected typo on section 10.2 heading
566
Yang Tse (16 Mar 2013)
567
- tests: 96, 558, 1330: strip build subdirectory dependent leading path
569
Steve Holme (15 Mar 2013)
570
- TODO: Added section 10.2 Initial response to POP3 to do list
572
- imap-tests: Corrected copy/paste error in test808 reply data
574
Yang Tse (15 Mar 2013)
575
- unit1330.c: fix date
577
- tests: add #96 #558 and #1330
579
These verfy that the 'memory tracking' subsystem is actually doing its
580
job when using curl tool (#96), a test in libtest (#558) and also a unit
581
test (#1330), in order to prevent regressions in this functionallity.
583
Steve Holme (15 Mar 2013)
584
- imap-tests: Added test808 for custom EXAMINE command
586
Daniel Stenberg (15 Mar 2013)
587
- HTTP proxy: insert slash in URL if missing
589
curl has been accepting URLs using slightly wrong syntax for a long
590
time, such as when completely missing as slash "http://example.org" or
591
missing a slash when a query part is given
592
"http://example.org?q=foobar".
594
curl would translate these into a legitimate HTTP request to servers,
595
although as was shown in bug #1206 it was not adjusted properly in the
596
cases where a HTTP proxy was used.
598
Test 1213 and 1214 were added to the test suite to verify this fix.
600
The test HTTP server was adjusted to allow us to specify test number in
601
the host name only without using any slashes in a given URL.
603
Bug: http://curl.haxx.se/bug/view.cgi?id=1206
606
Steve Holme (14 Mar 2013)
607
- ftpserver.pl: Added EXAMINE_imap() for IMAP EXAMINE commands
609
Used hard coded data from RFC-3501 section 6.3.2.
611
Yang Tse (14 Mar 2013)
612
- curl_memory.h: introduce CURLX_NO_MEMORY_CALLBACKS usage possibility
614
This commit alone does not fix anything nor modifies existing
615
interfaces or behaviors, although it is a prerequisite for other
618
- Makefile.vc6: add missing files
620
Linus Nielsen Feltzing (14 Mar 2013)
621
- pipelining: Remove dead code.
623
- Multiple pipelines and limiting the number of connections.
625
Introducing a number of options to the multi interface that
626
allows for multiple pipelines to the same host, in order to
627
optimize the balance between the penalty for opening new
628
connections and the potential pipelining latency.
630
Two new options for limiting the number of connections:
632
CURLMOPT_MAX_HOST_CONNECTIONS - Limits the number of running connections
633
to the same host. When adding a handle that exceeds this limit,
634
that handle will be put in a pending state until another handle is
635
finished, so we can reuse the connection.
637
CURLMOPT_MAX_TOTAL_CONNECTIONS - Limits the number of connections in total.
638
When adding a handle that exceeds this limit,
639
that handle will be put in a pending state until another handle is
640
finished. The free connection will then be reused, if possible, or
641
closed if the pending handle can't reuse it.
643
Several new options for pipelining:
645
CURLMOPT_MAX_PIPELINE_LENGTH - Limits the pipeling length. If a
646
pipeline is "full" when a connection is to be reused, a new connection
647
will be opened if the CURLMOPT_MAX_xxx_CONNECTIONS limits allow it.
648
If not, the handle will be put in a pending state until a connection is
649
ready (either free or a pipe got shorter).
651
CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE - A pipelined connection will not
652
be reused if it is currently processing a transfer with a content
653
length that is larger than this.
655
CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE - A pipelined connection will not
656
be reused if it is currently processing a chunk larger than this.
658
CURLMOPT_PIPELINING_SITE_BL - A blacklist of hosts that don't allow
661
CURLMOPT_PIPELINING_SERVER_BL - A blacklist of server types that don't allow
664
See the curl_multi_setopt() man page for details.
666
Yang Tse (13 Mar 2013)
667
- tool_main.c: remove redundant vms_show storage-class specifier
669
vms_show 'extern' storage-class specifier removed from tool_main.c due to...
671
- Advice from Tor Arntsen: http://curl.haxx.se/mail/lib-2013-03/0164.html
673
- HP OpenVMS docs stating that 'Extern is the default storage class for
674
variables declared outside a function.'
675
http://h71000.www7.hp.com/commercial/c/docs/dec_c_help_5.html
676
(Storage_Classes section)
678
- test509: libcurl initialization with memory callbacks and actual usage
680
Steve Holme (13 Mar 2013)
681
- pop3: Removed unnecessary transfer cancellation
683
Following commit e450f66a02d8 and the changes in the multi interface
684
being used internally, from 7.29.0, the transfer cancellation in
685
pop3_dophase_done() is no longer required.
687
Yang Tse (13 Mar 2013)
688
- Makefile.am: add VMS files not being included in tarball
690
- [Tom Grace brought this change]
692
build_vms.com: VMS build fixes
694
Added missing slash in cc_full_list.
695
Removed unwanted extra quotes inside symbol tool_main
696
for non-VAX architectures that triggered link failure.
697
Replaced curl_sys_inc with sys_inc.
699
- [Tom Grace brought this change]
701
tool_main.c: fix VMS global variable storage-class specifier
703
An extern submits a psect and a global reference to the linker to point
704
to it. Using "extern int vms_show = 0" also creates a globaldef.
706
The use of the extern by itself does declare a psect but does not declare
707
a globalsymbol. It does declare a globalref. But the linker needs one and
708
only one globaldef or there is an error.
710
Patrick Monnerat (12 Mar 2013)
711
- OS400: synchronize RPG binding
713
Steve Holme (12 Mar 2013)
714
- pop3: Fixed continuous wait when using --ftp-list
716
Don't initiate a transfer when using --ftp-list.
718
Kamil Dudka (12 Mar 2013)
719
- [Zdenek Pavlas brought this change]
721
curl_global_init: accept the CURL_GLOBAL_ACK_EINTR flag
723
The flag can be used in pycurl-based applications where using the multi
724
interface would not be acceptable because of the performance lost caused
725
by implementing the select() loop in python.
727
Bug: http://curl.haxx.se/bug/view.cgi?id=1168
728
Downstream Bug: https://bugzilla.redhat.com/919127
730
- easy: do not ignore poll() failures other than EINTR
732
Yang Tse (12 Mar 2013)
733
- curl.h: stricter CURL_EXTERN linkage decorations logic
735
No API change involved.
737
Info: http://curl.haxx.se/mail/lib-2013-02/0234.html
739
Daniel Stenberg (11 Mar 2013)
740
- THANKS: Latin-1'ified Jiri's name
742
Steve Holme (11 Mar 2013)
743
- test806: Added CRLF to reply data to be compliant with RFC-822
745
Daniel Stenberg (11 Mar 2013)
746
- test805: added crlf newlines to make data size match
748
since mails sent are supposed to have CRLF line endings I added them and
749
now the data size after (\Seen) matches again properly
751
- test: fix newline for the data check of 807
753
Yang Tse (11 Mar 2013)
754
- test801 to test807: fix protocol section line endings
756
Steve Holme (10 Mar 2013)
757
- Makefile.am: Corrected a couple of spurious tab characters
759
Corrected a couple of tab characters between test702 and test703, and
760
between test900 and test901 which should be spaces.
762
- [Jiri Hruska brought this change]
764
imap: Added test807 for custom request functionality (STORE)
766
- [Jiri Hruska brought this change]
768
imap: Added test806 for IMAP (folder) LIST command
770
- [Jiri Hruska brought this change]
772
imap: Added test805 for APPEND functionality
774
- [Jiri Hruska brought this change]
776
imap: Added test804 for skipping SELECT if in the same mailbox
778
- [Jiri Hruska brought this change]
780
imap: Added test802 and test803 for UIDVALIDITY verification
782
Added one test for a request with matching UIDVALIDITY and one which is
783
a mismatched request that will fail.
785
- [Jiri Hruska brought this change]
787
imap: Added test801 for UID and SECTION URL parameters
789
- [Jiri Hruska brought this change]
791
imap-tests: Accept quoted parameters in ftpserver.pl
793
Any IMAP parameter can come in escaped and in double quotes. Added a
794
simple function to unquote the command parameters and applied it to
795
the IMAP command handlers.
797
- [Jiri Hruska brought this change]
799
tests: Fix ftpserver.pl indentation
801
The whole of FETCH_imap() had one extra space of indentation, whilst
802
APPEND_imap() used indentation of 2 instead of 4 in places.
804
- Makefile.am: Corrected end of line filler character
806
The majority of lines, that specify a test file for inclusion, end with
807
a tab character before the slash whilst some end with a space. Corrected
808
those that end with a space to end with a tab character as well.
810
- email-tests: Updated the test data that corresponds to the test number
812
Finished segregating the email protocol tests, into their own protocol
813
based ranges, in preparation of adding more e-mail related tests to the
816
- email-tests: Renamed the IMAP test to be 800
818
Continued segregating the email protocol tests, into their own protocol
819
based ranges, in preparation of adding more e-mail related tests to the
822
- email-tests: Renamed the SMTP tests to be in the range 900-906
824
Continued segregating the email protocol tests, into their own protocol
825
based ranges, in preparation of adding more e-mail related tests to the
828
- email-tests: Renamed the POP3 tests to be in the range 850-857
830
Started segregating the email protocol tests, into their own protocol
831
based ranges, in preparation of adding more e-mail related tests to the
834
Daniel Stenberg (10 Mar 2013)
835
- hiperfifo: updated to use current libevent API
839
Steve Holme (10 Mar 2013)
840
- imap: Reworked some function descriptions
842
- imap: Added some missing comments to imap_sendf()
844
- email: Removed hard returns from init functions
846
Daniel Stenberg (9 Mar 2013)
847
- curl_multi_wait: avoid second loop if nothing to do
849
... hopefully this will also make clang-analyzer stop warning on
850
potentional NULL dereferences (which were false positives anyway).
852
- multi_runsingle: avoid NULL dereference
854
When Curl_do() returns failure, the connection pointer could be NULL so
855
the code path following needs to that that into account.
857
Bug: http://curl.haxx.se/mail/lib-2013-03/0062.html
860
Steve Holme (9 Mar 2013)
861
- imap: Re-factored all perform based functions
863
Standardised the naming of all perform based functions to be in the form
864
imap_perform_something().
866
Daniel Stenberg (9 Mar 2013)
867
- [Cédric Deltheil brought this change]
869
examples/getinmemory.c: abort the transfer if not enough memory
871
No more use exit(3) but instead tell libcurl that no byte has been
872
written to let it return a `CURLE_WRITE_ERROR`. In addition, check
873
curl easy handle return code.
875
- RELEASE-NOTES: synced with ca3c0ed3a9c
877
8 more bugfixes, one change and a bunch of contributors
879
Yang Tse (9 Mar 2013)
880
- Makefile.am: empty AM_LDFLAGS definition for automake 1.7 compatibility
882
Steve Holme (9 Mar 2013)
883
- imap: Added description comments to all perform based functions
885
- imap: Removed the need for separate custom request functions
887
Moved the custom request processing into the LIST command as the logic
890
- imap: Corrected typo in comment
892
Yang Tse (9 Mar 2013)
893
- Makefile.am: empty AM_LDFLAGS definition for automake 1.7 compatibility
895
Steve Holme (9 Mar 2013)
896
- imap: Moved imap_logout() to be grouped with the other perform functions
898
- email: Updated the function descriptions for the logout / quit functions
900
Updated the function description comments following commit 4838d196fdbf.
902
- email: Simplified the logout / quit functions
904
Moved the blocking state machine to the disconnect functions so that the
905
logout / quit functions are only responsible for sending the actual
906
command needed to logout or quit.
908
Additionally removed the hard return on failure.
910
- email: Tidied up the *_regular_transfer() functions
912
Added comments and simplified convoluted dophase_done comparison.
914
- email: Simplified nesting of if statements in *_doing() functions
916
Daniel Stenberg (8 Mar 2013)
917
- RELEASE-NOTES: mention that krb4 is up for consideration
919
Steve Holme (8 Mar 2013)
920
- imap: Fixed handling of untagged responses for the STORE custom command
922
Added an exception, for the STORE command, to the untagged response
923
processor in imap_endofresp() as servers will back respones containing
924
the FETCH keyword instead.
926
Yang Tse (8 Mar 2013)
927
- curlbuild.h.dist: enhance non-configure GCC ABI detection logic
929
GCC specific adjustments:
931
- check __ILP32__ before 32 and 64bit processor architectures in
932
order to detect ILP32 programming model on 64 bit processors
933
which, of course, also support LP64 programming model, when using
936
- keep 32bit processor architecture checks in order to support gcc
937
versions older than 4.7 which don't define __ILP32__
939
- check __LP64__ for gcc 3.3 and newer, while keeping 64bit processor
940
architecture checks for older versions which don't define __LP64__
942
- curlbuild.h.dist: fix GCC build on ARM systems without configure script
944
Bug: http://curl.haxx.se/bug/view.cgi?id=1205
945
Reported by: technion
947
- [Gisle Vanem brought this change]
949
polarssl.c: fix header filename typo
951
- configure: use XC_LIBTOOL for portability across libtool versions
953
- xc-lt-iface.m4: provide XC_LIBTOOL macro
955
Steve Holme (7 Mar 2013)
956
- imap: Fixed SELECT not being performed for custom requests
958
- email: Minor code tidy up following recent changes
960
Removed unwanted braces and added variable initialisation.
962
- DOCS: Corrected the IMAP URL grammar of the UIDVALIDITY parameter
964
- FEATURES: Provided a little clarity in some IMAP features
966
- email: Optimised block_statemach() functions
968
Optimised the result test in each of the block_statemach() functions.
970
- DOCS: Added the list command to the IMAP URL section
972
Added examples of the list command and clarified existing example URLs
973
following recent changes.
975
- FEATURES: Updated for recent imap additions
977
Updated the imap features list, corrected a typo in the smtp features
978
and clarified a pop3 feature.
980
Daniel Stenberg (7 Mar 2013)
981
- version bump: the next release will be 7.30.0
983
- checksrc: ban unsafe functions
985
The list of unsafe functions currently consists of sprintf, vsprintf,
986
strcat, strncat and gets.
988
Subsequently, some existing code needed updating to avoid warnings on
991
Steve Holme (7 Mar 2013)
992
- RELEASE-NOTES: Added missing imap fixes and additions
994
With all the recent imap changes it wasn't clear what new features and
995
fixes should be included in the release notes.
997
Nick Zitzmann (6 Mar 2013)
998
- RELEASE-NOTES: brought this up-to-date with the latest changes
1000
Steve Holme (6 Mar 2013)
1001
- [Jiri Hruska brought this change]
1003
imap: Fixed test801 and test1321 to specify a message UID
1005
Just a folder list would be retrieved if UID was not specified now.
1007
- [Jiri Hruska brought this change]
1009
imap: Fixed ftpserver.pl to allow verification even through LIST command
1011
Commit 198012ee inadvertently broke LIST_imap().
1013
- imap: Tidied up the APPEND and final APPEND response functions
1015
Removed unnecessary state changes on failure and setting of result codes
1018
- imap: Tidied up the final FETCH response function
1020
Removed unnecessary state change on failure and setting of result code on
1023
- imap: Tidied up the LIST response function
1025
Reworked comments as they referenced custom commands, removed
1026
unnecessary state change on failure and setting of result code on
1029
- imap: Removed the custom request response function
1031
Removed imap_state_custom_resp() as imap_state_list_resp() provides the
1034
- [Jiri Hruska brought this change]
1036
imap: Updated ftpserver.pl to be more compliant, added new commands
1038
Enriched IMAP capabilities of ftpserver.pl in order to be able to
1039
add tests for the new IMAP features.
1041
* Added support for APPEND - Saves uploaded data to log/upload.$testno
1042
* Added support for LIST - Returns the contents of <reply/> section in
1043
the current test, like e.g FETCH.
1044
* Added support for STORE - Returns hardcoded updated flags
1045
* Changed handling of SELECT - Returns much more information in the
1046
usual set of untagged responses; uses hardcoded data from an example
1048
* Changed handling of FETCH - Fixed response format
1050
- imap: Added check for empty UID in FETCH command
1052
As the UID has to be specified by the user for the FETCH command to work
1053
correctly, added a check to imap_fetch(), although strictly speaking it
1054
is protected by the call from imap_perform().
1056
Kamil Dudka (6 Mar 2013)
1057
- nss: fix misplaced code enabling non-blocking socket mode
1059
The option needs to be set on the SSL socket. Setting it on the model
1060
takes no effect. Note that the non-blocking mode is still not enabled
1061
for the handshake because the code is not yet ready for that.
1063
Daniel Stenberg (6 Mar 2013)
1064
- imap: fix compiler warning
1066
imap.c:694:21: error: unused variable 'imapc' [-Werror=unused-variable]
1068
Steve Holme (5 Mar 2013)
1069
- imap: Added support for list command
1071
- imap: Added list perform and response handler functions
1073
- imap: Introduced IMAP_LIST state
1075
- imap: Small tidy up of imap_select() to match imap_append()
1077
Updated the style of imap_select() before adding the LIST command.
1079
- imap: Moved mailbox check from the imap_do() function
1081
In preparation for the addition of the LIST command, moved the mailbox
1082
check from imap_do() to imap_select() and imap_append().
1084
- curl_setup.h: Added S_IRDIR() macro for compilers that don't support it
1086
Commit 26eaa8383001 introduces the use of S_ISDIR() yet some compilers,
1087
such as MSVC don't support it, so we must define a substitute using
1088
file flags and mask.
1090
Daniel Stenberg (4 Mar 2013)
1091
- AddFormData: prevent only directories from being posted
1093
Commit f4cc54cb4746ae5a6d (shipped as part of the 7.29.0 release) was a
1094
bug fix that introduced a regression in that while trying to avoid
1095
allowing directory names, it also forbade "special" files like character
1096
devices and more. like "/dev/null" as was used by Oliver who reported
1099
Reported by: Oliver Gondža
1100
Bug: http://curl.haxx.se/mail/archive-2013-02/0040.html
1102
Nick Zitzmann (3 Mar 2013)
1103
- darwinssl: fix infinite loop if server disconnected abruptly
1105
If the server hung up the connection without sending a closure alert,
1106
then we'd keep probing the socket for data even though it's dead. Now
1107
we're ready for this situation.
1109
Bug: http://curl.haxx.se/mail/lib-2013-03/0014.html
1110
Reported by: Aki Koskinen
1112
Steve Holme (3 Mar 2013)
1113
- imap: Added comments to imap_append()
1115
- [Jiri Hruska brought this change]
1117
imap: Added required mailbox check for FETCH and APPEND commands
1119
- pingpong.c: Fix enumerated type mixed with another type
1121
- smtp: Updated the coding style for state changes after a send operation
1123
Some state changes would be performed after a failure test that
1124
performed a hard return, whilst others would be performed within a test
1125
for success. Updated the code, for consistency, so all instances are
1126
performed within a success test.
1128
- pop3: Updated the coding style for state changes after a send operation
1130
Some state changes would be performed after a failure test that
1131
performed a hard return, whilst others would be performed within a test
1132
for success. Updated the code, for consistency, so all instances are
1133
performed within a success test.
1135
- imap: Fixed typo in variable assignment
1137
- [Jiri Hruska brought this change]
1139
imap: Fixed custom request handling in imap_done()
1141
Fixed imap_done() so that neither the FINAL states are not entered when
1142
a custom command has been performed.
1144
- [Jiri Hruska brought this change]
1146
imap: Enabled custom requests in imap_select_resp()
1148
Changed imap_select_resp() to invoke imap_custom() instead of
1149
imap_fetch() after the mailbox has been selected if a custom
1150
command has been set.
1152
- [Jiri Hruska brought this change]
1154
imap: Enabled custom requests in imap_perform()
1156
Modified imap_perform() to start with the custom command instead of
1157
SELECT when a custom command is to be performed and no mailbox has
1160
- [Jiri Hruska brought this change]
1162
imap: Added custom request perform and response handler functions
1164
Added imap_custom(), which initiates the custom command processing,
1165
and an associated response handler imap_state_custom_resp(), which
1166
handles any responses by sending them to the client as body data.
1168
All untagged responses with the same name as the first word of the
1169
custom request string are accepted, with the exception of SELECT and
1170
EXAMINE which have responses that cannot be easily identified. An
1171
extra check has been provided for them so that any untagged responses
1172
are accepted for them.
1174
- pop3: Fixed unnecessary parent structure reference
1176
Updated pop3 code following recent imap changes.
1178
- [Jiri Hruska brought this change]
1180
imap: Added custom request parsing
1182
Added imap_parse_custom_request() for parsing the CURLOPT_CUSTOMREQUEST
1183
parameter which URL decodes the value and separates the request from
1184
any parameters - This makes it easier to filter untagged responses
1185
by the request command.
1187
- [Jiri Hruska brought this change]
1189
imap: Introduced custom request parameters
1191
Added custom request parameters to the per-request structure.
1193
- [Jiri Hruska brought this change]
1195
imap: Introduced IMAP_CUSTOM state
1197
- imap: Minor code tidy up
1199
Minor tidy up of code layout and comments following recent changes.
1201
- imap: Simplified the imap_state_append_resp() function
1203
Introduced the result code variable to simplify the state changes and
1204
remove the hard returns.
1206
- imap: Changed successful response logic in imap_state_append_resp()
1208
For consistency changed the logic of the imap_state_append_resp()
1209
function to test for an unsucessful continuation response rather than a
1212
- imap: Standardised imapcode condition tests
1214
For consistency changed two if(constant != imapcode) tests to be
1215
if(imapcode != constant).
1217
- imap: Moved imap_append() to be with the other perform functions
1219
- [Jiri Hruska brought this change]
1221
imap: Enabled APPEND support in imap_perform()
1223
Added logic in imap_perform() to perform an APPEND rather than SELECT
1224
and FETCH if an upload has been specified.
1226
- [Jiri Hruska brought this change]
1228
imap: Implemented APPEND final processing
1230
The APPEND operation needs to be performed in several steps:
1231
1) We send "<tag> APPEND <mailbox> <flags> {<size>}\r\n"
1232
2) Server responds with continuation respose "+ ...\r\n"
1233
3) We start the transfer and send <size> bytes of data
1234
4) Only now we end the request command line by sending "\r\n"
1235
5) Server responds with "<tag> OK ...\r\n"
1237
This commit performs steps 4 and 5, in the DONE phase, as more
1238
processing is required after the transfer.
1240
- [Jiri Hruska brought this change]
1242
imap: Added APPEND perform and response handler functions
1244
Added imap_append() function to initiate upload and imap_append_resp()
1245
to handle the continuation response and start the transfer.
1247
- [Jiri Hruska brought this change]
1249
imap: Introduced IMAP_APPEND and IMAP_APPEND_FINAL states
1251
- [Jiri Hruska brought this change]
1253
imap: Updated setting of transfer variables in imap_state_fetch_resp()
1255
Add number of bytes retrieved from the PP cache to req.bytecount and set
1256
req.maxdownload only when starting a proper download.
1258
- [Jiri Hruska brought this change]
1260
imap: Improved FETCH response parsing
1262
Added safer parsing of the untagged FETCH response line and the size of
1265
- imap: Fixed accidentally lossing the result code
1267
Accidentally lost the result code in imap_state_capability() and
1268
imap_state_login() with commit b06a78622609.
1270
- imap: Another minor comment addition / tidy up
1272
- imap: Updated the coding style for state changes after a send operation
1274
Some state changes would be performed after a failure test that
1275
performed a hard return, whilst others would be performed within a test
1276
for success. Updated the code, for consistency, so all instances are
1277
performed within a success test.
1279
- pop3 / smtp: Small comment tidy up
1281
Small tidy up to keep some comments consistant across each of the email
1284
- [Jiri Hruska brought this change]
1286
imap: FETCH response handler cleanup before further changes
1288
Removed superfluous NULL assignment after Curl_safefree() and rewrote
1289
some comments and logging messages.
1291
- pop3: Small tidy up of function arguments
1293
- imap: Small tidy up of function arguments
1295
- smtp: Corrected debug message for POP3_AUTH_FINAL constant
1297
Following commit ad3177da24b8 corrected the debug message in state()
1298
from AUTH to AUTH_FINAL.
1300
- pop3: Corrected debug message for POP3_AUTH_FINAL constant
1302
Following commit afad1ce753a1 corrected the debug message in state()
1303
from AUTH to AUTH_FINAL.
1305
- imap: Corrected debug message for IMAP_AUTHENTICATE_FINAL constant
1307
Following commit 13006f3de9ec corrected the debug message in state()
1308
from AUTHENTICATE to AUTHENTICATE_FINAL.
1310
- [Jiri Hruska brought this change]
1312
imap: Fixed error code returned for invalid FETCH response
1314
If the FETCH command does not result in an untagged response the the
1315
UID is probably invalid. As such do not return CURLE_OK.
1317
- [Jiri Hruska brought this change]
1319
imap: Added processing of the final FETCH responses
1321
Not processing the final FETCH responses was not optimal, not only
1322
because the response code would be ignored but it would also leave data
1323
unread on the socket which would prohibit connection reuse.
1325
- [Jiri Hruska brought this change]
1327
imap: Introduced FETCH_FINAL state for processing final fetch responses
1329
A typical FETCH response can be broken down into four parts:
1331
1) "* <uid> FETCH (<what> {<size>}\r\n", using continuation syntax
1332
2) <size> bytes of the actual message
1333
3) ")\r\n", finishing the untagged response
1334
4) "<tag> OK ...", finishing the command
1336
Part 1 is read in imap_fetch_resp(), part 2 is consumed in the PERFORM
1337
phase by the transfer subsystem, parts 3 and 4 are currently ignored.
1339
- imap: fix autobuild warning
1341
Removed whitespace from imap_perform()
1343
- imap: fix compiler warning
1345
error: declaration of 'imap' shadows a previous local
1347
- smtp: Re-factored the final SMTP_AUTH constant
1349
Changed the final SMTP_AUTH constant to SMTP_AUTH_FINAL for consistency
1350
with the response function.
1352
- pop3: Re-factored the final POP3_AUTH constant
1354
Changed the final POP3_AUTH constant to POP3_AUTH_FINAL for consistency
1355
with the response function.
1357
- imap: Re-factored final IMAP_AUTHENTICATE constant
1359
Changed the final IMAP_AUTHENTICATE constant to IMAP_AUTHENTICATE_FINAL
1360
for consistency with the response function.
1362
- imap: Updated the coding style of imap_state_servergreet_resp()
1364
Updated the coding style, in this function, to be consistant with other
1365
response functions rather then performing a hard return on failure.
1367
- imap: Reversed the logic of the (un)successful tagged SELECT response
1369
Reversed the logic of the unsuccessful vs successful tagged SELECT
1370
response in imap_state_select_resp() to be more logical to read.
1372
- imap: Reversed the logic of the (un)successful tagged CAPABILITY response
1374
Reversed the logic of the unsuccessful vs successful tagged CAPABILITY
1375
response in imap_state_capability_resp() to be more logical to read.
1377
- imap: Corrected char* references with char *
1379
Corrected char* references made in commit: 709b3506cd9b.
1381
- [Jiri Hruska brought this change]
1383
imap: Added processing of more than one response when sent in same packet
1385
Added a loop to imap_statemach_act() in which Curl_pp_readresp() is
1386
called until the cache is drained. Without this multiple responses
1387
received in a single packet could result in a hang or delay.
1389
- [Jiri Hruska brought this change]
1391
imap: Added skipping of SELECT command if already in the same mailbox
1393
Added storage and checking of the last mailbox userd to prevent
1394
unnecessary switching.
1396
- [Jiri Hruska brought this change]
1398
imap: Introduced the mailbox variable
1400
Added the mailbox variable to the per-connection structure in
1401
preparation for checking for an already selected mailbox.
1403
- email: Slight reordering of connection based variables
1405
Reordered the state and ssl_done variables in order to provide more
1406
consistency between the email protocols as well as for for an upcoming
1409
- imap: Tidied up comments for connection based variables
1411
- DOCS: Added the IMAP UIDVALIDITY property to the CURLOPT_URL section
1413
- [Jiri Hruska brought this change]
1415
imap: Added verification of UIDVALIDITY mailbox attribute
1417
Added support for checking the UIDVALIDITY, and aborting the request, if
1418
it has been specified in the URL and the server response is different.
1420
- [Jiri Hruska brought this change]
1422
imap: Added support for parsing the UIDVALIDITY property
1424
Added support for parsing the UIDVALIDITY property from the SELECT
1425
response and storing it in the per-connection structure.
1427
- [Jiri Hruska brought this change]
1429
imap: Introduced the mailbox_uidvalidity variable
1431
Added the mailbox_uidvalidity variable to the per-connection structure
1432
in preparation for checking the UIDVALIDITY mailbox attribute.
1434
- imap: Corrected comment in imap_endofresp()
1436
- imap: Corrected whitespace
1438
- [Jiri Hruska brought this change]
1440
imap: Added filtering of CAPABILITY and FETCH untagged responses
1442
Only responses that contain "CAPABILITY" and "FETCH", respectively,
1443
will be sent to their response handler.
1445
- [Jiri Hruska brought this change]
1447
imap: Added a helper function for upcoming untagged response filtering
1449
RFC 3501 states that "the client MUST be prepared to accept any response
1450
at all times" yet we assume anything received with "* " at the beginning
1451
is the untagged response we want.
1453
Introduced a helper function that checks whether the input looks like a
1454
response to specified command, so that we may filter the ones we are
1455
interested in according to the current state.
1457
- [Jiri Hruska brought this change]
1459
imap: Moved CAPABILITY response handling to imap_state_capability_resp()
1461
Introduced similar handling to the FETCH responses, where even the
1462
untagged data responses are handled by the response handler of the
1465
Linus Nielsen Feltzing (26 Feb 2013)
1466
- Remove unused variable in smtp_state_data_resp()
1468
Steve Holme (25 Feb 2013)
1469
- email: Small tidy up following recent changes
1471
- smtp: Removed bytecountp from the per-request structure
1473
Removed this pointer to a downloaded bytes counter because it was set in
1474
smtp_init() to point to the same variable the transfer functions keep
1475
the count in (k->bytecount), effectively making the code in transfer.c
1476
"*k->bytecountp = k->bytecount" a no-op.
1478
- pop3: Removed bytecountp from the per-request structure
1480
Removed this pointer to a downloaded bytes counter because it was set in
1481
pop3_init() to point to the same variable the transfer functions keep
1482
the count in (k->bytecount), effectively making the code in transfer.c
1483
"*k->bytecountp = k->bytecount" a no-op.
1485
- [Jiri Hruska brought this change]
1487
imap: Removed bytecountp from the per-request structure
1489
Removed this pointer to a downloaded bytes counter because it was set in
1490
imap_init() to point to the same variable the transfer functions keep
1491
the count in (k->bytecount), effectively making the code in transfer.c
1492
"*k->bytecountp = k->bytecount" a no-op.
1494
- [Jiri Hruska brought this change]
1496
imap: Adjusted SELECT and FETCH function order
1498
Moved imap_select() and imap_fetch() to be grouped with the other
1501
- [Jiri Hruska brought this change]
1503
imap: Adjusted SELECT and FETCH state order in imap_statemach_act()
1505
Exchanged the position of these states in the switch statements to
1506
match the state enum, execution and function order.
1508
- imap: Minor tidy up of comments in imap_parse_url_path()
1510
Tidy up of comments before next round of imap changes.
1512
- imap: Fixed incorrect comparison for STARTTLS in imap_endofresp()
1514
Corrected the comparison type in addition to commit 1dac29fa83a9.
1516
- DOCS: Corrected IMAP URL examples according to RFC5092
1518
URL examples that included the UID weren't technically correct although
1519
would pass the curl parser.
1521
Nick Zitzmann (24 Feb 2013)
1522
- darwinssl: fix undefined $ssllib warning in runtests.pl
1524
I also added --with-darwinssl to the list of SSL options in configure.
1526
Steve Holme (24 Feb 2013)
1527
- imap: Added check for new internal imap response code
1529
- imap: Changed the order of the response types in imap_endofresp()
1531
From a maintenance point of view the code reads better to view tagged
1532
responses, then untagged followed by continuation responses.
1534
Additionally, this matches the order of responses in POP3.
1536
- [Jiri Hruska brought this change]
1538
imap: Added stricter parsing of continuation responses
1540
Enhanced the parsing to only allow continuation responses in some
1543
- imap: Simplified memcmp() in tagged response parsing
1545
- [Jiri Hruska brought this change]
1547
imap: Reworked the logic of untagged command responses
1549
- imap: Corrected spacing of trailing brace
1551
- [Jiri Hruska brought this change]
1553
imap: Added stricter parsing of tagged command responses
1555
Enhanced the parsing of tagged responses which must start with "OK",
1558
- [Jiri Hruska brought this change]
1560
imap: Simplified command response test in imap_endofresp()
1562
- [Jiri Hruska brought this change]
1564
imap: Corrected comment in imap_endofresp()
1566
- DOCS: Corrected layout of POP3 and IMAP URL examples
1568
Corrected layout issues with the POP3 and IMAP URL examples introduced
1569
in commit cb3ae6894fb2.
1571
- DOCS: Updated CURLOPT_URL section following recent POP3 and IMAP changes
1573
Updated the POP3 sub-section to refer to message ID rather than mailbox.
1575
Added an IMAP sub-section with example URLs depicting the specification
1576
of mailbox, uid and section.
1578
- pop3: Refactored the mailbox variable as it didn't reflect it's purpose
1580
Updated the mailbox variable to correctly reflect it's purpose. The
1581
name mailbox was a leftover from when IMAP and POP3 support was
1582
initially added to curl.
1584
- FEATURES: Updated following recent IMAP changes
1586
- [Jiri Hruska brought this change]
1588
imap: Added the ability to FETCH a specific UID and SECTION
1590
Updated the FETCH command to send the UID and SECTION parsed from the
1591
URL. By default the BODY specifier doesn't include a section, BODY[] is
1592
now sent whereas BODY[TEXT] was previously sent. In my opinion
1593
retrieving just the message text is rarely useful when dealing with
1594
emails, as the headers are required for example, so that functionality
1595
is not retained. In can however be simulated by adding SECTION=TEXT to
1598
Also updated test801 and test1321 due to the BODY change.
1600
- email: Additional tidy up of comments following recent changes
1602
- smtp: Removed some FTP heritage leftovers
1604
Removed user and passwd from the SMTP struct as these cannot be set on
1605
a per-request basis and are leftover from legacy FTP code.
1607
Changed some comments still using FTP terminology.
1609
- smtp: Moved the per-request variables to the per-request data structure
1611
Moved the rcpt variable from the per-connection struct smtp_conn to the
1612
new per-request struct and fixed references accordingly.
1614
- pop3: Introduced a custom SMTP structure for per-request data
1616
Created a new SMTP structure and changed the type of the smtp proto
1617
variable in connectdata from FTP* to SMTP*.
1619
unknown (23 Feb 2013)
1620
- [Steve Holme brought this change]
1622
imap: Minor correction of comments for max line length
1624
Daniel Stenberg (23 Feb 2013)
1625
- strcasestr: remove check for this unused function
1627
- pop3: fix compiler warning
1629
error: declaration of 'pop3' shadows a previous local
1631
Steve Holme (23 Feb 2013)
1632
- [Jiri Hruska brought this change]
1634
imap: Added URL parsing of new variables
1636
Updated the imap_parse_url_path() function to parse uidvalidity, uid and
1637
section parameters based on RFC-5092.
1639
- [Jiri Hruska brought this change]
1641
imap: Introduced imap_is_bchar() function
1643
Added imap_is_bchar() for testing if a given character is a valid bchar
1646
- [Jiri Hruska brought this change]
1648
imap: Introduced new per-request veriables
1650
Added uidvalidity, uid and section variables to the per-request IMAP
1651
structure in preparation for upcoming URL parsing.
1653
- pingpong: Renamed curl_ftptransfer to curl_pp_transfer
1655
- pop3: Removed some FTP heritage leftovers
1657
Removed user and passwd from the POP3 struct as these cannot be set on
1658
a per-request basis and are leftover from legacy FTP code.
1660
Changed some comments still using FTP terminology.
1662
- pop3: Moved the per-request variables to the per-request data structure
1664
Moved the mailbox and custom request variables from the per-connection
1665
struct pop3_conn to the new per-request struct and fixed references
1668
- pop3: Introduced a custom POP3 structure for per-request data
1670
Created a new POP3 structure and changed the type of the pop3 proto
1671
variable in connectdata from FTP* to POP*.
1673
- [Jiri Hruska brought this change]
1675
imap: Fixed escaping of mailbox names
1677
Used imap_atom() to escape mailbox names in imap_select().
1679
- pingpong: Moved curl_ftptransfer definition to pingpong.h
1681
Moved the ftp transfer structure into pingpong.h so other protocols that
1682
require it don't have to include ftp.h.
1684
- urldata.h: Fixed comment for opt_no_body variable
1686
Corrected comment for opt_no_body variable to CURLOPT_NOBODY.
1688
- email: Minor tidy up following IMAP changes
1690
- [Jiri Hruska brought this change]
1692
imap: Removed more FTP leftovers
1694
Changed some variables and comments still using FTP terminology.
1696
- [Jiri Hruska brought this change]
1698
imap: Removed some FTP heritage leftovers
1700
Removed user and passwd from the IMAP struct as these cannot be set on
1701
a per-request basis and are leftover from legacy FTP code.
1703
- [Jiri Hruska brought this change]
1705
imap: Introduced a custom IMAP structure for per-request data
1707
Created a new IMAP structure and changed the type of the imap proto
1708
variable in connectdata from FTP* to the new IMAP*.
1710
Moved the mailbox variable from the per-connection struct imap_conn to
1711
the new per-request struct and fixed references accordingly.
1713
- pop3: Updated do phrase clean-up comment
1715
Following commit 65644b833532 for the IMAP module updated the clean-up
1718
- imap: Fixed memory leak when performing multiple selects
1720
Moved the clean-up of the mailbox variable from imap_disconnect() to
1721
imap_done() as this variable is allocated in the do phase, yet would
1722
have only been freed only once if multiple selects where preformed
1723
on a single connection.
1725
Daniel Stenberg (22 Feb 2013)
1726
- [Alexander Klauer brought this change]
1728
Documentation: Typo in docs/CONTRIBUTE
1730
Fixes a typo get → git in docs/CONTRIBUTE.
1732
- [Alexander Klauer brought this change]
1734
repository: ignore patch files generated by git
1736
Ignores the patch files generated by the 'git format-patch' command.
1738
- [Alexander Klauer brought this change]
1740
libcurl documentation: clarifications and typos
1742
* Elaborates on default values of some curl_easy_setopt() options.
1743
* Reminds the user to cast variadic arguments to curl_easy_setopt() to
1744
'void *' where curl internally interprets them as such.
1745
* Clarifies the working of the CURLOPT_SEEKFUNCTION option for
1747
* Fixes typo 'forth' → 'fourth'.
1748
* Elaborates on CURL_SOCKET_TIMEOUT.
1749
* Adds some missing periods.
1750
* Notes that the return value of curl_version() must not be passed to
1753
- [Alexander Klauer brought this change]
1755
lib/url.c: Generic read/write data pointers
1757
Always interprets the pointer passed with the CURLOPT_WRITEDATA or
1758
CURLOPT_READDATA options of curl_easy_setopt() as a void pointer in
1759
order to avoid problems in environments where FILE and void pointers
1760
have non-trivial conversion.
1762
- [Alexander Klauer brought this change]
1764
libcurl documentation: updates HTML index
1766
* Adds several links to documentation of library functions which were
1768
* Marks documentation of deprecated library functions "(deprecated)".
1769
* Removes spurious .html suffixes.
1771
- ossl_seed: avoid recursive seeding!
1773
Steve Holme (22 Feb 2013)
1774
- [Jiri Hruska brought this change]
1776
Fixed checking the socket if there is data waiting in the cache
1778
Use Curl_pp_moredata() in Curl_pp_multi_statemach() to check if there is
1779
more data to be received, rather than the socket state, as a task could
1780
hang waiting for more data from the socket itself.
1782
- imap.c: Fixed an incorrect variable reference
1784
Fixed an incorrect variable reference which was introduced in commit
1785
a1701eea289f as a result of a copy and paste from SMTP/POP3.
1787
- [Jiri Hruska brought this change]
1789
pingpong: Introduce Curl_pp_moredata()
1791
A simple function to test whether the PP is not sending and there are
1792
still more data in its receiver cache. This will be later utilized to:
1794
1) Change Curl_pp_multi_statemach() and Curl_pp_easy_statemach() to
1795
not test socket state and just call user's statemach_act() function
1796
when there are more data to process, because otherwise the task would
1797
just hang, waiting for more data from the socket.
1799
2) Allow PP users to read multiple responses by looping as long as there
1800
are more data available and current phase is not finished.
1801
(Currently needed for correct processing of IMAP SELECT responses.)
1803
Nick Zitzmann (19 Feb 2013)
1804
- FEATURES: why yes, we do support metalink
1806
I just noticed Metalink support wasn't listed as a feature of the tool.
1808
- metalink: fix improbable crash parsing metalink filename
1810
The this_url pointer wasn't being initialized, so if strdup() would return
1811
null when copying the filename in a metalink file, then hilarity would
1812
ensue during the cleanup phase. This change was brought to you by clang,
1813
which noticed this and raised a warning.
1815
Yang Tse (19 Feb 2013)
1816
- smtp.c: fix enumerated type mixed with another type
1818
- polarssl threadlock cleanup
1820
Nick Zitzmann (18 Feb 2013)
1821
- docs: schannel and darwinssl documentation improvements
1823
Schannel and darwinssl use the certificates built into the
1824
OS to do vert verification instead of bundles. darwinssl
1825
is thread-safe. Corrected typos in the NSS docs.
1827
Daniel Stenberg (18 Feb 2013)
1828
- resolver_error: remove wrong error message output
1830
The attempt to use gai_strerror() or alternative function didn't work as
1831
the 'sock_error' field didn't contain the proper error code. But since
1832
this hasn't been reported and thus isn't really a big deal I decided to
1833
just scrap the whole attempt to output the detailed resolver error and
1834
instead remain with just stating that the resolving of the name failed.
1836
- [Kim Vandry brought this change]
1838
Curl_resolver_is_resolved: show proper host name on failed resolve
1840
- Curl_resolver_is_resolved: fix compiler warning
1842
conversion to 'int' from 'long int' may alter its value
1844
- compiler warning fix
1846
follow-up to commit ed7174c6f66, rename 'wait' to 'block'
1848
- compiler warning fix: declaration of 'wait' shadows a global declaration
1850
It seems older gcc installations (at least) will cause warnings if we
1851
name a variable 'wait'. Now changed to 'block' instead.
1853
Reported by: Jiří Hruška
1854
Bug: http://curl.haxx.se/mail/lib-2013-02/0247.html
1856
Nick Zitzmann (17 Feb 2013)
1857
- MacOSX-Framework: Make script work in Xcode 4.0 and later
1859
Apple made a number of changes to Xcode 4. The SDKs were moved, the entire
1860
Developer folder was moved, and PowerPC support was removed. The script
1861
will now adapt to those changes and should be future-proofed against
1862
additional changes in case Apple moves the Developer folder ever again.
1863
Also, the minimum OS X version compiler option was removed, so that the
1864
framework can be built against the latest SDK but still run in older cats.
1866
Daniel Stenberg (17 Feb 2013)
1867
- docs: refer to CURLOPT_ACCEPT_ENCODING instead of the old name
1869
Steve Holme (16 Feb 2013)
1870
- email: Tidied up result code variables
1872
Tidied up result variables to be consistent in name, declaration order
1875
Nick Zitzmann (16 Feb 2013)
1876
- ntlm_core: fix compiler warning when building with clang
1878
Fixed a 64-to-32 compiler warning raised when building with
1879
clang and the --with-darwinssl option.
1881
Daniel Stenberg (16 Feb 2013)
1882
- Guile-curl: a new libcurl binding
1884
- polarsslthreadlock: #include the proper memory and debug includes
1886
Pointed out by Steve Holme
1888
Steve Holme (16 Feb 2013)
1889
- email: Removed unnecessary forward declaration
1891
Due to the reordering of functions in commit 586f5d361474 the forward
1892
declaration to state_upgrade_tls() are no longer required.
1894
- pop3.c: Added reference to RFC-5034
1896
Daniel Stenberg (15 Feb 2013)
1897
- [Willem Sparreboom brought this change]
1899
PolarSSL: Change to cURL coding style
1901
Repaired all curl/lib/checksrc.pl warnings in the previous four patches
1903
- [Willem Sparreboom brought this change]
1905
PolarSSL: WIN32 threading support for entropy
1907
Added WIN32 threading support for PolarSSL entropy if
1908
--enable-threaded-resolver config flag is set and process.h can be found.
1910
- [Willem Sparreboom brought this change]
1912
PolarSSL: pthread support for entropy
1914
Added pthread support for polarssl entropy if --enable-threaded-resolver
1915
config flag is set and pthread.h can be found.
1917
- [Willem Sparreboom brought this change]
1919
PolarSSL: changes to entropy/ctr_drbg/HAVEGE_RANDOM
1921
Add non-threaded entropy and ctr_drbg and removed HAVEGE_RANDOM define
1923
- [Willem Sparreboom brought this change]
1925
PolarSSL: added human readable error strings
1927
Print out human readable error strings for PolarSSL related errors
1929
Steve Holme (15 Feb 2013)
1930
- pop3: Removed unnecessary state changes on failure
1932
- imap: Removed unnecessary state change on failure
1934
Daniel Stenberg (15 Feb 2013)
1935
- metalink_cleanup: yet another follow-up fix
1937
- metalink_cleanup: define it without argument
1939
Since the function takes no argument, the macro shouldn't take one as
1940
some compilers will error out on that.
1942
- rename "easy" statemachines: call them block instead
1944
... since they're not used by the easy interface really, I wanted to
1945
remove the association. Also, I unified the pingpong statemachine driver
1946
into a single function with a 'wait' argument: Curl_pp_statemach.
1948
Yang Tse (15 Feb 2013)
1949
- [Gisle Vanem brought this change]
1951
curl_setup_once.h: definition of HAVE_CLOSE_S defines sclose() to close_s()
1953
- [Gisle Vanem brought this change]
1955
config-dos.h: define HAVE_CLOSE_S for MSDOS/Watt-32
1957
- [Gisle Vanem brought this change]
1959
config-dos.h: define strerror() to strerror_s_() for High-C
1961
- [Gisle Vanem brought this change]
1963
config-dos.h: define HAVE_TERMIOS_H only for djgpp
1965
Steve Holme (14 Feb 2013)
1966
- smtp.c: Fixed a trailing whitespace
1968
Remove tailing whitespace introduced in commit 7ed689d24a4e.
1970
- pop3: Fixed blocking SSL connect when connecting via POP3S
1972
A call to Curl_ssl_connect() was accidentally left in when the SSL/TLS
1973
connection layer was reworked in 7.29. Not only would this cause the
1974
connection to block but had the additional overhead of calling the
1975
non-blocking connect a little bit later.
1977
- smtp: Refactored the smtp_state_auth_resp() function
1979
Renamed smtp_state_auth_resp() function to match the implementations in
1982
Daniel Stenberg (14 Feb 2013)
1985
Clarify the code by reducing ifdefs
1987
- strlcat: remove function
1989
This function was only used twice, both in places where performance
1990
isn't crucial (socks + if2ip). Removing the use of this function removes
1991
the need to have our private version for systems without it == reduced
1994
Also, in the SOCKS case it is clearly better to fail gracefully rather
1995
than to truncate the results.
1997
This work was triggered by a bug report on the strcal prototype in
2000
strlcat was added in commit db70cd28 in February 2001!
2002
Bug: http://curl.haxx.se/bug/view.cgi?id=1192
2003
Reported by: Jeremy Huddleston
2005
- Curl_FormBoundary: made static
2007
As Curl_FormBoundary() is no longer used outside of this file (since
2008
commit ad7291c1a9d), it is now renamed to formboundary() and is made
2011
- ossl_seed: fix the last resort PRNG seeding
2013
Instead of just abusing the pseudo-randomizer from Curl_FormBoundary(),
2014
this now uses Curl_ossl_random() to get entropy.
2016
Steve Holme (13 Feb 2013)
2017
- email: Tidy up before additional IMAP work
2019
Replaced two explicit comparisons of CURLE_OK with boolean alternatives.
2021
General tidy up of comments.
2023
- smtp: Removed duplicate pingpong structure initialisation
2025
The smtp_connect() function was setting the member variables of the
2026
pingpong structure twice, once before calling Curl_pp_init() and once
2029
Yang Tse (13 Feb 2013)
2030
- move msvc IDE related files to 'vs' directory tree
2032
Use 'vs' directory tree given that 'vc' intended one clashes
2033
with an already existing build target in file Makefile.dist.
2035
Daniel Stenberg (13 Feb 2013)
2036
- install-sh: updated to support multiple source files as arguments
2038
Version 7.29.0 uses Makefiles generated with a newer version of the
2039
autotools than the previous 7.28.1. These Makefiles try to install
2040
e.g. header files by calling install-sh with multiple source files as
2041
arguments. The bundled install-sh is to old and does not support this.
2043
The problem only occurs, if install-sh is actually being used, ie. the
2044
platform install executable is to old or not usable. Example: Solaris
2047
The files install-sh and mkinstalldirs are now updated with the automake
2048
1.11.3 versions. A better fix might be to completely remove them from
2049
git and force the files to be added/created during buildconf.
2051
Bug: http://curl.haxx.se/bug/view.cgi?id=1195
2052
Reported by: Rainer Jung
2054
Yang Tse (13 Feb 2013)
2055
- move msvc IDE related files to 'vc' directory tree
2057
- msvc IDE 'vc' directory tree preparation
2059
Steve Holme (12 Feb 2013)
2060
- imap: Corrected a whitespace issue from previous commit
2062
Fixed a small whitespace issue that crept in there in commit
2065
- email: Another post optimisation of endofresp() tidy up
2067
- sasl: Fixed null pointer reference when decoding empty digest challenge
2069
Fixed a null pointer reference when an empty challenge is passed to the
2070
Curl_sasl_create_digest_md5_message() function.
2072
Bug: http://sourceforge.net/p/curl/bugs/1193/
2073
Reported by: Saran Neti
2075
- email: Post optimisation of endofresp() tidy up
2077
Removed unnecessary end of line check and return.
2079
Nick Zitzmann (12 Feb 2013)
2080
- darwinssl: Fix send glitchiness with data > 32 or so KB
2082
An ambiguity in the SSLWrite() documentation lead to a bad inference in the
2083
code where we assumed SSLWrite() returned the amount of bytes written to
2084
the socket, when that is not actually true; it returns the amount of data
2085
that is buffered for writing to the socket if it returns errSSLWouldBlock.
2086
Now darwinssl_send() returns CURLE_AGAIN if data is buffered but not written.
2088
Reference URL: http://curl.haxx.se/mail/lib-2013-02/0145.html
2090
Steve Holme (12 Feb 2013)
2091
- pingpong.h: Fixed line length over 78 characters from b56c9eb48e3c
2093
- pingpong: Optimised the endofresp() function
2095
Reworked the pp->endofresp() function so that the conndata, line and
2096
line length are passed down to it just as with Curl_client_write()
2097
rather than each implementation of the function having to query
2100
Additionally changed the int return type to bool as this is more
2101
representative of the function's usage.
2103
- email: Post STARTLS capability code tidy up (Part Three)
2105
Corrected the order of the upgrade_tls() functions and moved the handler
2106
upgrade and getsock() functions out from the middle of the state related
2109
- email: Post STARTLS capability code tidy up (Part Two)
2111
Corrected the order of the pop3_state_capa() / imap_state_capability()
2112
and the pop3_state_capa_resp() / imap_state_capability_resp() functions
2113
to match the execution order.
2115
Daniel Stenberg (11 Feb 2013)
2116
- [ulion brought this change]
2118
SOCKS: fix socks proxy when noproxy matched
2120
Test 1212 added to verify
2122
Bug: http://curl.haxx.se/bug/view.cgi?id=1190
2124
Steve Holme (11 Feb 2013)
2125
- ntlm: Updated comments for the addition of SASL support to IMAP in v7.29
2127
- RELEASE-NOTES: Updated following the recent imap/pop3/smtp changes
2129
Linus Nielsen Feltzing (10 Feb 2013)
2130
- Fix NULL pointer reference when closing an unused multi handle.
2132
Steve Holme (10 Feb 2013)
2133
- email: Post STARTLS capability code tidy up (Part One)
2135
Corrected the order of the CAPA / CAPABILITY state machine constants to
2136
match the execution order.
2138
- imap: Fixed memory leak following commit f6010d9a0359
2140
- smtp: Added support for the STARTTLS capability (Part Two)
2142
Added honoring of the tls_supported flag when starting a TLS upgrade
2143
rather than unconditionally attempting it. If the use_ssl flag is set
2144
to CURLUSESSL_TRY and the server doesn't support TLS upgrades then the
2145
connection will continue to authenticate. If this flag is set to
2146
CURLUSESSL_ALL then the connection will complete with a failure as it
2149
- pop3: Added support for the STLS capability (Part Three)
2151
Added honoring of the tls_supported flag when starting a TLS upgrade
2152
rather than unconditionally attempting it. If the use_ssl flag is set
2153
to CURLUSESSL_TRY and the server doesn't support TLS upgrades then the
2154
connection will continue to authenticate. If this flag is set to
2155
CURLUSESSL_ALL then the connection will complete with a failure as it
2158
- imap: Added support for the STARTTLS capability (Part Three)
2160
Added honoring of the tls_supported flag when starting a TLS upgrade
2161
rather than unconditionally attempting it. If the use_ssl flag is set
2162
to CURLUSESSL_TRY and the server doesn't support TLS upgrades then the
2163
connection will continue to authenticate. If this flag is set to
2164
CURLUSESSL_ALL then the connection will complete with a failure as it
2167
Daniel Stenberg (10 Feb 2013)
2168
- [Alessandro Ghedini brought this change]
2170
htmltitle: fix suggested build command
2172
Steve Holme (10 Feb 2013)
2173
- pop3: Added support for the STLS capability (Part Two)
2175
Added sending of initial CAPA command before STLS is sent. This allows
2176
for the detection of the capability before trying to upgrade the
2179
- imap: Added support for the STARTTLS capability (Part Two)
2181
Added sending of initial CAPABILITY command before STARTTLS is sent.
2182
This allows for the detection of the capability before trying to
2183
upgrade the connection.
2185
- smtp: Added support for the STLS capability (Part One)
2187
Introduced detection of the STARTTLS capability, in order to add support
2188
for TLS upgrades without unconditionally sending the STARTTLS command.
2190
- pop3: Added support for the STLS capability (Part One)
2192
Introduced detection of the STLS capability, in order to add support
2193
for TLS upgrades without unconditionally sending the STLS command.
2195
- imap: Added support for the STARTTLS capability (Part One)
2197
Introduced detection of the STARTTLS capability, in order to add support
2198
for TLS upgrades without unconditionally sending the STARTTLS command.
2200
- RELEASE-NOTES: synced with 92f7606f29b704
2202
- smtp: Fixed an issue when processing EHLO failure responses (Part 3)
2204
Follow up fix to commit 62bd21746443 to cater for servers that don't
2205
respond with a 250 in their EHLO responses. Additionally updated the
2206
SMTP tests to respond with a 250 response code as per RFC5321.
2208
- pop3: Fixed SASL authentication capability detection
2210
Fixed the SASL capability detection to include the space character
2211
before the authentication mechanism list. Otherwise a capability such
2212
as SASLSOMETHING would be interpreted as enabling SASL and potentially
2213
trying to identify SOMETHING as a mechanism.
2215
- pop3: Fixed incorrect return value from pop3_endofresp()
2217
Corrected an incorrect return value when -ERR is received from the
2218
server - introduced in commit b5bb61ee697b (June 2012).
2220
- smtp: Fixed an issue when processing EHLO failure responses (Part 2)
2222
Follow up fix to commit 23d17190ee32 as EHLO capabilities can exist
2223
within a positive response line.
2225
- smtp: Fixed an issue with missing capabilities after the AUTH line
2227
Follow up to commit 40f9bb787f05 to fix missing capabilities after an
2230
Nick Zitzmann (8 Feb 2013)
2231
- darwinssl: Make certificate errors less techy
2233
Previously if a problem was found with one of the server's certificates,
2234
we'd log an OSStatus for the end user to look up. Now we explain what
2235
was wrong with the site's certificate chain. Also un-did part of the
2236
previous commit where the code wouldn't catch errSSLServerAuthCompleted
2237
if built under Leopard.
2239
Guenter Knauf (9 Feb 2013)
2240
- Updated dependency libs.
2242
Steve Holme (9 Feb 2013)
2243
- imap: Corrected some comments
2245
- smtp: Fixed an issue when processing EHLO failure responses
2247
Fixed a small issue where smtp_endofresp() would look for capabilities
2248
in the description part of a failure response. In theory a server
2249
shouldn't respond with SIZE or AUTH in an EHLO command's failure
2250
response but if it did then capabilities would be unnecessarily set
2251
before eventually failing.
2253
- pop3: Reworked pop3_endofresp() to simplify it little
2255
Reworked pop3_endofresp() to simplify it and provide consistency between
2258
- imap: Renamed state variables in imap_authenticate()
2260
Renamed the authstate1 and authstate2 variables in imap_authenticate()
2261
as the old name was a left over from when there was only one state
2262
variable which was named due to a clash with the state() function.
2264
Additionally this provides consistency with the smtp module.
2266
- smtp: Reworked smtp_endofresp() to allow for extra capability detection
2268
- smtp: Renamed smtp_state_auth_passwd_resp() function
2270
Renamed the login password response function to better describe it's
2271
purpose as well as for consistency with the imap and pop3 modules.
2273
Daniel Stenberg (8 Feb 2013)
2274
- [Gisle Vanem brought this change]
2276
ntlm: fix memory leak
2278
Running tests\libtest\libntlmconnect.exe reveals a 1 byte (!) leak in
2279
./lib/curl_ntlm_msgs.c:
2281
perl ..\memanalyze.pl c:memdebug.curl
2282
Leak detected: memory still allocated: 1 bytes
2283
At 9771e8, there's 1 bytes.
2284
allocated by curl_ntlm_msgs.c:399
2286
Snippet from curl_ntlm_msgs.c:
2287
/* setup ntlm identity's domain and length */
2288
dup_domain.tchar_ptr = malloc(sizeof(TCHAR) * (domlen + 1));
2292
'dup_domain.tbyte_ptr' looks to be freed in Curl_ntlm_sspi_cleanup() via
2293
'ntlm->identity.Domain'. But I see no freeing of 'dup_domain.tchar_ptr'.
2295
- DONE: consider callback-aborted transfers premature
2297
This bug report properly identified that when doing SMTP and aborting
2298
the transfer with a callback, it must be considered aborted prematurely
2299
by the code to avoid QUIT etc to be attempted as that would cause a
2302
The new test case 1507 verifies this behavior.
2304
Reported by: Patricia Muscalu
2305
Bug: http://curl.haxx.se/bug/view.cgi?id=1184
2307
- FAQ: refreshed some phrases
2309
Nick Zitzmann (7 Feb 2013)
2310
- darwinssl: Fix build under Leopard
2312
It turns out that Leopard (OS X 10.5) doesn't have constants for the ECDH
2313
ciphers in its headers, so the cases for them have been taken out of the
2314
build when building under Leopard. Also added a standard function for
2315
getting a string description of a SecCertificateRef.
2317
Steve Holme (7 Feb 2013)
2318
- RELEASE-NOTES: Added new imap features
2320
- imap: Added support for SASL-IR extension (Part 2)
2322
Modified imap_authenticate() to add support for sending the initial
2323
response with the AUTHENTICATE command, as per RFC4959.
2325
- smtp: Updated SMTP_AUTH_PASSWD state constant
2327
Changed the SMTP_AUTH_PASSWD state constant to SMTP_AUTH_LOGIN_PASSWD to
2328
better describe the state as the second part of an AUTH LOGIN command,
2329
as well as for consistency with the imap and pop3 modules.
2331
- imap: Added support for SASL-IR extension (Part 1)
2333
Introduced detection of the SASL-IR capability, in order to add support
2334
for sending the initial response with the AUTHENTICATE command, as per
2337
Daniel Stenberg (7 Feb 2013)
2338
- Revert "vc: remove explicit MSVC6 IDE project file and documentation"
2340
This reverts commit 0e66d5878edc3d7ffc445116d194b58bbc7504b9.
2342
Steve Holme (7 Feb 2013)
2343
- imap: Changed response tag generation to be completely unique
2345
Updated the automatic response tag generation to follow the examples
2346
given in RC3501, which list a 4 character string such as A001, A002,
2349
As a unique identifier should be generated for each command the string
2350
generation is based on the connection id and the incrementing command
2353
Dan Fandrich (6 Feb 2013)
2354
- Tweak the Android.mk file for its new location
2356
This is untested, but ought to be enough to still allow it
2357
to work automatically when the entire curl source tree is
2358
dropped into a full Android source tree.
2360
Daniel Stenberg (6 Feb 2013)
2361
- vc: remove explicit MSVC6 IDE project file and documentation
2363
VC6 is _very_ old and we provide working makefiles even for that
2364
compiler. Users who build with the IDE never use that method and project
2365
file anyway and it was just lingering in the root dir.
2367
Steve Holme (6 Feb 2013)
2368
- imap: Small variable rename in preparation for upcoming change
2370
Renamed a couple of variables and updated some comments in
2371
preparation for upcoming command id / response tag change.
2373
Daniel Stenberg (6 Feb 2013)
2374
- msvc: move Makefile.msvc.names into winbuild/
2376
In an attempt to clear up misc files from the root dir
2378
- build: move Android.mk to packages/Android/
2380
- emacs files: remove from git and dist
2382
We don't need them and I doubt many people used them. We also don't have
2383
any configs for other editors and we wouldn't want that.
2385
Steve Holme (6 Feb 2013)
2386
- email: Moved starttls code in separate functions
2388
To help maintain the readability of the code in imap.c, pop3.c and
2389
smtp.c moved the starttls code into state_starttls() functions.
2391
- [Nick Zitzmann brought this change]
2393
FEATURES: More NTLM and SSL changes, added two others, fixed typo
2395
Added IDN and HTTP data compression as they were left out of the
2398
Added notes for qssl, schannel and Secure Transport supporting SSLv2,
2399
Secure Transport supports NTLM, and axTLS does not support SSLv3.
2401
There was also a typo; "AUTH TSL" should be "AUTH TLS".
2403
Kamil Dudka (6 Feb 2013)
2404
- curl-config.in: do not randomly mix tabs and spaces
2406
Daniel Stenberg (6 Feb 2013)
2409
- THANKS: 12 contributors from 7.29.0
9
2411
Version 7.29.0 (6 Feb 2013)
11
2413
Daniel Stenberg (6 Feb 2013)
3456
5858
- unicode NTLM SSPI: cleanup
3458
5860
Reduce the number of #ifdef UNICODE directives used in source files.
3460
Daniel Stenberg (5 Jul 2012)
3461
- tests: use connection-monitor and verify results
3463
Test 1008 and 206 don't show the disconnect since it happens when SWS
3464
awaits a new request, but 503 does and so the verify section needs that
3467
- http-proxy: keep CONNECT connections alive (for NTLM)
3469
When doing CONNECT requests, libcurl must make sure the connection is
3470
alive as much as possible. NTLM requires it and it is generally good for
3471
other cases as well.
3473
NTLM over CONNECT requests has been broken since this regression I
3474
introduced in my CONNECT cleanup commits that started with 41b02378342,
3475
included since 7.25.0.
3477
Bug: http://curl.haxx.se/bug/view.cgi?id=3538625
3478
Reported by: Marcel Raad
3480
- sws: support <servercmd> for CONNECT requests
3482
I moved out the servercmd parsing into a its own function called
3483
parse_servercmd() and made sure it gets used also when the test number
3484
is extracted from CONNECT requests. It turned out sws didn't do that
3487
- FILEFORMAT: provided a full description of connection-monitor
3489
- lib503: enable verbose to ease debugging this
3491
- sws: add 'connection-monitor' command support
3493
Using this, the server will output in the protocol log when the
3494
connection gets disconnected and thus we will verify correctly in the
3495
test cases that the connection doesn't get closed prematurely. This is
3496
important for example NTLM to work.
3498
Documentation added to FILEFORMAT, test 503 updated to use this.
3500
Guenter Knauf (4 Jul 2012)
3501
- Removed non-used variable.
3503
- Added error checking for samples.
3505
- Renamed vars to avoid shadow global declaration.
3507
Daniel Stenberg (3 Jul 2012)
3508
- docs: clarify how to start with curl_multi_socket_action
3510
Mention the CURL_SOCKET_TIMEOUT argument in step 6 of the typical
3513
Guenter Knauf (3 Jul 2012)
3514
- Moved some patterns to subfolder's .gitignore.
3516
- Merge branch 'master' of ssh://github.com/bagder/curl
3518
- MinGW makefile tweaks for running from sh.
3520
Added function macros to make path converting easier.
3521
Added CROSSPREFIX to all compile tools.
3523
Yang Tse (3 Jul 2012)
3524
- [Marc Hoersken brought this change]
3526
curl_ntlm_msgs.c: Removed unused variable passwd
3528
Guenter Knauf (3 Jul 2012)
3529
- Added files generated by mingw32, eclipse and VC.
3531
Posted by Marc Hoersken.
3533
Daniel Stenberg (3 Jul 2012)
3534
- cookies: change the URL in the cookie jar file header
3536
- HTTP-COOKIES: clarified and modified layout
3538
- HTTP-COOKIES: use the FAQ document layout
3540
- HTTP-COOKIES: added cookie documentation
3542
Yang Tse (3 Jul 2012)
3543
- curl_ntlm_msgs.c: include <tchar.h> for prototypes
3545
- [Neil Bowers brought this change]
3547
testcurl.pl: fix missing semicolon
3549
Daniel Stenberg (2 Jul 2012)
3550
- [Christian Hägele brought this change]
3552
unicode NTLM SSPI: heap corruption fixed
3554
When compiling libcurl with UNICODE defined and using unicode characters
3557
Yang Tse (2 Jul 2012)
3558
- testcurl.pl: allow non in-tree c-ares enabled autobuild
3560
- configure.ac: verify that libmetalink is new enough
3562
Enabling test2017 to test2022.
3564
- [Tatsuhiro Tsujikawa brought this change]
3566
curl: Added runtime version check for libmetalink
3568
- [Tatsuhiro Tsujikawa brought this change]
3570
Include metalink/metalink.h for libmetalink functions
3572
Daniel Stenberg (2 Jul 2012)
3573
- errors: CURLM_CALL_MULTI_PERFORM is not returned anymore
3575
- release: cleaned up plans for this and coming release
3577
Yang Tse (29 Jun 2012)
3578
- curl-compilers.m4: remove -Wstrict-aliasing=3 from clang
3580
Currently it is unknown if there is any version of clang that
3581
actually supports -Wstrict-aliasing. What is known is that there
3582
are several that don't support it.
3584
- test2017 to test2022: more metalink tests
3586
With this commit, checks done in previous test2017 are now done in test2018.
3588
Whole range test2017 to test2022 DISABLED until configure is capable of
3589
requiring a new-enough metalink library.
3591
Don't try these without mentioned check in place!
3593
- test2005 to test2016: improve failure detection
3595
- lib582.c: fix conversion warning
3597
- nss.c: #include warnless.h for curlx_uztosi and curlx_uztoui prototypes
3599
- [Marc Hoersken brought this change]
3601
nss.c: Fixed size_t conversion warnings
3603
- sslgen.c: cleanup temporary compile-time SSL-backend check
3605
Daniel Stenberg (28 Jun 2012)
3606
- schannel: provide two additional (dummy) API defines
3608
Yang Tse (28 Jun 2012)
3609
- [Tatsuhiro Tsujikawa brought this change]
3611
Metalink: message updates
3613
Print "parsing (...) OK" only when no warnings are generated. If
3614
no file is found in Metalink, treat it FAILED.
3616
If no digest is provided, print WARNING in parse_metalink().
3617
Also print validating FAILED after download.
3619
These changes make tests 2012 to 2016 pass.
3621
Daniel Stenberg (27 Jun 2012)
3622
- sslgen: avoid compiler error in SSPI builds
3624
Yang Tse (27 Jun 2012)
3625
- ssluse.c: fix compiler warning: conversion to 'int' from 'size_t'
3627
Reported by Tatsuhiro Tsujikawa
3629
http://curl.haxx.se/mail/lib-2012-06/0371.html
3631
- sslgen.c: add compile-time check for SSL-backend completeness
3633
- build: add our standard includes to curl_darwinssl.c and curl_multibyte.c
3635
- build: add curl_schannel and curl_darwinssl files to other build systems
3637
- tests: add five more Metalink test cases
3639
- tests: update Metalink message format
3641
- [Tatsuhiro Tsujikawa brought this change]
3643
Metalink: updated message format
3645
- [Nick Zitzmann brought this change]
3647
DarwinSSL: allow using NTLM authentication
3649
Allow NTLM authentication when building using SecureTransport (Darwin) for SSL.
3651
This uses CommonCrypto, a cryptography library that ships with all versions of
3652
iOS and Mac OS X. It's like OpenSSL's libcrypto, except that it's missing a few
3653
less-common cyphers and doesn't have a big number data structure.
3655
- curl_darwinssl.h: add newline at end of file
3657
Daniel Stenberg (26 Jun 2012)
3658
- ossl_seed: remove leftover RAND_screen check
3660
Before commit 2dded8fedba (dec 2010) there was logic that used
3661
RAND_screen() at times and now I remove the leftover #ifdef check for
3664
The seeding code that uses Curl_FormBoundary() in ossl_seed() is dubious
3665
to keep since it hardly increases randomness but I fear I'll break
3666
something if I remove it now...
3668
Yang Tse (26 Jun 2012)
3669
- [Nick Zitzmann brought this change]
3671
DarwinSSL: several adjustments
3673
- Renamed st_ function prefix to darwinssl_
3674
- Renamed Curl_st_ function prefix to Curl_darwinssl_
3675
- Moved the duplicated ssl_connect_done out of the #ifdef in lib/urldata.h
3676
- Fixed a teensy little bug that made non-blocking connection attempts block
3677
- Made it so that it builds cleanly against the iOS 5.1 SDK
3679
- curl-compilers.m4: -Wstrict-aliasing=3 for warning enabled gcc and clang builds
3681
- [Marc Hoersken brought this change]
3683
sockaddr.h: Fixed dereferencing pointer breakin strict-aliasing
3685
Fixed warning: dereferencing pointer does break strict-aliasing rules
3686
by using a union inside the struct Curl_sockaddr_storage declaration.
3688
Daniel Stenberg (26 Jun 2012)
3689
- SSL cleanup: use crypto functions through the sslgen layer
3691
curl_ntlm_msgs.c would previously use an #ifdef maze and direct
3692
SSL-library calls instead of using the SSL layer we have for this
3695
- [Nick Zitzmann brought this change]
3697
darwinssl: add support for native Mac OS X/iOS SSL
3699
- RELEASE-NOTES: link to more metalink info
3701
- RELEASE-NOTES: synced with d025af9bb576
3703
Yang Tse (25 Jun 2012)
3704
- curl_schannel.c: Remove redundant NULL assignments following Curl_safefree()
3706
- [Marc Hoersken brought this change]
3708
curl_schannel.c: Replace free() with Curl_safefree()
3710
- [Tatsuhiro Tsujikawa brought this change]
3712
curl.1: Updated Metalink description in man page
3714
Documented that --include will be ignored if both --metalink
3715
and --include are specified.
3716
Also documented that a Metalink file in the local file system
3717
cannot be used if FILE protocol is disabled.
3719
Steve Holme (24 Jun 2012)
3720
- DOCS: Added clarification to CURLOPT_CUSTOMREQUEST for the POP3 protocol
3722
Bug: http://curl.haxx.se/mail/lib-2012-06/0302.html
3723
Reported by: Nagai H
3725
- smtp: Corrected result code for MAIL, RCPT and DATA commands
3727
Bug: http://curl.haxx.se/mail/lib-2012-06/0094.html
3730
Daniel Stenberg (24 Jun 2012)
3731
- [Ghennadi Procopciuc brought this change]
3733
test: Added test HTTP receive cookies over IPv6
3735
Yang Tse (22 Jun 2012)
3736
- tests: add another Metalink test case
3738
- [Tatsuhiro Tsujikawa brought this change]
3740
tests: Enable test2010 and fixed hash value
3742
- [Tatsuhiro Tsujikawa brought this change]
3744
Metalink: ignore --include if --metalink is used.
3746
Including headers in response body will break Metalink XML parser.
3747
If it is included in the file described in Metalink XML, hash check
3748
will fail. Therefore, --include should be ignored if --metalink is
3751
- tests: add six Metalink test cases
3753
- test 2005: add verification of hash checking outcome
3755
- getpart.pm: remove misleading comment
3757
- [Tatsuhiro Tsujikawa brought this change]
3759
curl: Prefixed all Metalink related messages with "Metalink: "
3761
- [Tatsuhiro Tsujikawa brought this change]
3763
tests: Added Metalink test case # 2005
3765
- [Tatsuhiro Tsujikawa brought this change]
3767
curl: Restore noprogress and isatty config values.
3769
The noprogress and isatty in Configurable are global, in a sense
3770
that they persist in one curl invocation. Currently once one
3771
download writes its response data to tty, they are set to FALSE
3772
and they are not restored on successive downloads. This change
3773
first backups the current noprogress and isatty, and restores
3774
them when download does not write its data to tty.
3776
- [Tatsuhiro Tsujikawa brought this change]
3778
curl: Made --metalink option toggle Metalink functionality
3780
In this change, --metalink option no longer takes argument. If
3781
it is specified, given URIs are processed as Metalink XML file.
3782
If given URIs are remote (e.g., http URI), curl downloads it
3783
first. Regardless URI is local file (e.g., file URI scheme) or
3784
remote, Metalink XML file is not written to local file system and
3785
the received data is fed into Metalink XML parser directly. This
3786
means with --metalink option, filename related options like -O
3791
$ curl --metalink http://example.org/foo.metalink
3793
This will download foo.metalink and parse it and then download
3794
the URI described there.
3796
$ curl --metalink file://foo.metalink
3798
This will parse local file foo.metalink and then download the URI
3801
- [Tatsuhiro Tsujikawa brought this change]
3803
curl: Refactored metalink_checksum
3805
When creating metalink_checksum from metalink_checksum_t, first
3806
check hex digest is valid for the given hash function. We do
3807
this check in the order of digest_aliases so that first good
3808
match will be chosen (strongest hash function available). As a
3809
result, the metalinkfile now only contains at most one
3810
metalink_checksum because other entries are just redundant.
3812
- [Gisle Vanem brought this change]
3814
tool_doswin.c: fix djgpp function _use_lfn() used without a prototype
3816
http://curl.haxx.se/mail/archive-2012-06/0028.html
3818
- build: fix RESOURCE bug in lib/Makefile.vc*
3820
Removed two, not intended to exist, RESOURCE declarations.
3822
Bug: http://curl.haxx.se/bug/view.cgi?id=3535977
3824
And sorted configuration hunks to reflect same internal order
3825
as the one shown in the usage message.
3827
Daniel Stenberg (20 Jun 2012)
3828
- [Marc Hoersken brought this change]
3830
schannel: Implement new buffer size strategy
3832
Increase decrypted and encrypted cache buffers using limitted
3833
doubling strategy. More information on the mailinglist:
3834
http://curl.haxx.se/mail/lib-2012-06/0255.html
3836
It updates the two remaining reallocations that have already been there
3837
and fixes the other one to use the same "do we need to increase the
3838
buffer"-condition as the other two. CURL_SCHANNEL_BUFFER_STEP_SIZE was
3839
renamed to CURL_SCHANNEL_BUFFER_FREE_SIZE since that is actually what it
3840
is now. Since we don't know how much more data we are going to read
3841
during the handshake, CURL_SCHANNEL_BUFFER_FREE_SIZE is used as the
3842
minimum free space required in the buffer for the next operation.
3843
CURL_SCHANNEL_BUFFER_STEP_SIZE was used for that before, too, but since
3844
we don't have a step size now, the define was renamed.
3846
Yang Tse (20 Jun 2012)
3847
- schannel SSL: fix compiler warning
3849
- [Mark Salisbury brought this change]
3851
schannel SSL: fix for renegotiate problem
3853
In schannel_connect_step2() doread should be initialized based
3854
on connssl->connecting_state.
3856
- [Tatsuhiro Tsujikawa brought this change]
3858
runtests.pl: make it support metalink feature
3860
- getpart.pm: make test definition section/part parser more robust
3862
Test definition section parts which needed to include xml-lingo as contents
3863
of that part required that the xml-blurb was written as a single line. Now the
3864
xml-data inside the part can be written multiline making it more readable.
3866
Tested with <client><file> part which is written to disk before <command> runs.
3868
Daniel Stenberg (20 Jun 2012)
3869
- schannel_connect_step2: checksrc whitespace fix
3871
Yang Tse (20 Jun 2012)
3872
- [Mark Salisbury brought this change]
3874
schannel SSL: changes in schannel_connect_step2
3876
Process extra data buffer before returning from schannel_connect_step2.
3877
Without this change I've seen WinCE hang when schannel_connect_step2
3878
returns and calls Curl_socket_ready.
3880
If the encrypted handshake does not fit in the intial buffer (seen with
3881
large certificate chain), increasing the encrypted data buffer is necessary.
3883
Fixed warning in curl_schannel.c line 1215.
3885
- [Mark Salisbury brought this change]
3887
config-win32ce.h: WinCE config adjustment
3889
process.h is not present on WinCE
3891
- [Mark Salisbury brought this change]
3893
schannel SSL: Made send method handle unexpected cases better
3895
Implemented timeout loop in schannel_send while sending data. This
3896
is as close as I think we can get to write buffering; I put a big
3897
comment in to explain my thinking.
3899
With some committer adjustments
3901
Daniel Stenberg (19 Jun 2012)
3902
- [Marc Hoersken brought this change]
3904
curl_schannel.c: Avoid unnecessary realloc calls to reduce buffer size
3906
Yang Tse (19 Jun 2012)
3907
- [Mark Salisbury brought this change]
3909
schannel SSL: Use standard Curl read/write methods
3911
Replaced calls to swrite with Curl_write_plain and calls to sread
3912
with Curl_read_plain.
3914
With some committer adjustments
3916
- schannel SSL: make wording of some trace messages better reflect reality
3918
Daniel Stenberg (19 Jun 2012)
3919
- [Marc Hoersken brought this change]
3921
curl_schannel.h: Use BUFSIZE as the initial buffer size if available
3923
Make the Schannel implementation use libcurl's default buffer size
3924
for the initial received encrypted and decrypted data cache buffers.
3925
The implementation still needs to handle more data since more data
3926
might have already been received or decrypted during the handshake
3927
or a read operation which needs to be cached for the next read.
3929
Guenter Knauf (19 Jun 2012)
3930
- Fixed NetWare makefile broken from last commit.
3932
Yang Tse (19 Jun 2012)
3933
- [Mark Salisbury brought this change]
3935
schannel SSL: Implemented SSL shutdown
3937
curl_schannel.c - implemented graceful SSL shutdown. If we fail to
3938
shutdown the connection gracefully, I've seen schannel try to use a
3939
session ID for future connects and the server aborts the connection
3940
during the handshake.
3942
- [Mark Salisbury brought this change]
3944
schannel SSL: certificate validation on WinCE
3946
curl_schannel.c - auto certificate validation doesn't seem to work
3947
right on CE. I added a method to perform the certificate validation
3948
which uses CertGetCertificateChain and manually handles the result.
3950
- [Mark Salisbury brought this change]
3952
schannel SSL: Added helper methods to simplify code
3954
Added helper methods InitSecBuffer() and InitSecBufferDesc() to make it
3955
easier to set up SecBuffer & SecBufferDesc structs.
3957
Guenter Knauf (18 Jun 2012)
3958
- Some more NetWare makefile tweaks for metalink.
3960
Yang Tse (18 Jun 2012)
3961
- tool_cb_see.c: WinCE build adjustment
3963
- [Mark Salisbury brought this change]
3965
setup.h: WinCE build adjustment
3967
- [Mark Salisbury brought this change]
3969
ftplistparser.c: do not compile if FTP protocol is not enabled
3971
- Win32: downplay MS bazillion type synonyms game
3973
Avoid usage of some MS type synonyms to allow compilation with
3974
compiler headers that don't define these, using simpler synonyms.
3976
Daniel Stenberg (15 Jun 2012)
3977
- Curl_rtsp_parseheader: avoid useless malloc/free
3979
Coverity actually pointed out flawed logic in the previous call to
3980
Curl_strntoupper() where the code used sizeof() of a pointer to pass in
3981
a size argument. That code still worked since it only needed to
3982
uppercase 4 letters. Still, the entire malloc/uppercase/free sequence
3983
was pointless since the code has already matched the string once in the
3984
condition that starts the block of code.
3986
- curl_share_setopt: use va_end()
3988
As spotted by Coverity, va_end() was not used previously. To make it
3989
used I took away a bunch of return statements and made them into
3990
assignments instead.
3992
Yang Tse (15 Jun 2012)
3993
- SSPI related code: Unicode support for WinCE - kill compiler warnings
3995
- [Mark Salisbury brought this change]
3997
SSPI related code: Unicode support for WinCE - commit 46480bb9 follow-up
3999
- build: add curl_multibyte files to build systems
4001
- [Mark Salisbury brought this change]
4003
SSPI related code: Unicode support for WinCE
4005
SSPI related code now compiles with ANSI and WCHAR versions of security
4006
methods (WinCE requires WCHAR versions of methods).
4008
Pulled UTF8 to WCHAR conversion methods out of idn_win32.c into their own file.
4010
curl_sasl.c - include curl_memory.h to use correct memory functions.
4012
getenv.c and telnet.c - WinCE compatibility fix
4014
With some committer adjustments
4016
Guenter Knauf (15 Jun 2012)
4019
Yang Tse (14 Jun 2012)
4020
- winbuild/MakefileBuild.vc: convert line endings to DOS style
4022
As per request on mailing list: http://curl.haxx.se/mail/lib-2012-06/0222.html
4024
- [Marc Hoersken brought this change]
4026
winbuild: Allow SSPI build with or without Schannel
4028
The changes introduced in commit 2bfa57bc32 are not enough
4029
to make it actually possible to use the USE_WINSSL option.
4030
Makefile.vc was not updated and the configuration name which is
4031
used in the build path did not match between both build files.
4033
This patch fixes those issues and introduces the following changes:
4035
- Replaced the -schannel name with -winssl in order to be consistent
4036
with the other options
4037
- Added ENABLE_WINSSL option to winbuild/Makefile.vc (default yes)
4038
- Changed winbuild/MakefileBuild.vc to set USE_WINSSL to true if
4039
USE_SSL is false and USE_WINSSL was not specified as a parameter
4040
- Separated WINSSL handling from SSPI handling to be consistent with
4041
the other options and their corresponding code path
4043
- curl.1: 7.27.0 seems next release
4045
- schannel: fix printf-style format strings
4047
- Fix bad failf() and info() usage
4049
Calls to failf() are not supposed to provide trailing newline.
4050
Calls to infof() must provide trailing newline.
4052
Fixed 30 or so strings.
4054
- schannel: fix unused parameter warnings
4056
- schannel: fix comparisons between signed and unsigned
4058
- schannel: fix discarding qualifier from pointer type
4060
- schannel: fix shadowing of global declarations
4062
- schannel: fix Curl_schannel_init() and Curl_schannel_cleanup() declarations
4064
- [Gisle Vanem brought this change]
4066
urldata.h: fix cyassl/openssl/ssl.h build clash with wincrypt.h
4068
Building with CyaSSL failed compilation. Reason being that OCSP_REQUEST and
4069
OCSP_RESPONSE are enum values in CyaSSL and defines in <wincrypt.h> included
4070
via <winldap.h> in ldap.c.
4072
http://curl.haxx.se/mail/lib-2012-06/0196.html
4074
- MakefileBuild.vc: Allow building without SSL
4076
In order to use Windows native SSL support define 'USE_WINSSL'
4078
- configure: new option --with-winssl
4080
This option may be used to build curl/libcurl using SSL/TLS support provided
4081
by MS windows system libraries. Option is mutually exclusive with any other
4082
SSL library. Default value is --without-winssl.
4084
--with-winssl option implies --with-sspi option.
4086
Option meaningful only for Windows builds.
4088
Guenter Knauf (13 Jun 2012)
4089
- Changed Schannel string to SSL-Windows-native.
4091
This is more descriptive for the user who might
4092
not even know what schannnel is at all.
4094
Yang Tse (13 Jun 2012)
4095
- schannel: remove version number and identify its use with 'schannel' literal
4097
Version number is removed in order to make this info consistent with
4098
how we do it with other MS and Linux system libraries for which we don't
4101
Identifier changed from 'WinSSPI' to 'schannel' given that this is the
4102
actual provider of the SSL/TLS support. libcurl can still be built with
4103
SSPI and without SCHANNEL support.
4105
Daniel Stenberg (12 Jun 2012)
4106
- singlesocket: remove dead code
4108
No need to check if 'entry' is non-NULL in a spot where it is already checked
4109
and guaranteed to be non-NULL.
4111
(Spotted by a Coverity scan)
4113
- netrc: remove dead code
4115
Remove two states from the enum and the corresponding code for them as
4116
these states were never reached or used.
4118
(Spotted by a Coverity scan)
4120
Yang Tse (12 Jun 2012)
4121
- Revert "connect.c/ftp.c: Fixed dereferencing pointer breakin strict-aliasing"
4123
This reverts commit 9c94236e6cc078a0dc5a78b6e2fefc1403e5375e.
4125
It didn't server its purpose, so lets go back to long-time working code.
4127
- socks_sspi.c: further cleanup
4129
- [Marc Hoersken brought this change]
4131
socks_sspi.c: Clean up and removal of obsolete minor status
4133
Removed obsolete minor status variable and parameter of status function
4134
which was never used or set at all. Also Curl_sspi_strerror does support
4135
only one status and there is no need for a second sub status.
4137
Guenter Knauf (12 Jun 2012)
4138
- Removed trailing whitespaces.
4140
Yang Tse (12 Jun 2012)
4141
- strerror.c: make Curl_sspi_strerror() always return code for errors
4143
- curl_sspi.h: provide sspi status definitions missing in old headers
4145
- sspi: make Curl_sspi_strerror() libcurl's sspi status code string function
4147
- sspi: make Curl_sspi_strerror() libcurl's sspi status code string function
4149
Daniel Stenberg (11 Jun 2012)
4150
- Revert: 634f7cfee40d4658 partially
4152
Make sure CURL_VERSION_SSPI is present and works as in previous releases
4153
for ABI and API compatibility reasons.
4155
- checksrc: shorten a few lines to comply
4157
- cleanup: remove trailing whitespace
4159
- [Marc Hoersken brought this change]
4161
winbuild: Removed WITH_SSL=schannel and tie schannel to SSPI
4163
Removed specific WITH_SSL=schannel paramter that did not fit the general
4164
schema and complicated the parameters. For now Schannel will be enabled
4165
if SSPI is enabled and OpenSSL is disabled.
4167
- [Steve Holme brought this change]
4169
Makefile.vc6: Added version.lib if built with SSPI
4171
- [Marc Hoersken brought this change]
4173
winbuild: Updated winbuild scripts to add schannel
4175
- [Marc Hoersken brought this change]
4177
mingw32: Fixed warning of USE_SSL being redefined
4179
- [Marc Hoersken brought this change]
4181
sspi: Fixed incompatible parameter pointer type in Curl_sspi_version
4183
- [Marc Hoersken brought this change]
4185
sspi: Updated RELEASE-NOTES, FEATURES and THANKS
4187
- [Marc Hoersken brought this change]
4189
setup.h: Automatically define USE_SSL if USE_SCHANNEL is defined
4191
- [Marc Hoersken brought this change]
4193
version: Replaced SSPI feature information with version string details
4195
Added Windows SSPI version information to the curl version string when
4196
SCHANNEL SSL is not enabled, as the version of the library should also
4197
be included when SSPI is used to generate security contexts.
4199
Removed SSPI from the feature list as the features are GSS-Negotiate,
4200
NTLM and SSL depending on the usage of the SSPI library.
4202
- [Steve Holme brought this change]
4204
sspi.c: Post Curl_sspi_version() rework code tidy up
4206
Removed duplicate blank lines.
4207
Removed spaces between the not and test in various if statements.
4208
Removed explicit test of NULL in an if statement.
4209
Placed function returns on same line as function declarations.
4210
Replaced the use of curl_maprintf() with aprintf() as it is the
4211
preprocessor job to do this substitution if ENABLE_CURLX_PRINTF
4214
- [Steve Holme brought this change]
4216
sspi: Reworked Curl_sspi_version() to return version components
4218
Reworked the version function to return four version components rather
4219
than a string that has to be freed by the caller.
4221
- [Guenter Knauf brought this change]
4223
configure.ac: Added -lversion if built with SSPI
4225
- [Marc Hoersken brought this change]
4227
schannel: Code cleanup and bug fixes
4229
curl_sspi.c: Fixed mingw32-gcc compiler warnings
4230
curl_sspi.c: Fixed length of error code hex output
4232
The hex value was printed as signed 64-bit value on 64-bit systems:
4233
SEC_E_WRONG_PRINCIPAL (0xFFFFFFFF80090322)
4235
It is now correctly printed as the following:
4236
SEC_E_WRONG_PRINCIPAL (0x80090322)
4238
curl_sspi.c: Fallback to security function table version number
4239
Instead of reporting an unknown version, the interface version is used.
4241
curl_sspi.c: Removed SSPI/ version prefix from Curl_sspi_version
4242
curl_schannel: Replaced static buffer sizes with defined names
4243
curl_schannel.c: First brace when declaring functions on column 0
4244
curl_schannel.c: Put the pointer sign directly at variable name
4245
curl_schannel.c: Use structs directly instead of typedef'ed structs
4246
curl_schannel.c: Removed space before opening brace
4247
curl_schannel.c: Fixed lines being longer than 80 chars
4249
- [Marc Hoersken brought this change]
4251
curl_sspi: Added Curl_sspi_version function
4253
Added new function to get SSPI version as string.
4254
Added required library version.lib to makefiles.
4255
Changed curl_schannel.c to use Curl_sspi_version.
4257
- [Guenter Knauf brought this change]
4259
schannel: Updated mingw32 makefiles
4261
- [Marc Hoersken brought this change]
4263
schannel: Replace ASCII specific code with general defines
4265
- [Marc Hoersken brought this change]
4267
schannel: Added definitions which are missing in mingw32
4269
- [Marc Hoersken brought this change]
4271
schannel: Moved interal struct types to urldata.h
4273
Moved type definitions in order to avoid inclusion loop
4275
- [Marc Hoersken brought this change]
4277
schannel: Fixed compiler warnings about pointer type assignments
4279
- [Marc Hoersken brought this change]
4281
schannel: Fixed critical typo in conditions and added buffer length checks
4283
- [Marc Hoersken brought this change]
4285
sspi: Refactored socks_sspi and schannel to use same error message functions
4287
Moved the error constant switch to curl_sspi.c and added two new helper
4288
functions to curl_sspi.[ch] which either return the constant or a fully
4289
translated message representing the SSPI security status.
4290
Updated socks_sspi.c and curl_schannel.c to use the new functions.
4292
- [Marc Hoersken brought this change]
4294
schannel: Added special shutdown check for Windows 2000 Professional
4296
Windows 2000 Professional: Schannel returns SEC_E_OK instead
4297
of SEC_I_CONTEXT_EXPIRED. If the length of the output buffer
4298
is zero and the first byte of the encrypted packet is 0x15,
4299
the application can safely assume that the message was a
4300
close_notify message and change the return value to
4301
SEC_I_CONTEXT_EXPIRED.
4303
Connection shutdown does not mean that there is no data to read
4304
Correctly handle incomplete message and ask curl to re-read
4305
Fixed buffer for decrypted being to small
4306
Re-structured read condition to be more effective
4307
Removed obsolete verbose messages
4308
Changed memory reduction method to keep a minimum buffer of size 4096
4310
- [Marc Hoersken brought this change]
4312
schannel: Implemented SSL/TLS renegotiation
4314
Updated TODO information and added related MSDN articles
4316
- [Marc Hoersken brought this change]
4318
schannel: Save session credential handles in session cache
4320
- [Marc Hoersken brought this change]
4322
schannel: Code cleanup
4324
- [Marc Hoersken brought this change]
4326
schannel: Check for required context attributes
4328
- [Marc Hoersken brought this change]
4330
schannel: Allow certificate and revocation checks being deactivated
4332
- [Marc Hoersken brought this change]
4334
schannel: Added SSL/TLS support with Microsoft Windows Schannel SSPI
4336
- [Marc Hoersken brought this change]
4338
http: Replaced specific SSL libraries list in https_getsock fallback
4340
- [Marc Hoersken brought this change]
4342
connect.c/ftp.c: Fixed dereferencing pointer breakin strict-aliasing
4344
Fixed warning: dereferencing pointer does break strict-aliasing rules
4345
by using a union instead of separate pointer variables.
4346
Internal union sockaddr_u could probably be moved to generic header.
4347
Thanks to Paul Howarth for the hint about using unions for this.
4349
Important for winbuild: Separate declaration of sockaddr_u pointer.
4350
The pointer variable *sock cannot be declared and initialized right
4351
after the union declaration. Therefore it has to be a separate statement.
4353
- [Marc Hoersken brought this change]
4355
curl_ntlm_msgs.c: Fixed passwdlen not being used and recalculated
4357
Yang Tse (11 Jun 2012)
4358
- tests: fix test definitions # 1355, 1363, 1385 and 1393
4360
-i without HTTP protocol shall not include headers in the output
4362
Daniel Stenberg (10 Jun 2012)
4363
- Curl_pgrsDone: return int and acknowledge return code
4365
Since Curl_pgrsDone() itself calls Curl_pgrsUpdate() which may return an
4366
abort instruction or similar we need to return that info back and
4367
subsequently properly handle return codes from Curl_pgrsDone() where
4370
(Spotted by a Coverity scan)
4372
Steve Holme (10 Jun 2012)
4373
- [Marc Hoersken brought this change]
4375
winbuild: Fixed environment variables being lost
4377
Fixed USE_IPV6 and USE_IDN not being passed
4378
from Makefile.vc to MakefileBuild.vc
4379
Fixed whitespace and formatting issues
4380
Fixed typo and format in help message
4382
Guenter Knauf (9 Jun 2012)
4383
- Added metalink support to NetWare builds.
4385
Steve Holme (9 Jun 2012)
4386
- smtp.c: Removed unused variable
4388
- smtp: Post apop feature code tidy up
4390
- pop3: Post apop feature code tidy up
4392
- pop3: Added support for apop authentication
4394
- pop3: Enhanced the extended authentication mechanism detection
4396
Enhanced the authentication type / mechanism detection in preparation
4397
for the introduction of APOP support.
4399
- pop3.c: Fixed length of SASL check
4401
Yang Tse (9 Jun 2012)
4402
- Fixes allowing 26 more test cases in 1334 to 1393 range to succeed
4404
- tests: fix test definitions # 1370 and 1371
4406
-J without -O shall not honor C-D filename
4408
Daniel Stenberg (9 Jun 2012)
4409
- OpenSSL: support longer certificate subject names
4411
Previously it would use a 256 byte buffer and thus cut off very long
4412
subject names. The limit is now upped to the receive buffer size, 16K.
4414
Bug: http://curl.haxx.se/bug/view.cgi?id=3533045
4415
Reported by: Anthony G. Basile
4417
Kamil Dudka (8 Jun 2012)
4418
- ssl: fix duplicated SSL handshake with multi interface and proxy
4420
Bug: https://bugzilla.redhat.com/788526
4421
Reported by: Enrico Scholz
4423
Daniel Stenberg (8 Jun 2012)
4424
- tool_getparam.h: fix compiler error
4426
forward declare the Configurable struct
4428
- metalink: restore some includes
4430
Commit eeeba1496cbca removed them and thus broke my Linux build
4432
- openldap: OOM fixes
4434
when calloc fails, return error! (Detected by Fortify)
4436
Reported by: Robert B. Harris
4438
Steve Holme (8 Jun 2012)
4439
- sasl: Re-factored mechanism constants in preparation for APOP work
4441
Yang Tse (8 Jun 2012)
4442
- metalink: build fixes and adjustments II
4444
Additionally, make hash checking ability mandatory in order to allow metalink
4447
A command line option could be introduced to skip hash checking at runtime,
4448
but the ability to check hashes should always be built-in when providing
4451
Guenter Knauf (8 Jun 2012)
4452
- Added metalink support to MinGW builds.
4454
Daniel Stenberg (7 Jun 2012)
4455
- log2changes.pl: fix the Version output
4457
Previously it could easily wrongly get repeated
4459
Yang Tse (7 Jun 2012)
4460
- metalink: build fixes and adjustments I
4462
Daniel Stenberg (7 Jun 2012)
4463
- lib554.c: use curl_formadd() properly
4465
The length/size options take longs so make sure to pass on such types.
4467
Reported by: Neil Bowers
4468
Bug: http://curl.haxx.se/mail/lib-2012-06/0001.html
4470
Steve Holme (7 Jun 2012)
4471
- smtp.c: Re-factored the smtp_state_*_resp() functions
4473
Re-factored the smtp_state_*_resp() functions to 1) Match the constants
4474
that were refactored in commit 00fddba6727c, 2) To be more readable and
4475
3) To match their counterparties in pop3.c.
4477
Yang Tse (7 Jun 2012)
4478
- Fixes allowing HTTP test cases 1338, 1339, 1368 and 1369 to succeed
4480
- tests 1364 to 1393: several -o filename -J -i -D combinations for HTTP and FTP
4482
- tests 1348 to 1363: test definition polishing
4484
Verify that the "Saved to filename 'blabla'" message is only displayed when
4485
the 'blabla' filename being used _actually_ has been specified by the server
4486
in the Content-Disposition header.
4488
Use relative path for unintended file creation postcheck.
4490
Steve Holme (6 Jun 2012)
4491
- smtp: Re-factored the SMTP_AUTH* state machine constants
4493
Re-factored the SMTP_AUTH* constants, that are used by the state
4494
machine, to be clearer to read.
4496
Guenter Knauf (6 Jun 2012)
4497
- Added hint for pkg-config wrapper script.
4499
- Updated Android section with recent NDK.
4501
The r7b had some bugs, and shouldnt be used.
4503
Yang Tse (6 Jun 2012)
4504
- Disable non-HTTP header related tests
4506
These now detect incompleate header data and fail
4508
- tests 1348 to 1363: compleate header data part of test definition
4510
- tests 1334 to 1363 revisited.
4512
Add a postcheck section to verify unintended file creation.
4514
Remove needless <file> checks in verify section. Renumbering where appropriate.
4516
- tests: adjust file part behavior in test verify section.
4518
When a <file> part is now specified with no contents at all, this
4519
will actually verify that the specified file has no contents at all.
4520
Previously file contents would be ignored.
4522
Steve Holme (5 Jun 2012)
4523
- smtp.c: Removed whitespace
4525
- pop3: Another small code tidy up
4527
Missed some comments that we identified during the SMTP tidy up earlier.
4529
- smtp: Post authentication code tidy up
4531
Corrected lines longer than 78 characters.
4533
Removed unnecessary braces in smtp_state_helo_resp().
4535
Introduced some comments in data sending functions.
4537
Tidied up comments to match changes made in pop3.c.
4539
Yang Tse (5 Jun 2012)
4540
- tests 1348 to 1363: add a comma in test description
4542
Steve Holme (5 Jun 2012)
4543
- email: Removed duplicated header file
4545
- sasl: Renamed Curl_sasl_decode_ntlm_type2_message()
4547
For consistency with other SASL based functions renamed this function
4548
to Curl_sasl_create_ntlm_type3_message() which better describes its
4551
- pop3: Post authentication code tidy up
4553
Corrected lines longer than 78 characters.
4555
Changed POP3_AUTH_FINAL to POP3_AUTH to match SMTP code now that the
4556
AUTH command is no longer sent on its own.
4558
Introduced some comments in data sending functions.
4560
Another attempt at trying to rational code and comment style.
4562
- pop3: Added support for sasl digest-md5 authentication
4564
Yang Tse (4 Jun 2012)
4565
- sasl: add reference for curl_sasl
4567
- Makefile.inc: tab adjustment
4569
Daniel Stenberg (4 Jun 2012)
4570
- pop3 tests: CAPA instead of AUTH
4572
After Steve's commit e336bc7c42c7340 test 1319 and 1407 need to check
4573
for CAPA instead of AUTH.
4575
Steve Holme (4 Jun 2012)
4576
- sasl: Added service parameter to Curl_sasl_create_digest_md5_message()
4578
Added a service type parameter to Curl_sasl_create_digest_md5_message()
4579
to allow the function to be used by different services rather than being
4580
hard coded to "smtp".
4582
Yang Tse (4 Jun 2012)
4583
- tests 1356 to 1363: several -O -J -i -D combinations with FTP protocol
4585
Currently 1356 to 1362 succeed but a write failure is logged in traceNNNN.
4587
Currently 1363 fails, so disabled for now.
4589
Steve Holme (4 Jun 2012)
4590
- tests: Updated pop3 tests for change in auth mechanism detection
4592
- pop3: Changed the sasl mechanism detection from auth to capa
4594
Not all SASL enabled POP3 servers support the AUTH command on its own
4595
when trying to detect the supported mechanisms. As such changed the
4596
mechanism detection to use the CAPA command instead.
4598
Daniel Stenberg (4 Jun 2012)
4599
- curl_easy_setopt.3: proto updates + cleanups
4601
- For all *FUNCTION options, they now all show the complete prototype in
4602
the description. Previously some of them would just refer to a
4603
typedef'ed function pointer in the curl.h header.
4605
- I made the phrasing of that "Pass a pointer to a function that matches
4606
the following prototype" the same for all *FUNCTION option descriptions.
4608
- I removed some uses of 'should'. I think I sometimes over-use this
4609
word as in many places I actually mean MUST or otherwise more specific
4610
and not-so-optional synonyms.
4612
Yang Tse (4 Jun 2012)
4613
- tests 1348 to 1355: several -O -J -i -D combinations with FTP protocol
4615
Currently 1348 to 1354 succeed but a write failure is logged in traceNNNN.
4617
Currently 1355 fails, so disabled for now.
4619
- tests 1346 to 1347: several -O -J -i -D combinations with HTTP protocol
4621
Steve Holme (4 Jun 2012)
4622
- sasl: Small code tidy up
4624
Reworked variable names in Curl_sasl_create_cram_md5_message() to match
4625
those in Curl_sasl_create_digest_md5_message() as they are more
4628
- sasl: Moved digest-md5 authentication message creation from smtp.c
4630
Moved the digest-md5 message creation from smtp.c into the sasl module
4631
to allow for use by other modules such as pop3.
4633
- sasl: Small code tidy up before moving digest-md5 over
4635
Correction of comments and variable names.
4637
- RELEASE-NOTES: Added missing addition of sasl login support
4639
- pop3: Added support for sasl cram-md5 authentication
4641
Daniel Stenberg (3 Jun 2012)
4642
- Curl_sasl_create_plain_message: remove TAB
4644
Steve Holme (3 Jun 2012)
4645
- sasl: Small code tidy up
4647
Added some comments and removed an unreferenced variable.
4649
- pop3.c: Added conditional compilation for NTLM function calls
4651
Added USE_NTLM condition compilation around the NTLM functions called
4652
from pop3_statemach_act() introduced in commit 69f7156ad96877.
4654
- sasl: Moved cram-md5 authentication message creation from smtp.c
4656
Moved the cram-md5 message creation from smtp.c into the sasl module
4657
to allow for use by other modules such as pop3.
4659
- pop3: Fixed an issue with changes introduced in commit c267c53017bc
4661
Because pop3_endofresp() is called for each line of data yet is not
4662
passed the line and line length, so we have to use the data pointed to
4663
by pp->linestart_resp which contains the whole packet, the mechanisms
4664
were being detected in one call yet the function would be called for
4667
Using curl with verbose mode enabled would show that one line of data
4668
would be received in response to the AUTH command, before the AUTH
4669
<mechanism> command was sent to the server and then the next few lines
4670
of the original AUTH command would be displayed before the response from
4671
the AUTH <mechanism> command. This would then cause problems when
4672
parsing the CRAM-MD5 challenge data as extra data was contained in the
4675
Changed the parsing so that each line is checked for the mechanisms
4676
and the function returns FALSE until the whole of the AUTH response has
4679
Daniel Stenberg (3 Jun 2012)
4680
- version: bump to 7.27.0 for next release
4684
- RELEASE-NOTES: synced with c4e3578e4bf
4686
Also bumped the contributor number and next release is to become 7.27.0
4688
- THANKS: 16 new contributors from the 7.26.0 release
4690
Steve Holme (3 Jun 2012)
4691
- DOCS: Fixed list in Section 18.2 not displaying correctly on web site
4693
- DOCS: Corrected missed heading renumbering from commit 530675a1ad7
4695
- DOCS: Added IMAP and LDAP sections
4697
Added new sections 11. IMAP and 12. LDAP to document adding SASL based
4700
Renumbered current sections 11 to 17 as 13 to 19.
4702
Additionally added 19.10 Add CURLOPT_MAIL_CLIENT option.
4704
- sasl.c: Fix to avoid warnings introduced in commit d9ca9e9869e8
4706
Applied a fix to avoid warnings on systems where Curl_ntlm_sspi_cleanup()
4709
- pop3.c:Corrected typo in commit 69ba0da8272d
4711
- pop3: Fixed the issue of having to supply the user name for all requests
4713
Previously it wasn't possible to connect to POP3 and not specify the
4714
user name as a CURLE_ACCESS_DENIED error would be returned. This error
4715
occurred because USER would be sent to the server with a blank user name
4716
if no mailbox user was specified as the server would reply with -ERR.
4718
This wasn't a problem prior to the 7.26.0 release but with the
4719
introduction of custom commands the user and/or application developer
4720
might want to issue a CAPA command without having to log in as a
4721
specific mailbox user.
4723
Additionally this fix won't send the newly introduced AUTH command if no
4724
user name is specified.
4726
- pop3.c: Small code tidy up
4728
Corrected lines exceeding 78 characters.
4730
Repositioned some comments and added extra clarity.
4732
- sasl: Corrected variable names in comments and parameters
4734
- pop3: Added support for sasl ntlm authentication
4736
- sasl: Small comment style tidy up following ntlm commit
4738
- sasl: Moved ntlm authentication message handling from smtp.c
4740
Moved the ntlm message creation and decoding from smtp.c into the sasl
4741
module to allow for use by other modules such as pop3.
4743
- pop3: Added support for sasl login authentication
4745
Yang Tse (1 Jun 2012)
4746
- tests 1334 to 1345: several -O -J -i -D combinations with HTTP protocol
4748
- tests: support test definitions with up to 5 file checks in <verify> section
4750
This is done introducing tags <file1> to <file4> besides existing <file> one,
4751
as well as corresponding <stripfile1> to <stripfile4> ones, that can be used
4752
in the <verify> section in the same way as the non-numbered ones.
4754
Steve Holme (31 May 2012)
4755
- sasl: Moved login authentication message creation from smtp.c
4757
Moved the login message creation from smtp.c into the sasl module
4758
to allow for use by other modules such as pop3.
4760
- smtp.c: Reworked message encoding in smtp_state_authpasswd_resp()
4762
Rather than encoding the password message itself the
4763
smtp_state_authpasswd_resp() function now delegates the work to the same
4764
function that smtp_state_authlogin_resp() and smtp_authenticate() use
4765
when constructing the encoded user name.
4767
- smtp.c: Re-factored smtp_auth_login_user() for use with passwords
4769
In preparation for moving to the SASL module re-factored the
4770
smtp_auth_login_user() function to smtp_auth_login() so that it can be
4771
used for both user names and passwords as sending both of these under
4772
the login authentication mechanism is the same.
4774
- pop3: Added support for sasl plain text authentication
4776
- curl_ntlm_msgs.c: Corrected small spelling mistake in comments
4778
- sasl: Moved plain text authentication message creation from smtp.c
4780
Moved the plain text message creation from smtp.c into the sasl module
4781
to allow for use by other modules such as pop3.
4783
Yang Tse (30 May 2012)
4784
- configure: fix LDAPS disabling related misplaced closing parenthesis
4786
- pop3 test server: allow pop3 test server verification to succeed again
4788
Introduce SUPPORTCAPA and SUPPORTAUTH config commands to allow further
4789
pop3 test server expansion for tests that require CAPA or AUTH support,
4790
although this will need some extra work to make it fully functional.
4792
Steve Holme (28 May 2012)
4793
- pop3: Introduced the continue response in pop3_endofresp()
4795
- pop3: Changed response code from O and E to + and -
4797
The POP3 protocol doesn't really have the concept of error codes and
4798
uses +, +OK and -ERR in response to commands to indicate continue,
4801
The AUTH command is one of those commands that requires multiple pieces
4802
of data to be sent to the server where the server will respond with + as
4803
part of the handshaking. This meant changing the values before
4804
continuing with the next stage of adding authentication support.
4806
- pop3: Small code tidy up following authentication work so far
4808
Changed the order of the state machine to match the order of actual
4811
Reworked some comments and function parameter positioning that I missed
4814
Kamil Dudka (28 May 2012)
4815
- nss: use human-readable error messages provided by NSS
4817
Bug: http://lists.baseurl.org/pipermail/yum-devel/2012-January/009002.html
4819
Daniel Stenberg (27 May 2012)
4820
- test1013.pl: filter out Metalink
4822
Since it isn't a feature supported by curl-config we can't compare that
4823
with the --version output
4825
- pop3: remove variable-not-used warnings
4827
Steve Holme (27 May 2012)
4828
- DOCS: Corrected the "Added in" version number for CURLOPT_MAIL_AUTH
4830
Additionally corrected another RFC link that I missed yesterday.
4832
- pop3: Added support for SASL based authentication mechanism detection
4834
Added support for detecting the supported SASL authentication mechanisms
4835
via the AUTH command. There are two ways of detecting them, either by
4836
using the AUTH command, that will return -ERR if not supported or by
4837
using the CAPA command which will return SASL and the list of mechanisms
4838
if supported, not include SASL if SASL authentication is not supported
4839
or -ERR if the CAPA command is not supported. As such it seems simpler
4840
to use the AUTH command and fallback to normal clear text authentication
4841
if the the command is not supported.
4843
Additionally updated the test cases to return -ERR when the AUTH command
4844
is encountered. Additional test cases will be added when support for the
4845
individual authentication mechanisms is added.
4847
Daniel Stenberg (27 May 2012)
4848
- pop3: remove trailing whitespace
4850
Steve Holme (27 May 2012)
4851
- pop3: Code tidy up before the introduction of authentication code
4853
Moved EOB definition into header file.
4855
Switched the logic around in pop3_endofresp() to allow for the
4856
introduction of auth-mechanism detection.
4858
Repositioned second and third function variables where they will fit
4859
within the 78 character line limit.
4861
Tidied up some comments.
4863
Guenter Knauf (27 May 2012)
4864
- Enabled OpenSSL static linkage.
4866
- Enabled OpenSSL static linkage.
4868
- Try to detect OpenSSL build type automatically.
4870
Daniel Stenberg (26 May 2012)
4871
- metalink: fix build errors when disabled
4873
- [Tatsuhiro Tsujikawa brought this change]
4875
Reduced #ifdef HAVE_METALINK
4877
- [Tatsuhiro Tsujikawa brought this change]
4879
Disable hash check if neither OpenSSL nor GNUTLS is installed.
4881
- [Tatsuhiro Tsujikawa brought this change]
4883
Format GETOUT_METALINK nicely
4885
- [Tatsuhiro Tsujikawa brought this change]
4887
Minimize usage of structs from libmetalink
4889
- [Tatsuhiro Tsujikawa brought this change]
4891
Check checksum of downloaded file if checksum is available
4893
Metalink file contains several hash types of checksums, such as
4894
md5, sha-1, sha-256, etc. To deal with these checksums, I created
4895
abstraction layer based on lib/curl_md5.h and
4896
lib/md5.c. Basically, they are almost the same but I changed the
4897
code so that it is not hash type dependent. Currently,
4898
GNUTLS(nettle or gcrypt) and OpenSSL functions are supported.
4900
Checksum checking is done by reopening download file. If there
4901
is an I/O error, the current implementation just prints error
4902
message and does not try next resource.
4904
In this patch, the supported hash types are: md5, sha-1 and sha-256.
4906
- [Tatsuhiro Tsujikawa brought this change]
4908
Always create directory hierarchy for Metalink.
4910
Filenames contained in Metalink file can include directory information.
4911
Filenames are unique in Metalink file, taking into account the directory
4912
information. So we need to create the directory hierarchy.
4914
Curl has --create-dirs option, but we create directory hierarchy for
4915
Metalink downloads regardless of the option value.
4917
This patch also put metalink int variable outside of HAVE_LIBMETALINK
4918
guard. This reduces the number of #ifdefs.
4920
- [Tatsuhiro Tsujikawa brought this change]
4922
Fixed segmentation fault when Metalink has no valid file or no resource.
4924
- [Tatsuhiro Tsujikawa brought this change]
4926
Support media-type parameter in Content-Type
4928
- [Tatsuhiro Tsujikawa brought this change]
4930
Print "Metalink" in Features if Metalink support is enabled.
4932
- [Tatsuhiro Tsujikawa brought this change]
4934
Removed trailing space
4936
- [ant brought this change]
4938
Add --metalink to --help
4940
- [ant brought this change]
4942
Add Metalink information and --metalink option to man page
4944
- [ant brought this change]
4946
Add Metalink information and --metalink option to man page
4948
- [ant brought this change]
4950
Adds Metalink information to INSTALL
4952
- [Tatsuhiro Tsujikawa brought this change]
4954
--metalink option is available regardless of Metalink support.
4956
- [Tatsuhiro Tsujikawa brought this change]
4958
metalink: parse downloaded Metalink file
4960
Parse downloaded Metalink file and add downloads described there. Fixed
4961
compile error without metalink support.
4963
- [Tatsuhiro Tsujikawa brought this change]
4965
Fixed HAVE_LIBMETALINK conditional is always true
4967
- [Tatsuhiro Tsujikawa brought this change]
4969
metalink: minor metalinkfile fix
4971
Don't update config->metalinkfile_last in operate(). Use local variable
4972
to point to the current metalinkfile.
4974
- [Tatsuhiro Tsujikawa brought this change]
4976
metalink: show help message even if disabled
4978
Print message if --metalink is used while metalink support is not
4979
enabled. Migrated Metalink support in tool_operate.c and removed
4982
- [Tatsuhiro Tsujikawa brought this change]
4984
Applied patches from Daniel
4986
- [Tatsuhiro Tsujikawa brought this change]
4990
This change adds experimental Metalink support to curl.
4991
To enable Metalink support, run configure with --with-libmetalink.
4992
To feed Metalink file to curl, use --metalink option like this:
4994
$ curl -O --metalink foo.metalink
4996
We use libmetalink to parse Metalink files.
4998
Steve Holme (26 May 2012)
4999
- DOCS: Fixed line spacing of authentication examples in CURLOPT_URL
5001
- DOCS: Changed domain names in various examples to example.com
5003
Updated various references of real domain names to example.com as per
5006
- DOCS: Fixed meaning of bit 2 in CURLOPT_POSTREDIR
5008
Setting bit 2 for this value was documented as having a constant value
5009
defined as CURL_REDIR_POST_303 yet referenced a 302 request.
5011
Additionally corrected the meaning of CURL_REDIR_POST_ALL for all three
5012
bits and fixed problems with the bolding of keywords in this section.
5014
- DOCS: Standardised how RFCs are referenced.
5016
Standardised how RFCs are referenced so that the website may autolink to
5017
the correct documentation on ietf.org. Additionally removed the one link
5018
to RFC3986 on curl.haxx.se.
5020
Yang Tse (26 May 2012)
5021
- Fix libcurl.pc and curl-config generation for static MingW* cross builds
5023
Daniel Stenberg (25 May 2012)
5024
- [Tatsuhiro Tsujikawa brought this change]
5026
Made -D option work with -O and -J.
5028
To achieve this, first new structure HeaderData is defined to hold
5029
necessary data to perform header-related work. Then tool_header_cb now
5030
receives HeaderData pointer as userdata. All header-related work
5031
(currently, dumping header and Content-Disposition inspection) are done
5032
in this callback function. HeaderData.outs->config is used to determine
5033
whether each work is done.
5035
Unit tests were also updated because after this change, curl code always
5036
sets CURLOPT_HEADERFUNCTION and CURLOPT_HEADERDATA.
5038
Tested with -O -J -D, -O -J -i and -O -J -D -i and all worked fine.
5040
Steve Holme (25 May 2012)
5041
- sasl: Re-factored auth-mechanism constants to be more generic
5043
- smtp: Moved auth-mechanism constants into a separate header file
5045
Move the SMTP_AUTH constants into a separate header file in
5046
preparation for adding SASL based authentication to POP3 as the two
5047
protocols will need to share them.
5049
Kamil Dudka (25 May 2012)
5050
- nss: avoid using explicit casts of code pointers
5052
Steve Holme (24 May 2012)
5053
- DOCS: Added LDAP to the CURLOPT_URL section
5055
- TODO: Removed DIGEST-MD5 authentication from SMTP to do list
5057
Removed DIGEST-MD5 from Section 9.1 Other authentication mechanisms as
5058
the feature was added to SMTP in 7.26.0.
5060
Also corrected small spelling mistake.
5062
Daniel Stenberg (24 May 2012)
5063
- bump to 7.26.1: start working towards next release
5065
Version 7.26.0 (24 May 2012)
5067
Daniel Stenberg (24 May 2012)
5068
- RELEASE-NOTES: synced with ef60fdbd73
5070
Just before 7.26.0 is about to ship
5072
Steve Holme (22 May 2012)
5073
- smtp: Fixed an issue with the multi-interface always sending postdata
5075
Due to the result code being reset to CURLE_OK when smtp_dophase_done()
5076
was called, postdata would incorrectly be sent to the server when the
5077
MAIL FROM or RCPT command was rejected.
5079
As such, libcurl would return the wrong result code from performing the
5080
operation and additionally set CURLINFO_RESPONSE_CODE to be that
5081
returned by the postdata command.
5083
Bug: http://curl.haxx.se/mail/lib-2012-05/0108.html
5084
Reported by: Gokhan Sengun
5086
- DOCS: Updated version number for features added in the pending release
5088
Daniel Stenberg (22 May 2012)
5089
- [Tatsuhiro Tsujikawa brought this change]
5091
Fixed compile error with GNUTLS+NETTLE
5093
In nettle/md5.h, md5_init and md5_update are defined as macros to
5094
nettle_md5_init and nettle_md5_update respectively. This causes
5095
error when using MD5_params.md5_init and md5_update. This patch
5096
renames these members as md5_init_func and md5_update_func to
5097
avoid name conflict. For completeness, MD5_params.md5_final was
5098
also renamed as md5_final_func.
5100
The changes in curl_ntlm_core.c is conversion error and fixed by
5101
casting to proper type.
5103
- TODO-RELEASE: mention the pending biggies for 7.27.0
5105
- [Jan Ehrhardt brought this change]
5107
winbuild: fix IPv6 enabled build
5109
The existing check was wrong so IPv6 support would never be enabled
5111
- 7.26.0: will be the next release version
5113
- RELEASE-NOTES: synced with 8ae1e657e82a
5115
And mention that this will become 7.26.0
5117
Guenter Knauf (22 May 2012)
5118
- Updated dependency libary versions.
5120
Daniel Stenberg (20 May 2012)
5121
- curl-config.1: fix curl-config usage in example
5123
The curl-config command must be used twice in the single command line to
5124
work properly in some environments.
5126
Bug: http://curl.haxx.se/bug/view.cgi?id=3528241
5127
Reported by: Julian Taylor
5129
Steve Holme (17 May 2012)
5130
- smtp: Fixed non-escaping of dot character at beginning of line
5132
A dot character at the beginning of a line would not be escaped to a
5133
double dot as required by RFC-2821, instead it would be deleted by the
5134
mail server. Please see section 4.5.2 of the RFC for more information.
5136
Note: This fix also simplifies the detection of repeated CRLF.CRLF
5137
combinations, such as CRLF.CRLF.CRLF, a little rather than having to
5138
advance the eob counter to 2.
5140
Daniel Stenberg (16 May 2012)
5141
- FAQ: updated 1.10 How many are using curl?
5143
Now linking to http://daniel.haxx.se/blog/2012/05/16/300m-users/
5145
- disable-versioned-symbols: removed superfluous 'fi'
5147
The commit e315927a1a left this in
5149
- MakefileBuild.vc: use the correct IDN variable
5151
The variable that control IDN enablement is called USE_IDN within these
5154
- [Pierre Chapuis brought this change]
5156
autoconf: improve handling of versioned symbols
5158
It checks whether versioned symbols should be enabled before checking
5159
whether it is possible (i.e. the linker supports --version-script) or
5160
not. This avoids a useless warning when building cURL on a platform that
5161
does not use GNU ld.
5163
Moreover, it fixes broken indentation of this chunk of code.
5165
- curl.1: clarify -x usage
5167
1 - fix the syntax in the .IP line
5169
2 - Provided user names and passwords are URL decoded by libcurl
5171
Bug: http://curl.haxx.se/bug/view.cgi?id=3525935
5173
- NTLM: is supported in GnuTLS builds too
5175
... since commit 9a4c887c4a7 introduced in libcurl 7.19.4
5177
- TODO: happy eyeballs is now RFC6555
5179
- my_useragent: shorten user-agent
5181
The built-in user-agent will now only say curl/[version] and nothing
5182
else in an attempt to decrease overhead in HTTP requests.
5184
- CURLOPT_HEADERFUNCTION: works for non-HTTP protocols too
5186
Claes Jakobsson (3 May 2012)
5187
- Add note about default timeout in CURLOPT_TIMEOUT
5189
Daniel Stenberg (2 May 2012)
5190
- [Gokhan Sengun brought this change]
5194
check whether md5 initialization succeeded before updating digest of
5197
- REALEASE-NOTES: synced with 64f48e884e3c1
5199
- [Jan Schaumann brought this change]
5201
add newly created manual page
5203
- [Jan Schaumann brought this change]
5205
add a manual page for mk-ca-bundle
5207
Guenter Knauf (26 Apr 2012)
5208
- Updated dependency lib versions.
5210
Daniel Stenberg (23 Apr 2012)
5211
- URL parse: reject numerical IPv6 addresses outside brackets
5213
Roman Mamedov spotted (in
5214
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=670126) that curl would
5215
not complain when given a URL with an IPv6 numerical address without
5216
brackets. It would simply cut off the last ":[hex]" part and thus not
5219
That's a URL using an illegal syntax and now libcurl will instead return
5220
a clear error code and error message detailing the error.
5222
The above mentioned bug report claims this to be a regression but
5223
libcurl does not guarantee functionality when given URLs that aren't
5224
following the URL spec (RFC3986 mostly). I consider the fact that it
5225
used to handle this differently a mere coincidence.
5227
- Curl_MD5_init: fix OOM memory leak
5229
Bug: http://curl.haxx.se/mail/lib-2012-04/0246.html
5230
Reported by: Michael Mueller
5232
- [Gokhan Sengun brought this change]
5234
OpenSSL cert: provide more details when cert check fails
5236
curl needs to be more chatty regarding certificate verification failure
5237
during SSL handshake
5239
Yang Tse (23 Apr 2012)
5240
- Revert "sspi: Added version information"
5242
This reverts commit 2976de480808119dae08fc6f52c8d75ba1aedb1a.
5244
- Revert "sspi - Small code tidy up"
5246
This reverts commit 46cd5f1daddad3b3e542e6d93eee52e8bb9a8687.
5248
- Revert "Fixed 'extra tokens at end of #endif directive'."
5250
This reverts commit 77172a242fc0c820f97eae39d0e3e0f265222fe6.
5252
- Revert "Fixed 'Trailing whitespace' found by checksrc."
5254
This reverts commit 683bfa60ad0b52505947e59b03515e5f44378523.
5256
- Revert "sspi: Code tidy up to remove unused variable."
5258
This reverts commit 412510f97407d617426d93b80e6b6bf0a8ff11ac.
5260
- Revert "Add -lversion if build with SSPI."
5262
This reverts commit 9ec0b7e0c44d29eca6f45916fe5af3501168fe85.
5264
Guenter Knauf (23 Apr 2012)
5265
- Add -lversion if build with SSPI.
5267
Steve Holme (22 Apr 2012)
5268
- sspi: Code tidy up to remove unused variable.
5270
Guenter Knauf (22 Apr 2012)
5271
- Fixed 'Trailing whitespace' found by checksrc.
5273
- Fixed 'extra tokens at end of #endif directive'.
5275
Steve Holme (22 Apr 2012)
5276
- sspi - Small code tidy up
5278
- sspi: Added version information
5280
Added version information for Windows SSPI to curl's main version
5281
string and removed SSPI from the features string.
5283
Daniel Stenberg (20 Apr 2012)
5284
- HTTP: empty chunked POST ended up in two zero size chunks
5286
When doing a chunked-encoded POST with -d (CURLOPT_POSTFIELDS) and the
5287
size of the POST was zero length, it made libcurl first send a zero
5288
chunk and then the terminating one. This could confuse a receiver and it
5289
should rather just send the terminating chunk as it does with this fix.
5291
Test case 1333 is added to verify.
5293
Bug: http://curl.haxx.se/mail/archive-2012-04/0060.html
5294
Reported by: Arnaud Compan
5296
Guenter Knauf (20 Apr 2012)
5297
- Updated dependency lib versions.
5299
Daniel Stenberg (19 Apr 2012)
5300
- singleipconnect: return OK even when Curl_socket() fails
5302
Commit 9109cdec11ee5a brought this regression (shipped since 7.24.0).
5304
The singleipconnect() function must not return an error if Curl_socket()
5305
returns an error. It should then simply return OK and pass a SOCKET_BAD
5306
back simply because that is how the user of this function expects it to
5307
work and something else is not fine.
5309
Reported by: Blaise Potard
5310
Bug: http://curl.haxx.se/bug/view.cgi?id=3516508
5312
Yang Tse (19 Apr 2012)
5313
- Take in account that CURLAUTH_* bitmasks are now 'unsigned long' - follow-up
5315
MIPSPro compiler detected curl_easy_getinfo() related missing adjustments.
5316
SunPro compiler detected curl tool --libcurl option related missing adjustments.
5318
- url.c: CURLOPT_HTTPAUTH and CURLOPT_PROXYAUTH fixes
5320
Fail with CURLE_NOT_BUILT_IN when none of requested auth methods is supported.
5322
Reject CURLAUTH_ONLY bit when given alone or with CURLAUTH_NONE.
5324
- Take in account that CURLAUTH_* bitmasks are now 'unsigned long'
5326
Data type of internal vars holding CURLAUTH_* bitmasks changed from 'long' to
5327
'unsigned long' for proper handling and operating.
5329
- curl.h: CURLAUTH_* bitmasks adjusted to become 'unsigned long' typed
5331
Info: http://curl.haxx.se/mail/lib-2012-04/0170.html
5333
- Some explicit conversion to 'long' of curl_easy_setopt() third argument
5335
Explicit conversion to 'long' of curl_easy_setopt() third argument for options
5336
CURLOPT_HTTPAUTH and CURLOPT_PROXYAUTH given that this is how its bitmasks are
5337
docummented to be used.
5339
- build adjustments: commit 9e24b9c7 follow-up
5341
Daniel Stenberg (17 Apr 2012)
5342
- -# progress meter: avoid superfluous updates and duplicate lines
5344
By comparing if a different "progress point" is reached or not since the
5345
previous update, the progress function callback for this now avoids many
5346
superfluous screen updates. This has the nice side-effect that it fixes
5347
a problem that causes a second progress meter line.
5349
The second line output happened because when we use the -# progress
5350
meter, we force a newline output after the transfer in the main loop in
5351
curl, but when libcurl calls the progress callback from
5352
curl_easy_cleanup() it would then output the progress display
5353
again. Possibly the naive newline output is wrong but this optimization
5354
was suitable anyway...
5356
Reported by: Daniel Theron
5357
Bug: http://curl.haxx.se/bug/view.cgi?id=3517418
5359
Yang Tse (16 Apr 2012)
5360
- nss.c: fix compiler warning
5362
- curl-compilers.m4: -Wno-pedantic-ms-format for Windows gcc 4.5 builds
5364
When building a Windows target with gcc 4.5 or newer and strict compiler
5365
warnings enabled use -Wno-pedantic-ms-format in addition to other flags.
5367
Kamil Dudka (16 Apr 2012)
5368
- tests/valgrind.pm: suppress memleaks of NSS_InitContext()
5370
Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=745224
5372
Yang Tse (14 Apr 2012)
5373
- setup_once.h: tighten requirements for stdbool.h header inclusion
5375
Include stdbool.h only when it is available and configure is capable of
5376
detecting a proper 'bool' data type when the header is included.
5378
Compilation fix for old or unpatched versions of XL C compiler.
5380
Report: http://curl.haxx.se/mail/archive-2012-04/0022.html
5382
- headers: require GCC 2.7 or newer in order to allow attribute GCC'isms usage
5384
Usage in other code paths already protected and requiring even newer versions.
5386
- [Jonathan Nieder brought this change]
5388
headers: surround GCC attribute names with double underscores
5390
This protects from attribute names being defined by third party's code.
5392
Improvement: http://curl.haxx.se/mail/lib-2012-04/0127.html
5394
Guenter Knauf (13 Apr 2012)
5395
- Updated copyright year.
5397
Yang Tse (13 Apr 2012)
5398
- testcurl.pl: build example programs for Android cross-compiles
5400
- nss.c: fix compiler warning
5402
- examples: fix compiler warnings
5404
Kamil Dudka (13 Apr 2012)
5405
- nss: provide human-readable names for NSS errors
5407
- nss: use NSS_InitContext() to initialize NSS if available
5409
NSS_InitContext() was introduced in NSS 3.12.5 and helps to prevent
5410
collisions on NSS initialization/shutdown with other libraries.
5412
Bug: https://bugzilla.redhat.com/738456
5414
- nss: unconditionally require PK11_CreateGenericObject()
5416
This bumps the minimal supported version of NSS to 3.12.x.
5418
Guenter Knauf (13 Apr 2012)
5419
- Set batch mode to 755 to make Cygwin git pulls work.
5421
- Added section for Android configure cross-compile.
5423
- Added NetWare export.
5425
Yang Tse (12 Apr 2012)
5426
- testcurl.pl: build example programs for MinGW cross-compiles
5428
- tool_operate.c: fix compiler warning
5430
- url.c: fix compiler warning
5432
Guenter Knauf (12 Apr 2012)
5433
- Updated dependency lib versions (2nd try).
5435
- Updated dependency lib versions.
5437
Yang Tse (12 Apr 2012)
5438
- tool_formparse.c: rename a couple of vars to avoid declaration shadowing
5440
- OS400/initscript.sh: fix db2_name() module name generation
5442
Allow repeatable file name length reduction on file names with underscore or
5443
dash characters. This is done in order to better support libcurl's existing
5444
source file names and allow OS/400 package to build out of the box again.
5446
- testcurl.pl: log more environment vars that modify configure and build behavior
5448
- configure: NATIVE_WINDOWS no longer defined in config files
5450
- build adjustments: CURL_HIDDEN_SYMBOLS no longer defined in config files
5452
configure script now provides conditional definitions for Makefile.am
5453
that result in CURL_HIDDEN_SYMBOLS being defined by resulting makefiles
5456
Additionally, configure script option for symbol hiding control is now
5457
named --enable-symbol-hiding --disable-symbol-hiding. While still valid,
5458
old option name --enable-hidden-symbols --disable-hidden-symbols will
5459
be deprecated in some future release.
5461
- build adjustments: functionally revert commits 4d3fb91f and bbfe1182
5463
Undefining CURL_HIDDEN_SYMBOLS in source files isn't the proper fix.
5465
- test servers: build adjustment
5467
Undefine CURL_HIDDEN_SYMBOLS libcurl private preprocessor macro that might
5468
leak from lib/setup.h into source files where this should not be defined.
5470
- libtests: build adjustment
5472
Undefine CURL_HIDDEN_SYMBOLS libcurl private preprocessor macro that might
5473
leak from lib/setup.h into source files where this should not be defined.
5475
- curl tool: make setup.h first header included in tool_setup.h again
5477
- curl tool: use configuration files from lib directory - follow-up II
5479
lib/config-win32.h no longer copied to src/config-win32.h
5481
- configure: Windows cross-compilation fixes
5483
BUILDING_LIBCURL and CURL_STATICLIB are no longer defined in curl_config.h,
5484
configure will generate appropriate conditionals so that mentioned symbols
5485
get defined and used in Makefiles at compilation time
5487
- curl tool: make curl.h first header included in tool_setup.h
5489
- curl tool: use configuration files from lib directory - follow-up I
5491
amigaos.[ch] now integrates nicely with any libcurl build
5493
- curl tool: use configuration files from lib directory
5495
Configuration files such as curl_config.h and all config-*.h no longer exist
5496
nor are generated/copied into 'src' directory, now these only exist in 'lib'
5497
directory from where curl tool sources uses them.
5499
Additionally old src/setup.h has been refactored into src/tool_setup.h which
5500
now pulls lib/setup.h
5502
The possibility of a makefile needing an include path adjustment exists.
5504
Daniel Stenberg (6 Apr 2012)
5505
- PolarSSL: correct return code for CRL matches
5507
When a server certificate matches one in the given CRL file, the code
5508
now returns CURLE_SSL_CACERT as test case 313 expects and verifies.
5510
- PolarSSL: include version number in version string
5512
Previously it would say PolarSSL only, now it says PolarSSL/1.1.0 in the
5513
same style other libs and components do.
5515
- test: added test 1332 that tests --post303
5517
- curl: add --post303 to set the CURL_REDIR_POST_303 option
5519
- [Andrei Cipu brought this change]
5521
CURLOPT_POSTREDIR: also allow 303 to do POST on the redirected URL
5523
As it turns out, some people do want that after all.
5525
- test1331: cookies on a 407 response
5527
Verify that cookies are sent back even after a 407 response has been
5530
- [Dag Ekengren brought this change]
5532
PolarSSL: add support for asynchronous connect
5534
- [Tim Heckman brought this change]
5536
Revert "access the CA source file using HTTPS"
5538
This reverts commit f7e2ab6.
5540
This change caused fetching of the certificates to become unreliable.
5542
Bug: http://curl.haxx.se/mail/lib-2012-03/0238.html
5543
Reported by: Tim Heckman
5545
- [Andrei Cipu brought this change]
5547
IPv6 cookie domain: get rid of the first bracket before the second.
5549
Commit 97b66ebe was copying a smaller buffer, thus duplicating the last
5552
- MAIL-ETIQUETTE: Added "How to unsubscribe"
5554
... as it seems to hard for some people
5556
Yang Tse (4 Apr 2012)
5557
- ftp.c: ftplistparser related OOM handling fix
5559
- smtp.c: fix compiler warnings
5561
- lib599.c: fix compiler warning
5563
Daniel Stenberg (4 Apr 2012)
5564
- runtests: yassl and polarssl are not openssl
5566
Don't set the "has_openssl" variable if yassl or polarssl is found as
5567
they will simply not work as 100% drop-in replacements for some of the
5568
stuff the "OpenSSL" feature is used for.
5570
I spotted this problem when doing test runs with PolarSSL builds.
5572
- [Lijo Antony brought this change]
5574
connect.c: return changed to CURLE_COULDNT_CONNECT when opensocket fails
5576
Curl_socket returns CURLE_COULDNT_CONNECT when the opensocket callback
5577
returns CURL_SOCKET_BAD. Previous return value CURLE_FAILED_INIT
5578
conveys incorrect information to the user.
5580
Steve Holme (2 Apr 2012)
5581
- pop3: Reworked the command sending and handling
5583
Reworked the command sending from two specific LIST and RETR command
5584
functions into a single command based function as well as the two
5585
associated response handlers into a generic command handler.
5587
Daniel Stenberg (1 Apr 2012)
5588
- [Dave Reisner brought this change]
5590
curl tool: add filename_effective token for --write-out
5592
By modifying the parameter list for ourWriteOut() and passing the
5593
OutStruct that collects data in tool_operate, we get access to the
5594
remote name that we're writing to. Shell scripters should find this
5595
useful when used in conjuntion with the --remote-header-name option.
5597
Steve Holme (1 Apr 2012)
5598
- smtp.c: Code policing and tidy up
5600
Daniel Stenberg (1 Apr 2012)
5601
- [Armel Asselin brought this change]
5603
SSH: public key can now be an empty string
5605
If an empty string is passed to CURLOPT_SSH_PUBLIC_KEYFILE, libcurl will
5606
pass no public key to libssh2 which then tries to compute it from the
5607
private key. This is known to work when libssh2 1.4.0+ is linked against
5610
- [Tatsuhiro Tsujikawa brought this change]
5612
OpenSSL: Made cert hostname check conform to RFC 6125
5614
This change replaces RFC 2818 based hostname check in OpenSSL build with
5615
RFC 6125 [1] based one.
5617
The hostname check in RFC 2818 is ambiguous and each project implements
5618
it in the their own way and they are slightly different. I check curl,
5619
gnutls, Firefox and Chrome and they are all different.
5621
I don't think there is a bug in current implementation of hostname
5622
check. But it is not as strict as the modern browsers do. Currently,
5623
curl allows multiple wildcard character '*' and it matches '.'. (as
5624
described in the comment in ssluse.c).
5626
Firefox implementation is also based on RFC 2818 but it only allows at
5627
most one wildcard character and it must be in the left-most label in the
5628
pattern and the wildcard must not be followed by any character in the
5629
label.[2] Chromium implementation is based on RFC 6125 as my patch does.
5630
Firefox and Chromium both require wildcard in the left-most label in the
5631
presented identifier.
5633
This patch is more strict than the current implementation, so there may
5634
be some cases where old curl works but new one does not. But at the same
5635
time I think it is good practice to follow the modern browsers do and
5636
follow the newer RFC.
5638
[1] http://tools.ietf.org/html/rfc6125#section-6.4.3
5639
[2] https://bugzilla.mozilla.org/show_bug.cgi?id=159483
5641
- HTTP: reset expected DL/UL sizes on redirects
5643
With FOLLOWLOCATION enabled. When a 3xx page is downloaded and the
5644
download size was known (like with a Content-Length header), but the
5645
subsequent URL (transfered after the 3xx page) was chunked encoded, then
5646
the previous "known download size" would linger and cause the progress
5647
meter to get incorrect information, ie the former value would remain
5648
being sent in. This could easily result in downloads that were WAY
5649
larger than "expected" and would cause >100% outputs with the curl
5652
Test case 599 was created and it was used to repeat the bug and then
5655
Bug: http://curl.haxx.se/bug/view.cgi?id=3510057
5656
Reported by: Michael Wallner
5658
Steve Holme (31 Mar 2012)
5659
- [Gökhan Şengün brought this change]
5661
smtp: Add support for DIGEST-MD5 authentication
5663
- [Gökhan Şengün brought this change]
5665
smtp: Cody tidy up of md5 digest length
5667
Replaced the hard coded md5 digest length (16) with a preprocessor
5670
- [Gökhan Şengün brought this change]
5672
md5: Add support for calculating the md5 sum of buffers incrementally
5674
It is now possible to calculate the md5 sum as the stream of buffers
5675
becomes known where as previously it was only possible to calculate the
5676
md5 sum of a pre-prepared buffer.
5678
Daniel Stenberg (31 Mar 2012)
5679
- Revert "mk-ca-bundle.pl: use LWP::UserAgent for https"
5681
This reverts commit 9f0e1689f169b83b8fbdae23e0024cc57dcbc770.
5683
It turned out that "improvement" instead made the fetching of the
5684
certificates unreliable
5686
Bug: http://curl.haxx.se/mail/lib-2012-03/0238.html
5687
Reported by: Tim Heckman
5689
Steve Holme (31 Mar 2012)
5690
- DOCS: Added information regarding POP3 commands to CURLOPT_CUSTOMREQUEST
5692
- pop3: Added support for additional pop3 commands
5694
This feature allows the user to specify and use additional POP3
5695
commands such as UIDL and DELE via libcurl's CURLOPT_CUSTOMREQUEST or
5696
curl's -X command line option.
5698
Yang Tse (30 Mar 2012)
5699
- [tetetest tetetest brought this change]
5701
CMakeLists.txt: fix Windows LDAP/LDAPS option handling
5703
bug: http://curl.haxx.se/mail/lib-2012-03/0278.html
5705
- [tetetest tetetest brought this change]
5707
CMakeLists.txt: fix MS Visual Studio x64 unsigned long long literal suffix
5709
bug: http://curl.haxx.se/mail/lib-2012-03/0255.html
5711
Steve Holme (28 Mar 2012)
5712
- TODO: Corrected POP3 section heading
5714
Yang Tse (28 Mar 2012)
5715
- curl-functions.m4: update detection logic of getaddrinfo() thread-safeness
5717
Take in account that h_errno might be a modifiable lvalue not defined as
5718
a C preprocessor macro
5720
Steve Holme (27 Mar 2012)
5721
- TODO: Added SMTP and POP3 specific features
5723
Yang Tse (27 Mar 2012)
5724
- [Olaf Flebbe brought this change]
5726
tool_cb_dbg.c: fix tool_cb_dbg() to behave properly even for size 0
5728
curl segfault in debug callback triggered with CURLINFO_HEADER_OUT and size 0
5730
bug: http://curl.haxx.se/bug/view.cgi?id=3511794
5732
- test #1405: support HTTP disabled builds
5734
Steve Holme (26 Mar 2012)
5735
- test #809: Updated error code to match recent pop3 changes
5737
Yang Tse (25 Mar 2012)
5738
- ssh.c: code cleanup, Curl_safefree() already nullifies pointer
5740
- fix some compiler warnings
5742
Steve Holme (25 Mar 2012)
5743
- pop3.c: Corrected problem with state() introduced in 01690ed2bce5
5745
- pop.c: Small code tidy up
5747
- pop3: Removed the need for the single message LIST command handler
5749
Simplified the code to remove the need for a separate "LIST <msg id>"
5750
command handler and state machine and instead use the LIST command
5751
handler for both operations.