~ubuntu-branches/ubuntu/vivid/curl/vivid

« back to all changes in this revision

Viewing changes to CHANGES

  • Committer: Package Import Robot
  • Author(s): Sebastien Bacher
  • Date: 2013-05-07 12:16:37 UTC
  • mfrom: (3.4.37 sid)
  • Revision ID: package-import@ubuntu.com-20130507121637-9t3i98qgsyr9dw5d
Tags: 7.30.0-1ubuntu1
* Resynchronize on Debian. Remaining changes:
  - Drop dependencies not in main:
    + Build-Depends: Drop stunnel4 and libssh2-1-dev.
    + Drop libssh2-1-dev from binary package Depends.
  - Add new libcurl3-udeb package.
  - Add new curl-udeb package.
* Add warning to debian/patches/series.

Show diffs side-by-side

added added

removed removed

Lines of Context:
6
6
 
7
7
                                  Changelog
8
8
 
 
9
Version 7.30.0 (12 Apr 2013)
 
10
 
 
11
Daniel Stenberg (12 Apr 2013)
 
12
- RELEASE-NOTES: cleaned up for 7.30 (synced with 5c5e1a1cd20)
 
13
  
 
14
  Most notable the security advisory:
 
15
  http://curl.haxx.se/docs/adv_20130412.html
 
16
 
 
17
- test1218: another cookie tailmatch test
 
18
  
 
19
  ... and make 1216 also verify it with a file input
 
20
  
 
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
 
24
 
 
25
- [YAMADA Yasuharu brought this change]
 
26
 
 
27
  cookie: fix tailmatching to prevent cross-domain leakage
 
28
  
 
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).
 
31
  
 
32
  This is a security vulnerabilty, CVE-2013-1944.
 
33
  
 
34
  Bug: http://curl.haxx.se/docs/adv_20130412.html
 
35
 
 
36
Guenter Knauf (11 Apr 2013)
 
37
- Enabled MinGW sync resolver builds.
 
38
 
 
39
Yang Tse (10 Apr 2013)
 
40
- if2ip.c: fix compiler warning
 
41
 
 
42
Guenter Knauf (10 Apr 2013)
 
43
- Fixed lost OpenSSL output with "-t" - followup.
 
44
  
 
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
 
49
  only use pure Perl.
 
50
 
 
51
Daniel Stenberg (9 Apr 2013)
 
52
- test1217: verify parsing 257 responses with "rubbish" before path
 
53
  
 
54
  Test 1217 verifies commit e0fb2d86c9f78, and without that change this
 
55
  test fails.
 
56
 
 
57
- [Bill Middlecamp brought this change]
 
58
 
 
59
  FTP: handle "rubbish" in front of directory name in 257 responses
 
60
  
 
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
 
63
  otherwise the norm.
 
64
  
 
65
  Failing to parse this, several otherwise legitimate use cases break.
 
66
  
 
67
  Bug: http://curl.haxx.se/mail/lib-2013-04/0113.html
 
68
 
 
69
Guenter Knauf (9 Apr 2013)
 
70
- Fixed ares-enabled builds with static makefiles.
 
71
 
 
72
- Fixed lost OpenSSL output with "-t".
 
73
  
 
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).
 
79
 
 
80
Daniel Stenberg (9 Apr 2013)
 
81
- test1216: test tailmatching cookie domains
 
82
  
 
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
 
85
 
 
86
- RELEASe-NOTES: synced with 29fdb2700f797
 
87
  
 
88
  added "tcpkeepalive on Mac OS X"
 
89
 
 
90
Nick Zitzmann (8 Apr 2013)
 
91
- darwinssl: disable insecure ciphers by default
 
92
  
 
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.
 
97
 
 
98
Daniel Stenberg (8 Apr 2013)
 
99
- [Robert Wruck brought this change]
 
100
 
 
101
  tcpkeepalive: Support CURLOPT_TCP_KEEPIDLE on OSX
 
102
  
 
103
  MacOS X doesn't have TCP_KEEPIDLE/TCP_KEEPINTVL but only a single
 
104
  TCP_KEEPALIVE (see
 
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.
 
107
 
 
108
- configure: remove CURL_CHECK_FUNC_RECVFROM
 
109
  
 
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.
 
112
  
 
113
  2 - the CURL_CHECK_FUNC_RECVFROM function is extremely slow
 
114
 
 
115
Steve Holme (8 Apr 2013)
 
116
- RELEASE-NOTES: Corrected duplicate NTLM memory leaks
 
117
 
 
118
- RELEASE-NOTES: Removed trailing full stop
 
119
 
 
120
Daniel Stenberg (8 Apr 2013)
 
121
- [Fabian Keil brought this change]
 
122
 
 
123
  proxy: make ConnectionExists() check credential of proxyconnections too
 
124
  
 
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.
 
129
  
 
130
  Added test 1215 to verify: NTLM server authentication through a proxy
 
131
  (This is a modified copy of test 67)
 
132
 
 
133
- RELEASE-NOTES: sync with 704a5dfca9
 
134
 
 
135
- TODO-RELEASE: cleaned up, not really maintained lately
 
136
 
 
137
Marc Hoersken (7 Apr 2013)
 
138
- if2ip.c: Fixed another warning: unused parameter 'remote_scope'
 
139
 
 
140
Daniel Stenberg (7 Apr 2013)
 
141
- [Marc Hoersken brought this change]
 
142
 
 
143
  cookie.c: Made cookie sort function more deterministic
 
144
  
 
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.
 
149
 
 
150
Marc Hoersken (7 Apr 2013)
 
151
- curl_schannel.c: Follow up on memory leak fix ae4558d
 
152
 
 
153
- Revert "getpart.pm: Strip carriage returns to fix Windows support"
 
154
  
 
155
  This reverts commit e51b23c925a2721cf7c29b2b376d3d8903cfb067.
 
156
  As discussed on the mailinglist, this was not the correct approach.
 
157
 
 
158
- http_negotiate.c: Fixed passing argument from incompatible pointer type
 
159
 
 
160
- ftp.c: Added missing brackets around ABOR command logic
 
161
 
 
162
- sockfilt.c: Fixed detection of client-side connection close
 
163
  
 
164
  WINSOCK only:
 
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.
 
171
 
 
172
- curl_schannel.c: Fixed memory leak if connection was not successful
 
173
 
 
174
- if2ip.c: Fixed warning: unused parameter 'remote_scope'
 
175
 
 
176
- runtests.pl: Fixed --verbose parameter passed to http_pipe.py
 
177
 
 
178
- sockfilt.c: Reduce CPU load while running under a Windows PIPE
 
179
 
 
180
- tftpd.c: Apply sread timeout to the whole data transfer session
 
181
 
 
182
- getpart.pm: Strip carriage returns to fix Windows support
 
183
 
 
184
Daniel Stenberg (6 Apr 2013)
 
185
- ftp tests: libcurl returns CURLE_FTP_ACCEPT_FAILED better now
 
186
  
 
187
  Since commit 57aeabcc1a20f, it handles errors on the control connection
 
188
  while waiting for the data connection better.
 
189
  
 
190
  Test 591 and 592 are updated accordingly.
 
191
 
 
192
- FTP: wait on both connections during active STOR state
 
193
  
 
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.
 
197
  
 
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.
 
202
  
 
203
  Bug: http://curl.haxx.se/bug/view.cgi?id=1183
 
204
  Reported by: Daniel Theron
 
205
 
 
206
Marc Hoersken (6 Apr 2013)
 
207
- tftpd.c: Follow up cleanup and restore of previous sockopt
 
208
 
 
209
Daniel Stenberg (6 Apr 2013)
 
210
- [Kim Vandry brought this change]
 
211
 
 
212
  connect: treat an interface bindlocal() problem as a non-fatal error
 
213
  
 
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:
 
218
  
 
219
  The remote hostname resolves successfully and has an IPv6 address and an
 
220
  IPv4 address.
 
221
  
 
222
  cURL attempts to connect to the IPv6 address first.
 
223
  
 
224
  bindlocal (in lib/connect.c) fails because Curl_if2ip cannot find an
 
225
  IPv6 address on the interface.
 
226
  
 
227
  This is a fatal error in singleipconnect()
 
228
  
 
229
  This change will make cURL try the next IP address in the list.
 
230
  
 
231
  Also included are two changes related to IPv6 address scope:
 
232
  
 
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).
 
236
  
 
237
  - bindlocal was ignoring the scope ID of addresses returned by
 
238
  Curl_if2ip . Now it uses them.
 
239
  
 
240
  Bug: http://curl.haxx.se/bug/view.cgi?id=1189
 
241
 
 
242
Marc Hoersken (6 Apr 2013)
 
243
- tftpd.c: Fixed sread timeout on Windows by setting it manually
 
244
 
 
245
- ftp.pm: Added tskill to support Windows XP Home
 
246
 
 
247
- runtests.pl: Modularization of MinGW/Msys compatibility functions
 
248
 
 
249
- ftp.pm: Made Perl testsuite able to handle Windows processes
 
250
 
 
251
- util.c: Revert workaround eeefcdf, 6eb56e7 and e3787e8
 
252
 
 
253
- ftp.pm: Made Perl testsuite able to kill Windows processes
 
254
 
 
255
- util.c: Follow up cleanup on eeefcdf
 
256
 
 
257
Daniel Stenberg (6 Apr 2013)
 
258
- cpp: use #ifdef __MINGW32__ to avoid compiler complaints
 
259
  
 
260
  ... instead of just #if
 
261
 
 
262
Marc Hoersken (6 Apr 2013)
 
263
- util.c: Made write_pidfile write the correct PID on MinGW/Msys
 
264
  
 
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.
 
272
 
 
273
Daniel Stenberg (5 Apr 2013)
 
274
- RELEASE-NOTES: synced with 5e722b2d09087
 
275
  
 
276
  3 more bug fixes, 6 more contributors
 
277
 
 
278
Marc Hoersken (5 Apr 2013)
 
279
- sockfilt.c: Fixed handling of multiple fds being signaled
 
280
 
 
281
Kamil Dudka (5 Apr 2013)
 
282
- curl_global_init.3: improve description of CURL_GLOBAL_ALL
 
283
  
 
284
  Reported by: Tomas Mlcoch
 
285
 
 
286
- examples/multi-single.c: fix the order of destructions
 
287
  
 
288
  ... so that it adheres to the API documentation.
 
289
  
 
290
  Reported by: Tomas Mlcoch
 
291
 
 
292
Daniel Stenberg (5 Apr 2013)
 
293
- Curl_open: restore default MAXCONNECTS to 5
 
294
  
 
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
 
298
  page.
 
299
 
 
300
Marc Hoersken (4 Apr 2013)
 
301
- sockfilt.c: Added wrapper functions to fix Windows console issues
 
302
  
 
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.
 
306
 
 
307
Yang Tse (4 Apr 2013)
 
308
- lib1509.c: fix compiler warnings
 
309
 
 
310
- easy.c: fix compiler warning
 
311
 
 
312
Daniel Stenberg (4 Apr 2013)
 
313
- --engine: spellfix the help message
 
314
  
 
315
  Reported by: Fredrik Thulin
 
316
 
 
317
Yang Tse (4 Apr 2013)
 
318
- http_negotiate.c: follow-up for commit 3dcc1a9c
 
319
 
 
320
Linus Nielsen Feltzing (4 Apr 2013)
 
321
- easy: Fix the broken CURLOPT_MAXCONNECTS option
 
322
  
 
323
  Copy the CURLOPT_MAXCONNECTS option to CURLMOPT_MAXCONNECTS in
 
324
  curl_easy_perform().
 
325
  
 
326
  Bug: http://curl.haxx.se/bug/view.cgi?id=1212
 
327
  Reported-by: Steven Gu
 
328
 
 
329
Guenter Knauf (4 Apr 2013)
 
330
- Updated copyright date.
 
331
 
 
332
- Another small output fix for --help and --version.
 
333
 
 
334
Yang Tse (4 Apr 2013)
 
335
- http_negotiate.c: fix several SPNEGO memory handling issues
 
336
 
 
337
Guenter Knauf (4 Apr 2013)
 
338
- Added a cont to specify base64 line wrap.
 
339
 
 
340
- Fixed version output.
 
341
 
 
342
- Added support for --help and --version options.
 
343
 
 
344
- Added option to specify length of base64 output.
 
345
  
 
346
  Based on a patch posted to the list by Richard Michael.
 
347
 
 
348
Daniel Stenberg (3 Apr 2013)
 
349
- curl_easy_setopt.3: CURLOPT_HTTPGET disables CURLOPT_UPLOAD
 
350
 
 
351
- [Yasuharu Yamada brought this change]
 
352
 
 
353
  Curl_cookie_add: only increase numcookies for new cookies
 
354
  
 
355
  Count up numcookies in Curl_cookie_add() only when cookie is new one
 
356
 
 
357
- SO_SNDBUF: don't set SNDBUF for win32 versions vista or later
 
358
  
 
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.
 
366
  
 
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.
 
369
  
 
370
  Bug: http://curl.haxx.se/bug/view.cgi?id=1188
 
371
  Reported by: Andrew Kurushin
 
372
  Tested by: Christian Hägele
 
373
 
 
374
Nick Zitzmann (1 Apr 2013)
 
375
- darwinssl: additional descriptive messages of SSL handshake errors
 
376
  
 
377
  (This doesn't need to appear in the release notes.)
 
378
 
 
379
Guenter Knauf (1 Apr 2013)
 
380
- Added dns and connect time to output.
 
381
 
 
382
Daniel Stenberg (1 Apr 2013)
 
383
- RELEASE-NOTES: synced with 0614b902136
 
384
 
 
385
- code-policed
 
386
 
 
387
- tcpkeepalive: support TCP_KEEPIDLE/TCP_KEEPINTVL on win32
 
388
  
 
389
  Patch by: Robert Wruck
 
390
  Bug: http://curl.haxx.se/bug/view.cgi?id=1209
 
391
 
 
392
- BINDINGS: BBHTTP is a cocoa binding, Julia has a binding
 
393
 
 
394
- ftp_sendquote: use PPSENDF, not FTPSENDF
 
395
  
 
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.
 
401
  
 
402
  Bug: http://curl.haxx.se/mail/lib-2013-03/0319.html
 
403
  Reported by: Sam Deane
 
404
 
 
405
Steve Holme (27 Mar 2013)
 
406
- RELEASE-NOTES: Corrected typo
 
407
 
 
408
Daniel Stenberg (27 Mar 2013)
 
409
- [Clemens Gruber brought this change]
 
410
 
 
411
  multi-uv.c: remove unused variable
 
412
 
 
413
- RELEASE-NOTES: add two references
 
414
 
 
415
- test1509: verify proxy header response headers count
 
416
  
 
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
 
421
  test case 123.
 
422
  
 
423
  Adapted a larger amount of tests to the new <connect> style.
 
424
  
 
425
  Bug: http://curl.haxx.se/bug/view.cgi?id=1204
 
426
  Reported by: Martin Jansen
 
427
 
 
428
- [Clemens Gruber brought this change]
 
429
 
 
430
  Added libuv example multi-uv.c
 
431
 
 
432
Yang Tse (25 Mar 2013)
 
433
- NTLM: fix several NTLM code paths memory leaks
 
434
 
 
435
- WIN32 MemoryTracking: track wcsdup() _wcsdup() and _tcsdup() usage
 
436
  
 
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
 
441
  results.
 
442
  
 
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.
 
448
  
 
449
  Additionally a new curl_global_init_mem() function that also receives
 
450
  user defined wcsdup() callback would be required.
 
451
 
 
452
- curl_ntlm_msgs.c: revert commit 463082bea4
 
453
  
 
454
  reverts unreleased invalid memory leak fix
 
455
 
 
456
Daniel Stenberg (23 Mar 2013)
 
457
- RELEASE-NOTES: synced with bc6037ed3ec02
 
458
  
 
459
  More changes, bugfixes and contributors!
 
460
 
 
461
- [Martin Jansen brought this change]
 
462
 
 
463
  Curl_proxyCONNECT: count received headers
 
464
  
 
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.
 
468
  
 
469
  Bug: http://curl.haxx.se/bug/view.cgi?id=1204
 
470
 
 
471
Steve Holme (21 Mar 2013)
 
472
- sasl: Corrected a few violations of the curl coding standards
 
473
  
 
474
  Corrected some incorrectly positioned pointer variable declarations to
 
475
  be "char *" rather than "char* ".
 
476
 
 
477
- multi.c: Corrected a couple of violations of the curl coding standards
 
478
  
 
479
  Corrected some incorrectly positioned pointer variable declarations to
 
480
  be "type *" rather than "type* ".
 
481
 
 
482
- imap-tests: Added CRLF to reply data to be compliant with RFC-822
 
483
  
 
484
  Updated the reply data in tests: 800, 801, 802, 804 and 1321 to possess
 
485
  the CRLF as per RFC-822.
 
486
 
 
487
- multi.c: Fix compilation warning
 
488
  
 
489
  warning: an enumerated type is mixed with another type
 
490
 
 
491
- multi.c: fix compilation error
 
492
  
 
493
  warning: conversion from enumeration type to different enumeration type
 
494
 
 
495
- lib1900.c: fix compilation warning
 
496
  
 
497
  warning: declaration of 'time' shadows a global declaration
 
498
 
 
499
Yang Tse (20 Mar 2013)
 
500
- [John E. Malmberg brought this change]
 
501
 
 
502
  build_vms.com: use existing curlbuild.h and parsing fix
 
503
  
 
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.
 
506
  
 
507
  packages/vms/build_curlbuild_h.com is obsolete with this change.
 
508
  
 
509
  Accessing the library module name "tool_main" needs different handling
 
510
  when the optional extended parsing is enabled.
 
511
  
 
512
  Tested on IA64/VMS 8.4 and VAX/VMS 7.3
 
513
 
 
514
Nick Zitzmann (19 Mar 2013)
 
515
- darwinssl: disable ECC ciphers under Mountain Lion by default
 
516
  
 
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.
 
519
 
 
520
Steve Holme (18 Mar 2013)
 
521
- FEATURES: Small tidy up for constancy and grammar
 
522
 
 
523
Daniel Stenberg (18 Mar 2013)
 
524
- [Oliver Schindler brought this change]
 
525
 
 
526
  Curl_proxyCONNECT: clear 'rewindaftersend' on success
 
527
  
 
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.
 
530
  
 
531
  This should be tested for in a new test case!
 
532
  
 
533
  Bug: https://groups.google.com/d/msg/msysgit/B31LNftR4BI/KhRTz0iuGmUJ
 
534
 
 
535
Steve Holme (18 Mar 2013)
 
536
- TODO: Reordered the protocol and security sections
 
537
  
 
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.
 
541
  
 
542
  Additionally fixed numbering of the SSL and GnuTLS sections as they
 
543
  weren't consecutive.
 
544
 
 
545
Yang Tse (18 Mar 2013)
 
546
- tests: specify 'text' mode for some output files in verify section
 
547
 
 
548
Steve Holme (17 Mar 2013)
 
549
- imap: Fixed incorrect initial response generation for SASL AUTHENTICATE
 
550
  
 
551
  Fixed incorrect initial response generation for the NTLM and LOGIN SASL
 
552
  authentication mechanisms when the SASL-IR was detected.
 
553
  
 
554
  Introduced in commit: 6da7dc026c14.
 
555
 
 
556
- FEATURES: Expanded the supported enhanced IMAP command list
 
557
 
 
558
- TODO: Corrected typo in TOC
 
559
 
 
560
- TODO: Added IMAP section and removed unused Other protocols section
 
561
 
 
562
- TODO: Added graceful base64 decoding failure to SMTP and POP3
 
563
 
 
564
- TODO: Corrected typo on section 10.2 heading
 
565
 
 
566
Yang Tse (16 Mar 2013)
 
567
- tests: 96, 558, 1330: strip build subdirectory dependent leading path
 
568
 
 
569
Steve Holme (15 Mar 2013)
 
570
- TODO: Added section 10.2 Initial response to POP3 to do list
 
571
 
 
572
- imap-tests: Corrected copy/paste error in test808 reply data
 
573
 
 
574
Yang Tse (15 Mar 2013)
 
575
- unit1330.c: fix date
 
576
 
 
577
- tests: add #96 #558 and #1330
 
578
  
 
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.
 
582
 
 
583
Steve Holme (15 Mar 2013)
 
584
- imap-tests: Added test808 for custom EXAMINE command
 
585
 
 
586
Daniel Stenberg (15 Mar 2013)
 
587
- HTTP proxy: insert slash in URL if missing
 
588
  
 
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".
 
593
  
 
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.
 
597
  
 
598
  Test 1213 and 1214 were added to the test suite to verify this fix.
 
599
  
 
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.
 
602
  
 
603
  Bug: http://curl.haxx.se/bug/view.cgi?id=1206
 
604
  Reported by: ScottJi
 
605
 
 
606
Steve Holme (14 Mar 2013)
 
607
- ftpserver.pl: Added EXAMINE_imap() for IMAP EXAMINE commands
 
608
  
 
609
  Used hard coded data from RFC-3501 section 6.3.2.
 
610
 
 
611
Yang Tse (14 Mar 2013)
 
612
- curl_memory.h: introduce CURLX_NO_MEMORY_CALLBACKS usage possibility
 
613
  
 
614
  This commit alone does not fix anything nor modifies existing
 
615
  interfaces or behaviors, although it is a prerequisite for other
 
616
  fixes.
 
617
 
 
618
- Makefile.vc6: add missing files
 
619
 
 
620
Linus Nielsen Feltzing (14 Mar 2013)
 
621
- pipelining: Remove dead code.
 
622
 
 
623
- Multiple pipelines and limiting the number of connections.
 
624
  
 
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.
 
629
  
 
630
  Two new options for limiting the number of connections:
 
631
  
 
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.
 
636
  
 
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.
 
642
  
 
643
  Several new options for pipelining:
 
644
  
 
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).
 
650
  
 
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.
 
654
  
 
655
  CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE - A pipelined connection will not
 
656
  be reused if it is currently processing a chunk larger than this.
 
657
  
 
658
  CURLMOPT_PIPELINING_SITE_BL - A blacklist of hosts that don't allow
 
659
  pipelining.
 
660
  
 
661
  CURLMOPT_PIPELINING_SERVER_BL - A blacklist of server types that don't allow
 
662
  pipelining.
 
663
  
 
664
  See the curl_multi_setopt() man page for details.
 
665
 
 
666
Yang Tse (13 Mar 2013)
 
667
- tool_main.c: remove redundant vms_show storage-class specifier
 
668
  
 
669
  vms_show 'extern' storage-class specifier removed from tool_main.c due to...
 
670
  
 
671
  - Advice from Tor Arntsen: http://curl.haxx.se/mail/lib-2013-03/0164.html
 
672
  
 
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)
 
677
 
 
678
- test509: libcurl initialization with memory callbacks and actual usage
 
679
 
 
680
Steve Holme (13 Mar 2013)
 
681
- pop3: Removed unnecessary transfer cancellation
 
682
  
 
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.
 
686
 
 
687
Yang Tse (13 Mar 2013)
 
688
- Makefile.am: add VMS files not being included in tarball
 
689
 
 
690
- [Tom Grace brought this change]
 
691
 
 
692
  build_vms.com: VMS build fixes
 
693
  
 
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.
 
698
 
 
699
- [Tom Grace brought this change]
 
700
 
 
701
  tool_main.c: fix VMS global variable storage-class specifier
 
702
  
 
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.
 
705
  
 
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.
 
709
 
 
710
Patrick Monnerat (12 Mar 2013)
 
711
- OS400: synchronize RPG binding
 
712
 
 
713
Steve Holme (12 Mar 2013)
 
714
- pop3: Fixed continuous wait when using --ftp-list
 
715
  
 
716
  Don't initiate a transfer when using --ftp-list.
 
717
 
 
718
Kamil Dudka (12 Mar 2013)
 
719
- [Zdenek Pavlas brought this change]
 
720
 
 
721
  curl_global_init: accept the CURL_GLOBAL_ACK_EINTR flag
 
722
  
 
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.
 
726
  
 
727
  Bug: http://curl.haxx.se/bug/view.cgi?id=1168
 
728
  Downstream Bug: https://bugzilla.redhat.com/919127
 
729
 
 
730
- easy: do not ignore poll() failures other than EINTR
 
731
 
 
732
Yang Tse (12 Mar 2013)
 
733
- curl.h: stricter CURL_EXTERN linkage decorations logic
 
734
  
 
735
  No API change involved.
 
736
  
 
737
  Info: http://curl.haxx.se/mail/lib-2013-02/0234.html
 
738
 
 
739
Daniel Stenberg (11 Mar 2013)
 
740
- THANKS: Latin-1'ified Jiri's name
 
741
 
 
742
Steve Holme (11 Mar 2013)
 
743
- test806: Added CRLF to reply data to be compliant with RFC-822
 
744
 
 
745
Daniel Stenberg (11 Mar 2013)
 
746
- test805: added crlf newlines to make data size match
 
747
  
 
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
 
750
 
 
751
- test: fix newline for the data check of 807
 
752
 
 
753
Yang Tse (11 Mar 2013)
 
754
- test801 to test807: fix protocol section line endings
 
755
 
 
756
Steve Holme (10 Mar 2013)
 
757
- Makefile.am: Corrected a couple of spurious tab characters
 
758
  
 
759
  Corrected a couple of tab characters between test702 and test703, and
 
760
  between test900 and test901 which should be spaces.
 
761
 
 
762
- [Jiri Hruska brought this change]
 
763
 
 
764
  imap: Added test807 for custom request functionality (STORE)
 
765
 
 
766
- [Jiri Hruska brought this change]
 
767
 
 
768
  imap: Added test806 for IMAP (folder) LIST command
 
769
 
 
770
- [Jiri Hruska brought this change]
 
771
 
 
772
  imap: Added test805 for APPEND functionality
 
773
 
 
774
- [Jiri Hruska brought this change]
 
775
 
 
776
  imap: Added test804 for skipping SELECT if in the same mailbox
 
777
 
 
778
- [Jiri Hruska brought this change]
 
779
 
 
780
  imap: Added test802 and test803 for UIDVALIDITY verification
 
781
  
 
782
  Added one test for a request with matching UIDVALIDITY and one which is
 
783
  a mismatched request that will fail.
 
784
 
 
785
- [Jiri Hruska brought this change]
 
786
 
 
787
  imap: Added test801 for UID and SECTION URL parameters
 
788
 
 
789
- [Jiri Hruska brought this change]
 
790
 
 
791
  imap-tests: Accept quoted parameters in ftpserver.pl
 
792
  
 
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.
 
796
 
 
797
- [Jiri Hruska brought this change]
 
798
 
 
799
  tests: Fix ftpserver.pl indentation
 
800
  
 
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.
 
803
 
 
804
- Makefile.am: Corrected end of line filler character
 
805
  
 
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.
 
809
 
 
810
- email-tests: Updated the test data that corresponds to the test number
 
811
  
 
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
 
814
  test suite.
 
815
 
 
816
- email-tests: Renamed the IMAP test to be 800
 
817
  
 
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
 
820
  test suite.
 
821
 
 
822
- email-tests: Renamed the SMTP tests to be in the range 900-906
 
823
  
 
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
 
826
  test suite.
 
827
 
 
828
- email-tests: Renamed the POP3 tests to be in the range 850-857
 
829
  
 
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
 
832
  test suite.
 
833
 
 
834
Daniel Stenberg (10 Mar 2013)
 
835
- hiperfifo: updated to use current libevent API
 
836
  
 
837
  Patch by: Myk Taylor
 
838
 
 
839
Steve Holme (10 Mar 2013)
 
840
- imap: Reworked some function descriptions
 
841
 
 
842
- imap: Added some missing comments to imap_sendf()
 
843
 
 
844
- email: Removed hard returns from init functions
 
845
 
 
846
Daniel Stenberg (9 Mar 2013)
 
847
- curl_multi_wait: avoid second loop if nothing to do
 
848
  
 
849
  ... hopefully this will also make clang-analyzer stop warning on
 
850
  potentional NULL dereferences (which were false positives anyway).
 
851
 
 
852
- multi_runsingle: avoid NULL dereference
 
853
  
 
854
  When Curl_do() returns failure, the connection pointer could be NULL so
 
855
  the code path following needs to that that into account.
 
856
  
 
857
  Bug: http://curl.haxx.se/mail/lib-2013-03/0062.html
 
858
  Reported by: Eric Hu
 
859
 
 
860
Steve Holme (9 Mar 2013)
 
861
- imap: Re-factored all perform based functions
 
862
  
 
863
  Standardised the naming of all perform based functions to be in the form
 
864
  imap_perform_something().
 
865
 
 
866
Daniel Stenberg (9 Mar 2013)
 
867
- [Cédric Deltheil brought this change]
 
868
 
 
869
  examples/getinmemory.c: abort the transfer if not enough memory
 
870
  
 
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.
 
874
 
 
875
- RELEASE-NOTES: synced with ca3c0ed3a9c
 
876
  
 
877
  8 more bugfixes, one change and a bunch of contributors
 
878
 
 
879
Yang Tse (9 Mar 2013)
 
880
- Makefile.am: empty AM_LDFLAGS definition for automake 1.7 compatibility
 
881
 
 
882
Steve Holme (9 Mar 2013)
 
883
- imap: Added description comments to all perform based functions
 
884
 
 
885
- imap: Removed the need for separate custom request functions
 
886
  
 
887
  Moved the custom request processing into the LIST command as the logic
 
888
  is the same.
 
889
 
 
890
- imap: Corrected typo in comment
 
891
 
 
892
Yang Tse (9 Mar 2013)
 
893
- Makefile.am: empty AM_LDFLAGS definition for automake 1.7 compatibility
 
894
 
 
895
Steve Holme (9 Mar 2013)
 
896
- imap: Moved imap_logout() to be grouped with the other perform functions
 
897
 
 
898
- email: Updated the function descriptions for the logout / quit functions
 
899
  
 
900
  Updated the function description comments following commit 4838d196fdbf.
 
901
 
 
902
- email: Simplified the logout / quit functions
 
903
  
 
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.
 
907
  
 
908
  Additionally removed the hard return on failure.
 
909
 
 
910
- email: Tidied up the *_regular_transfer() functions
 
911
  
 
912
  Added comments and simplified convoluted dophase_done comparison.
 
913
 
 
914
- email: Simplified nesting of if statements in *_doing() functions
 
915
 
 
916
Daniel Stenberg (8 Mar 2013)
 
917
- RELEASE-NOTES: mention that krb4 is up for consideration
 
918
 
 
919
Steve Holme (8 Mar 2013)
 
920
- imap: Fixed handling of untagged responses for the STORE custom command
 
921
  
 
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.
 
925
 
 
926
Yang Tse (8 Mar 2013)
 
927
- curlbuild.h.dist: enhance non-configure GCC ABI detection logic
 
928
  
 
929
  GCC specific adjustments:
 
930
  
 
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
 
934
    gcc 4.7 or newer.
 
935
  
 
936
  - keep 32bit processor architecture checks in order to support gcc
 
937
    versions older than 4.7 which don't define __ILP32__
 
938
  
 
939
  - check __LP64__ for gcc 3.3 and newer, while keeping 64bit processor
 
940
    architecture checks for older versions which don't define __LP64__
 
941
 
 
942
- curlbuild.h.dist: fix GCC build on ARM systems without configure script
 
943
  
 
944
  Bug: http://curl.haxx.se/bug/view.cgi?id=1205
 
945
  Reported by: technion
 
946
 
 
947
- [Gisle Vanem brought this change]
 
948
 
 
949
  polarssl.c: fix header filename typo
 
950
 
 
951
- configure: use XC_LIBTOOL for portability across libtool versions
 
952
 
 
953
- xc-lt-iface.m4: provide XC_LIBTOOL macro
 
954
 
 
955
Steve Holme (7 Mar 2013)
 
956
- imap: Fixed SELECT not being performed for custom requests
 
957
 
 
958
- email: Minor code tidy up following recent changes
 
959
  
 
960
  Removed unwanted braces and added variable initialisation.
 
961
 
 
962
- DOCS: Corrected the IMAP URL grammar of the UIDVALIDITY parameter
 
963
 
 
964
- FEATURES: Provided a little clarity in some IMAP features
 
965
 
 
966
- email: Optimised block_statemach() functions
 
967
  
 
968
  Optimised the result test in each of the block_statemach() functions.
 
969
 
 
970
- DOCS: Added the list command to the IMAP URL section
 
971
  
 
972
  Added examples of the list command and clarified existing example URLs
 
973
  following recent changes.
 
974
 
 
975
- FEATURES: Updated for recent imap additions
 
976
  
 
977
  Updated the imap features list, corrected a typo in the smtp features
 
978
  and clarified a pop3 feature.
 
979
 
 
980
Daniel Stenberg (7 Mar 2013)
 
981
- version bump: the next release will be 7.30.0
 
982
 
 
983
- checksrc: ban unsafe functions
 
984
  
 
985
  The list of unsafe functions currently consists of sprintf, vsprintf,
 
986
  strcat, strncat and gets.
 
987
  
 
988
  Subsequently, some existing code needed updating to avoid warnings on
 
989
  this.
 
990
 
 
991
Steve Holme (7 Mar 2013)
 
992
- RELEASE-NOTES: Added missing imap fixes and additions
 
993
  
 
994
  With all the recent imap changes it wasn't clear what new features and
 
995
  fixes should be included in the release notes.
 
996
 
 
997
Nick Zitzmann (6 Mar 2013)
 
998
- RELEASE-NOTES: brought this up-to-date with the latest changes
 
999
 
 
1000
Steve Holme (6 Mar 2013)
 
1001
- [Jiri Hruska brought this change]
 
1002
 
 
1003
  imap: Fixed test801 and test1321 to specify a message UID
 
1004
  
 
1005
  Just a folder list would be retrieved if UID was not specified now.
 
1006
 
 
1007
- [Jiri Hruska brought this change]
 
1008
 
 
1009
  imap: Fixed ftpserver.pl to allow verification even through LIST command
 
1010
  
 
1011
  Commit 198012ee inadvertently broke LIST_imap().
 
1012
 
 
1013
- imap: Tidied up the APPEND and final APPEND response functions
 
1014
  
 
1015
  Removed unnecessary state changes on failure and setting of result codes
 
1016
  on success.
 
1017
 
 
1018
- imap: Tidied up the final FETCH response function
 
1019
  
 
1020
  Removed unnecessary state change on failure and setting of result code on
 
1021
  success.
 
1022
 
 
1023
- imap: Tidied up the LIST response function
 
1024
  
 
1025
  Reworked comments as they referenced custom commands, removed
 
1026
  unnecessary state change on failure and setting of result code on
 
1027
  success.
 
1028
 
 
1029
- imap: Removed the custom request response function
 
1030
  
 
1031
  Removed imap_state_custom_resp() as imap_state_list_resp() provides the
 
1032
  same functionality.
 
1033
 
 
1034
- [Jiri Hruska brought this change]
 
1035
 
 
1036
  imap: Updated ftpserver.pl to be more compliant, added new commands
 
1037
  
 
1038
  Enriched IMAP capabilities of ftpserver.pl in order to be able to
 
1039
  add tests for the new IMAP features.
 
1040
  
 
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
 
1047
    in the IMAP RFC
 
1048
  * Changed handling of FETCH - Fixed response format
 
1049
 
 
1050
- imap: Added check for empty UID in FETCH command
 
1051
  
 
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().
 
1055
 
 
1056
Kamil Dudka (6 Mar 2013)
 
1057
- nss: fix misplaced code enabling non-blocking socket mode
 
1058
  
 
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.
 
1062
 
 
1063
Daniel Stenberg (6 Mar 2013)
 
1064
- imap: fix compiler warning
 
1065
  
 
1066
  imap.c:694:21: error: unused variable 'imapc' [-Werror=unused-variable]
 
1067
 
 
1068
Steve Holme (5 Mar 2013)
 
1069
- imap: Added support for list command
 
1070
 
 
1071
- imap: Added list perform and response handler functions
 
1072
 
 
1073
- imap: Introduced IMAP_LIST state
 
1074
 
 
1075
- imap: Small tidy up of imap_select() to match imap_append()
 
1076
  
 
1077
  Updated the style of imap_select() before adding the LIST command.
 
1078
 
 
1079
- imap: Moved mailbox check from the imap_do() function
 
1080
  
 
1081
  In preparation for the addition of the LIST command, moved the mailbox
 
1082
  check from imap_do() to imap_select() and imap_append().
 
1083
 
 
1084
- curl_setup.h: Added S_IRDIR() macro for compilers that don't support it
 
1085
  
 
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.
 
1089
 
 
1090
Daniel Stenberg (4 Mar 2013)
 
1091
- AddFormData: prevent only directories from being posted
 
1092
  
 
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
 
1097
  this regression.
 
1098
  
 
1099
  Reported by: Oliver Gondža
 
1100
  Bug: http://curl.haxx.se/mail/archive-2013-02/0040.html
 
1101
 
 
1102
Nick Zitzmann (3 Mar 2013)
 
1103
- darwinssl: fix infinite loop if server disconnected abruptly
 
1104
  
 
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.
 
1108
  
 
1109
  Bug: http://curl.haxx.se/mail/lib-2013-03/0014.html
 
1110
  Reported by: Aki Koskinen
 
1111
 
 
1112
Steve Holme (3 Mar 2013)
 
1113
- imap: Added comments to imap_append()
 
1114
 
 
1115
- [Jiri Hruska brought this change]
 
1116
 
 
1117
  imap: Added required mailbox check for FETCH and APPEND commands
 
1118
 
 
1119
- pingpong.c: Fix enumerated type mixed with another type
 
1120
 
 
1121
- smtp: Updated the coding style for state changes after a send operation
 
1122
  
 
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.
 
1127
 
 
1128
- pop3: Updated the coding style for state changes after a send operation
 
1129
  
 
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.
 
1134
 
 
1135
- imap: Fixed typo in variable assignment
 
1136
 
 
1137
- [Jiri Hruska brought this change]
 
1138
 
 
1139
  imap: Fixed custom request handling in imap_done()
 
1140
  
 
1141
  Fixed imap_done() so that neither the FINAL states are not entered when
 
1142
  a custom command has been performed.
 
1143
 
 
1144
- [Jiri Hruska brought this change]
 
1145
 
 
1146
  imap: Enabled custom requests in imap_select_resp()
 
1147
  
 
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.
 
1151
 
 
1152
- [Jiri Hruska brought this change]
 
1153
 
 
1154
  imap: Enabled custom requests in imap_perform()
 
1155
  
 
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
 
1158
  been given.
 
1159
 
 
1160
- [Jiri Hruska brought this change]
 
1161
 
 
1162
  imap: Added custom request perform and response handler functions
 
1163
  
 
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.
 
1167
  
 
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.
 
1173
 
 
1174
- pop3: Fixed unnecessary parent structure reference
 
1175
  
 
1176
  Updated pop3 code following recent imap changes.
 
1177
 
 
1178
- [Jiri Hruska brought this change]
 
1179
 
 
1180
  imap: Added custom request parsing
 
1181
  
 
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.
 
1186
 
 
1187
- [Jiri Hruska brought this change]
 
1188
 
 
1189
  imap: Introduced custom request parameters
 
1190
  
 
1191
  Added custom request parameters to the per-request structure.
 
1192
 
 
1193
- [Jiri Hruska brought this change]
 
1194
 
 
1195
  imap: Introduced IMAP_CUSTOM state
 
1196
 
 
1197
- imap: Minor code tidy up
 
1198
  
 
1199
  Minor tidy up of code layout and comments following recent changes.
 
1200
 
 
1201
- imap: Simplified the imap_state_append_resp() function
 
1202
  
 
1203
  Introduced the result code variable to simplify the state changes and
 
1204
  remove the hard returns.
 
1205
 
 
1206
- imap: Changed successful response logic in imap_state_append_resp()
 
1207
  
 
1208
  For consistency changed the logic of the imap_state_append_resp()
 
1209
  function to test for an unsucessful continuation response rather than a
 
1210
  succesful one.
 
1211
 
 
1212
- imap: Standardised imapcode condition tests
 
1213
  
 
1214
  For consistency changed two if(constant != imapcode) tests to be
 
1215
  if(imapcode != constant).
 
1216
 
 
1217
- imap: Moved imap_append() to be with the other perform functions
 
1218
 
 
1219
- [Jiri Hruska brought this change]
 
1220
 
 
1221
  imap: Enabled APPEND support in imap_perform()
 
1222
  
 
1223
  Added logic in imap_perform() to perform an APPEND rather than SELECT
 
1224
  and FETCH if an upload has been specified.
 
1225
 
 
1226
- [Jiri Hruska brought this change]
 
1227
 
 
1228
  imap: Implemented APPEND final processing
 
1229
  
 
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"
 
1236
  
 
1237
  This commit performs steps 4 and 5, in the DONE phase, as more
 
1238
  processing is required after the transfer.
 
1239
 
 
1240
- [Jiri Hruska brought this change]
 
1241
 
 
1242
  imap: Added APPEND perform and response handler functions
 
1243
  
 
1244
  Added imap_append() function to initiate upload and imap_append_resp()
 
1245
  to handle the continuation response and start the transfer.
 
1246
 
 
1247
- [Jiri Hruska brought this change]
 
1248
 
 
1249
  imap: Introduced IMAP_APPEND and IMAP_APPEND_FINAL states
 
1250
 
 
1251
- [Jiri Hruska brought this change]
 
1252
 
 
1253
  imap: Updated setting of transfer variables in imap_state_fetch_resp()
 
1254
  
 
1255
  Add number of bytes retrieved from the PP cache to req.bytecount and set
 
1256
  req.maxdownload only when starting a proper download.
 
1257
 
 
1258
- [Jiri Hruska brought this change]
 
1259
 
 
1260
  imap: Improved FETCH response parsing
 
1261
  
 
1262
  Added safer parsing of the untagged FETCH response line and the size of
 
1263
  continuation data.
 
1264
 
 
1265
- imap: Fixed accidentally lossing the result code
 
1266
  
 
1267
  Accidentally lost the result code in imap_state_capability() and
 
1268
  imap_state_login() with commit b06a78622609.
 
1269
 
 
1270
- imap: Another minor comment addition / tidy up
 
1271
 
 
1272
- imap: Updated the coding style for state changes after a send operation
 
1273
  
 
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.
 
1278
 
 
1279
- pop3 / smtp: Small comment tidy up
 
1280
  
 
1281
  Small tidy up to keep some comments consistant across each of the email
 
1282
  protocols.
 
1283
 
 
1284
- [Jiri Hruska brought this change]
 
1285
 
 
1286
  imap: FETCH response handler cleanup before further changes
 
1287
  
 
1288
  Removed superfluous NULL assignment after Curl_safefree() and rewrote
 
1289
  some comments and logging messages.
 
1290
 
 
1291
- pop3: Small tidy up of function arguments
 
1292
 
 
1293
- imap: Small tidy up of function arguments
 
1294
 
 
1295
- smtp: Corrected debug message for POP3_AUTH_FINAL constant
 
1296
  
 
1297
  Following commit ad3177da24b8 corrected the debug message in state()
 
1298
  from AUTH to AUTH_FINAL.
 
1299
 
 
1300
- pop3: Corrected debug message for POP3_AUTH_FINAL constant
 
1301
  
 
1302
  Following commit afad1ce753a1 corrected the debug message in state()
 
1303
  from AUTH to AUTH_FINAL.
 
1304
 
 
1305
- imap: Corrected debug message for IMAP_AUTHENTICATE_FINAL constant
 
1306
  
 
1307
  Following commit 13006f3de9ec corrected the debug message in state()
 
1308
  from AUTHENTICATE to AUTHENTICATE_FINAL.
 
1309
 
 
1310
- [Jiri Hruska brought this change]
 
1311
 
 
1312
  imap: Fixed error code returned for invalid FETCH response
 
1313
  
 
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.
 
1316
 
 
1317
- [Jiri Hruska brought this change]
 
1318
 
 
1319
  imap: Added processing of the final FETCH responses
 
1320
  
 
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.
 
1324
 
 
1325
- [Jiri Hruska brought this change]
 
1326
 
 
1327
  imap: Introduced FETCH_FINAL state for processing final fetch responses
 
1328
  
 
1329
  A typical FETCH response can be broken down into four parts:
 
1330
  
 
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
 
1335
  
 
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.
 
1338
 
 
1339
- imap: fix autobuild warning
 
1340
  
 
1341
  Removed whitespace from imap_perform()
 
1342
 
 
1343
- imap: fix compiler warning
 
1344
  
 
1345
  error: declaration of 'imap' shadows a previous local
 
1346
 
 
1347
- smtp: Re-factored the final SMTP_AUTH constant
 
1348
  
 
1349
  Changed the final SMTP_AUTH constant to SMTP_AUTH_FINAL for consistency
 
1350
  with the response function.
 
1351
 
 
1352
- pop3: Re-factored the final POP3_AUTH constant
 
1353
  
 
1354
  Changed the final POP3_AUTH constant to POP3_AUTH_FINAL for consistency
 
1355
  with the response function.
 
1356
 
 
1357
- imap: Re-factored final IMAP_AUTHENTICATE constant
 
1358
  
 
1359
  Changed the final IMAP_AUTHENTICATE constant to IMAP_AUTHENTICATE_FINAL
 
1360
  for consistency with the response function.
 
1361
 
 
1362
- imap: Updated the coding style of imap_state_servergreet_resp()
 
1363
  
 
1364
  Updated the coding style, in this function, to be consistant with other
 
1365
  response functions rather then performing a hard return on failure.
 
1366
 
 
1367
- imap: Reversed the logic of the (un)successful tagged SELECT response
 
1368
  
 
1369
  Reversed the logic of the unsuccessful vs successful tagged SELECT
 
1370
  response in imap_state_select_resp() to be more logical to read.
 
1371
 
 
1372
- imap: Reversed the logic of the (un)successful tagged CAPABILITY response
 
1373
  
 
1374
  Reversed the logic of the unsuccessful vs successful tagged CAPABILITY
 
1375
  response in imap_state_capability_resp() to be more logical to read.
 
1376
 
 
1377
- imap: Corrected char* references with char *
 
1378
  
 
1379
  Corrected char* references made in commit: 709b3506cd9b.
 
1380
 
 
1381
- [Jiri Hruska brought this change]
 
1382
 
 
1383
  imap: Added processing of more than one response when sent in same packet
 
1384
  
 
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.
 
1388
 
 
1389
- [Jiri Hruska brought this change]
 
1390
 
 
1391
  imap: Added skipping of SELECT command if already in the same mailbox
 
1392
  
 
1393
  Added storage and checking of the last mailbox userd to prevent
 
1394
  unnecessary switching.
 
1395
 
 
1396
- [Jiri Hruska brought this change]
 
1397
 
 
1398
  imap: Introduced the mailbox variable
 
1399
  
 
1400
  Added the mailbox variable to the per-connection structure in
 
1401
  preparation for checking for an already selected mailbox.
 
1402
 
 
1403
- email: Slight reordering of connection based variables
 
1404
  
 
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
 
1407
  change.
 
1408
 
 
1409
- imap: Tidied up comments for connection based variables
 
1410
 
 
1411
- DOCS: Added the IMAP UIDVALIDITY property to the CURLOPT_URL section
 
1412
 
 
1413
- [Jiri Hruska brought this change]
 
1414
 
 
1415
  imap: Added verification of UIDVALIDITY mailbox attribute
 
1416
  
 
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.
 
1419
 
 
1420
- [Jiri Hruska brought this change]
 
1421
 
 
1422
  imap: Added support for parsing the UIDVALIDITY property
 
1423
  
 
1424
  Added support for parsing the UIDVALIDITY property from the SELECT
 
1425
  response and storing it in the per-connection structure.
 
1426
 
 
1427
- [Jiri Hruska brought this change]
 
1428
 
 
1429
  imap: Introduced the mailbox_uidvalidity variable
 
1430
  
 
1431
  Added the mailbox_uidvalidity variable to the per-connection structure
 
1432
  in preparation for checking the UIDVALIDITY mailbox attribute.
 
1433
 
 
1434
- imap: Corrected comment in imap_endofresp()
 
1435
 
 
1436
- imap: Corrected whitespace
 
1437
 
 
1438
- [Jiri Hruska brought this change]
 
1439
 
 
1440
  imap: Added filtering of CAPABILITY and FETCH untagged responses
 
1441
  
 
1442
  Only responses that contain "CAPABILITY" and "FETCH", respectively,
 
1443
  will be sent to their response handler.
 
1444
 
 
1445
- [Jiri Hruska brought this change]
 
1446
 
 
1447
  imap: Added a helper function for upcoming untagged response filtering
 
1448
  
 
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.
 
1452
  
 
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.
 
1456
 
 
1457
- [Jiri Hruska brought this change]
 
1458
 
 
1459
  imap: Moved CAPABILITY response handling to imap_state_capability_resp()
 
1460
  
 
1461
  Introduced similar handling to the FETCH responses, where even the
 
1462
  untagged data responses are handled by the response handler of the
 
1463
  individual state.
 
1464
 
 
1465
Linus Nielsen Feltzing (26 Feb 2013)
 
1466
- Remove unused variable in smtp_state_data_resp()
 
1467
 
 
1468
Steve Holme (25 Feb 2013)
 
1469
- email: Small tidy up following recent changes
 
1470
 
 
1471
- smtp: Removed bytecountp from the per-request structure
 
1472
  
 
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.
 
1477
 
 
1478
- pop3: Removed bytecountp from the per-request structure
 
1479
  
 
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.
 
1484
 
 
1485
- [Jiri Hruska brought this change]
 
1486
 
 
1487
  imap: Removed bytecountp from the per-request structure
 
1488
  
 
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.
 
1493
 
 
1494
- [Jiri Hruska brought this change]
 
1495
 
 
1496
  imap: Adjusted SELECT and FETCH function order
 
1497
  
 
1498
  Moved imap_select() and imap_fetch() to be grouped with the other
 
1499
  perform functions.
 
1500
 
 
1501
- [Jiri Hruska brought this change]
 
1502
 
 
1503
  imap: Adjusted SELECT and FETCH state order in imap_statemach_act()
 
1504
  
 
1505
  Exchanged the position of these states in the switch statements to
 
1506
  match the state enum, execution and function order.
 
1507
 
 
1508
- imap: Minor tidy up of comments in imap_parse_url_path()
 
1509
  
 
1510
  Tidy up of comments before next round of imap changes.
 
1511
 
 
1512
- imap: Fixed incorrect comparison for STARTTLS in imap_endofresp()
 
1513
  
 
1514
  Corrected the comparison type in addition to commit 1dac29fa83a9.
 
1515
 
 
1516
- DOCS: Corrected IMAP URL examples according to RFC5092
 
1517
  
 
1518
  URL examples that included the UID weren't technically correct although
 
1519
  would pass the curl parser.
 
1520
 
 
1521
Nick Zitzmann (24 Feb 2013)
 
1522
- darwinssl: fix undefined $ssllib warning in runtests.pl
 
1523
  
 
1524
  I also added --with-darwinssl to the list of SSL options in configure.
 
1525
 
 
1526
Steve Holme (24 Feb 2013)
 
1527
- imap: Added check for new internal imap response code
 
1528
 
 
1529
- imap: Changed the order of the response types in imap_endofresp()
 
1530
  
 
1531
  From a maintenance point of view the code reads better to view tagged
 
1532
  responses, then untagged followed by continuation responses.
 
1533
  
 
1534
  Additionally, this matches the order of responses in POP3.
 
1535
 
 
1536
- [Jiri Hruska brought this change]
 
1537
 
 
1538
  imap: Added stricter parsing of continuation responses
 
1539
  
 
1540
  Enhanced the parsing to only allow continuation responses in some
 
1541
  states.
 
1542
 
 
1543
- imap: Simplified memcmp() in tagged response parsing
 
1544
 
 
1545
- [Jiri Hruska brought this change]
 
1546
 
 
1547
  imap: Reworked the logic of untagged command responses
 
1548
 
 
1549
- imap: Corrected spacing of trailing brace
 
1550
 
 
1551
- [Jiri Hruska brought this change]
 
1552
 
 
1553
  imap: Added stricter parsing of tagged command responses
 
1554
  
 
1555
  Enhanced the parsing of tagged responses which must start with "OK",
 
1556
  "NO" or "BAD"
 
1557
 
 
1558
- [Jiri Hruska brought this change]
 
1559
 
 
1560
  imap: Simplified command response test in imap_endofresp()
 
1561
 
 
1562
- [Jiri Hruska brought this change]
 
1563
 
 
1564
  imap: Corrected comment in imap_endofresp()
 
1565
 
 
1566
- DOCS: Corrected layout of POP3 and IMAP URL examples
 
1567
  
 
1568
  Corrected layout issues with the POP3 and IMAP URL examples introduced
 
1569
  in commit cb3ae6894fb2.
 
1570
 
 
1571
- DOCS: Updated CURLOPT_URL section following recent POP3 and IMAP changes
 
1572
  
 
1573
  Updated the POP3 sub-section to refer to message ID rather than mailbox.
 
1574
  
 
1575
  Added an IMAP sub-section with example URLs depicting the specification
 
1576
  of mailbox, uid and section.
 
1577
 
 
1578
- pop3: Refactored the mailbox variable as it didn't reflect it's purpose
 
1579
  
 
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.
 
1583
 
 
1584
- FEATURES: Updated following recent IMAP changes
 
1585
 
 
1586
- [Jiri Hruska brought this change]
 
1587
 
 
1588
  imap: Added the ability to FETCH a specific UID and SECTION
 
1589
  
 
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
 
1596
  the URL.
 
1597
  
 
1598
  Also updated test801 and test1321 due to the BODY change.
 
1599
 
 
1600
- email: Additional tidy up of comments following recent changes
 
1601
 
 
1602
- smtp: Removed some FTP heritage leftovers
 
1603
  
 
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.
 
1606
  
 
1607
  Changed some comments still using FTP terminology.
 
1608
 
 
1609
- smtp: Moved the per-request variables to the per-request data structure
 
1610
  
 
1611
  Moved the rcpt variable from the per-connection struct smtp_conn to the
 
1612
  new per-request struct and fixed references accordingly.
 
1613
 
 
1614
- pop3: Introduced a custom SMTP structure for per-request data
 
1615
  
 
1616
  Created a new SMTP structure and changed the type of the smtp proto
 
1617
  variable in connectdata from FTP* to SMTP*.
 
1618
 
 
1619
unknown (23 Feb 2013)
 
1620
- [Steve Holme brought this change]
 
1621
 
 
1622
  imap: Minor correction of comments for max line length
 
1623
 
 
1624
Daniel Stenberg (23 Feb 2013)
 
1625
- strcasestr: remove check for this unused function
 
1626
 
 
1627
- pop3: fix compiler warning
 
1628
  
 
1629
  error: declaration of 'pop3' shadows a previous local
 
1630
 
 
1631
Steve Holme (23 Feb 2013)
 
1632
- [Jiri Hruska brought this change]
 
1633
 
 
1634
  imap: Added URL parsing of new variables
 
1635
  
 
1636
  Updated the imap_parse_url_path() function to parse uidvalidity, uid and
 
1637
  section parameters based on RFC-5092.
 
1638
 
 
1639
- [Jiri Hruska brought this change]
 
1640
 
 
1641
  imap: Introduced imap_is_bchar() function
 
1642
  
 
1643
  Added imap_is_bchar() for testing if a given character is a valid bchar
 
1644
  or not.
 
1645
 
 
1646
- [Jiri Hruska brought this change]
 
1647
 
 
1648
  imap: Introduced new per-request veriables
 
1649
  
 
1650
  Added uidvalidity, uid and section variables to the per-request IMAP
 
1651
  structure in preparation for upcoming URL parsing.
 
1652
 
 
1653
- pingpong: Renamed curl_ftptransfer to curl_pp_transfer
 
1654
 
 
1655
- pop3: Removed some FTP heritage leftovers
 
1656
  
 
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.
 
1659
  
 
1660
  Changed some comments still using FTP terminology.
 
1661
 
 
1662
- pop3: Moved the per-request variables to the per-request data structure
 
1663
  
 
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
 
1666
  accordingly.
 
1667
 
 
1668
- pop3: Introduced a custom POP3 structure for per-request data
 
1669
  
 
1670
  Created a new POP3 structure and changed the type of the pop3 proto
 
1671
  variable in connectdata from FTP* to POP*.
 
1672
 
 
1673
- [Jiri Hruska brought this change]
 
1674
 
 
1675
  imap: Fixed escaping of mailbox names
 
1676
  
 
1677
  Used imap_atom() to escape mailbox names in imap_select().
 
1678
 
 
1679
- pingpong: Moved curl_ftptransfer definition to pingpong.h
 
1680
  
 
1681
  Moved the ftp transfer structure into pingpong.h so other protocols that
 
1682
  require it don't have to include ftp.h.
 
1683
 
 
1684
- urldata.h: Fixed comment for opt_no_body variable
 
1685
  
 
1686
  Corrected comment for opt_no_body variable to CURLOPT_NOBODY.
 
1687
 
 
1688
- email: Minor tidy up following IMAP changes
 
1689
 
 
1690
- [Jiri Hruska brought this change]
 
1691
 
 
1692
  imap: Removed more FTP leftovers
 
1693
  
 
1694
  Changed some variables and comments still using FTP terminology.
 
1695
 
 
1696
- [Jiri Hruska brought this change]
 
1697
 
 
1698
  imap: Removed some FTP heritage leftovers
 
1699
  
 
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.
 
1702
 
 
1703
- [Jiri Hruska brought this change]
 
1704
 
 
1705
  imap: Introduced a custom IMAP structure for per-request data
 
1706
  
 
1707
  Created a new IMAP structure and changed the type of the imap proto
 
1708
  variable in connectdata from FTP* to the new IMAP*.
 
1709
  
 
1710
  Moved the mailbox variable from the per-connection struct imap_conn to
 
1711
  the new per-request struct and fixed references accordingly.
 
1712
 
 
1713
- pop3: Updated do phrase clean-up comment
 
1714
  
 
1715
  Following commit 65644b833532 for the IMAP module updated the clean-up
 
1716
  comment in POP3.
 
1717
 
 
1718
- imap: Fixed memory leak when performing multiple selects
 
1719
  
 
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.
 
1724
 
 
1725
Daniel Stenberg (22 Feb 2013)
 
1726
- [Alexander Klauer brought this change]
 
1727
 
 
1728
  Documentation: Typo in docs/CONTRIBUTE
 
1729
  
 
1730
  Fixes a typo get → git in docs/CONTRIBUTE.
 
1731
 
 
1732
- [Alexander Klauer brought this change]
 
1733
 
 
1734
  repository: ignore patch files generated by git
 
1735
  
 
1736
  Ignores the patch files generated by the 'git format-patch' command.
 
1737
 
 
1738
- [Alexander Klauer brought this change]
 
1739
 
 
1740
  libcurl documentation: clarifications and typos
 
1741
  
 
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
 
1746
    curl_easy_setopt().
 
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
 
1751
    free().
 
1752
 
 
1753
- [Alexander Klauer brought this change]
 
1754
 
 
1755
  lib/url.c: Generic read/write data pointers
 
1756
  
 
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.
 
1761
 
 
1762
- [Alexander Klauer brought this change]
 
1763
 
 
1764
  libcurl documentation: updates HTML index
 
1765
  
 
1766
  * Adds several links to documentation of library functions which were
 
1767
    missing.
 
1768
  * Marks documentation of deprecated library functions "(deprecated)".
 
1769
  * Removes spurious .html suffixes.
 
1770
 
 
1771
- ossl_seed: avoid recursive seeding!
 
1772
 
 
1773
Steve Holme (22 Feb 2013)
 
1774
- [Jiri Hruska brought this change]
 
1775
 
 
1776
  Fixed checking the socket if there is data waiting in the cache
 
1777
  
 
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.
 
1781
 
 
1782
- imap.c: Fixed an incorrect variable reference
 
1783
  
 
1784
  Fixed an incorrect variable reference which was introduced in commit
 
1785
  a1701eea289f as a result of a copy and paste from SMTP/POP3.
 
1786
 
 
1787
- [Jiri Hruska brought this change]
 
1788
 
 
1789
  pingpong: Introduce Curl_pp_moredata()
 
1790
  
 
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:
 
1793
  
 
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.
 
1798
  
 
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.)
 
1802
 
 
1803
Nick Zitzmann (19 Feb 2013)
 
1804
- FEATURES: why yes, we do support metalink
 
1805
  
 
1806
  I just noticed Metalink support wasn't listed as a feature of the tool.
 
1807
 
 
1808
- metalink: fix improbable crash parsing metalink filename
 
1809
  
 
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.
 
1814
 
 
1815
Yang Tse (19 Feb 2013)
 
1816
- smtp.c: fix enumerated type mixed with another type
 
1817
 
 
1818
- polarssl threadlock cleanup
 
1819
 
 
1820
Nick Zitzmann (18 Feb 2013)
 
1821
- docs: schannel and darwinssl documentation improvements
 
1822
  
 
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.
 
1826
 
 
1827
Daniel Stenberg (18 Feb 2013)
 
1828
- resolver_error: remove wrong error message output
 
1829
  
 
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.
 
1835
 
 
1836
- [Kim Vandry brought this change]
 
1837
 
 
1838
  Curl_resolver_is_resolved: show proper host name on failed resolve
 
1839
 
 
1840
- Curl_resolver_is_resolved: fix compiler warning
 
1841
  
 
1842
  conversion to 'int' from 'long int' may alter its value
 
1843
 
 
1844
- compiler warning fix
 
1845
  
 
1846
  follow-up to commit ed7174c6f66, rename 'wait' to 'block'
 
1847
 
 
1848
- compiler warning fix: declaration of 'wait' shadows a global declaration
 
1849
  
 
1850
  It seems older gcc installations (at least) will cause warnings if we
 
1851
  name a variable 'wait'. Now changed to 'block' instead.
 
1852
  
 
1853
  Reported by: Jiří Hruška
 
1854
  Bug: http://curl.haxx.se/mail/lib-2013-02/0247.html
 
1855
 
 
1856
Nick Zitzmann (17 Feb 2013)
 
1857
- MacOSX-Framework: Make script work in Xcode 4.0 and later
 
1858
  
 
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.
 
1865
 
 
1866
Daniel Stenberg (17 Feb 2013)
 
1867
- docs: refer to CURLOPT_ACCEPT_ENCODING instead of the old name
 
1868
 
 
1869
Steve Holme (16 Feb 2013)
 
1870
- email: Tidied up result code variables
 
1871
  
 
1872
  Tidied up result variables to be consistent in name, declaration order
 
1873
  and default values.
 
1874
 
 
1875
Nick Zitzmann (16 Feb 2013)
 
1876
- ntlm_core: fix compiler warning when building with clang
 
1877
  
 
1878
  Fixed a 64-to-32 compiler warning raised when building with
 
1879
  clang and the --with-darwinssl option.
 
1880
 
 
1881
Daniel Stenberg (16 Feb 2013)
 
1882
- Guile-curl: a new libcurl binding
 
1883
 
 
1884
- polarsslthreadlock: #include the proper memory and debug includes
 
1885
  
 
1886
  Pointed out by Steve Holme
 
1887
 
 
1888
Steve Holme (16 Feb 2013)
 
1889
- email: Removed unnecessary forward declaration
 
1890
  
 
1891
  Due to the reordering of functions in commit 586f5d361474 the forward
 
1892
  declaration to state_upgrade_tls() are no longer required.
 
1893
 
 
1894
- pop3.c: Added reference to RFC-5034
 
1895
 
 
1896
Daniel Stenberg (15 Feb 2013)
 
1897
- [Willem Sparreboom brought this change]
 
1898
 
 
1899
  PolarSSL: Change to cURL coding style
 
1900
  
 
1901
  Repaired all curl/lib/checksrc.pl warnings in the previous four patches
 
1902
 
 
1903
- [Willem Sparreboom brought this change]
 
1904
 
 
1905
  PolarSSL: WIN32 threading support for entropy
 
1906
  
 
1907
  Added WIN32 threading support for PolarSSL entropy if
 
1908
  --enable-threaded-resolver config flag is set and process.h can be found.
 
1909
 
 
1910
- [Willem Sparreboom brought this change]
 
1911
 
 
1912
  PolarSSL: pthread support for entropy
 
1913
  
 
1914
  Added pthread support for polarssl entropy if --enable-threaded-resolver
 
1915
  config flag is set and pthread.h can be found.
 
1916
 
 
1917
- [Willem Sparreboom brought this change]
 
1918
 
 
1919
  PolarSSL: changes to entropy/ctr_drbg/HAVEGE_RANDOM
 
1920
  
 
1921
  Add non-threaded entropy and ctr_drbg and removed HAVEGE_RANDOM define
 
1922
 
 
1923
- [Willem Sparreboom brought this change]
 
1924
 
 
1925
  PolarSSL: added human readable error strings
 
1926
  
 
1927
  Print out human readable error strings for PolarSSL related errors
 
1928
 
 
1929
Steve Holme (15 Feb 2013)
 
1930
- pop3: Removed unnecessary state changes on failure
 
1931
 
 
1932
- imap: Removed unnecessary state change on failure
 
1933
 
 
1934
Daniel Stenberg (15 Feb 2013)
 
1935
- metalink_cleanup: yet another follow-up fix
 
1936
 
 
1937
- metalink_cleanup: define it without argument
 
1938
  
 
1939
  Since the function takes no argument, the macro shouldn't take one as
 
1940
  some compilers will error out on that.
 
1941
 
 
1942
- rename "easy" statemachines: call them block instead
 
1943
  
 
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.
 
1947
 
 
1948
Yang Tse (15 Feb 2013)
 
1949
- [Gisle Vanem brought this change]
 
1950
 
 
1951
  curl_setup_once.h: definition of HAVE_CLOSE_S defines sclose() to close_s()
 
1952
 
 
1953
- [Gisle Vanem brought this change]
 
1954
 
 
1955
  config-dos.h: define HAVE_CLOSE_S for MSDOS/Watt-32
 
1956
 
 
1957
- [Gisle Vanem brought this change]
 
1958
 
 
1959
  config-dos.h: define strerror() to strerror_s_() for High-C
 
1960
 
 
1961
- [Gisle Vanem brought this change]
 
1962
 
 
1963
  config-dos.h: define HAVE_TERMIOS_H only for djgpp
 
1964
 
 
1965
Steve Holme (14 Feb 2013)
 
1966
- smtp.c: Fixed a trailing whitespace
 
1967
  
 
1968
  Remove tailing whitespace introduced in commit 7ed689d24a4e.
 
1969
 
 
1970
- pop3: Fixed blocking SSL connect when connecting via POP3S
 
1971
  
 
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.
 
1976
 
 
1977
- smtp: Refactored the smtp_state_auth_resp() function
 
1978
  
 
1979
  Renamed smtp_state_auth_resp() function to match the implementations in
 
1980
  IMAP and POP3.
 
1981
 
 
1982
Daniel Stenberg (14 Feb 2013)
 
1983
- remove ifdefs
 
1984
  
 
1985
  Clarify the code by reducing ifdefs
 
1986
 
 
1987
- strlcat: remove function
 
1988
  
 
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
 
1992
  amount of code.
 
1993
  
 
1994
  Also, in the SOCKS case it is clearly better to fail gracefully rather
 
1995
  than to truncate the results.
 
1996
  
 
1997
  This work was triggered by a bug report on the strcal prototype in
 
1998
  strequal.h.
 
1999
  
 
2000
  strlcat was added in commit db70cd28 in February 2001!
 
2001
  
 
2002
  Bug: http://curl.haxx.se/bug/view.cgi?id=1192
 
2003
  Reported by: Jeremy Huddleston
 
2004
 
 
2005
- Curl_FormBoundary: made static
 
2006
  
 
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
 
2009
  static.
 
2010
 
 
2011
- ossl_seed: fix the last resort PRNG seeding
 
2012
  
 
2013
  Instead of just abusing the pseudo-randomizer from Curl_FormBoundary(),
 
2014
  this now uses Curl_ossl_random() to get entropy.
 
2015
 
 
2016
Steve Holme (13 Feb 2013)
 
2017
- email: Tidy up before additional IMAP work
 
2018
  
 
2019
  Replaced two explicit comparisons of CURLE_OK with boolean alternatives.
 
2020
  
 
2021
  General tidy up of comments.
 
2022
 
 
2023
- smtp: Removed duplicate pingpong structure initialisation
 
2024
  
 
2025
  The smtp_connect() function was setting the member variables of the
 
2026
  pingpong structure twice, once before calling Curl_pp_init() and once
 
2027
  after!
 
2028
 
 
2029
Yang Tse (13 Feb 2013)
 
2030
- move msvc IDE related files to 'vs' directory tree
 
2031
  
 
2032
  Use 'vs' directory tree given that 'vc' intended one clashes
 
2033
  with an already existing build target in file Makefile.dist.
 
2034
 
 
2035
Daniel Stenberg (13 Feb 2013)
 
2036
- install-sh: updated to support multiple source files as arguments
 
2037
  
 
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.
 
2042
  
 
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
 
2045
  10.
 
2046
  
 
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.
 
2050
  
 
2051
  Bug: http://curl.haxx.se/bug/view.cgi?id=1195
 
2052
  Reported by: Rainer Jung
 
2053
 
 
2054
Yang Tse (13 Feb 2013)
 
2055
- move msvc IDE related files to 'vc' directory tree
 
2056
 
 
2057
- msvc IDE 'vc' directory tree preparation
 
2058
 
 
2059
Steve Holme (12 Feb 2013)
 
2060
- imap: Corrected a whitespace issue from previous commit
 
2061
  
 
2062
  Fixed a small whitespace issue that crept in there in commit
 
2063
  508cdf4da4d7.
 
2064
 
 
2065
- email: Another post optimisation of endofresp() tidy up
 
2066
 
 
2067
- sasl: Fixed null pointer reference when decoding empty digest challenge
 
2068
  
 
2069
  Fixed a null pointer reference when an empty challenge is passed to the
 
2070
  Curl_sasl_create_digest_md5_message() function.
 
2071
  
 
2072
  Bug: http://sourceforge.net/p/curl/bugs/1193/
 
2073
  Reported by: Saran Neti
 
2074
 
 
2075
- email: Post optimisation of endofresp() tidy up
 
2076
  
 
2077
  Removed unnecessary end of line check and return.
 
2078
 
 
2079
Nick Zitzmann (12 Feb 2013)
 
2080
- darwinssl: Fix send glitchiness with data > 32 or so KB
 
2081
  
 
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.
 
2087
  
 
2088
  Reference URL: http://curl.haxx.se/mail/lib-2013-02/0145.html
 
2089
 
 
2090
Steve Holme (12 Feb 2013)
 
2091
- pingpong.h: Fixed line length over 78 characters from b56c9eb48e3c
 
2092
 
 
2093
- pingpong: Optimised the endofresp() function
 
2094
  
 
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
 
2098
  these values.
 
2099
  
 
2100
  Additionally changed the int return type to bool as this is more
 
2101
  representative of the function's usage.
 
2102
 
 
2103
- email: Post STARTLS capability code tidy up (Part Three)
 
2104
  
 
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
 
2107
  functions.
 
2108
 
 
2109
- email: Post STARTLS capability code tidy up (Part Two)
 
2110
  
 
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.
 
2114
 
 
2115
Daniel Stenberg (11 Feb 2013)
 
2116
- [ulion brought this change]
 
2117
 
 
2118
  SOCKS: fix socks proxy when noproxy matched
 
2119
  
 
2120
  Test 1212 added to verify
 
2121
  
 
2122
  Bug: http://curl.haxx.se/bug/view.cgi?id=1190
 
2123
 
 
2124
Steve Holme (11 Feb 2013)
 
2125
- ntlm: Updated comments for the addition of SASL support to IMAP in v7.29
 
2126
 
 
2127
- RELEASE-NOTES: Updated following the recent imap/pop3/smtp changes
 
2128
 
 
2129
Linus Nielsen Feltzing (10 Feb 2013)
 
2130
- Fix NULL pointer reference when closing an unused multi handle.
 
2131
 
 
2132
Steve Holme (10 Feb 2013)
 
2133
- email: Post STARTLS capability code tidy up (Part One)
 
2134
  
 
2135
  Corrected the order of the CAPA / CAPABILITY state machine constants to
 
2136
  match the execution order.
 
2137
 
 
2138
- imap: Fixed memory leak following commit f6010d9a0359
 
2139
 
 
2140
- smtp: Added support for the STARTTLS capability (Part Two)
 
2141
  
 
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
 
2147
  did previously.
 
2148
 
 
2149
- pop3: Added support for the STLS capability (Part Three)
 
2150
  
 
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
 
2156
  did previously.
 
2157
 
 
2158
- imap: Added support for the STARTTLS capability (Part Three)
 
2159
  
 
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
 
2165
  did previously.
 
2166
 
 
2167
Daniel Stenberg (10 Feb 2013)
 
2168
- [Alessandro Ghedini brought this change]
 
2169
 
 
2170
  htmltitle: fix suggested build command
 
2171
 
 
2172
Steve Holme (10 Feb 2013)
 
2173
- pop3: Added support for the STLS capability (Part Two)
 
2174
  
 
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
 
2177
  connection.
 
2178
 
 
2179
- imap: Added support for the STARTTLS capability (Part Two)
 
2180
  
 
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.
 
2184
 
 
2185
- smtp: Added support for the STLS capability (Part One)
 
2186
  
 
2187
  Introduced detection of the STARTTLS capability, in order to add support
 
2188
  for TLS upgrades without unconditionally sending the STARTTLS command.
 
2189
 
 
2190
- pop3: Added support for the STLS capability (Part One)
 
2191
  
 
2192
  Introduced detection of the STLS capability, in order to add support
 
2193
  for TLS upgrades without unconditionally sending the STLS command.
 
2194
 
 
2195
- imap: Added support for the STARTTLS capability (Part One)
 
2196
  
 
2197
  Introduced detection of the STARTTLS capability, in order to add support
 
2198
  for TLS upgrades without unconditionally sending the STARTTLS command.
 
2199
 
 
2200
- RELEASE-NOTES: synced with 92f7606f29b704
 
2201
 
 
2202
- smtp: Fixed an issue when processing EHLO failure responses (Part 3)
 
2203
  
 
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.
 
2207
 
 
2208
- pop3: Fixed SASL authentication capability detection
 
2209
  
 
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.
 
2214
 
 
2215
- pop3: Fixed incorrect return value from pop3_endofresp()
 
2216
  
 
2217
  Corrected an incorrect return value when -ERR is received from the
 
2218
  server - introduced in commit b5bb61ee697b (June 2012).
 
2219
 
 
2220
- smtp: Fixed an issue when processing EHLO failure responses (Part 2)
 
2221
  
 
2222
  Follow up fix to commit 23d17190ee32 as EHLO capabilities can exist
 
2223
  within a positive response line.
 
2224
 
 
2225
- smtp: Fixed an issue with missing capabilities after the AUTH line
 
2226
  
 
2227
  Follow up to commit 40f9bb787f05 to fix missing capabilities after an
 
2228
  AUTH line.
 
2229
 
 
2230
Nick Zitzmann (8 Feb 2013)
 
2231
- darwinssl: Make certificate errors less techy
 
2232
  
 
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.
 
2238
 
 
2239
Guenter Knauf (9 Feb 2013)
 
2240
- Updated dependency libs.
 
2241
 
 
2242
Steve Holme (9 Feb 2013)
 
2243
- imap: Corrected some comments
 
2244
 
 
2245
- smtp: Fixed an issue when processing EHLO failure responses
 
2246
  
 
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.
 
2252
 
 
2253
- pop3: Reworked pop3_endofresp() to simplify it little
 
2254
  
 
2255
  Reworked pop3_endofresp() to simplify it and provide consistency between
 
2256
  imap and smtp.
 
2257
 
 
2258
- imap: Renamed state variables in imap_authenticate()
 
2259
  
 
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.
 
2263
  
 
2264
  Additionally this provides consistency with the smtp module.
 
2265
 
 
2266
- smtp: Reworked smtp_endofresp() to allow for extra capability detection
 
2267
 
 
2268
- smtp: Renamed smtp_state_auth_passwd_resp() function
 
2269
  
 
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.
 
2272
 
 
2273
Daniel Stenberg (8 Feb 2013)
 
2274
- [Gisle Vanem brought this change]
 
2275
 
 
2276
  ntlm: fix memory leak
 
2277
  
 
2278
  Running tests\libtest\libntlmconnect.exe reveals a 1 byte (!) leak in
 
2279
  ./lib/curl_ntlm_msgs.c:
 
2280
  
 
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
 
2285
  
 
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));
 
2289
  
 
2290
  (my domlen == 0).
 
2291
  
 
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'.
 
2294
 
 
2295
- DONE: consider callback-aborted transfers premature
 
2296
  
 
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
 
2300
  hang.
 
2301
  
 
2302
  The new test case 1507 verifies this behavior.
 
2303
  
 
2304
  Reported by: Patricia Muscalu
 
2305
  Bug: http://curl.haxx.se/bug/view.cgi?id=1184
 
2306
 
 
2307
- FAQ: refreshed some phrases
 
2308
 
 
2309
Nick Zitzmann (7 Feb 2013)
 
2310
- darwinssl: Fix build under Leopard
 
2311
  
 
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.
 
2316
 
 
2317
Steve Holme (7 Feb 2013)
 
2318
- RELEASE-NOTES: Added new imap features
 
2319
 
 
2320
- imap: Added support for SASL-IR extension (Part 2)
 
2321
  
 
2322
  Modified imap_authenticate() to add support for sending the initial
 
2323
  response with the AUTHENTICATE command, as per RFC4959.
 
2324
 
 
2325
- smtp: Updated SMTP_AUTH_PASSWD state constant
 
2326
  
 
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.
 
2330
 
 
2331
- imap: Added support for SASL-IR extension (Part 1)
 
2332
  
 
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
 
2335
  RFC4959.
 
2336
 
 
2337
Daniel Stenberg (7 Feb 2013)
 
2338
- Revert "vc: remove explicit MSVC6 IDE project file and documentation"
 
2339
  
 
2340
  This reverts commit 0e66d5878edc3d7ffc445116d194b58bbc7504b9.
 
2341
 
 
2342
Steve Holme (7 Feb 2013)
 
2343
- imap: Changed response tag generation to be completely unique
 
2344
  
 
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,
 
2347
  etc.
 
2348
  
 
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
 
2351
  id.
 
2352
 
 
2353
Dan Fandrich (6 Feb 2013)
 
2354
- Tweak the Android.mk file for its new location
 
2355
  
 
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.
 
2359
 
 
2360
Daniel Stenberg (6 Feb 2013)
 
2361
- vc: remove explicit MSVC6 IDE project file and documentation
 
2362
  
 
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.
 
2366
 
 
2367
Steve Holme (6 Feb 2013)
 
2368
- imap: Small variable rename in preparation for upcoming change
 
2369
  
 
2370
  Renamed a couple of variables and updated some comments in
 
2371
  preparation for upcoming command id / response tag change.
 
2372
 
 
2373
Daniel Stenberg (6 Feb 2013)
 
2374
- msvc: move Makefile.msvc.names into winbuild/
 
2375
  
 
2376
  In an attempt to clear up misc files from the root dir
 
2377
 
 
2378
- build: move Android.mk to packages/Android/
 
2379
 
 
2380
- emacs files: remove from git and dist
 
2381
  
 
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.
 
2384
 
 
2385
Steve Holme (6 Feb 2013)
 
2386
- email: Moved starttls code in separate functions
 
2387
  
 
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.
 
2390
 
 
2391
- [Nick Zitzmann brought this change]
 
2392
 
 
2393
  FEATURES: More NTLM and SSL changes, added two others, fixed typo
 
2394
  
 
2395
  Added IDN and HTTP data compression as they were left out of the
 
2396
  document until now.
 
2397
  
 
2398
  Added notes for qssl, schannel and Secure Transport supporting SSLv2,
 
2399
  Secure Transport supports NTLM, and axTLS does not support SSLv3.
 
2400
  
 
2401
  There was also a typo; "AUTH TSL" should be "AUTH TLS".
 
2402
 
 
2403
Kamil Dudka (6 Feb 2013)
 
2404
- curl-config.in: do not randomly mix tabs and spaces
 
2405
 
 
2406
Daniel Stenberg (6 Feb 2013)
 
2407
- 7.29.1: onwards!
 
2408
 
 
2409
- THANKS: 12 contributors from 7.29.0
 
2410
 
9
2411
Version 7.29.0 (6 Feb 2013)
10
2412
 
11
2413
Daniel Stenberg (6 Feb 2013)
3456
5858
- unicode NTLM SSPI: cleanup
3457
5859
  
3458
5860
  Reduce the number of #ifdef UNICODE directives used in source files.
3459
 
 
3460
 
Daniel Stenberg (5 Jul 2012)
3461
 
- tests: use connection-monitor and verify results
3462
 
  
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
3465
 
  string added.
3466
 
 
3467
 
- http-proxy: keep CONNECT connections alive (for NTLM)
3468
 
  
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.
3472
 
  
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.
3476
 
  
3477
 
  Bug: http://curl.haxx.se/bug/view.cgi?id=3538625
3478
 
  Reported by: Marcel Raad
3479
 
 
3480
 
- sws: support <servercmd> for CONNECT requests
3481
 
  
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
3485
 
  previously!
3486
 
 
3487
 
- FILEFORMAT: provided a full description of connection-monitor
3488
 
 
3489
 
- lib503: enable verbose to ease debugging this
3490
 
 
3491
 
- sws: add 'connection-monitor' command support
3492
 
  
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.
3497
 
  
3498
 
  Documentation added to FILEFORMAT, test 503 updated to use this.
3499
 
 
3500
 
Guenter Knauf (4 Jul 2012)
3501
 
- Removed non-used variable.
3502
 
 
3503
 
- Added error checking for samples.
3504
 
 
3505
 
- Renamed vars to avoid shadow global declaration.
3506
 
 
3507
 
Daniel Stenberg (3 Jul 2012)
3508
 
- docs: clarify how to start with curl_multi_socket_action
3509
 
  
3510
 
  Mention the CURL_SOCKET_TIMEOUT argument in step 6 of the typical
3511
 
  application.
3512
 
 
3513
 
Guenter Knauf (3 Jul 2012)
3514
 
- Moved some patterns to subfolder's .gitignore.
3515
 
 
3516
 
- Merge branch 'master' of ssh://github.com/bagder/curl
3517
 
 
3518
 
- MinGW makefile tweaks for running from sh.
3519
 
  
3520
 
  Added function macros to make path converting easier.
3521
 
  Added CROSSPREFIX to all compile tools.
3522
 
 
3523
 
Yang Tse (3 Jul 2012)
3524
 
- [Marc Hoersken brought this change]
3525
 
 
3526
 
  curl_ntlm_msgs.c: Removed unused variable passwd
3527
 
 
3528
 
Guenter Knauf (3 Jul 2012)
3529
 
- Added files generated by mingw32, eclipse and VC.
3530
 
  
3531
 
  Posted by Marc Hoersken.
3532
 
 
3533
 
Daniel Stenberg (3 Jul 2012)
3534
 
- cookies: change the URL in the cookie jar file header
3535
 
 
3536
 
- HTTP-COOKIES: clarified and modified layout
3537
 
 
3538
 
- HTTP-COOKIES: use the FAQ document layout
3539
 
 
3540
 
- HTTP-COOKIES: added cookie documentation
3541
 
 
3542
 
Yang Tse (3 Jul 2012)
3543
 
- curl_ntlm_msgs.c: include <tchar.h> for prototypes
3544
 
 
3545
 
- [Neil Bowers brought this change]
3546
 
 
3547
 
  testcurl.pl: fix missing semicolon
3548
 
 
3549
 
Daniel Stenberg (2 Jul 2012)
3550
 
- [Christian Hägele brought this change]
3551
 
 
3552
 
  unicode NTLM SSPI: heap corruption fixed
3553
 
  
3554
 
  When compiling libcurl with UNICODE defined and using unicode characters
3555
 
  in username.
3556
 
 
3557
 
Yang Tse (2 Jul 2012)
3558
 
- testcurl.pl: allow non in-tree c-ares enabled autobuild
3559
 
 
3560
 
- configure.ac: verify that libmetalink is new enough
3561
 
  
3562
 
  Enabling test2017 to test2022.
3563
 
 
3564
 
- [Tatsuhiro Tsujikawa brought this change]
3565
 
 
3566
 
  curl: Added runtime version check for libmetalink
3567
 
 
3568
 
- [Tatsuhiro Tsujikawa brought this change]
3569
 
 
3570
 
  Include metalink/metalink.h for libmetalink functions
3571
 
 
3572
 
Daniel Stenberg (2 Jul 2012)
3573
 
- errors: CURLM_CALL_MULTI_PERFORM is not returned anymore
3574
 
 
3575
 
- release: cleaned up plans for this and coming release
3576
 
 
3577
 
Yang Tse (29 Jun 2012)
3578
 
- curl-compilers.m4: remove -Wstrict-aliasing=3 from clang
3579
 
  
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.
3583
 
 
3584
 
- test2017 to test2022: more metalink tests
3585
 
  
3586
 
  With this commit, checks done in previous test2017 are now done in test2018.
3587
 
  
3588
 
  Whole range test2017 to test2022 DISABLED until configure is capable of
3589
 
  requiring a new-enough metalink library.
3590
 
  
3591
 
  Don't try these without mentioned check in place!
3592
 
 
3593
 
- test2005 to test2016: improve failure detection
3594
 
 
3595
 
- lib582.c: fix conversion warning
3596
 
 
3597
 
- nss.c: #include warnless.h for curlx_uztosi and curlx_uztoui prototypes
3598
 
 
3599
 
- [Marc Hoersken brought this change]
3600
 
 
3601
 
  nss.c: Fixed size_t conversion warnings
3602
 
 
3603
 
- sslgen.c: cleanup temporary compile-time SSL-backend check
3604
 
 
3605
 
Daniel Stenberg (28 Jun 2012)
3606
 
- schannel: provide two additional (dummy) API defines
3607
 
 
3608
 
Yang Tse (28 Jun 2012)
3609
 
- [Tatsuhiro Tsujikawa brought this change]
3610
 
 
3611
 
  Metalink: message updates
3612
 
  
3613
 
  Print "parsing (...) OK" only when no warnings are generated.  If
3614
 
  no file is found in Metalink, treat it FAILED.
3615
 
  
3616
 
  If no digest is provided, print WARNING in parse_metalink().
3617
 
  Also print validating FAILED after download.
3618
 
  
3619
 
  These changes make tests 2012 to 2016 pass.
3620
 
 
3621
 
Daniel Stenberg (27 Jun 2012)
3622
 
- sslgen: avoid compiler error in SSPI builds
3623
 
 
3624
 
Yang Tse (27 Jun 2012)
3625
 
- ssluse.c: fix compiler warning: conversion to 'int' from 'size_t'
3626
 
  
3627
 
  Reported by Tatsuhiro Tsujikawa
3628
 
  
3629
 
  http://curl.haxx.se/mail/lib-2012-06/0371.html
3630
 
 
3631
 
- sslgen.c: add compile-time check for SSL-backend completeness
3632
 
 
3633
 
- build: add our standard includes to curl_darwinssl.c and curl_multibyte.c
3634
 
 
3635
 
- build: add curl_schannel and curl_darwinssl files to other build systems
3636
 
 
3637
 
- tests: add five more Metalink test cases
3638
 
 
3639
 
- tests: update Metalink message format
3640
 
 
3641
 
- [Tatsuhiro Tsujikawa brought this change]
3642
 
 
3643
 
  Metalink: updated message format
3644
 
 
3645
 
- [Nick Zitzmann brought this change]
3646
 
 
3647
 
  DarwinSSL: allow using NTLM authentication
3648
 
  
3649
 
  Allow NTLM authentication when building using SecureTransport (Darwin) for SSL.
3650
 
  
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.
3654
 
 
3655
 
- curl_darwinssl.h: add newline at end of file
3656
 
 
3657
 
Daniel Stenberg (26 Jun 2012)
3658
 
- ossl_seed: remove leftover RAND_screen check
3659
 
  
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
3662
 
  it.
3663
 
  
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...
3667
 
 
3668
 
Yang Tse (26 Jun 2012)
3669
 
- [Nick Zitzmann brought this change]
3670
 
 
3671
 
  DarwinSSL: several adjustments
3672
 
  
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
3678
 
 
3679
 
- curl-compilers.m4: -Wstrict-aliasing=3 for warning enabled gcc and clang builds
3680
 
 
3681
 
- [Marc Hoersken brought this change]
3682
 
 
3683
 
  sockaddr.h: Fixed dereferencing pointer breakin strict-aliasing
3684
 
  
3685
 
  Fixed warning: dereferencing pointer does break strict-aliasing rules
3686
 
  by using a union inside the struct Curl_sockaddr_storage declaration.
3687
 
 
3688
 
Daniel Stenberg (26 Jun 2012)
3689
 
- SSL cleanup: use crypto functions through the sslgen layer
3690
 
  
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
3693
 
  purpose.
3694
 
 
3695
 
- [Nick Zitzmann brought this change]
3696
 
 
3697
 
  darwinssl: add support for native Mac OS X/iOS SSL
3698
 
 
3699
 
- RELEASE-NOTES: link to more metalink info
3700
 
 
3701
 
- RELEASE-NOTES: synced with d025af9bb576
3702
 
 
3703
 
Yang Tse (25 Jun 2012)
3704
 
- curl_schannel.c: Remove redundant NULL assignments following Curl_safefree()
3705
 
 
3706
 
- [Marc Hoersken brought this change]
3707
 
 
3708
 
  curl_schannel.c: Replace free() with Curl_safefree()
3709
 
 
3710
 
- [Tatsuhiro Tsujikawa brought this change]
3711
 
 
3712
 
  curl.1: Updated Metalink description in man page
3713
 
  
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.
3718
 
 
3719
 
Steve Holme (24 Jun 2012)
3720
 
- DOCS: Added clarification to CURLOPT_CUSTOMREQUEST for the POP3 protocol
3721
 
  
3722
 
  Bug: http://curl.haxx.se/mail/lib-2012-06/0302.html
3723
 
  Reported by: Nagai H
3724
 
 
3725
 
- smtp: Corrected result code for MAIL, RCPT and DATA commands
3726
 
  
3727
 
  Bug: http://curl.haxx.se/mail/lib-2012-06/0094.html
3728
 
  Reported by: Dan
3729
 
 
3730
 
Daniel Stenberg (24 Jun 2012)
3731
 
- [Ghennadi Procopciuc brought this change]
3732
 
 
3733
 
  test: Added test HTTP receive cookies over IPv6
3734
 
 
3735
 
Yang Tse (22 Jun 2012)
3736
 
- tests: add another Metalink test case
3737
 
 
3738
 
- [Tatsuhiro Tsujikawa brought this change]
3739
 
 
3740
 
  tests: Enable test2010 and fixed hash value
3741
 
 
3742
 
- [Tatsuhiro Tsujikawa brought this change]
3743
 
 
3744
 
  Metalink: ignore --include if --metalink is used.
3745
 
  
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
3749
 
  used.
3750
 
 
3751
 
- tests: add six Metalink test cases
3752
 
 
3753
 
- test 2005: add verification of hash checking outcome
3754
 
 
3755
 
- getpart.pm: remove misleading comment
3756
 
 
3757
 
- [Tatsuhiro Tsujikawa brought this change]
3758
 
 
3759
 
  curl: Prefixed all Metalink related messages with "Metalink: "
3760
 
 
3761
 
- [Tatsuhiro Tsujikawa brought this change]
3762
 
 
3763
 
  tests: Added Metalink test case # 2005
3764
 
 
3765
 
- [Tatsuhiro Tsujikawa brought this change]
3766
 
 
3767
 
  curl: Restore noprogress and isatty config values.
3768
 
  
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.
3775
 
 
3776
 
- [Tatsuhiro Tsujikawa brought this change]
3777
 
 
3778
 
  curl: Made --metalink option toggle Metalink functionality
3779
 
  
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
3787
 
  and -o are ignored.
3788
 
  
3789
 
  Usage examples:
3790
 
  
3791
 
  $ curl --metalink http://example.org/foo.metalink
3792
 
  
3793
 
  This will download foo.metalink and parse it and then download
3794
 
  the URI described there.
3795
 
  
3796
 
  $ curl --metalink file://foo.metalink
3797
 
  
3798
 
  This will parse local file foo.metalink and then download the URI
3799
 
  described there.
3800
 
 
3801
 
- [Tatsuhiro Tsujikawa brought this change]
3802
 
 
3803
 
  curl: Refactored metalink_checksum
3804
 
  
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.
3811
 
 
3812
 
- [Gisle Vanem brought this change]
3813
 
 
3814
 
  tool_doswin.c: fix djgpp function _use_lfn() used without a prototype
3815
 
  
3816
 
  http://curl.haxx.se/mail/archive-2012-06/0028.html
3817
 
 
3818
 
- build: fix RESOURCE bug in lib/Makefile.vc*
3819
 
  
3820
 
  Removed two, not intended to exist, RESOURCE declarations.
3821
 
  
3822
 
  Bug: http://curl.haxx.se/bug/view.cgi?id=3535977
3823
 
  
3824
 
  And sorted configuration hunks to reflect same internal order
3825
 
  as the one shown in the usage message.
3826
 
 
3827
 
Daniel Stenberg (20 Jun 2012)
3828
 
- [Marc Hoersken brought this change]
3829
 
 
3830
 
  schannel: Implement new buffer size strategy
3831
 
  
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
3835
 
  
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.
3845
 
 
3846
 
Yang Tse (20 Jun 2012)
3847
 
- schannel SSL: fix compiler warning
3848
 
 
3849
 
- [Mark Salisbury brought this change]
3850
 
 
3851
 
  schannel SSL: fix for renegotiate problem
3852
 
  
3853
 
  In schannel_connect_step2() doread should be initialized based
3854
 
  on connssl->connecting_state.
3855
 
 
3856
 
- [Tatsuhiro Tsujikawa brought this change]
3857
 
 
3858
 
  runtests.pl: make it support metalink feature
3859
 
 
3860
 
- getpart.pm: make test definition section/part parser more robust
3861
 
  
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.
3865
 
  
3866
 
  Tested with <client><file> part which is written to disk before <command> runs.
3867
 
 
3868
 
Daniel Stenberg (20 Jun 2012)
3869
 
- schannel_connect_step2: checksrc whitespace fix
3870
 
 
3871
 
Yang Tse (20 Jun 2012)
3872
 
- [Mark Salisbury brought this change]
3873
 
 
3874
 
  schannel SSL: changes in schannel_connect_step2
3875
 
  
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.
3879
 
  
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.
3882
 
  
3883
 
  Fixed warning in curl_schannel.c line 1215.
3884
 
 
3885
 
- [Mark Salisbury brought this change]
3886
 
 
3887
 
  config-win32ce.h: WinCE config adjustment
3888
 
  
3889
 
  process.h is not present on WinCE
3890
 
 
3891
 
- [Mark Salisbury brought this change]
3892
 
 
3893
 
  schannel SSL: Made send method handle unexpected cases better
3894
 
  
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.
3898
 
  
3899
 
  With some committer adjustments
3900
 
 
3901
 
Daniel Stenberg (19 Jun 2012)
3902
 
- [Marc Hoersken brought this change]
3903
 
 
3904
 
  curl_schannel.c: Avoid unnecessary realloc calls to reduce buffer size
3905
 
 
3906
 
Yang Tse (19 Jun 2012)
3907
 
- [Mark Salisbury brought this change]
3908
 
 
3909
 
  schannel SSL: Use standard Curl read/write methods
3910
 
  
3911
 
  Replaced calls to swrite with Curl_write_plain and calls to sread
3912
 
  with Curl_read_plain.
3913
 
  
3914
 
  With some committer adjustments
3915
 
 
3916
 
- schannel SSL: make wording of some trace messages better reflect reality
3917
 
 
3918
 
Daniel Stenberg (19 Jun 2012)
3919
 
- [Marc Hoersken brought this change]
3920
 
 
3921
 
  curl_schannel.h: Use BUFSIZE as the initial buffer size if available
3922
 
  
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.
3928
 
 
3929
 
Guenter Knauf (19 Jun 2012)
3930
 
- Fixed NetWare makefile broken from last commit.
3931
 
 
3932
 
Yang Tse (19 Jun 2012)
3933
 
- [Mark Salisbury brought this change]
3934
 
 
3935
 
  schannel SSL: Implemented SSL shutdown
3936
 
  
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.
3941
 
 
3942
 
- [Mark Salisbury brought this change]
3943
 
 
3944
 
  schannel SSL: certificate validation on WinCE
3945
 
  
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.
3949
 
 
3950
 
- [Mark Salisbury brought this change]
3951
 
 
3952
 
  schannel SSL: Added helper methods to simplify code
3953
 
  
3954
 
  Added helper methods InitSecBuffer() and InitSecBufferDesc() to make it
3955
 
  easier to set up SecBuffer & SecBufferDesc structs.
3956
 
 
3957
 
Guenter Knauf (18 Jun 2012)
3958
 
- Some more NetWare makefile tweaks for metalink.
3959
 
 
3960
 
Yang Tse (18 Jun 2012)
3961
 
- tool_cb_see.c: WinCE build adjustment
3962
 
 
3963
 
- [Mark Salisbury brought this change]
3964
 
 
3965
 
  setup.h: WinCE build adjustment
3966
 
 
3967
 
- [Mark Salisbury brought this change]
3968
 
 
3969
 
  ftplistparser.c: do not compile if FTP protocol is not enabled
3970
 
 
3971
 
- Win32: downplay MS bazillion type synonyms game
3972
 
  
3973
 
  Avoid usage of some MS type synonyms to allow compilation with
3974
 
  compiler headers that don't define these, using simpler synonyms.
3975
 
 
3976
 
Daniel Stenberg (15 Jun 2012)
3977
 
- Curl_rtsp_parseheader: avoid useless malloc/free
3978
 
  
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.
3985
 
 
3986
 
- curl_share_setopt: use va_end()
3987
 
  
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.
3991
 
 
3992
 
Yang Tse (15 Jun 2012)
3993
 
- SSPI related code: Unicode support for WinCE - kill compiler warnings
3994
 
 
3995
 
- [Mark Salisbury brought this change]
3996
 
 
3997
 
  SSPI related code: Unicode support for WinCE - commit 46480bb9 follow-up
3998
 
 
3999
 
- build: add curl_multibyte files to build systems
4000
 
 
4001
 
- [Mark Salisbury brought this change]
4002
 
 
4003
 
  SSPI related code: Unicode support for WinCE
4004
 
  
4005
 
  SSPI related code now compiles with ANSI and WCHAR versions of security
4006
 
  methods (WinCE requires WCHAR versions of methods).
4007
 
  
4008
 
  Pulled UTF8 to WCHAR conversion methods out of idn_win32.c into their own file.
4009
 
  
4010
 
  curl_sasl.c - include curl_memory.h to use correct memory functions.
4011
 
  
4012
 
  getenv.c and telnet.c - WinCE compatibility fix
4013
 
  
4014
 
  With some committer adjustments
4015
 
 
4016
 
Guenter Knauf (15 Jun 2012)
4017
 
- Fixed typo.
4018
 
 
4019
 
Yang Tse (14 Jun 2012)
4020
 
- winbuild/MakefileBuild.vc: convert line endings to DOS style
4021
 
  
4022
 
  As per request on mailing list: http://curl.haxx.se/mail/lib-2012-06/0222.html
4023
 
 
4024
 
- [Marc Hoersken brought this change]
4025
 
 
4026
 
  winbuild: Allow SSPI build with or without Schannel
4027
 
  
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.
4032
 
  
4033
 
  This patch fixes those issues and introduces the following changes:
4034
 
  
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
4042
 
 
4043
 
- curl.1: 7.27.0 seems next release
4044
 
 
4045
 
- schannel: fix printf-style format strings
4046
 
 
4047
 
- Fix bad failf() and info() usage
4048
 
  
4049
 
  Calls to failf() are not supposed to provide trailing newline.
4050
 
  Calls to infof() must provide trailing newline.
4051
 
  
4052
 
  Fixed 30 or so strings.
4053
 
 
4054
 
- schannel: fix unused parameter warnings
4055
 
 
4056
 
- schannel: fix comparisons between signed and unsigned
4057
 
 
4058
 
- schannel: fix discarding qualifier from pointer type
4059
 
 
4060
 
- schannel: fix shadowing of global declarations
4061
 
 
4062
 
- schannel: fix Curl_schannel_init() and Curl_schannel_cleanup() declarations
4063
 
 
4064
 
- [Gisle Vanem brought this change]
4065
 
 
4066
 
  urldata.h: fix cyassl/openssl/ssl.h build clash with wincrypt.h
4067
 
  
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.
4071
 
  
4072
 
  http://curl.haxx.se/mail/lib-2012-06/0196.html
4073
 
 
4074
 
- MakefileBuild.vc: Allow building without SSL
4075
 
  
4076
 
  In order to use Windows native SSL support define 'USE_WINSSL'
4077
 
 
4078
 
- configure: new option --with-winssl
4079
 
  
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.
4083
 
  
4084
 
  --with-winssl option implies --with-sspi option.
4085
 
  
4086
 
  Option meaningful only for Windows builds.
4087
 
 
4088
 
Guenter Knauf (13 Jun 2012)
4089
 
- Changed Schannel string to SSL-Windows-native.
4090
 
  
4091
 
  This is more descriptive for the user who might
4092
 
  not even know what schannnel is at all.
4093
 
 
4094
 
Yang Tse (13 Jun 2012)
4095
 
- schannel: remove version number and identify its use with 'schannel' literal
4096
 
  
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
4099
 
  provide this info.
4100
 
  
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.
4104
 
 
4105
 
Daniel Stenberg (12 Jun 2012)
4106
 
- singlesocket: remove dead code
4107
 
  
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.
4110
 
  
4111
 
  (Spotted by a Coverity scan)
4112
 
 
4113
 
- netrc: remove dead code
4114
 
  
4115
 
  Remove two states from the enum and the corresponding code for them as
4116
 
  these states were never reached or used.
4117
 
  
4118
 
  (Spotted by a Coverity scan)
4119
 
 
4120
 
Yang Tse (12 Jun 2012)
4121
 
- Revert "connect.c/ftp.c: Fixed dereferencing pointer breakin strict-aliasing"
4122
 
  
4123
 
  This reverts commit 9c94236e6cc078a0dc5a78b6e2fefc1403e5375e.
4124
 
  
4125
 
  It didn't server its purpose, so lets go back to long-time working code.
4126
 
 
4127
 
- socks_sspi.c: further cleanup
4128
 
 
4129
 
- [Marc Hoersken brought this change]
4130
 
 
4131
 
  socks_sspi.c: Clean up and removal of obsolete minor status
4132
 
  
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.
4136
 
 
4137
 
Guenter Knauf (12 Jun 2012)
4138
 
- Removed trailing whitespaces.
4139
 
 
4140
 
Yang Tse (12 Jun 2012)
4141
 
- strerror.c: make Curl_sspi_strerror() always return code for errors
4142
 
 
4143
 
- curl_sspi.h: provide sspi status definitions missing in old headers
4144
 
 
4145
 
- sspi: make Curl_sspi_strerror() libcurl's sspi status code string function
4146
 
 
4147
 
- sspi: make Curl_sspi_strerror() libcurl's sspi status code string function
4148
 
 
4149
 
Daniel Stenberg (11 Jun 2012)
4150
 
- Revert: 634f7cfee40d4658 partially
4151
 
  
4152
 
  Make sure CURL_VERSION_SSPI is present and works as in previous releases
4153
 
  for ABI and API compatibility reasons.
4154
 
 
4155
 
- checksrc: shorten a few lines to comply
4156
 
 
4157
 
- cleanup: remove trailing whitespace
4158
 
 
4159
 
- [Marc Hoersken brought this change]
4160
 
 
4161
 
  winbuild: Removed WITH_SSL=schannel and tie schannel to SSPI
4162
 
  
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.
4166
 
 
4167
 
- [Steve Holme brought this change]
4168
 
 
4169
 
  Makefile.vc6: Added version.lib if built with SSPI
4170
 
 
4171
 
- [Marc Hoersken brought this change]
4172
 
 
4173
 
  winbuild: Updated winbuild scripts to add schannel
4174
 
 
4175
 
- [Marc Hoersken brought this change]
4176
 
 
4177
 
  mingw32: Fixed warning of USE_SSL being redefined
4178
 
 
4179
 
- [Marc Hoersken brought this change]
4180
 
 
4181
 
  sspi: Fixed incompatible parameter pointer type in Curl_sspi_version
4182
 
 
4183
 
- [Marc Hoersken brought this change]
4184
 
 
4185
 
  sspi: Updated RELEASE-NOTES, FEATURES and THANKS
4186
 
 
4187
 
- [Marc Hoersken brought this change]
4188
 
 
4189
 
  setup.h: Automatically define USE_SSL if USE_SCHANNEL is defined
4190
 
 
4191
 
- [Marc Hoersken brought this change]
4192
 
 
4193
 
  version: Replaced SSPI feature information with version string details
4194
 
  
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.
4198
 
  
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.
4201
 
 
4202
 
- [Steve Holme brought this change]
4203
 
 
4204
 
  sspi.c: Post Curl_sspi_version() rework code tidy up
4205
 
  
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
4212
 
  is set.
4213
 
 
4214
 
- [Steve Holme brought this change]
4215
 
 
4216
 
  sspi: Reworked Curl_sspi_version() to return version components
4217
 
  
4218
 
  Reworked the version function to return four version components rather
4219
 
  than a string that has to be freed by the caller.
4220
 
 
4221
 
- [Guenter Knauf brought this change]
4222
 
 
4223
 
  configure.ac: Added -lversion if built with SSPI
4224
 
 
4225
 
- [Marc Hoersken brought this change]
4226
 
 
4227
 
  schannel: Code cleanup and bug fixes
4228
 
  
4229
 
  curl_sspi.c: Fixed mingw32-gcc compiler warnings
4230
 
  curl_sspi.c: Fixed length of error code hex output
4231
 
  
4232
 
  The hex value was printed as signed 64-bit value on 64-bit systems:
4233
 
  SEC_E_WRONG_PRINCIPAL (0xFFFFFFFF80090322)
4234
 
  
4235
 
  It is now correctly printed as the following:
4236
 
  SEC_E_WRONG_PRINCIPAL (0x80090322)
4237
 
  
4238
 
  curl_sspi.c: Fallback to security function table version number
4239
 
  Instead of reporting an unknown version, the interface version is used.
4240
 
  
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
4248
 
 
4249
 
- [Marc Hoersken brought this change]
4250
 
 
4251
 
  curl_sspi: Added Curl_sspi_version function
4252
 
  
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.
4256
 
 
4257
 
- [Guenter Knauf brought this change]
4258
 
 
4259
 
  schannel: Updated mingw32 makefiles
4260
 
 
4261
 
- [Marc Hoersken brought this change]
4262
 
 
4263
 
  schannel: Replace ASCII specific code with general defines
4264
 
 
4265
 
- [Marc Hoersken brought this change]
4266
 
 
4267
 
  schannel: Added definitions which are missing in mingw32
4268
 
 
4269
 
- [Marc Hoersken brought this change]
4270
 
 
4271
 
  schannel: Moved interal struct types to urldata.h
4272
 
  
4273
 
  Moved type definitions in order to avoid inclusion loop
4274
 
 
4275
 
- [Marc Hoersken brought this change]
4276
 
 
4277
 
  schannel: Fixed compiler warnings about pointer type assignments
4278
 
 
4279
 
- [Marc Hoersken brought this change]
4280
 
 
4281
 
  schannel: Fixed critical typo in conditions and added buffer length checks
4282
 
 
4283
 
- [Marc Hoersken brought this change]
4284
 
 
4285
 
  sspi: Refactored socks_sspi and schannel to use same error message functions
4286
 
  
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.
4291
 
 
4292
 
- [Marc Hoersken brought this change]
4293
 
 
4294
 
  schannel: Added special shutdown check for Windows 2000 Professional
4295
 
  
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.
4302
 
  
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
4309
 
 
4310
 
- [Marc Hoersken brought this change]
4311
 
 
4312
 
  schannel: Implemented SSL/TLS renegotiation
4313
 
  
4314
 
  Updated TODO information and added related MSDN articles
4315
 
 
4316
 
- [Marc Hoersken brought this change]
4317
 
 
4318
 
  schannel: Save session credential handles in session cache
4319
 
 
4320
 
- [Marc Hoersken brought this change]
4321
 
 
4322
 
  schannel: Code cleanup
4323
 
 
4324
 
- [Marc Hoersken brought this change]
4325
 
 
4326
 
  schannel: Check for required context attributes
4327
 
 
4328
 
- [Marc Hoersken brought this change]
4329
 
 
4330
 
  schannel: Allow certificate and revocation checks being deactivated
4331
 
 
4332
 
- [Marc Hoersken brought this change]
4333
 
 
4334
 
  schannel: Added SSL/TLS support with Microsoft Windows Schannel SSPI
4335
 
 
4336
 
- [Marc Hoersken brought this change]
4337
 
 
4338
 
  http: Replaced specific SSL libraries list in https_getsock fallback
4339
 
 
4340
 
- [Marc Hoersken brought this change]
4341
 
 
4342
 
  connect.c/ftp.c: Fixed dereferencing pointer breakin strict-aliasing
4343
 
  
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.
4348
 
  
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.
4352
 
 
4353
 
- [Marc Hoersken brought this change]
4354
 
 
4355
 
  curl_ntlm_msgs.c: Fixed passwdlen not being used and recalculated
4356
 
 
4357
 
Yang Tse (11 Jun 2012)
4358
 
- tests: fix test definitions # 1355, 1363, 1385 and 1393
4359
 
  
4360
 
  -i without HTTP protocol shall not include headers in the output
4361
 
 
4362
 
Daniel Stenberg (10 Jun 2012)
4363
 
- Curl_pgrsDone: return int and acknowledge return code
4364
 
  
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
4368
 
  used.
4369
 
  
4370
 
  (Spotted by a Coverity scan)
4371
 
 
4372
 
Steve Holme (10 Jun 2012)
4373
 
- [Marc Hoersken brought this change]
4374
 
 
4375
 
  winbuild: Fixed environment variables being lost
4376
 
  
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
4381
 
 
4382
 
Guenter Knauf (9 Jun 2012)
4383
 
- Added metalink support to NetWare builds.
4384
 
 
4385
 
Steve Holme (9 Jun 2012)
4386
 
- smtp.c: Removed unused variable
4387
 
 
4388
 
- smtp: Post apop feature code tidy up
4389
 
 
4390
 
- pop3: Post apop feature code tidy up
4391
 
 
4392
 
- pop3: Added support for apop authentication
4393
 
 
4394
 
- pop3: Enhanced the extended authentication mechanism detection
4395
 
  
4396
 
  Enhanced the authentication type / mechanism detection in preparation
4397
 
  for the introduction of APOP support.
4398
 
 
4399
 
- pop3.c: Fixed length of SASL check
4400
 
 
4401
 
Yang Tse (9 Jun 2012)
4402
 
- Fixes allowing 26 more test cases in 1334 to 1393 range to succeed
4403
 
 
4404
 
- tests: fix test definitions # 1370 and 1371
4405
 
  
4406
 
  -J without -O shall not honor C-D filename
4407
 
 
4408
 
Daniel Stenberg (9 Jun 2012)
4409
 
- OpenSSL: support longer certificate subject names
4410
 
  
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.
4413
 
  
4414
 
  Bug: http://curl.haxx.se/bug/view.cgi?id=3533045
4415
 
  Reported by: Anthony G. Basile
4416
 
 
4417
 
Kamil Dudka (8 Jun 2012)
4418
 
- ssl: fix duplicated SSL handshake with multi interface and proxy
4419
 
  
4420
 
  Bug: https://bugzilla.redhat.com/788526
4421
 
  Reported by: Enrico Scholz
4422
 
 
4423
 
Daniel Stenberg (8 Jun 2012)
4424
 
- tool_getparam.h: fix compiler error
4425
 
  
4426
 
  forward declare the Configurable struct
4427
 
 
4428
 
- metalink: restore some includes
4429
 
  
4430
 
  Commit eeeba1496cbca removed them and thus broke my Linux build
4431
 
 
4432
 
- openldap: OOM fixes
4433
 
  
4434
 
  when calloc fails, return error! (Detected by Fortify)
4435
 
  
4436
 
  Reported by: Robert B. Harris
4437
 
 
4438
 
Steve Holme (8 Jun 2012)
4439
 
- sasl: Re-factored mechanism constants in preparation for APOP work
4440
 
 
4441
 
Yang Tse (8 Jun 2012)
4442
 
- metalink: build fixes and adjustments II
4443
 
  
4444
 
  Additionally, make hash checking ability mandatory in order to allow metalink
4445
 
  support in curl.
4446
 
  
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
4449
 
  metalink support.
4450
 
 
4451
 
Guenter Knauf (8 Jun 2012)
4452
 
- Added metalink support to MinGW builds.
4453
 
 
4454
 
Daniel Stenberg (7 Jun 2012)
4455
 
- log2changes.pl: fix the Version output
4456
 
  
4457
 
  Previously it could easily wrongly get repeated
4458
 
 
4459
 
Yang Tse (7 Jun 2012)
4460
 
- metalink: build fixes and adjustments I
4461
 
 
4462
 
Daniel Stenberg (7 Jun 2012)
4463
 
- lib554.c: use curl_formadd() properly
4464
 
  
4465
 
  The length/size options take longs so make sure to pass on such types.
4466
 
  
4467
 
  Reported by: Neil Bowers
4468
 
  Bug: http://curl.haxx.se/mail/lib-2012-06/0001.html
4469
 
 
4470
 
Steve Holme (7 Jun 2012)
4471
 
- smtp.c: Re-factored the smtp_state_*_resp() functions
4472
 
  
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.
4476
 
 
4477
 
Yang Tse (7 Jun 2012)
4478
 
- Fixes allowing HTTP test cases 1338, 1339, 1368 and 1369 to succeed
4479
 
 
4480
 
- tests 1364 to 1393: several -o filename -J -i -D combinations for HTTP and FTP
4481
 
 
4482
 
- tests 1348 to 1363: test definition polishing
4483
 
  
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.
4487
 
  
4488
 
  Use relative path for unintended file creation postcheck.
4489
 
 
4490
 
Steve Holme (6 Jun 2012)
4491
 
- smtp: Re-factored the SMTP_AUTH* state machine constants
4492
 
  
4493
 
  Re-factored the SMTP_AUTH* constants, that are used by the state
4494
 
  machine, to be clearer to read.
4495
 
 
4496
 
Guenter Knauf (6 Jun 2012)
4497
 
- Added hint for pkg-config wrapper script.
4498
 
 
4499
 
- Updated Android section with recent NDK.
4500
 
  
4501
 
  The r7b had some bugs, and shouldnt be used.
4502
 
 
4503
 
Yang Tse (6 Jun 2012)
4504
 
- Disable non-HTTP header related tests
4505
 
  
4506
 
  These now detect incompleate header data and fail
4507
 
 
4508
 
- tests 1348 to 1363: compleate header data part of test definition
4509
 
 
4510
 
- tests 1334 to 1363 revisited.
4511
 
  
4512
 
  Add a postcheck section to verify unintended file creation.
4513
 
  
4514
 
  Remove needless <file> checks in verify section. Renumbering where appropriate.
4515
 
 
4516
 
- tests: adjust file part behavior in test verify section.
4517
 
  
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.
4521
 
 
4522
 
Steve Holme (5 Jun 2012)
4523
 
- smtp.c: Removed whitespace
4524
 
 
4525
 
- pop3: Another small code tidy up
4526
 
  
4527
 
  Missed some comments that we identified during the SMTP tidy up earlier.
4528
 
 
4529
 
- smtp: Post authentication code tidy up
4530
 
  
4531
 
  Corrected lines longer than 78 characters.
4532
 
  
4533
 
  Removed unnecessary braces in smtp_state_helo_resp().
4534
 
  
4535
 
  Introduced some comments in data sending functions.
4536
 
  
4537
 
  Tidied up comments to match changes made in pop3.c.
4538
 
 
4539
 
Yang Tse (5 Jun 2012)
4540
 
- tests 1348 to 1363: add a comma in test description
4541
 
 
4542
 
Steve Holme (5 Jun 2012)
4543
 
- email: Removed duplicated header file
4544
 
 
4545
 
- sasl: Renamed Curl_sasl_decode_ntlm_type2_message()
4546
 
  
4547
 
  For consistency with other SASL based functions renamed this function
4548
 
  to Curl_sasl_create_ntlm_type3_message() which better describes its
4549
 
  usage.
4550
 
 
4551
 
- pop3: Post authentication code tidy up
4552
 
  
4553
 
  Corrected lines longer than 78 characters.
4554
 
  
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.
4557
 
  
4558
 
  Introduced some comments in data sending functions.
4559
 
  
4560
 
  Another attempt at trying to rational code and comment style.
4561
 
 
4562
 
- pop3: Added support for sasl digest-md5 authentication
4563
 
 
4564
 
Yang Tse (4 Jun 2012)
4565
 
- sasl: add reference for curl_sasl
4566
 
 
4567
 
- Makefile.inc: tab adjustment
4568
 
 
4569
 
Daniel Stenberg (4 Jun 2012)
4570
 
- pop3 tests: CAPA instead of AUTH
4571
 
  
4572
 
  After Steve's commit e336bc7c42c7340 test 1319 and 1407 need to check
4573
 
  for CAPA instead of AUTH.
4574
 
 
4575
 
Steve Holme (4 Jun 2012)
4576
 
- sasl: Added service parameter to Curl_sasl_create_digest_md5_message()
4577
 
  
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".
4581
 
 
4582
 
Yang Tse (4 Jun 2012)
4583
 
- tests 1356 to 1363: several -O -J -i -D combinations with FTP protocol
4584
 
  
4585
 
  Currently 1356 to 1362 succeed but a write failure is logged in traceNNNN.
4586
 
  
4587
 
  Currently 1363 fails, so disabled for now.
4588
 
 
4589
 
Steve Holme (4 Jun 2012)
4590
 
- tests: Updated pop3 tests for change in auth mechanism detection
4591
 
 
4592
 
- pop3: Changed the sasl mechanism detection from auth to capa
4593
 
  
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.
4597
 
 
4598
 
Daniel Stenberg (4 Jun 2012)
4599
 
- curl_easy_setopt.3: proto updates + cleanups
4600
 
  
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.
4604
 
  
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.
4607
 
  
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.
4611
 
 
4612
 
Yang Tse (4 Jun 2012)
4613
 
- tests 1348 to 1355: several -O -J -i -D combinations with FTP protocol
4614
 
  
4615
 
  Currently 1348 to 1354 succeed but a write failure is logged in traceNNNN.
4616
 
  
4617
 
  Currently 1355 fails, so disabled for now.
4618
 
 
4619
 
- tests 1346 to 1347: several -O -J -i -D combinations with HTTP protocol
4620
 
 
4621
 
Steve Holme (4 Jun 2012)
4622
 
- sasl: Small code tidy up
4623
 
  
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
4626
 
  appropriate.
4627
 
 
4628
 
- sasl: Moved digest-md5 authentication message creation from smtp.c
4629
 
  
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.
4632
 
 
4633
 
- sasl: Small code tidy up before moving digest-md5 over
4634
 
  
4635
 
  Correction of comments and variable names.
4636
 
 
4637
 
- RELEASE-NOTES: Added missing addition of sasl login support
4638
 
 
4639
 
- pop3: Added support for sasl cram-md5 authentication
4640
 
 
4641
 
Daniel Stenberg (3 Jun 2012)
4642
 
- Curl_sasl_create_plain_message: remove TAB
4643
 
 
4644
 
Steve Holme (3 Jun 2012)
4645
 
- sasl: Small code tidy up
4646
 
  
4647
 
  Added some comments and removed an unreferenced variable.
4648
 
 
4649
 
- pop3.c: Added conditional compilation for NTLM function calls
4650
 
  
4651
 
  Added USE_NTLM condition compilation around the NTLM functions called
4652
 
  from pop3_statemach_act() introduced in commit 69f7156ad96877.
4653
 
 
4654
 
- sasl: Moved cram-md5 authentication message creation from smtp.c
4655
 
  
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.
4658
 
 
4659
 
- pop3: Fixed an issue with changes introduced in commit c267c53017bc
4660
 
  
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
4665
 
  each line of data.
4666
 
  
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
4673
 
  buffer.
4674
 
  
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
4677
 
  been processed.
4678
 
 
4679
 
Daniel Stenberg (3 Jun 2012)
4680
 
- version: bump to 7.27.0 for next release
4681
 
  
4682
 
  Due to new features
4683
 
 
4684
 
- RELEASE-NOTES: synced with c4e3578e4bf
4685
 
  
4686
 
  Also bumped the contributor number and next release is to become 7.27.0
4687
 
 
4688
 
- THANKS: 16 new contributors from the 7.26.0 release
4689
 
 
4690
 
Steve Holme (3 Jun 2012)
4691
 
- DOCS: Fixed list in Section 18.2 not displaying correctly on web site
4692
 
 
4693
 
- DOCS: Corrected missed heading renumbering from commit 530675a1ad7
4694
 
 
4695
 
- DOCS: Added IMAP and LDAP sections
4696
 
  
4697
 
  Added new sections 11. IMAP and 12. LDAP to document adding SASL based
4698
 
  authentication.
4699
 
  
4700
 
  Renumbered current sections 11 to 17 as 13 to 19.
4701
 
  
4702
 
  Additionally added 19.10 Add CURLOPT_MAIL_CLIENT option.
4703
 
 
4704
 
- sasl.c: Fix to avoid warnings introduced in commit d9ca9e9869e8
4705
 
  
4706
 
  Applied a fix to avoid warnings on systems where Curl_ntlm_sspi_cleanup()
4707
 
  is just a nop.
4708
 
 
4709
 
- pop3.c:Corrected typo in commit 69ba0da8272d
4710
 
 
4711
 
- pop3: Fixed the issue of having to supply the user name for all requests
4712
 
  
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.
4717
 
  
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.
4722
 
  
4723
 
  Additionally this fix won't send the newly introduced AUTH command if no
4724
 
  user name is specified.
4725
 
 
4726
 
- pop3.c: Small code tidy up
4727
 
  
4728
 
  Corrected lines exceeding 78 characters.
4729
 
  
4730
 
  Repositioned some comments and added extra clarity.
4731
 
 
4732
 
- sasl: Corrected variable names in comments and parameters
4733
 
 
4734
 
- pop3: Added support for sasl ntlm authentication
4735
 
 
4736
 
- sasl: Small comment style tidy up following ntlm commit
4737
 
 
4738
 
- sasl: Moved ntlm authentication message handling from smtp.c
4739
 
  
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.
4742
 
 
4743
 
- pop3: Added support for sasl login authentication
4744
 
 
4745
 
Yang Tse (1 Jun 2012)
4746
 
- tests 1334 to 1345: several -O -J -i -D combinations with HTTP protocol
4747
 
 
4748
 
- tests: support test definitions with up to 5 file checks in <verify> section
4749
 
  
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.
4753
 
 
4754
 
Steve Holme (31 May 2012)
4755
 
- sasl: Moved login authentication message creation from smtp.c
4756
 
  
4757
 
  Moved the login message creation from smtp.c into the sasl module
4758
 
  to allow for use by other modules such as pop3.
4759
 
 
4760
 
- smtp.c: Reworked message encoding in smtp_state_authpasswd_resp()
4761
 
  
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.
4766
 
 
4767
 
- smtp.c: Re-factored smtp_auth_login_user() for use with passwords
4768
 
  
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.
4773
 
 
4774
 
- pop3: Added support for sasl plain text authentication
4775
 
 
4776
 
- curl_ntlm_msgs.c: Corrected small spelling mistake in comments
4777
 
 
4778
 
- sasl: Moved plain text authentication message creation from smtp.c
4779
 
  
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.
4782
 
 
4783
 
Yang Tse (30 May 2012)
4784
 
- configure: fix LDAPS disabling related misplaced closing parenthesis
4785
 
 
4786
 
- pop3 test server: allow pop3 test server verification to succeed again
4787
 
  
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.
4791
 
 
4792
 
Steve Holme (28 May 2012)
4793
 
- pop3: Introduced the continue response in pop3_endofresp()
4794
 
 
4795
 
- pop3: Changed response code from O and E to + and -
4796
 
  
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,
4799
 
  success and error.
4800
 
  
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.
4805
 
 
4806
 
- pop3: Small code tidy up following authentication work so far
4807
 
  
4808
 
  Changed the order of the state machine to match the order of actual
4809
 
  events.
4810
 
  
4811
 
  Reworked some comments and function parameter positioning that I missed
4812
 
  the other day.
4813
 
 
4814
 
Kamil Dudka (28 May 2012)
4815
 
- nss: use human-readable error messages provided by NSS
4816
 
  
4817
 
  Bug: http://lists.baseurl.org/pipermail/yum-devel/2012-January/009002.html
4818
 
 
4819
 
Daniel Stenberg (27 May 2012)
4820
 
- test1013.pl: filter out Metalink
4821
 
  
4822
 
  Since it isn't a feature supported by curl-config we can't compare that
4823
 
  with the --version output
4824
 
 
4825
 
- pop3: remove variable-not-used warnings
4826
 
 
4827
 
Steve Holme (27 May 2012)
4828
 
- DOCS: Corrected the "Added in" version number for CURLOPT_MAIL_AUTH
4829
 
  
4830
 
  Additionally corrected another RFC link that I missed yesterday.
4831
 
 
4832
 
- pop3: Added support for SASL based authentication mechanism detection
4833
 
  
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.
4842
 
  
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.
4846
 
 
4847
 
Daniel Stenberg (27 May 2012)
4848
 
- pop3: remove trailing whitespace
4849
 
 
4850
 
Steve Holme (27 May 2012)
4851
 
- pop3: Code tidy up before the introduction of authentication code
4852
 
  
4853
 
  Moved EOB definition into header file.
4854
 
  
4855
 
  Switched the logic around in pop3_endofresp() to allow for the
4856
 
  introduction of auth-mechanism detection.
4857
 
  
4858
 
  Repositioned second and third function variables where they will fit
4859
 
  within the 78 character line limit.
4860
 
  
4861
 
  Tidied up some comments.
4862
 
 
4863
 
Guenter Knauf (27 May 2012)
4864
 
- Enabled OpenSSL static linkage.
4865
 
 
4866
 
- Enabled OpenSSL static linkage.
4867
 
 
4868
 
- Try to detect OpenSSL build type automatically.
4869
 
 
4870
 
Daniel Stenberg (26 May 2012)
4871
 
- metalink: fix build errors when disabled
4872
 
 
4873
 
- [Tatsuhiro Tsujikawa brought this change]
4874
 
 
4875
 
  Reduced #ifdef HAVE_METALINK
4876
 
 
4877
 
- [Tatsuhiro Tsujikawa brought this change]
4878
 
 
4879
 
  Disable hash check if neither OpenSSL nor GNUTLS is installed.
4880
 
 
4881
 
- [Tatsuhiro Tsujikawa brought this change]
4882
 
 
4883
 
  Format GETOUT_METALINK nicely
4884
 
 
4885
 
- [Tatsuhiro Tsujikawa brought this change]
4886
 
 
4887
 
  Minimize usage of structs from libmetalink
4888
 
 
4889
 
- [Tatsuhiro Tsujikawa brought this change]
4890
 
 
4891
 
  Check checksum of downloaded file if checksum is available
4892
 
  
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.
4899
 
  
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.
4903
 
  
4904
 
  In this patch, the supported hash types are: md5, sha-1 and sha-256.
4905
 
 
4906
 
- [Tatsuhiro Tsujikawa brought this change]
4907
 
 
4908
 
  Always create directory hierarchy for Metalink.
4909
 
  
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.
4913
 
  
4914
 
  Curl has --create-dirs option, but we create directory hierarchy for
4915
 
  Metalink downloads regardless of the option value.
4916
 
  
4917
 
  This patch also put metalink int variable outside of HAVE_LIBMETALINK
4918
 
  guard. This reduces the number of #ifdefs.
4919
 
 
4920
 
- [Tatsuhiro Tsujikawa brought this change]
4921
 
 
4922
 
  Fixed segmentation fault when Metalink has no valid file or no resource.
4923
 
 
4924
 
- [Tatsuhiro Tsujikawa brought this change]
4925
 
 
4926
 
  Support media-type parameter in Content-Type
4927
 
 
4928
 
- [Tatsuhiro Tsujikawa brought this change]
4929
 
 
4930
 
  Print "Metalink" in Features if Metalink support is enabled.
4931
 
 
4932
 
- [Tatsuhiro Tsujikawa brought this change]
4933
 
 
4934
 
  Removed trailing space
4935
 
 
4936
 
- [ant brought this change]
4937
 
 
4938
 
  Add --metalink to --help
4939
 
 
4940
 
- [ant brought this change]
4941
 
 
4942
 
  Add Metalink information and --metalink option to man page
4943
 
 
4944
 
- [ant brought this change]
4945
 
 
4946
 
  Add Metalink information and --metalink option to man page
4947
 
 
4948
 
- [ant brought this change]
4949
 
 
4950
 
  Adds Metalink information to INSTALL
4951
 
 
4952
 
- [Tatsuhiro Tsujikawa brought this change]
4953
 
 
4954
 
  --metalink option is available regardless of Metalink support.
4955
 
 
4956
 
- [Tatsuhiro Tsujikawa brought this change]
4957
 
 
4958
 
  metalink: parse downloaded Metalink file
4959
 
  
4960
 
  Parse downloaded Metalink file and add downloads described there. Fixed
4961
 
  compile error without metalink support.
4962
 
 
4963
 
- [Tatsuhiro Tsujikawa brought this change]
4964
 
 
4965
 
  Fixed HAVE_LIBMETALINK conditional is always true
4966
 
 
4967
 
- [Tatsuhiro Tsujikawa brought this change]
4968
 
 
4969
 
  metalink: minor metalinkfile fix
4970
 
  
4971
 
  Don't update config->metalinkfile_last in operate(). Use local variable
4972
 
  to point to the current metalinkfile.
4973
 
 
4974
 
- [Tatsuhiro Tsujikawa brought this change]
4975
 
 
4976
 
  metalink: show help message even if disabled
4977
 
  
4978
 
  Print message if --metalink is used while metalink support is not
4979
 
  enabled. Migrated Metalink support in tool_operate.c and removed
4980
 
  operatemetalink().
4981
 
 
4982
 
- [Tatsuhiro Tsujikawa brought this change]
4983
 
 
4984
 
  Applied patches from Daniel
4985
 
 
4986
 
- [Tatsuhiro Tsujikawa brought this change]
4987
 
 
4988
 
  Support Metalink.
4989
 
  
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:
4993
 
  
4994
 
    $ curl -O --metalink foo.metalink
4995
 
  
4996
 
  We use libmetalink to parse Metalink files.
4997
 
 
4998
 
Steve Holme (26 May 2012)
4999
 
- DOCS: Fixed line spacing of authentication examples in CURLOPT_URL
5000
 
 
5001
 
- DOCS: Changed domain names in various examples to example.com
5002
 
  
5003
 
  Updated various references of real domain names to example.com as per
5004
 
  RFC-2606.
5005
 
 
5006
 
- DOCS: Fixed meaning of bit 2 in CURLOPT_POSTREDIR
5007
 
  
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.
5010
 
  
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.
5013
 
 
5014
 
- DOCS: Standardised how RFCs are referenced.
5015
 
  
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.
5019
 
 
5020
 
Yang Tse (26 May 2012)
5021
 
- Fix libcurl.pc and curl-config generation for static MingW* cross builds
5022
 
 
5023
 
Daniel Stenberg (25 May 2012)
5024
 
- [Tatsuhiro Tsujikawa brought this change]
5025
 
 
5026
 
  Made -D option work with -O and -J.
5027
 
  
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.
5034
 
  
5035
 
  Unit tests were also updated because after this change, curl code always
5036
 
  sets CURLOPT_HEADERFUNCTION and CURLOPT_HEADERDATA.
5037
 
  
5038
 
  Tested with -O -J -D, -O -J -i and -O -J -D -i and all worked fine.
5039
 
 
5040
 
Steve Holme (25 May 2012)
5041
 
- sasl: Re-factored auth-mechanism constants to be more generic
5042
 
 
5043
 
- smtp: Moved auth-mechanism constants into a separate header file
5044
 
  
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.
5048
 
 
5049
 
Kamil Dudka (25 May 2012)
5050
 
- nss: avoid using explicit casts of code pointers
5051
 
 
5052
 
Steve Holme (24 May 2012)
5053
 
- DOCS: Added LDAP to the CURLOPT_URL section
5054
 
 
5055
 
- TODO: Removed DIGEST-MD5 authentication from SMTP to do list
5056
 
  
5057
 
  Removed DIGEST-MD5 from Section 9.1 Other authentication mechanisms as
5058
 
  the feature was added to SMTP in 7.26.0.
5059
 
  
5060
 
  Also corrected small spelling mistake.
5061
 
 
5062
 
Daniel Stenberg (24 May 2012)
5063
 
- bump to 7.26.1: start working towards next release
5064
 
 
5065
 
Version 7.26.0 (24 May 2012)
5066
 
 
5067
 
Daniel Stenberg (24 May 2012)
5068
 
- RELEASE-NOTES: synced with ef60fdbd73
5069
 
  
5070
 
  Just before 7.26.0 is about to ship
5071
 
 
5072
 
Steve Holme (22 May 2012)
5073
 
- smtp: Fixed an issue with the multi-interface always sending postdata
5074
 
  
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.
5078
 
  
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.
5082
 
  
5083
 
  Bug: http://curl.haxx.se/mail/lib-2012-05/0108.html
5084
 
  Reported by: Gokhan Sengun
5085
 
 
5086
 
- DOCS: Updated version number for features added in the pending release
5087
 
 
5088
 
Daniel Stenberg (22 May 2012)
5089
 
- [Tatsuhiro Tsujikawa brought this change]
5090
 
 
5091
 
  Fixed compile error with GNUTLS+NETTLE
5092
 
  
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.
5099
 
  
5100
 
  The changes in curl_ntlm_core.c is conversion error and fixed by
5101
 
  casting to proper type.
5102
 
 
5103
 
- TODO-RELEASE: mention the pending biggies for 7.27.0
5104
 
 
5105
 
- [Jan Ehrhardt brought this change]
5106
 
 
5107
 
  winbuild: fix IPv6 enabled build
5108
 
  
5109
 
  The existing check was wrong so IPv6 support would never be enabled
5110
 
 
5111
 
- 7.26.0: will be the next release version
5112
 
 
5113
 
- RELEASE-NOTES: synced with 8ae1e657e82a
5114
 
  
5115
 
  And mention that this will become 7.26.0
5116
 
 
5117
 
Guenter Knauf (22 May 2012)
5118
 
- Updated dependency libary versions.
5119
 
 
5120
 
Daniel Stenberg (20 May 2012)
5121
 
- curl-config.1: fix curl-config usage in example
5122
 
  
5123
 
  The curl-config command must be used twice in the single command line to
5124
 
  work properly in some environments.
5125
 
  
5126
 
  Bug: http://curl.haxx.se/bug/view.cgi?id=3528241
5127
 
  Reported by: Julian Taylor
5128
 
 
5129
 
Steve Holme (17 May 2012)
5130
 
- smtp: Fixed non-escaping of dot character at beginning of line
5131
 
  
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.
5135
 
  
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.
5139
 
 
5140
 
Daniel Stenberg (16 May 2012)
5141
 
- FAQ: updated 1.10 How many are using curl?
5142
 
  
5143
 
  Now linking to http://daniel.haxx.se/blog/2012/05/16/300m-users/
5144
 
 
5145
 
- disable-versioned-symbols: removed superfluous 'fi'
5146
 
  
5147
 
  The commit e315927a1a left this in
5148
 
 
5149
 
- MakefileBuild.vc: use the correct IDN variable
5150
 
  
5151
 
  The variable that control IDN enablement is called USE_IDN within these
5152
 
  Makefiles
5153
 
 
5154
 
- [Pierre Chapuis brought this change]
5155
 
 
5156
 
  autoconf: improve handling of versioned symbols
5157
 
  
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.
5162
 
  
5163
 
  Moreover, it fixes broken indentation of this chunk of code.
5164
 
 
5165
 
- curl.1: clarify -x usage
5166
 
  
5167
 
  1 - fix the syntax in the .IP line
5168
 
  
5169
 
  2 - Provided user names and passwords are URL decoded by libcurl
5170
 
  
5171
 
  Bug: http://curl.haxx.se/bug/view.cgi?id=3525935
5172
 
 
5173
 
- NTLM: is supported in GnuTLS builds too
5174
 
  
5175
 
  ... since commit 9a4c887c4a7 introduced in libcurl 7.19.4
5176
 
 
5177
 
- TODO: happy eyeballs is now RFC6555
5178
 
 
5179
 
- my_useragent: shorten user-agent
5180
 
  
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.
5183
 
 
5184
 
- CURLOPT_HEADERFUNCTION: works for non-HTTP protocols too
5185
 
 
5186
 
Claes Jakobsson (3 May 2012)
5187
 
- Add note about default timeout in CURLOPT_TIMEOUT
5188
 
 
5189
 
Daniel Stenberg (2 May 2012)
5190
 
- [Gokhan Sengun brought this change]
5191
 
 
5192
 
  MD5: OOM fix
5193
 
  
5194
 
  check whether md5 initialization succeeded before updating digest of
5195
 
  buffers onto it
5196
 
 
5197
 
- REALEASE-NOTES: synced with 64f48e884e3c1
5198
 
 
5199
 
- [Jan Schaumann brought this change]
5200
 
 
5201
 
  add newly created manual page
5202
 
 
5203
 
- [Jan Schaumann brought this change]
5204
 
 
5205
 
  add a manual page for mk-ca-bundle
5206
 
 
5207
 
Guenter Knauf (26 Apr 2012)
5208
 
- Updated dependency lib versions.
5209
 
 
5210
 
Daniel Stenberg (23 Apr 2012)
5211
 
- URL parse: reject numerical IPv6 addresses outside brackets
5212
 
  
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
5217
 
  work correctly.
5218
 
  
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.
5221
 
  
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.
5226
 
 
5227
 
- Curl_MD5_init: fix OOM memory leak
5228
 
  
5229
 
  Bug: http://curl.haxx.se/mail/lib-2012-04/0246.html
5230
 
  Reported by: Michael Mueller
5231
 
 
5232
 
- [Gokhan Sengun brought this change]
5233
 
 
5234
 
  OpenSSL cert: provide more details when cert check fails
5235
 
  
5236
 
  curl needs to be more chatty regarding certificate verification failure
5237
 
  during SSL handshake
5238
 
 
5239
 
Yang Tse (23 Apr 2012)
5240
 
- Revert "sspi: Added version information"
5241
 
  
5242
 
  This reverts commit 2976de480808119dae08fc6f52c8d75ba1aedb1a.
5243
 
 
5244
 
- Revert "sspi - Small code tidy up"
5245
 
  
5246
 
  This reverts commit 46cd5f1daddad3b3e542e6d93eee52e8bb9a8687.
5247
 
 
5248
 
- Revert "Fixed 'extra tokens at end of #endif directive'."
5249
 
  
5250
 
  This reverts commit 77172a242fc0c820f97eae39d0e3e0f265222fe6.
5251
 
 
5252
 
- Revert "Fixed 'Trailing whitespace' found by checksrc."
5253
 
  
5254
 
  This reverts commit 683bfa60ad0b52505947e59b03515e5f44378523.
5255
 
 
5256
 
- Revert "sspi: Code tidy up to remove unused variable."
5257
 
  
5258
 
  This reverts commit 412510f97407d617426d93b80e6b6bf0a8ff11ac.
5259
 
 
5260
 
- Revert "Add -lversion if build with SSPI."
5261
 
  
5262
 
  This reverts commit 9ec0b7e0c44d29eca6f45916fe5af3501168fe85.
5263
 
 
5264
 
Guenter Knauf (23 Apr 2012)
5265
 
- Add -lversion if build with SSPI.
5266
 
 
5267
 
Steve Holme (22 Apr 2012)
5268
 
- sspi: Code tidy up to remove unused variable.
5269
 
 
5270
 
Guenter Knauf (22 Apr 2012)
5271
 
- Fixed 'Trailing whitespace' found by checksrc.
5272
 
 
5273
 
- Fixed 'extra tokens at end of #endif directive'.
5274
 
 
5275
 
Steve Holme (22 Apr 2012)
5276
 
- sspi - Small code tidy up
5277
 
 
5278
 
- sspi: Added version information
5279
 
  
5280
 
  Added version information for Windows SSPI to curl's main version
5281
 
  string and removed SSPI from the features string.
5282
 
 
5283
 
Daniel Stenberg (20 Apr 2012)
5284
 
- HTTP: empty chunked POST ended up in two zero size chunks
5285
 
  
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.
5290
 
  
5291
 
  Test case 1333 is added to verify.
5292
 
  
5293
 
  Bug: http://curl.haxx.se/mail/archive-2012-04/0060.html
5294
 
  Reported by: Arnaud Compan
5295
 
 
5296
 
Guenter Knauf (20 Apr 2012)
5297
 
- Updated dependency lib versions.
5298
 
 
5299
 
Daniel Stenberg (19 Apr 2012)
5300
 
- singleipconnect: return OK even when Curl_socket() fails
5301
 
  
5302
 
  Commit 9109cdec11ee5a brought this regression (shipped since 7.24.0).
5303
 
  
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.
5308
 
  
5309
 
  Reported by: Blaise Potard
5310
 
  Bug: http://curl.haxx.se/bug/view.cgi?id=3516508
5311
 
 
5312
 
Yang Tse (19 Apr 2012)
5313
 
- Take in account that CURLAUTH_* bitmasks are now 'unsigned long' - follow-up
5314
 
  
5315
 
  MIPSPro compiler detected curl_easy_getinfo() related missing adjustments.
5316
 
  SunPro compiler detected curl tool --libcurl option related missing adjustments.
5317
 
 
5318
 
- url.c: CURLOPT_HTTPAUTH and CURLOPT_PROXYAUTH fixes
5319
 
  
5320
 
  Fail with CURLE_NOT_BUILT_IN when none of requested auth methods is supported.
5321
 
  
5322
 
  Reject CURLAUTH_ONLY bit when given alone or with CURLAUTH_NONE.
5323
 
 
5324
 
- Take in account that CURLAUTH_* bitmasks are now 'unsigned long'
5325
 
  
5326
 
  Data type of internal vars holding CURLAUTH_* bitmasks changed from 'long' to
5327
 
  'unsigned long' for proper handling and operating.
5328
 
 
5329
 
- curl.h: CURLAUTH_* bitmasks adjusted to become 'unsigned long' typed
5330
 
  
5331
 
  Info: http://curl.haxx.se/mail/lib-2012-04/0170.html
5332
 
 
5333
 
- Some explicit conversion to 'long' of curl_easy_setopt() third argument
5334
 
  
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.
5338
 
 
5339
 
- build adjustments: commit 9e24b9c7 follow-up
5340
 
 
5341
 
Daniel Stenberg (17 Apr 2012)
5342
 
- -# progress meter: avoid superfluous updates and duplicate lines
5343
 
  
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.
5348
 
  
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...
5355
 
  
5356
 
  Reported by: Daniel Theron
5357
 
  Bug: http://curl.haxx.se/bug/view.cgi?id=3517418
5358
 
 
5359
 
Yang Tse (16 Apr 2012)
5360
 
- nss.c: fix compiler warning
5361
 
 
5362
 
- curl-compilers.m4: -Wno-pedantic-ms-format for Windows gcc 4.5 builds
5363
 
  
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.
5366
 
 
5367
 
Kamil Dudka (16 Apr 2012)
5368
 
- tests/valgrind.pm: suppress memleaks of NSS_InitContext()
5369
 
  
5370
 
  Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=745224
5371
 
 
5372
 
Yang Tse (14 Apr 2012)
5373
 
- setup_once.h: tighten requirements for stdbool.h header inclusion
5374
 
  
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.
5377
 
  
5378
 
  Compilation fix for old or unpatched versions of XL C compiler.
5379
 
  
5380
 
  Report: http://curl.haxx.se/mail/archive-2012-04/0022.html
5381
 
 
5382
 
- headers: require GCC 2.7 or newer in order to allow attribute GCC'isms usage
5383
 
  
5384
 
  Usage in other code paths already protected and requiring even newer versions.
5385
 
 
5386
 
- [Jonathan Nieder brought this change]
5387
 
 
5388
 
  headers: surround GCC attribute names with double underscores
5389
 
  
5390
 
  This protects from attribute names being defined by third party's code.
5391
 
  
5392
 
  Improvement: http://curl.haxx.se/mail/lib-2012-04/0127.html
5393
 
 
5394
 
Guenter Knauf (13 Apr 2012)
5395
 
- Updated copyright year.
5396
 
 
5397
 
Yang Tse (13 Apr 2012)
5398
 
- testcurl.pl: build example programs for Android cross-compiles
5399
 
 
5400
 
- nss.c: fix compiler warning
5401
 
 
5402
 
- examples: fix compiler warnings
5403
 
 
5404
 
Kamil Dudka (13 Apr 2012)
5405
 
- nss: provide human-readable names for NSS errors
5406
 
 
5407
 
- nss: use NSS_InitContext() to initialize NSS if available
5408
 
  
5409
 
  NSS_InitContext() was introduced in NSS 3.12.5 and helps to prevent
5410
 
  collisions on NSS initialization/shutdown with other libraries.
5411
 
  
5412
 
  Bug: https://bugzilla.redhat.com/738456
5413
 
 
5414
 
- nss: unconditionally require PK11_CreateGenericObject()
5415
 
  
5416
 
  This bumps the minimal supported version of NSS to 3.12.x.
5417
 
 
5418
 
Guenter Knauf (13 Apr 2012)
5419
 
- Set batch mode to 755 to make Cygwin git pulls work.
5420
 
 
5421
 
- Added section for Android configure cross-compile.
5422
 
 
5423
 
- Added NetWare export.
5424
 
 
5425
 
Yang Tse (12 Apr 2012)
5426
 
- testcurl.pl: build example programs for MinGW cross-compiles
5427
 
 
5428
 
- tool_operate.c: fix compiler warning
5429
 
 
5430
 
- url.c: fix compiler warning
5431
 
 
5432
 
Guenter Knauf (12 Apr 2012)
5433
 
- Updated dependency lib versions (2nd try).
5434
 
 
5435
 
- Updated dependency lib versions.
5436
 
 
5437
 
Yang Tse (12 Apr 2012)
5438
 
- tool_formparse.c: rename a couple of vars to avoid declaration shadowing
5439
 
 
5440
 
- OS400/initscript.sh: fix db2_name() module name generation
5441
 
  
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.
5445
 
 
5446
 
- testcurl.pl: log more environment vars that modify configure and build behavior
5447
 
 
5448
 
- configure: NATIVE_WINDOWS no longer defined in config files
5449
 
 
5450
 
- build adjustments: CURL_HIDDEN_SYMBOLS no longer defined in config files
5451
 
  
5452
 
  configure script now provides conditional definitions for Makefile.am
5453
 
  that result in CURL_HIDDEN_SYMBOLS being defined by resulting makefiles
5454
 
  when appropriate.
5455
 
  
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.
5460
 
 
5461
 
- build adjustments: functionally revert commits 4d3fb91f and bbfe1182
5462
 
  
5463
 
  Undefining CURL_HIDDEN_SYMBOLS in source files isn't the proper fix.
5464
 
 
5465
 
- test servers: build adjustment
5466
 
  
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.
5469
 
 
5470
 
- libtests: build adjustment
5471
 
  
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.
5474
 
 
5475
 
- curl tool: make setup.h first header included in tool_setup.h again
5476
 
 
5477
 
- curl tool: use configuration files from lib directory - follow-up II
5478
 
  
5479
 
  lib/config-win32.h no longer copied to src/config-win32.h
5480
 
 
5481
 
- configure: Windows cross-compilation fixes
5482
 
  
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
5486
 
 
5487
 
- curl tool: make curl.h first header included in tool_setup.h
5488
 
 
5489
 
- curl tool: use configuration files from lib directory - follow-up I
5490
 
  
5491
 
  amigaos.[ch] now integrates nicely with any libcurl build
5492
 
 
5493
 
- curl tool: use configuration files from lib directory
5494
 
  
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.
5498
 
  
5499
 
  Additionally old src/setup.h has been refactored into src/tool_setup.h which
5500
 
  now pulls lib/setup.h
5501
 
  
5502
 
  The possibility of a makefile needing an include path adjustment exists.
5503
 
 
5504
 
Daniel Stenberg (6 Apr 2012)
5505
 
- PolarSSL: correct return code for CRL matches
5506
 
  
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.
5509
 
 
5510
 
- PolarSSL: include version number in version string
5511
 
  
5512
 
  Previously it would say PolarSSL only, now it says PolarSSL/1.1.0 in the
5513
 
  same style other libs and components do.
5514
 
 
5515
 
- test: added test 1332 that tests --post303
5516
 
 
5517
 
- curl: add --post303 to set the CURL_REDIR_POST_303 option
5518
 
 
5519
 
- [Andrei Cipu brought this change]
5520
 
 
5521
 
  CURLOPT_POSTREDIR: also allow 303 to do POST on the redirected URL
5522
 
  
5523
 
  As it turns out, some people do want that after all.
5524
 
 
5525
 
- test1331: cookies on a 407 response
5526
 
  
5527
 
  Verify that cookies are sent back even after a 407 response has been
5528
 
  received
5529
 
 
5530
 
- [Dag Ekengren brought this change]
5531
 
 
5532
 
  PolarSSL: add support for asynchronous connect
5533
 
 
5534
 
- [Tim Heckman brought this change]
5535
 
 
5536
 
  Revert "access the CA source file using HTTPS"
5537
 
  
5538
 
  This reverts commit f7e2ab6.
5539
 
  
5540
 
  This change caused fetching of the certificates to become unreliable.
5541
 
  
5542
 
  Bug: http://curl.haxx.se/mail/lib-2012-03/0238.html
5543
 
  Reported by: Tim Heckman
5544
 
 
5545
 
- [Andrei Cipu brought this change]
5546
 
 
5547
 
  IPv6 cookie domain: get rid of the first bracket before the second.
5548
 
  
5549
 
  Commit 97b66ebe was copying a smaller buffer, thus duplicating the last
5550
 
  character.
5551
 
 
5552
 
- MAIL-ETIQUETTE: Added "How to unsubscribe"
5553
 
  
5554
 
  ... as it seems to hard for some people
5555
 
 
5556
 
Yang Tse (4 Apr 2012)
5557
 
- ftp.c: ftplistparser related OOM handling fix
5558
 
 
5559
 
- smtp.c: fix compiler warnings
5560
 
 
5561
 
- lib599.c: fix compiler warning
5562
 
 
5563
 
Daniel Stenberg (4 Apr 2012)
5564
 
- runtests: yassl and polarssl are not openssl
5565
 
  
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.
5569
 
  
5570
 
  I spotted this problem when doing test runs with PolarSSL builds.
5571
 
 
5572
 
- [Lijo Antony brought this change]
5573
 
 
5574
 
  connect.c: return changed to CURLE_COULDNT_CONNECT when opensocket fails
5575
 
  
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.
5579
 
 
5580
 
Steve Holme (2 Apr 2012)
5581
 
- pop3: Reworked the command sending and handling
5582
 
  
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.
5586
 
 
5587
 
Daniel Stenberg (1 Apr 2012)
5588
 
- [Dave Reisner brought this change]
5589
 
 
5590
 
  curl tool: add filename_effective token for --write-out
5591
 
  
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.
5596
 
 
5597
 
Steve Holme (1 Apr 2012)
5598
 
- smtp.c: Code policing and tidy up
5599
 
 
5600
 
Daniel Stenberg (1 Apr 2012)
5601
 
- [Armel Asselin brought this change]
5602
 
 
5603
 
  SSH: public key can now be an empty string
5604
 
  
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
5608
 
  OpenSSL.
5609
 
 
5610
 
- [Tatsuhiro Tsujikawa brought this change]
5611
 
 
5612
 
  OpenSSL: Made cert hostname check conform to RFC 6125
5613
 
  
5614
 
  This change replaces RFC 2818 based hostname check in OpenSSL build with
5615
 
  RFC 6125 [1] based one.
5616
 
  
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.
5620
 
  
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).
5625
 
  
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.
5632
 
  
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.
5637
 
  
5638
 
  [1] http://tools.ietf.org/html/rfc6125#section-6.4.3
5639
 
  [2] https://bugzilla.mozilla.org/show_bug.cgi?id=159483
5640
 
 
5641
 
- HTTP: reset expected DL/UL sizes on redirects
5642
 
  
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
5650
 
  command line tool.
5651
 
  
5652
 
  Test case 599 was created and it was used to repeat the bug and then
5653
 
  verify the fix.
5654
 
  
5655
 
  Bug: http://curl.haxx.se/bug/view.cgi?id=3510057
5656
 
  Reported by: Michael Wallner
5657
 
 
5658
 
Steve Holme (31 Mar 2012)
5659
 
- [Gökhan Şengün brought this change]
5660
 
 
5661
 
  smtp: Add support for DIGEST-MD5 authentication
5662
 
 
5663
 
- [Gökhan Şengün brought this change]
5664
 
 
5665
 
  smtp: Cody tidy up of md5 digest length
5666
 
  
5667
 
  Replaced the hard coded md5 digest length (16) with a preprocessor
5668
 
  constant
5669
 
 
5670
 
- [Gökhan Şengün brought this change]
5671
 
 
5672
 
  md5: Add support for calculating the md5 sum of buffers incrementally
5673
 
  
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.
5677
 
 
5678
 
Daniel Stenberg (31 Mar 2012)
5679
 
- Revert "mk-ca-bundle.pl: use LWP::UserAgent for https"
5680
 
  
5681
 
  This reverts commit 9f0e1689f169b83b8fbdae23e0024cc57dcbc770.
5682
 
  
5683
 
  It turned out that "improvement" instead made the fetching of the
5684
 
  certificates unreliable
5685
 
  
5686
 
  Bug: http://curl.haxx.se/mail/lib-2012-03/0238.html
5687
 
  Reported by: Tim Heckman
5688
 
 
5689
 
Steve Holme (31 Mar 2012)
5690
 
- DOCS: Added information regarding POP3 commands to CURLOPT_CUSTOMREQUEST
5691
 
 
5692
 
- pop3: Added support for additional pop3 commands
5693
 
  
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.
5697
 
 
5698
 
Yang Tse (30 Mar 2012)
5699
 
- [tetetest tetetest brought this change]
5700
 
 
5701
 
  CMakeLists.txt: fix Windows LDAP/LDAPS option handling
5702
 
  
5703
 
  bug: http://curl.haxx.se/mail/lib-2012-03/0278.html
5704
 
 
5705
 
- [tetetest tetetest brought this change]
5706
 
 
5707
 
  CMakeLists.txt: fix MS Visual Studio x64 unsigned long long literal suffix
5708
 
  
5709
 
  bug: http://curl.haxx.se/mail/lib-2012-03/0255.html
5710
 
 
5711
 
Steve Holme (28 Mar 2012)
5712
 
- TODO: Corrected POP3 section heading
5713
 
 
5714
 
Yang Tse (28 Mar 2012)
5715
 
- curl-functions.m4: update detection logic of getaddrinfo() thread-safeness
5716
 
  
5717
 
  Take in account that h_errno might be a modifiable lvalue not defined as
5718
 
  a C preprocessor macro
5719
 
 
5720
 
Steve Holme (27 Mar 2012)
5721
 
- TODO: Added SMTP and POP3 specific features
5722
 
 
5723
 
Yang Tse (27 Mar 2012)
5724
 
- [Olaf Flebbe brought this change]
5725
 
 
5726
 
  tool_cb_dbg.c: fix tool_cb_dbg() to behave properly even for size 0
5727
 
  
5728
 
  curl segfault in debug callback triggered with CURLINFO_HEADER_OUT and size 0
5729
 
  
5730
 
  bug: http://curl.haxx.se/bug/view.cgi?id=3511794
5731
 
 
5732
 
- test #1405: support HTTP disabled builds
5733
 
 
5734
 
Steve Holme (26 Mar 2012)
5735
 
- test #809: Updated error code to match recent pop3 changes
5736
 
 
5737
 
Yang Tse (25 Mar 2012)
5738
 
- ssh.c: code cleanup, Curl_safefree() already nullifies pointer
5739
 
 
5740
 
- fix some compiler warnings
5741
 
 
5742
 
Steve Holme (25 Mar 2012)
5743
 
- pop3.c: Corrected problem with state() introduced in 01690ed2bce5
5744
 
 
5745
 
- pop.c: Small code tidy up
5746
 
 
5747
 
- pop3: Removed the need for the single message LIST command handler
5748
 
  
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.