~ubuntu-branches/ubuntu/saucy/curl/saucy-201307251546

1.1.2 by LaMont Jones
Import upstream version 7.12.3
1
                                  _   _ ____  _
2
                              ___| | | |  _ \| |
3
                             / __| | | | |_) | |
4
                            | (__| |_| |  _ <| |___
1 by Domenico Andreoli
Import upstream version 7.9.5
5
                             \___|\___/|_| \_\_____|
6
1.1.1 by Domenico Andreoli
Import upstream version 7.12.0.is.7.11.2
7
                                  Changelog
8
1.2.13 by Alessandro Ghedini
Import upstream version 7.22.0
9
Version 7.22.0 (13 Sep 2011)
10
11
Daniel Stenberg (13 Sep 2011)
12
- RELEASE-NOTES: ready for 7.22.0
13
14
- codestyle: minor whitespace fix
15
16
- [Jeff Pohlmeyer brought this change]
17
18
  polarssl: build with PolarSSL-1.0.0
19
  
20
  With this fix, it should work for PolarSSL-1.0.0 (and SVN-1091 trunk)
21
  and retain compatibility with earlier versions. (Tested with 0.14.1)
22
  
23
  PolarSSL still doesn't play nicely with curl's CA bundle (we discussed
24
  this before) but I was at least able to retrieve the
25
  https://www.gmail.com/ login page using a modified ca-certificates.crt
26
  file with all 3 versions of PolarSSL.
27
28
- BUGS: spellfixed, slightly reformatted for web looks
29
  
30
  Reported by: Jeff Pohlmeyer
31
32
Dan Fandrich (12 Sep 2011)
33
- Document NTLM winbind options (and caveats)
34
35
Daniel Stenberg (12 Sep 2011)
36
- BUGS: renumbered to look better in the web version
37
38
- BUGS: revamped bug report documentation
39
40
Yang Tse (12 Sep 2011)
41
- Mention that BSD-style lwIP TCP/IP stack support on Windows is experimental.
42
43
- ftp.c: fix socket leak torture tests detected 2011-08-30
44
  
45
  Also fix inappropriate error handling when sending ftp EPRT or PORT commands.
46
47
Daniel Stenberg (11 Sep 2011)
48
- TODO: remove 4 entries, add one new
49
  
50
  Zero-copy and "Avoid having to remove/readd handles" are not really
51
  features we think are worthwhile to add. Removed.
52
  
53
  SRP features have been added already, removed.
54
  
55
  11.9 IPv6 addresses with globbing added
56
57
- spell-checked comments
58
59
- TODO-RELEASE: postpone the remainders
60
  
61
  There's three pending bug fixes but there's no time left so let's
62
  try to get them fixed for next release...
63
64
Guenter Knauf (11 Sep 2011)
65
- Updated makefiles to latest libssh2.
66
67
Yang Tse (10 Sep 2011)
68
- urlglob.c: fix OOM handling
69
70
- ftp.c: fix ftp active connects which got broken with commit fdf157abdf
71
72
- runtests.pl: replace TAB with spaces
73
74
- test harness: revert needless commit 0a5bbb2ac1
75
  
76
  https, ftps and ssh servers allowed start up time back to previous values
77
78
- ssh.c: revert needless commit 7b7c45879e
79
80
Daniel Stenberg (9 Sep 2011)
81
- RELEASE-NOTES: synced with 303c90074d4c
82
  
83
  Five more bugfixes, one more contributor
84
85
- tcpnodelay: rename variable
86
  
87
  Renamed the variable from 'proto' to 'level' simply because it is not
88
  protocol you set but level and that is the name of the argument used in
89
  man pages and the POSIX documentation of the setsockopt function.
90
91
Guenter Knauf (8 Sep 2011)
92
- Avoid ftruncate() static define with MinGW64.
93
94
Yang Tse (8 Sep 2011)
95
- libssh2: use calloc as alloc function for libssh2 versions older than 1.3
96
  
97
  This workarounds old libssh2 versions not properly initializing
98
  some ssh session variables, which would trigger memory debuggers
99
  warnings on memory being used without having been initialized.
100
101
Daniel Stenberg (8 Sep 2011)
102
- [Adriano Meirelles brought this change]
103
104
  Curl_speedcheck: don't mistakenly clear Curl_expire()
105
  
106
  The current version of speedcheck.c may disable timeout by setting zero
107
  to Curl_expire. Which is fine using the curl_multi_perform, because it
108
  recheck all timeout internals, but when using custom event poller (like
109
  hiperfifo.c) it may keep stalle connection forever.
110
111
Yang Tse (8 Sep 2011)
112
- lib582.c: fix segfault triggered when torture testing test case 582
113
114
Daniel Stenberg (7 Sep 2011)
115
- ftp_state_use_port: minor code indent fix
116
117
- checksrc: detect "}else" uses as well
118
119
- getinmemory.c: use better argument names for write callback
120
121
Yang Tse (7 Sep 2011)
122
- ssh.c: fix memory leaks triggered upon OOM or other failures
123
124
- test case 583: ensure that test failures don't go unnoticed - follow-up
125
126
- test suite: libtest header inclusion cleanup - follow-up
127
  
128
  Adjust tests/libtest/Makefile.inc and remove a couple of unused headers from
129
  tests/libtest/lib583.c
130
131
- test case 583: ensure that test failures don't go unnoticed
132
133
- test suite: libtest header inclusion cleanup
134
  
135
  Added missing memoryTracking to test cases 560 and 583. If this triggers
136
  leak detection on these, it only means that previously it was going unnoticed.
137
138
- fix bool variables checking and assignment
139
140
- pingpong.c: avoid a memmove call in function Curl_pp_vsendf
141
142
- fix bool variables checking and assignment
143
144
- test suite: use test case specific netrc file names
145
146
Guenter Knauf (4 Sep 2011)
147
- Fixed final message output.
148
149
Daniel Stenberg (4 Sep 2011)
150
- TODO-RELEASE: deleteing five issues due to no response
151
  
152
  No feedback and no updates, removing these issues
153
154
Yang Tse (4 Sep 2011)
155
- setup_once.h cleanup and sync
156
157
Guenter Knauf (4 Sep 2011)
158
- Fix to skip untrusted certs.
159
160
- Added SPNEGO to MinGW makefiles.
161
162
Yang Tse (4 Sep 2011)
163
- NTLM WB: fix file descriptor leak upon OOM condition
164
165
- revert changes not intended to be pushed with commit 6b75d2c2
166
167
- fix a bunch of MSVC compiler warnings
168
169
Guenter Knauf (3 Sep 2011)
170
- Updated dependecies versions.
171
172
- Some MinGW makefile tweaks for MinGW64.
173
174
- Changed MinGW to use own winidn prototypes.
175
176
Dan Fandrich (2 Sep 2011)
177
- Fix NTLM winbind support to pass the torture tests
178
  
179
  Calling sclose() both in the child and the parent fools the
180
  socket leak detector into thinking it's been closed twice.
181
  Calling close() in the child instead overcomes this problem. It's
182
  not as portable as the sclose() macro, but this code is highly
183
  POSIX-specific, anyway.
184
185
Yang Tse (2 Sep 2011)
186
- MemoryTracking: fix logging of free() calls done where Curl_safefree is called
187
  
188
  Just internal stuff...
189
  
190
  Curl_safefree is now a macro defined in memdebug.h instead of a function
191
  prototyped in url.h and implemented in url.c, so inclusion of url.h is no
192
  longer required in order to simply use Curl_safefree.
193
  
194
  Provide definition of macro WHILE_FALSE in setup_once.h in order to allow
195
  other macros such as DEBUGF and DEBUGASSERT, and code using it, to compile
196
  without 'conditional expression is constant' warnings.
197
  
198
  The WHILE_FALSE stuff fixes 150+ MSVC compiler warnings.
199
200
- transfer.c: fix parentheses/braces placement for vi/emacs delimiter matching
201
202
- transfer.c: fix loadhostpairs() OOM handling
203
204
- test harness: https, ftps and ssh servers allowed start up time increased 33%
205
206
- hostip.c: return immediately from Curl_resolv_timeout() upon expired timeout.
207
  
208
  Ensure existing logic in Curl_resolv_timeout() is not subverted upon getting a
209
  negative timeout from resolve_server(). The timeout in resolve_server() could
210
  be checked to avoid calling Curl_resolv_timeout() with an expired timeout, but
211
  fixing this in this way allows existing logic in resolve_server() to be kept
212
  unchanged.
213
214
- ftp.c: fix some leaks torture tests detected 2011-08-30 - follow-up
215
  
216
  follow-up for commit d20408e8
217
218
- test harness: fix detection of test harness client knownhosts file
219
  
220
  Regenerate curl's tests client knownhosts file also when, somehow,
221
  this file is empty.
222
223
- test harness: fix detection of test harness host and client key files
224
  
225
  Regenerate curl's tests host and client key files also when, somehow,
226
  any of these files are empty.
227
228
- ssh.c: fix realloc() OOM handling
229
230
- ftp.c: fix some leaks torture tests detected 2011-08-30 - follow-up
231
  
232
  follow-up for commit c06de200
233
234
- fix some leaks torture tests detected 2011-08-30
235
236
- fix some leaks torture tests detected 2011-08-30
237
238
Daniel Stenberg (29 Aug 2011)
239
- RELEASE-NOTES: synced with 3445fa2e3f
240
241
Kamil Dudka (29 Aug 2011)
242
- tests: break busy loops in tests 502, 555, and 573
243
244
Yang Tse (29 Aug 2011)
245
- pingpong.c: fix Curl_pp_vsendf() arbitrary restrictions on command length
246
  
247
  This removes command length restrictions on calling functions.
248
249
- NTLM: header inclusion cleanup follow-up
250
251
- NTLM: header inclusion cleanup
252
253
- NTLM: END of refactoring/splitting/moving
254
  
255
  First:
256
  
257
  File curl_ntlm.h renamed curl_ntlm_msgs.h
258
  File curl_ntlm.c renamed curl_ntlm_msgs.c
259
  
260
  Afterwards:
261
  
262
  File http_ntlm.c renamed curl_ntlm.c
263
  File http_ntlm.h renamed curl_ntlm.h
264
265
- NTLM: move NTLM core specifics into curl_ntlm_core.[ch]
266
267
- NTLM_WB: move NTLM_WB specifics into curl_ntlm_wb.[ch]
268
269
- NTLM_WB: final congruency naming adjustments
270
  
271
  Configure script option --enable-wb-ntlm-auth renamed to --enable-ntlm-wb
272
  Configure script option --disable-wb-ntlm-auth renamed to --disable-ntlm-wb
273
  
274
  Preprocessor symbol WINBIND_NTLM_AUTH_ENABLED renamed to NTLM_WB_ENABLED
275
  Preprocessor symbol WINBIND_NTLM_AUTH_FILE renamed to NTLM_WB_FILE
276
  
277
  Test harness env var CURL_NTLM_AUTH renamed to CURL_NTLM_WB_FILE
278
  
279
  Static function wb_ntlm_close renamed to ntlm_wb_cleanup
280
  Static function wb_ntlm_initiate renamed to ntlm_wb_init
281
  Static function wb_ntlm_response renamed to ntlm_wb_response
282
283
- NTLM single-sign on adjustments (XI)
284
  
285
  Feature string literal NTLM_SSO renamed to NTLM_WB.
286
  Preprocessor symbol USE_NTLM_SSO renamed to WINBIND_NTLM_AUTH_ENABLED.
287
  curl's 'long' option 'ntlm-sso' renamed to 'ntlm-wb'.
288
  Fix some comments to make clear that this is actually a NTLM delegation.
289
290
Daniel Stenberg (26 Aug 2011)
291
- --cookie-jar: activates the cookie engine
292
293
- Curl_read_plain: indent code
294
295
Yang Tse (26 Aug 2011)
296
- NTLM single-sign on adjustments (X)
297
  
298
  Functions renamed:
299
  
300
  Curl_output_ntlm_sso -> Curl_output_ntlm_wb
301
  sso_ntlm_close -> wb_ntlm_close
302
  sso_ntlm_response -> wb_ntlm_response
303
  sso_ntlm_initiate -> wb_ntlm_initiate
304
  
305
  Preprocessor symbols renamed:
306
  
307
  CURLAUTH_NTLM_SSO -> CURLAUTH_NTLM_WB
308
  CURL_VERSION_NTLM_SSO -> CURL_VERSION_NTLM_WB
309
310
Daniel Stenberg (25 Aug 2011)
311
- TODO: progress callback without doubles
312
313
Yang Tse (25 Aug 2011)
314
- [Steve Holme brought this change]
315
316
  http NTLM: refactoring followup
317
  
318
  Output of Curl_ntlm_create_type1_message() and Curl_ntlm_create_type3_message()
319
  functions is now already base64 encoded.
320
321
Kamil Dudka (24 Aug 2011)
322
- docs: the next release is going to be 7.22.0
323
324
Yang Tse (24 Aug 2011)
325
- include limits.h for INT_MAX
326
327
- add missing semicolons
328
329
Daniel Stenberg (24 Aug 2011)
330
- add missing semicolons
331
332
- safefree use: fix compiler warning
333
  
334
  include the prototype header
335
336
Yang Tse (24 Aug 2011)
337
- [Steve Holme brought this change]
338
339
  SMTP authentication: fix ordering of preferred authentication method
340
  
341
  Fixed the order of the preferred SMTP authentication method to:
342
  AUTH CRAM-MD5, AUTH LOGIN then AUTH PLAIN.
343
  
344
  AUTH PLAIN should be the last as it slightly more insecure than AUTH LOGIN
345
  as the username and password are sent together - there is no handshaking
346
  between the client and server like there is with AUTH LOGIN.
347
348
- base64: fix Curl_base64_encode and Curl_base64_decode interfaces
349
  
350
  Previous interfaces for these libcurl internal functions did not allow to tell
351
  apart a legitimate zero size result from an error condition. These functions
352
  now return a CURLcode indicating function success or otherwise specific error.
353
  Output size is returned using a pointer argument.
354
  
355
  All usage of these two functions, and others closely related, has been adapted
356
  to the new interfaces. Relative error and OOM handling adapted or added where
357
  missing. Unit test 1302 also adapted.
358
359
Daniel Stenberg (23 Aug 2011)
360
- resolve.c: new example showing off CURLOPT_RESOLVE
361
362
- externalsocket.c: new example
363
364
Yang Tse (22 Aug 2011)
365
- [Steve Holme brought this change]
366
367
  http NTLM: remaining bits from 0001-Moved-ntlm-[...]-curl_ntlm-mod_3.patch
368
  
369
  * Added function comments:
370
      - Curl_ntlm_decode_type2_message
371
      - Curl_ntlm_create_type1_message
372
      - Curl_ntlm_create_type3_message
373
  
374
  * Modification of ntlm processing state to NTLMSTATE_TYPE2 is now done
375
    only when Curl_ntlm_decode_type2_message() has fully succeeded.
376
377
- runtests.pl: option -gw for single test windowed debugging (where possible)
378
379
- zlib: ensure user provided memory functions are used by zlib, when given
380
  
381
  As a bonus, this lets our MemoryTracking subsystem track zlib operations.
382
  And also fixes a shortcut some zlib 1.2.x versions took using malloc()
383
  instead of calloc(), which would trigger memory debuggers warnings on
384
  memory being used without having been initialized.
385
386
Daniel Stenberg (21 Aug 2011)
387
- main: fix segfault
388
  
389
  Follow-up to commit 5eb2396cd as that wasn't complete.
390
  
391
  At times HEADERFUNCTION+HEADERDATA was set only to have only HEADERDATA
392
  set in the subsequent loop which could cause a NULL to get sent as
393
  userdata to 'header_callback' which wasn't made to handle that.
394
  
395
  Now HEADERFUNCTION is explicitly set to NULL if it isn't set to the
396
  callback.
397
398
Yang Tse (21 Aug 2011)
399
- MemoryTracking: adjust initialization calling - followup
400
  
401
  Fix macro definition
402
403
- MemoryTracking: adjust initialization calling
404
  
405
  Calling of curl_memdebug() was still done with a pending free()
406
407
Daniel Stenberg (19 Aug 2011)
408
- tcpconnect: follow-up commit after b998d95b
409
  
410
  As I modified conn->bits.tcpconnect to become an array that holds one
411
  bool for each potential connection all uses of that struct field must
412
  index it correctly.
413
414
Yang Tse (19 Aug 2011)
415
- ssh.c: add PATH_MAX definition for WIN32
416
417
Daniel Stenberg (19 Aug 2011)
418
- connect: set TIMER_CONNECT
419
  
420
  When connecting, make sure TIMER_CONNECT is set.
421
422
- test573: fix the keywords
423
424
- FTP: fix proxy connect race condition
425
  
426
  When using the multi interface, a SOCKS proxy, and a connection that
427
  wouldn't immediately consider itself connected (which my Linux tests do
428
  by default), libcurl would be tricked into doing _two_ connects to the
429
  SOCKS proxy when it setup the data connection and then of course the
430
  second attempt would fail miserably and cause error.
431
  
432
  This problem is a regression that was introduced by commit
433
  4a42e5cdaa344755 that was introduced in the 7.21.7 release.
434
  
435
  Bug: http://curl.haxx.se/mail/lib-2011-08/0199.html
436
  Reported by: Fabian Keil
437
438
- Curl_SOCKS4: minor code compression
439
440
Yang Tse (18 Aug 2011)
441
- zlib: enforce full initialization of our data space z_stream structs
442
443
Daniel Stenberg (17 Aug 2011)
444
- VC makefiles: fixed variable name mistake
445
446
Yang Tse (17 Aug 2011)
447
- MemoryTracking: adjust curl_domalloc() and curl_dofree() memory filling
448
  
449
  Until 2011-08-17 libcurl's Memory Tracking feature also performed
450
  automatic malloc and free filling operations using 0xA5 and 0x13
451
  values. Our own preinitialization of dynamically allocated memory
452
  might be useful when not using third party memory debuggers, but
453
  on the other hand this would fool memory debuggers into thinking
454
  that all dynamically allocated memory is properly initialized.
455
  
456
  As a default setting, libcurl's Memory Tracking feature no longer
457
  performs preinitialization of dynamically allocated memory on its
458
  own. If you know what you are doing, and really want to retain old
459
  behavior, you can achieve this compiling with preprocessor symbols
460
  CURL_MT_MALLOC_FILL and CURL_MT_FREE_FILL defined with appropriate
461
  values.
462
463
- MemoryTracking: make curl_docalloc() call calloc() avoiding our zero fill
464
465
Daniel Stenberg (15 Aug 2011)
466
- MSVC makefiles: provide SSH build targets
467
  
468
  "release-ssl-ssh2-zlib" and "debug-ssl-ssh2-zlib" are two new makefile
469
  targets that build libcurl with MSVC and link with libssh2
470
  
471
  Bug: http://curl.haxx.se/bug/view.cgi?id=3388920
472
  Reported by: "kdekker"
473
474
- test572: fixed
475
  
476
  Two problems were fixed:
477
  
478
  GET_PARAMETER responses that have no body must be 204 response or
479
  properly set length to 0.
480
  
481
  One of the <data> sections had the wrong content-length for its
482
  GET_PARAMETER response.
483
  
484
  Enabled test 572 again.
485
486
- Curl_pgrsStartNow: clear all flags but HIDE
487
  
488
  As bug 3385258 pointed out but I missed up the fix for. This is another
489
  take at a fix.
490
  
491
  Bug: http://curl.haxx.se/bug/view.cgi?id=3392101
492
  Reported by: Wu Yongzheng
493
494
Yang Tse (15 Aug 2011)
495
- unittests: disable unit tests for some autobuild configurations
496
  
497
  IRIX 6.5.24 gcc 3.3 autobuilds fail unittests library compilation due to a
498
  problem related with OpenSSL headers and library versions not matching.
499
  
500
  All AIX autobuilds fails unit tests linking against unittests library due to
501
  unittests library being built with no symbols or members. Libtool ?
502
503
Kamil Dudka (15 Aug 2011)
504
- nss: start with no database if the selected database is broken
505
  
506
  Bug: https://bugzilla.redhat.com/728562
507
508
Yang Tse (15 Aug 2011)
509
- http NTLM: reinstate "nssg.h" "curl_sspi.h" header inclusions
510
511
- tests: disable #572
512
513
Daniel Stenberg (14 Aug 2011)
514
- TODO-RELEASE: synced
515
  
516
  Added comments to some remaining issues
517
518
- telnet: allow programatic use on Windows
519
  
520
  Summary of the issue can be found at:
521
  http://curl.haxx.se/mail/lib-2010-04/0367.html
522
  
523
  That patch only updated the unix sockets code - the winsock code was not
524
  updated and no longer works the same was as the unix code. This change
525
  updates the windows code accordingly.
526
  
527
  Bug: http://curl.haxx.se/bug/view.cgi?id=3163118
528
529
- TODO-RELEASE: fixed issue #291
530
  
531
  291 - bug 3383692 "GET PARAMETER request and body in response"
532
533
Yang Tse (14 Aug 2011)
534
- http NTLM: reinstate "memdebug.h" header inclusion
535
  
536
  Inclusion of header "memdebug.h" in http_ntlm.c got lost in commit 98fb0ef7.
537
538
Daniel Stenberg (14 Aug 2011)
539
- RTSP: GET_PARAMETER requests have a body
540
  
541
  Bug: http://curl.haxx.se/bug/view.cgi?id=3383692
542
543
- Curl_output_ntlm: remove unused variable
544
545
Yang Tse (14 Aug 2011)
546
- http NTLM: add curl_ntlm.c to Symbian's libcurl.mmp
547
548
- http NTLM: fix 8 compiler warnings
549
  
550
  Strict splitting of http_ntlm.[ch] may trigger 8 compiler warnings when
551
  building with some compilers and strict compiler warnings enabled, depending
552
  on other specific configuration options some could get triggered or not.
553
  
554
  Seven are related with 'unused function parameters' and another one with
555
  'var may be used before its value is set'.
556
557
- http NTLM: split http_ntlm.[ch] between http_ntlm.[ch] and curl_ntlm.[ch]
558
  
559
  For modularity purposes, huge chunks of NTLM existing code is transformed into
560
  functions to allow future internal code reuse.
561
  
562
  Resulting three new libcurl private functions:
563
  
564
   - Curl_ntlm_create_type1_message()
565
   - Curl_ntlm_create_type3_message()
566
   - Curl_ntlm_decode_type2_message()
567
  
568
  Changing static ntlm_sspi_cleanup() into non-static Curl_ntlm_sspi_cleanup()
569
  
570
  This 'refactoring' has been prepared by previous commits to allow that this
571
  specific one does not introduce any change to existing code. All existing
572
  goodness and badness previous to this commit should remain the same once it is
573
  applied, the only difference should be that existing code is moved into
574
  functions.
575
  
576
  Given the quite big portions of code being moved around, and the importance of
577
  change traceability, this commit has been done in such a way that it is
578
  possible to perform a three-way diff from initial http_ntlm.[ch] to resulting
579
  http_ntlm.[ch] and curl_ntlm.[ch] to actually verify that no functional change
580
  is introduced here.
581
  
582
  Notice that Steve Holme has provided several patches, but these included this
583
  refactoring along with 'extra' fixes. I really wanted this 'clean' refactoring
584
  done first, in order to allow discussion or committing of 'extra' fixes on a
585
  case by case basis, so, I had to bite the bullet ;-)
586
  
587
  Comments, line adjustments, compiler warning fixes, whatever, may follow
588
  afterwards.
589
590
- http_negotiate_sspi.c: fix compiler warning
591
  
592
  warning C4706: assignment within conditional expression
593
594
- http NTLM: change return type of Curl_input_ntlm() to CURLcode
595
  
596
  Remove CURLntlm enum, no longer required.
597
598
Daniel Stenberg (13 Aug 2011)
599
- RELEASE-NOTES: synced with a30ede868ab64
600
  
601
  Three more bugs fixed, three more contributors mentioned
602
603
- VC6 makefiles: added embedded documentation
604
  
605
  Just a note about the fact that all VC[6/8/9/10] makefiles are generated
606
  from the VC6 one as source.
607
608
- cmake: find winsock when building on windows
609
  
610
  When building on Windows, with CMake and mingw, curl fails to compile
611
  because the CMake build system is not properly looking for the Winsock
612
  libraries
613
  
614
  Patch by: Pau Garcia i Quiles
615
  Bug: http://curl.haxx.se/bug/view.cgi?id=3389231
616
617
- Curl_retry_request: check return code!
618
  
619
  Curl_readrewind() was called without checking its return code, which
620
  could lead to badness.
621
  
622
  Bug: http://curl.haxx.se/bug/view.cgi?id=3349227
623
624
- ignore rtsp
625
626
Yang Tse (13 Aug 2011)
627
- http NTLM: update NTLM type-* message structure descriptions - followup
628
629
Daniel Stenberg (12 Aug 2011)
630
- docs: --delegation
631
632
- added --delegation
633
  
634
  Using this option with an argument being set to one of
635
  none/policy/always instructs libcurl how to deal with GSS
636
  credentials. Or rather how it tells the server that delegation is fine
637
  or not.
638
639
Yang Tse (12 Aug 2011)
640
- http NTLM: fix inclusion of curl_ntlm.h
641
642
- http NTLM: update NTLM message structure notes
643
644
- [Steve Holme brought this change]
645
646
  http NTLM: move portions of http_ntlm.h into new curl_ntlm.h
647
648
- http NTLM: more adjustments in preparation of code refactoring
649
  
650
  Use preprocessor symbol NTLM_BUFSIZE to define private NTLM buffer fixed size.
651
  
652
  Use a SessionHandle 'data' pointer variable to ease refactoring.
653
  
654
  Update NTLM type-* message structure descriptions.
655
  
656
  Fix some more spacing and typos (Steve Holme).
657
658
Daniel Stenberg (11 Aug 2011)
659
- curl_easy_cleanup: clarify the callback situation
660
661
Yang Tse (11 Aug 2011)
662
- http NTLM: fix compiler warning
663
664
- [Steve Holme brought this change]
665
666
  http NTLM: Tidied up more inconsistent spacing.
667
  
668
  Moved NTLMSSP_SIGNATURE, HOSTNAME_MAX, SHORTPAIR and LONGQUARTET definitions in ready for move to curl_ntlm.c.
669
  
670
  Used separate variables for Windows SSPI and native code to ease moving of code to curl_ntlm.c.
671
  
672
  Fixed typographical erros where SPPI should be SSPI.
673
  
674
  Fixed compilation warnings on 64-bit builds when calling Windows SSPI functions.
675
676
Daniel Stenberg (10 Aug 2011)
677
- rtsp.c: converted to C
678
  
679
  Trimmed the newlines to be LF-only. Converted the source to plain C, to
680
  use curl style indents, to compile warning-free with picky options and
681
  fixed the minor fprintf() bug on line 245. Added to makefile.
682
683
- [Jim Hollinger brought this change]
684
685
  rtsp.c: new example
686
  
687
  Code from
688
  http://code.google.com/p/rtsprequest/source/browse/trunk/rtsprequest.cpp
689
690
- TODO: remove curl_formpost in a future version
691
  
692
  15.8 remove 'curl_httppost' from public
693
694
Yang Tse (9 Aug 2011)
695
- http NTLM: Further tiding up to libcurl standards
696
697
- [Steve Holme brought this change]
698
699
  http NTLM: Tidied up http_ntlm prior to splitting the ntlm specific code
700
701
Daniel Stenberg (9 Aug 2011)
702
- TODO-RELEASE: issue #289 is fixed
703
  
704
  289 - bug 3349227 "secure attribute in cookie does not work with equals sign"
705
706
- cookie parser: handle 'secure='
707
  
708
  There are two keywords in cookie headers that don't follow the regular
709
  name=value style: secure and httponly. Still we must support that they
710
  are written like 'secure=' and then treat them as if they were written
711
  'secure'. Test case 31 was much extended by Rob Ward to test this.
712
  
713
  Bug: http://curl.haxx.se/bug/view.cgi?id=3349227
714
  Reported by: "gnombat"
715
716
- curl.h: mark deprecated CURLOPT_ options on same line
717
  
718
  This is to aid easier machine parsing and to make sure nobody who reads
719
  these header lines can miss the info.
720
721
- RELEASE-NOTES: recounted and updated some numbers
722
723
- proxy protocol docs: rephrased and updated
724
725
- RELEASE-NOTES: synced with 45d883d88df7
726
  
727
  Mention 5 bugixes and 1 change more
728
729
- CURLFORM_BUFFER: insert filename as documented
730
  
731
  A regression where CURLFORM_BUFFER stopped to properly insert the file
732
  name part in the formpart. Bug introduced in commit f851f768578dc096.
733
  
734
  Added CURLFORM_BUFFER use to test 554 to verify this.
735
  
736
  Bug: http://curl.haxx.se/mail/lib-2011-07/0176.html
737
  Reported by: Henry Ludemann
738
739
Yang Tse (8 Aug 2011)
740
- curl-compilers.m4: serial number bump
741
742
- curl-compilers.m4: CURL_CONVERT_INCLUDE_TO_ISYSTEM adjustments:
743
  
744
  Add CURL_CHECK_COMPILER as a requirement.
745
  
746
  Ensure macro does nothing unless GNU_C or CLANG compiler is used.
747
  
748
  This should allow usage of this macro in unforeseen placements.
749
750
Daniel Stenberg (8 Aug 2011)
751
- SOCKS: fix the connect timeout
752
  
753
  The connect timeout logic when using SOCKS was done wrong
754
  
755
  Bug: http://curl.haxx.se/mail/lib-2011-07/0177.html
756
  Reported by: "Spoon Man"
757
758
- ftp_doing: bail out on error properly
759
  
760
  When a failure has been detected we must abort immdiately.
761
  
762
  Bug: http://curl.haxx.se/mail/lib-2011-07/0177.html
763
  Reported by: "Spoon Man"
764
765
- s/7.21.8/7.22.0
766
767
- version bump: next release is 7.22.0
768
769
- VERSIONS: clarify our versioning concept
770
  
771
  Drop the pre-release part from this text as we don't use that in
772
  practise since many years.
773
  
774
  Update the phrasing to reflect our more strict interpretation:
775
  http://curl.haxx.se/mail/lib-2011-08/0064.html
776
777
- [Cristian Rodríguez brought this change]
778
779
  OpenSSL: Use SSL_MODE_RELEASE_BUFFERS if available, reduces memory use
780
  
781
  See also :
782
  http://www.openssl.org/docs/ssl/SSL_CTX_set_mode.html
783
  http://www.imperialviolet.org/2010/06/25/overclocking-ssl.html
784
  
785
  Signed-off-by: Cristian Rodríguez <crrodriguez@opensuse.org>
786
787
- TODO-RELEASE: close issue #292
788
  
789
  Fixed:
790
  292 - bug 3385258 "Addendum to 3370895"
791
  
792
  Basically brushing up commit 27b8814017a19
793
794
- Curl_pgrsStartNow: clear all bits except HIDE
795
  
796
  Bug: http://curl.haxx.se/bug/view.cgi?id=3385258
797
  Reported by: Ben Winslow
798
799
- readwrite_data: improved C-E decoding error message
800
801
Yang Tse (7 Aug 2011)
802
- BSD-style lwIP TCP/IP stack support - followup
803
  
804
  lwIP library initialization.
805
806
- NTLM single-sign on adjustments (IX)
807
  
808
  Use swrite/sread instead of write/read to avoid SIGPIPE
809
810
- config-win32.h: comments adjustments
811
812
Daniel Stenberg (6 Aug 2011)
813
- TODO-RELEASE: committed issue #304
814
  
815
  304 - "Async-DNS-resolve-thread gets started even when a dotted IP is
816
        provided" by Christian H<E4>gele
817
        http://curl.haxx.se/mail/lib-2011-08/0009.html
818
819
- [Christian HÀgele brought this change]
820
821
  asyn-thread: check for dotted addresses before thread starts
822
823
- TODO-RELEASE: Add #307 two issues by "Spoon Man"
824
825
Yang Tse (5 Aug 2011)
826
- checksrc.pl: add quotes to var
827
828
- keep a single copy of config-win32.h in version control repository - followup
829
  
830
  Allow configure builds to generate src/config-win32.h
831
  
832
  Skip checksrc on src/config-win32.h contents already checked at lib/config-win32.h
833
  
834
  Allow multiple -W in checksrc.pl
835
836
- BSD-style lwIP TCP/IP stack support - docs/INSTALL blurb
837
838
- BSD-style lwIP TCP/IP stack support - followup
839
840
- git ignore src/config-win32.h
841
842
- keep a single copy of config-win32.h in version control repository.
843
  
844
  maketgz and buildconf.bat updated to reflect this.
845
846
Daniel Stenberg (5 Aug 2011)
847
- RELEASE-NOTES: synced with afe88d85f40e1
848
849
- test710: verify that --proxy socks5://hostname works
850
851
- create_conn: mark non-HTTP proxies accordingly
852
  
853
  A proxy could be marked 'httpproxy' wrongly before if set with an
854
  environment variable or with the CURLOPT_PROXY option with a socks*://
855
  prefix or similar.
856
  
857
  Added test 710 to verify
858
  
859
  Bug: http://curl.haxx.se/mail/lib-2011-07/0194.html
860
861
- test709: HTTP GET via SOCKS5 set in environment
862
863
- TODO-RELEASE: issue #293 is done
864
  
865
  Fixed:
866
  293 - from http://bugzilla.redhat.com/723075 "curl segfaults"
867
868
- segfault fixed
869
  
870
  When using both -J and a single -O with multiple URLs, a missing init
871
  could cause badness.
872
  
873
  Bug: http://curl.haxx.se/mail/lib-2011-07/0126.html and
874
       http://bugzilla.redhat.com/723075
875
  Reported by: Paul Howarth and Garrett Holmstrom
876
877
- test1313: test content-disposition with uneven quotes
878
879
- parse_filename: deal with escaped quotes
880
881
Yang Tse (4 Aug 2011)
882
- BSD-style lwIP TCP/IP stack support:
883
  
884
  Allow compilation of libcurl and curl using BSD-style lwIP on Win32.
885
  
886
  In order to compile libcurl and curl with this support it is necessary
887
  to edit files lib/config-win32.h and src/config-win32.h and uncomment
888
  a line to make definition of preprocessor symbol USE_LWIPSOCK visible.
889
  
890
  Afterwards you can compile as usual.
891
  
892
  In order to use compiled library with BSD-style lwIP TCP/IP stack in
893
  your program it is mandatory that you include lwIP header file <lwip/opt.h>
894
  before including <curl/curl.h> or <curl/multi.h>
895
  
896
  Compilation has been verified with lwIP 1.4.0 and contrib-1.4.0 from:
897
  
898
  http://download.savannah.gnu.org/releases/lwip/lwip-1.4.0.zip
899
  http://download.savannah.gnu.org/releases/lwip/contrib-1.4.0.zip
900
  
901
  Have fun!
902
903
- curl.h: untangle a preprocessor block, removing duplicate sys/types.h inclusion
904
905
Daniel Stenberg (4 Aug 2011)
906
- TODO-RELEASE: issue #290 fixed
907
  
908
  Closed this entry:
909
  290 - bug 3375603 "curl has problem with remote names containing ';'"
910
911
- -J: support ';' in quoted file names
912
  
913
  Content-disposition headers can provide file names with semicolons which
914
  previously would be cut off at that point.
915
  
916
  Added test case 1311 and 1312 to verify -J.
917
  
918
  Bug: http://curl.haxx.se/bug/view.cgi?id=3375603
919
  Reported by: Peter Hjalmarsson
920
921
- getpart.pm: when no part match, return blank when section ends
922
923
- runtests.pl: support option=no-include
924
925
- TODO-RELESE: #306 - SSL Sessions shared
926
927
- TODO-RELEASE: updated with current issues
928
929
Kamil Dudka (3 Aug 2011)
930
- curl_gssapi: add a missing include of sendf.h
931
  
932
  ... to avoid build failure when GSS_C_DELEG_POLICY_FLAG is not defined.
933
  
934
  Reported by: Paul Howarth
935
936
- curl_gssapi: refine the handling of CURLOPT_GSSAPI_DELEGATION
937
  
938
  Suggested by Richard Silverman.
939
940
- [Adam Tkac brought this change]
941
942
  Add new CURLOPT_GSSAPI_DELEGATION option.
943
  
944
  Curl_gss_init_sec_context got new parameter - SessionHandle.
945
  
946
  Signed-off-by: Adam Tkac <atkac@redhat.com>
947
948
Yang Tse (31 Jul 2011)
949
- configure: add check for <sys/wait.h>
950
951
- NTLM single-sign on adjustments (VIII)
952
  
953
  Use preprocessor symbols WINBIND_NTLM_AUTH_ENABLED and WINBIND_NTLM_AUTH_FILE
954
  for Samba's winbind daemon ntlm_auth helper code implementation and filename.
955
  
956
  Retain preprocessor symbol USE_NTLM_SSO for NTLM single-sign-on feature
957
  availability implementation independent.
958
  
959
  For test harness, prefix NTLM_AUTH environment vars with CURL_
960
  
961
  Refactor and rename configure option --with-ntlm-auth to --enable-wb-ntlm-auth[=FILE]
962
963
Dan Fandrich (29 Jul 2011)
964
- Renumbered test2005 to test1310
965
  
966
  The 20xx range is for multiple sequential tests.
967
968
Yang Tse (29 Jul 2011)
969
- curl-functions.m4 serial # bump
970
971
- Revert "configure: additional flag checks for fcntl() socket() and socketpair()"
972
  
973
  This reverts commit bc6e6a465ad0b9f9757c4385698fe5f255dd125b.
974
975
- configure: additional flag checks for fcntl() socket() and socketpair()
976
977
- NTLM single-sign on adjustments (VII)
978
  
979
  Initialize variables when connectdata object is created.
980
981
- socketpair() usage tracking to allow fd leak detection
982
983
- fix compiler warning
984
985
Dan Fandrich (28 Jul 2011)
986
- Avoid a "shadows global declaration" warning on old MIT Kerberos
987
  
988
  Defining NCOMPAT eliminates the backwards-compatibility macros
989
  that are the source of the problem and which we don't need,
990
  anyway.
991
992
Yang Tse (28 Jul 2011)
993
- NTLM single-sign on adjustments (VI)
994
  
995
  Fix compiler warning
996
997
Dan Fandrich (28 Jul 2011)
998
- Give the NTLM SSO helper a moment to cleanly shut down if needed
999
1000
- Removed an extraneous \n that violated the SSO daemon protocol
1001
  
1002
  This caused fake_ntlm to abort due to an invalid command
1003
  causing sporadic test 2005 failures.
1004
1005
Yang Tse (28 Jul 2011)
1006
- NTLM single-sign on adjustments (V)
1007
  
1008
  Enhance test harness fake_ntlm logging upon invalid input.
1009
1010
Dan Fandrich (27 Jul 2011)
1011
- Fixed a couple of memory leaks in NTLM SSO support
1012
1013
Yang Tse (27 Jul 2011)
1014
- NTLM single-sign on adjustments (IV)
1015
  
1016
  Fix compiler warning
1017
1018
- NTLM single-sign on adjustments (III)
1019
  
1020
  Provide some error tracing and fix execl() calling.
1021
1022
- NTLM single-sign on adjustments (II)
1023
  
1024
  Ensure test harness fake_ntlm main function can properly handle arguments.
1025
1026
- NTLM single-sign on adjustments (I)
1027
  
1028
  Use fake_ntlm absolute filename in NTLM_AUTH environment variable for test
1029
  2005 definition.
1030
1031
Dan Fandrich (26 Jul 2011)
1032
- Fixed test 2005 to work in out-of-tree builds
1033
  
1034
  Also, set the test number in the test data file so fake_ntlm can
1035
  be reused in future tests.
1036
1037
Yang Tse (26 Jul 2011)
1038
- fix compiler warning
1039
1040
- fix compiler warning
1041
1042
- stdio.h, stdlib.h, string.h, stdarg.h and ctype.h inclusion done in setup_once.h
1043
1044
- WIN32 io.h and fcntl.h inclusion done in setup_once.h
1045
1046
- time.h and sys/time.h inclusion conditionally done in setup_once.h
1047
1048
- errno.h inclusion conditionally done in setup_once.h - followup
1049
1050
- errno.h inclusion conditionally done in setup_once.h
1051
1052
Daniel Stenberg (22 Jul 2011)
1053
- [Ben Winslow brought this change]
1054
1055
  progress: reset flags at transfer start
1056
  
1057
  When an easy handle is used to download an URI which has no
1058
  Content-Length header (or equivalent) after downloading an URI which
1059
  does, the value from the previous transfer is reused and returned by
1060
  CURLINFO_CONTENT_LENGTH_DOWNLOAD. This is because the progress flags
1061
  (used to determine whether such a header was received) are not reset
1062
  between transfers.
1063
  
1064
  Bug: http://curl.haxx.se/bug/view.cgi?id=3370895
1065
1066
- RELEASE-NOTES: HTTP error handling on request body send
1067
1068
- http error response: stop sending when error is received
1069
  
1070
  When libcurl has said to the server that there's a POST or PUT coming
1071
  (with a content-length and all) it has to either deliver that amount of
1072
  data or it needs to close the connection before trying a second request.
1073
  
1074
  Adds test case 1129, 1130 and 1131
1075
  
1076
  The bug report is about when used with 100-continue, but the change is
1077
  more generic.
1078
  
1079
  Bug: http://curl.haxx.se/mail/lib-2011-06/0191.html
1080
  Reported by: Steven Parkes
1081
1082
- [Michael Mueller brought this change]
1083
1084
  sso_ntlm_initiate: unassigned variable
1085
  
1086
  Bug: http://curl.haxx.se/mail/lib-2011-07/0109.html
1087
1088
- test2005: require a debug build
1089
1090
- runtests: add 'debug' as a feature a test can require
1091
1092
- configure: avoid "test -e"
1093
  
1094
  "test -e" is POSIX but clearly was not supported by the SunOS sh
1095
  version, -f is supported and should be a decent equivalent
1096
  
1097
  Bug: http://curl.haxx.se/bug/view.cgi?id=3371574
1098
1099
- symbols-in-versions: add NTLM_SSO symbols
1100
1101
- gitignore: ignore fake_ntlm
1102
1103
- [Mandy Wu brought this change]
1104
1105
  test2005: verify ntlm single-signon
1106
1107
- [Mandy Wu brought this change]
1108
1109
  NTLM single-sign on supported
1110
  
1111
  With the use of the 'ntlm_auth' tool from the Samba project
1112
1113
- sws: don't enable pipelining for requests with content-length
1114
  
1115
  Log texts also modified and some white space edits
1116
1117
Patrick Monnerat (14 Jul 2011)
1118
- Fix OS400 scripts to make it compilable again.
1119
  Upgrade ILE/RPG binding to 7.21.7.
1120
  Update OS400 documentation accordingly.
1121
1122
Daniel Stenberg (14 Jul 2011)
1123
- runtests: ignore the 'all_proxy' environment variable as well
1124
  
1125
  We should probably also make sure that [protocol]_proxy for all possible
1126
  protocols libcurl supports are unset.
1127
1128
Julien Chaffraix (13 Jul 2011)
1129
- curl_gssapi: Guard files with HAVE_GSSAPI.
1130
  
1131
  Bug: http://curl.haxx.se/mail/lib-2011-07/0074.html
1132
  Reported and fix suggested by: Ben Greear
1133
1134
Daniel Stenberg (13 Jul 2011)
1135
- gssapi: rename our files to avoid conflicts
1136
  
1137
  gssapi.h is used as a header name by Heimdal-style GSSAPI so it would
1138
  conflict with a private header using that name, and while renaming the
1139
  header I figured we should name the .c file accordingly as well.
1140
  
1141
  Bug: http://curl.haxx.se/mail/lib-2011-07/0071.html
1142
  Reported by: Ben Greear
1143
1144
- silence picky compilers: mark unused parameters
1145
  
1146
  Modern gcc versions (4.6.X) get more picky by default and have started
1147
  to warn for unused parameters, but luckily gcc also allows us to mark
1148
  them as unused so that we can avoid the warnings.
1149
1150
Julien Chaffraix (12 Jul 2011)
1151
- gssapi.c: Simplified the function.
1152
  
1153
  Removed the parameters that were common to all our invocation.
1154
1155
- Added Curl_gss_init_sec_context.
1156
  
1157
  This function wraps our calls to gss_init_sec_context so that we
1158
  have a unified way to talk to GSSAPI.
1159
1160
- http_negociate: Be consistent in gss_init_sec_context attributes.
1161
  
1162
  This change makes this callsite match the rest of the code.
1163
1164
Daniel Stenberg (4 Jul 2011)
1165
- code style: space between close paren and open brace
1166
1167
- checksrc: detect open brace without space
1168
  
1169
  We use "if(condition) {" with a space between the close paren and the
1170
  open brace.
1171
1172
- polarssl.h: remove CVS leftover
1173
1174
- help output: more gnu like output
1175
  
1176
  First, the -J/--remote-header-name was wrongly sorted in the --help
1177
  output as pointed out in bug report #3349271.
1178
  
1179
  Then, I changed the format of the texts to follow the man page better in
1180
  that it now uses "-A, --long" intead of "-A/--long". I also made all
1181
  additional arguments get written as in "-A, --long FILENAME" instead of
1182
  the previous "<filename>" style.
1183
  
1184
  Reported by: Herve Amblard
1185
  Bug: http://curl.haxx.se/bug/view.cgi?id=3349271
1186
1187
- sws: allow multiple commands in <servercmd>
1188
1189
- Curl_http_readwrite_headers: minor indent fix
1190
1191
- gitignore: config.cache
1192
1193
- docs: FTP quotes support '*' prefix to ignore errors
1194
  
1195
  By default libcurl stops processing quote commands on failures.
1196
1197
- THANKS: new contributors from 7.21.7
1198
1199
- get_gss_name: proxy auth without proxy set equals error
1200
  
1201
  Previously it would access a NULL pointer and die.
1202
  
1203
  Bug: http://curl.haxx.se/mail/lib-2011-06/0170.html
1204
  Reported by: Christian Hagele
1205
1206
- examples: cleanup curl includes
1207
  
1208
  Only <curl/curl.h> is needed typically and curl/types.h has been removed
1209
1210
- libtests: stop checking for CURLM_CALL_MULTI_PERFORM
1211
  
1212
  CURLM_CALL_MULTI_PERFORM stopped being a valid return code from
1213
  curl_multi_perform back in 7.20.0. All the libcurl tests are ajusted to
1214
  this and no longer check for this return code. Makes them simpler.
1215
1216
Dan Fandrich (24 Jun 2011)
1217
- Fixed test 1300 to pass the memory torture test
1218
1219
- Display notes from setup file in testcurl.pl
1220
  
1221
  Autobuild submitters can use this to add some text to their
1222
  setup files to describe issues they've found with the build
1223
  or tests. This could include laying blame on test failures on
1224
  network issues or dependent libraries, explaining away compiler
1225
  warnings or providing any additional information that could be
1226
  useful to people reviewing and investigating problems with the
1227
  publicly available autobuild logs.  Note that persistent test
1228
  failures that are not issues with curl itself should normally be
1229
  fixed by excluding them from the test run instead.
1230
  
1231
  This is an entirely optional field that is not entered by the
1232
  user the first time a new build is created.
1233
1234
- Added a leap second test to test517
1235
1236
Daniel Stenberg (23 Jun 2011)
1237
- runtests.pl: warn if a test is explicitly disabled
1238
  
1239
  Just to make sure a user is aware of it.
1240
1241
- bump release: start working towards 7.21.8
1242
1243
- parsedate: detect more invalid dates better
1244
1.2.12 by Ramakrishnan Muthukrishnan
Import upstream version 7.21.7
1245
Version 7.21.7 (23 Jun 2011)
1246
1247
Daniel Stenberg (23 Jun 2011)
1248
- curl_formfree: clarify which pointer to free
1249
1250
- RELEASE-NOTES: mention security issue 20110623
1251
  
1252
  libcurl inappropriate GSSAPI delegation. Full details at
1253
  http://curl.haxx.se/docs/adv_20110623.html
1254
1255
- RELEASE-NOTES: synced with 9016958aa8989
1256
1257
- Curl_input_negotiate: do not delegate GSSAPI credentials
1258
  
1259
  This is a security flaw. See curl advisory 20110623 for details.
1260
  
1261
  Reported by: Richard Silverman
1262
1263
- [Josue Andrade Gomes brought this change]
1264
1265
  windows build: use correct MS CRT
1266
1267
- Merge pull request #23 from salty-horse/pop3_list_space
1268
  
1269
  [pop3] remove extra space in LIST command
1270
1271
Ori Avtalion (21 Jun 2011)
1272
- [pop3] remove extra space in LIST command
1273
  
1274
  Some servers, e.g. mail.bezeqint.net:110, consider it a syntax error
1275
1276
Yang Tse (21 Jun 2011)
1277
- http: fix compiler warning
1278
  
1279
  compiler warning: conditional expression is constant
1280
1281
- asyn-thread: fix compiler warning
1282
  
1283
  compiler warning: variable is initialized but not referenced
1284
1285
- cmake: remove spurious definition
1286
1287
Daniel Stenberg (21 Jun 2011)
1288
- FAQ: more blurb on persistent connections
1289
1290
Yang Tse (21 Jun 2011)
1291
- xc-translit.m4 fix quoting
1292
1293
Daniel Stenberg (20 Jun 2011)
1294
- INSTALL: mention the GIT-INFO file
1295
1296
Dan Fandrich (20 Jun 2011)
1297
- Added LOCAL_MODULE_TAGS to support Android gingerbread
1298
1299
Daniel Stenberg (19 Jun 2011)
1300
- [Amr Shahin brought this change]
1301
1302
  unitteset: Curl_llist_move
1303
  
1304
  adding unit test for Curl_llist_move, documenting unit-tested functions
1305
  in llist.c, changing unit-test to unittest, replacing assert calls with
1306
  abort_unless calls
1307
1308
- CURLFORM_STREAM: acknowledge CURLFORM_FILENAME
1309
  
1310
  The CURLFORM_STREAM is documented to only insert a file name (and thus
1311
  look like a file upload) in the part if CURLFORM_FILENAME is set, but in
1312
  reality it always inserted a filename="" and if CURLFORM_FILENAME wasn't
1313
  set, it would insert insert rubbish (or possibly crash).
1314
  
1315
  This is now fixed to work as documented, and test 554 has been extended
1316
  to verify this.
1317
  
1318
  Reported by: Sascha Swiercy
1319
  Bug: http://curl.haxx.se/mail/lib-2011-06/0070.html
1320
1321
Yang Tse (17 Jun 2011)
1322
- configure: avoid direct usage of AS_TR_* macros
1323
1324
- xc-translit.m4 provides transliteration macros with well defined behavior.
1325
1326
Daniel Stenberg (14 Jun 2011)
1327
- RELEASE-NOTES: add more contributors for this release
1328
1329
- RELEASE-NOTES: synced with 0aedccc18a33a778535
1330
1331
- curl_formget: fix FILE * leak
1332
  
1333
  Properly deal with the fact that the last fread() call most probably is
1334
  a short read, and when using callbacks in fact all calls can be short
1335
  reads. No longer consider a file read done until it returns a 0 from the
1336
  read function.
1337
  
1338
  Reported by: Aaron Orenstein
1339
  Bug: http://curl.haxx.se/mail/lib-2011-06/0048.html
1340
1341
- curl_formget: treat CURLFORM_STREAM better
1342
  
1343
  If a piece is set to use a callback to get the data, it should not be
1344
  treated as data. It unfortunately also requires that curl_easy_perform()
1345
  or similar has been used as otherwise the callback function hasn't been
1346
  figured out and curl_formget won't know how to get the content.
1347
1348
- curl_formget.3: CURLFORM_STREAM has its drawbacks
1349
  
1350
  Due to a design flaw, the CURLFORM_STREAM option doesn't really work
1351
  with curl_formget until after curl_easy_perform (or similar).
1352
1353
- FAQ: binding clarification
1354
  
1355
  We don't author the bindings, they are created outside the main project.
1356
1357
Dan Fandrich (11 Jun 2011)
1358
- Added http as a dependency of test 1308
1359
1360
Daniel Stenberg (12 Jun 2011)
1361
- test1309: added to the dist
1362
1363
- write: add return code checks when used
1364
  
1365
  These were just warnings in test code but it still makes it nicer to not
1366
  generate them.
1367
1368
- long/int mess
1369
  
1370
  Typecast when converting to int from long to avoid some compiler warnings
1371
1372
Yang Tse (11 Jun 2011)
1373
- configure: OpenSSL API detection cleanup
1374
1375
Dan Fandrich (11 Jun 2011)
1376
- Fixed test 1309 to pass the torture test
1377
  
1378
  Removing dynamic allocations also simplifies the test.
1379
1380
Daniel Stenberg (10 Jun 2011)
1381
- splay: add unit tests
1382
  
1383
  The test code that was #ifdef'ed in the code was converted into unit
1384
  tests in test case 1309. I also removed the #if 0'ed code from splay.c
1385
1386
- unittest: mark all unit tested functions
1387
  
1388
  With "@unittest: [num]" in the header comment for each tested function.
1389
  Shows we have a log way to go still...
1390
1391
- CURLOPT_WRITEHEADER: clarify the docs
1392
1393
- unit test formpost: added test case 1308
1394
  
1395
  This is a few first rather basic tests of curl_formadd() and
1396
  curl_formget(). Should serve as building blocks to add more variations
1397
  to the test.
1398
1399
Yang Tse (9 Jun 2011)
1400
- configure: warn if OpenSSL headers and library versions don't match
1401
1402
- configure: get API info for a couple of OpenSSL functions (followup 2)
1403
1404
- configure: get API info for a couple of OpenSSL functions (followup 1)
1405
1406
- configure: fix recvfrom 5th arg type qualifier detection (followup)
1407
1408
- configure: fix recvfrom 5th arg type qualifier detection
1409
1410
Kamil Dudka (8 Jun 2011)
1411
- disconnect: wipe out the keeps_speed time stamp
1412
  
1413
  When closing a connection, the speedchecker's timestamp is now deleted
1414
  so that it cannot accidentally be used by a fresh connection on the same
1415
  handle when examining the transfer speed.
1416
  
1417
  Bug: https://bugzilla.redhat.com/679709
1418
1419
Yang Tse (7 Jun 2011)
1420
- urldata: use uniform inclusion style for OpenSSL headers
1421
1422
Daniel Stenberg (7 Jun 2011)
1423
- HTTP time condition: force closure for 200 OK
1424
  
1425
  When a time condition isn't met, so that no body is delivered to the
1426
  application even though a 2xx response is being read from the server, we
1427
  must close the connection to avoid a re-use of the connection to be
1428
  completely tricked.
1429
  
1430
  Added test 1128 to verify.
1431
1432
- RELEASE-NOTES: synced with b772f3a32146d7d
1433
1434
Yang Tse (6 Jun 2011)
1435
- configure: get API info for a couple of OpenSSL functions
1436
1437
Daniel Stenberg (5 Jun 2011)
1438
- wait_ms: takes an int argument
1439
  
1440
  Typecasts added since I changed more code to use long for timeouts
1441
1442
- Curl_socket_ready: make timeout a 'long'
1443
  
1444
  It was mostly typecasted to int all over the code so switching to long
1445
  instead all over should be a net gain.
1446
1447
Yang Tse (4 Jun 2011)
1448
- xlc: avoid preprocessor definition usage when linking
1449
1450
- unit tests: disable unit tests for a given cross-compilation configuration.
1451
  
1452
  cross-compilation of unit tests static library/programs fails when
1453
  libcurl shared library is also built. This might be due to a libtool or
1454
  automake issue. In this case we disable unit tests.
1455
1456
Daniel Stenberg (3 Jun 2011)
1457
- cookie_output: made private
1458
1459
- digest_cleanup_one: made private
1460
1461
- privatise: make private functions static
1462
1463
- Curl_fileinfo_dup: removed, not used
1464
1465
- parsedate: turn private and static
1466
  
1467
  I removed the prefix as well accordingly.
1468
1469
Dan Fandrich (2 Jun 2011)
1470
- curl hasn't sent a Pragma: header by default for a while
1471
1472
Yang Tse (2 Jun 2011)
1473
- unit tests: attempt to fix linkage issue
1474
1475
- urlglob: fix zero size malloc
1476
1477
- Remove unnecessary typecast
1478
1479
- compiler warning: fix
1480
  
1481
  Fix compiler warning: cast increases required alignment
1482
1483
- unit tests: make unit tests building actually depend on --enable-debug option.
1484
1485
- OpenSSL enabled: require OPENSSL_VERSION_NUMBER definition before usage.
1486
1487
- unit tests: more build adjustments
1488
1489
Daniel Stenberg (1 Jun 2011)
1490
- CURLOPT_WILDCARDMATCH: minor style edit
1491
  
1492
  Due to some flaw in roffit I removed some style changes to make the web
1493
  page look better.
1494
1495
Yang Tse (1 Jun 2011)
1496
- makefile: avoid preprocessor definition usage when linking
1497
1498
- warnless: icc 9.1 workaround
1499
1500
Daniel Stenberg (31 May 2011)
1501
- testcurl.pl: allow configure args to use '='
1502
1503
Yang Tse (30 May 2011)
1504
- Makefile.am: fix spurious CFLAGS duplication
1505
1506
Dan Fandrich (30 May 2011)
1507
- Removed types.h from Android makefile
1508
1509
Daniel Stenberg (30 May 2011)
1510
- configure.ac: skip /dev/urandom check when cross-compiling
1511
  
1512
  Bug: http://curl.haxx.se/bug/view.cgi?id=3307835
1513
1514
Yang Tse (29 May 2011)
1515
- main: fix header inclusion order
1516
  
1517
  Currently, Windows cross-compiled autobuilds require inclusion of setup.h
1518
  before curl.h to get definitions of CURL_STATICLIB and BUILDING_LIBCURL.
1519
1520
- main: fix header inclusion order
1521
1522
- distribution: Fix EXTRA_DIST letter case
1523
1524
Daniel Stenberg (27 May 2011)
1525
- curl_easy_setopt.3: NOPROGRESS also affects the callback
1526
1527
Yang Tse (27 May 2011)
1528
- warnless: header inclusion fix
1529
1530
- Make checksrc.pl work on more out-of-tree builds
1531
  
1532
  Source files given with relative paths do not have the
1533
  -D directory specifier prepended.
1534
1535
- compiler warning: fix
1536
  
1537
  Fix compiler warning: conversion may lose significant bits
1538
1539
- socks: fix unaligned memory access
1540
1541
- compiler warning: fix
1542
  
1543
  Fix compiler warning: variable was set but never used
1544
  
1545
  Fix compiler warning: clobber ignored
1546
1547
- unit tests: build adjustment
1548
  
1549
  Also define UNITTESTS macro when building unit test sources.
1550
  
1551
  Fixing compiler warning: external definition with no prior declaration
1552
1553
Daniel Stenberg (25 May 2011)
1554
- create_conn: only switch protocol handler if necessary
1555
  
1556
  When switching to HTTP because a HTTP proxy is being used, the existing
1557
  handler is now checked if it already is "compatible". This allows the https
1558
  handler remain while other non-http handlers will be redirected.
1559
  
1560
  Bug: http://curl.haxx.se/mail/lib-2011-05/0214.html
1561
  Reported by: Jerome Robert
1562
1563
- setopt.3: remove leftover style change
1564
1565
- setopt.3: CURLOPT_WRITEFUNCTION had wrong function proto
1566
1567
Yang Tse (25 May 2011)
1568
- compiler warning: fix followup
1569
  
1570
  Fix compiler warning: variable was set but never used
1571
  
1572
  Fix compiler warning: clobber ignored
1573
1574
- unit tests: README, adjust header inclusion order
1575
1576
- compiler warning: fix
1577
  
1578
  Fix compiler warning: variable was set but never used
1579
  
1580
  Fix compiler warning: clobber ignored
1581
1582
- compiler warning: fix
1583
  
1584
  Fix compiler warning: external definition with no prior declaration
1585
1586
- compiler warning: fix
1587
  
1588
  Fix compiler warning: external definition with no prior declaration
1589
1590
- compiler warning: fix
1591
  
1592
  Fix compiler warning: argument is incompatible with corresponding format
1593
  string conversion
1594
1595
- build: inclusion guard
1596
  
1597
  Enclose header file in an inclusion guard
1598
1599
- compiler warning: fix
1600
  
1601
  Fix compiler warning: expression has no effect
1602
1603
- compiler warning: fix
1604
  
1605
  Fix compiler warning: `keycheck' might be used uninitialized in this function.
1606
  Fix compiler warning: `keybit' might be used uninitialized in this function.
1607
1608
- compiler warning: fix
1609
  
1610
  Fix variable declaration placement
1611
1612
- compiler warning: fix
1613
  
1614
  Fix missing semicolon
1615
1616
- compiler warning: fix
1617
  
1618
  Fix compiler warning: expression has no effect
1619
  
1620
  Fix OOM handling
1621
1622
- compiler warning: fix
1623
  
1624
  Fix compiler warning: expression has no effect
1625
1626
- compiler warning: fix
1627
  
1628
  Fix compiler warning: unused variable 'data'
1629
1630
- compiler warning: fix
1631
  
1632
  Fix compiler warning: enumerated type mixed with another type
1633
1634
- compiler warning: fix
1635
  
1636
  Fix compiler warning: enumerated type mixed with another type
1637
1638
- compiler warning: fix
1639
  
1640
  Fix compiler warning: enumerated type mixed with another type
1641
1642
- compiler warning: fix
1643
  
1644
  Fix compiler warning: enumerated type mixed with another type
1645
1646
- compiler warning: fix
1647
  
1648
  Fix compiler warning: enumerated type mixed with another type
1649
1650
- compiler warning: fix
1651
  
1652
  Fix compiler warning: empty body in an if-statement
1653
1654
- unit tests: adjust header inclusion order
1655
  
1656
  Additionally, prevent multiple inclusions of curl_config.h
1657
1658
Daniel Stenberg (20 May 2011)
1659
- Merge pull request #19 from pierrejoye/master
1660
  
1661
  winbuild: typo in docs
1662
1663
- [Ola Mork brought this change]
1664
1665
  cyassl: build without filesystem
1666
  
1667
  Get cyassl's NO_FILESYSTEM to work with libcurl. Otherwise I'd get linker
1668
  errors for the missing "SSL_CTX_load_verify_locations" functions.
1669
1670
Pierre Joye (20 May 2011)
1671
- - typo
1672
1673
Daniel Stenberg (19 May 2011)
1674
- typo: close is in man page section 3
1675
1676
Yang Tse (19 May 2011)
1677
- tests: verify OPEN/CLOSESOCKETFUNCTION
1678
  
1679
  Test 585: Fix opensocket return type, and avoid function name clash.
1680
1681
- version: linkage fix
1682
  
1683
  Fix linkage on c-ares enabled Windows static builds
1684
1685
Daniel Stenberg (18 May 2011)
1686
- curl_easy_setopt.3: document CLOSESOCKET* options
1687
1688
- tests: verify OPEN/CLOSESOCKETFUNCTION
1689
  
1690
  Test 585 and 586 were added. Using a modified lib500.c
1691
1692
- symbols-in-versions: add CLOSESOCKET*
1693
1694
- CLOSESOCKETFUNCTION: use the callback
1695
  
1696
  Fix the return type of the callback to match close() and make use of it.
1697
1698
- CLOSESOCKETFUNCTION: added
1699
  
1700
  Introduced the initial setup to allow closesocket callbacks by making
1701
  sure sclose() is only ever called from one place in the libcurl source
1702
  and still run all test cases fine.
1703
1704
- GnuTLS handshake: fix timeout
1705
  
1706
  Commit cbf4961bf3e garbled the timeout handling while doing SSL
1707
  handshaking (in an attempt at fixing another bug). This puts sanity
1708
  back.
1709
  
1710
  Bug: http://curl.haxx.se/mail/lib-2011-05/0167.html
1711
  Reported by: Ethan Glasser Camp
1712
1713
- checksrc: trailing whitespace detection fix
1714
1715
- [Marcel Roelofs brought this change]
1716
1717
  negotiate sspi: fix sequential requests
1718
1719
- tests: added HTTP If-Modified-Since tests
1720
  
1721
  Added test 1126 and 1127 to verify curl's behaviour when If-Modified-Since
1722
  is used and a 200 is returned.
1723
  
1724
  The list of test cases in Makefile.am is now sorted numerically.
1725
1726
- include: cleanup
1727
  
1728
  Made the public headers checksrc compliant
1729
  
1730
  Removed types.h (it's been unused since April 2004)
1731
  
1732
  Made the root makefile do make in include by default as well, so that
1733
  TAGS and the checksrc will work better.
1734
1735
Dan Fandrich (6 May 2011)
1736
- Fixed compilation when RTSP is disabled
1737
1738
- Fixed LDAP after RTSP readwrite change
1739
1740
Daniel Stenberg (6 May 2011)
1741
- RELEASE-NOTES: synced with 32001ac4149b206
1742
1743
- set_userpass: convert from protocol-specific to generic
1744
  
1745
  The protocol handler's flags field now can set that the protocol
1746
  requires a password, so that the set_userpass function doesn't have to
1747
  have the specific knowledge of which protocols that do.
1748
1749
- RTSP: cleanups
1750
  
1751
  Made several functions static
1752
  
1753
  Made one function defined to nothing when RTSP is disabled to avoid
1754
  the #ifdefs in code.
1755
  
1756
  Removed explicit rtsp.h includes
1757
1758
- RTSP: convert protocol-specific checks to generic
1759
  
1760
  Add a 'readwrite' function to the protocol handler struct and use that
1761
  for the extra readwrite functionality RTSP needs.
1762
1763
- SSL: check for SSL, not specific protocols
1764
  
1765
  Code cleanup to check less for protocols and more for the specific
1766
  relevant feature. Like if SSL is required.
1767
1768
- http_perhapsrewind: remove HTTP check
1769
  
1770
  No need to check for HTTP as this is now a HTTP-specific function
1771
1772
- http_perhapsrewind:
1773
  
1774
  make it static, remove Curl_ prefix
1775
1776
- remove FILE protocol-specific checks
1777
  
1778
  Also, convert the BANPROXY flag into NONETWORK for the protocols
1779
  (file:// only atm) that don't work over networks.
1780
1781
- curl.1: --socks* options no longer needed
1782
  
1783
  As we now can specify all the socks proxy types with the regular --proxy
1784
  option using protocol prefix.
1785
1786
- socks proxy: allow socks5h:// prefix too
1787
  
1788
  Using 'socks5h' as proxy protocol will make it a
1789
  CURLPROXY_SOCKS5_HOSTNAME proxy which is SOCKS5 and asking the proxy to
1790
  resolve host names. I found no "standard" protocol name for this.
1791
1792
- curl.1: minor edit of --ftp-ssl*
1793
1794
- [Jari Aalto brought this change]
1795
1796
  curl.1: use GNU style and sort options
1797
  
1798
  Follow style of GNU layout (cp, mv ...) where options are separated with
1799
  comma: -o, --option
1800
  
1801
  Order item alphabetically (by length also): -o, -O, --option
1802
  
1803
  Follow style of GNU layout by moving help related options to the end:
1804
  --help, -M, --version
1805
1806
- Corrected comments
1807
  
1808
  closepolicy has been deprecated and unused for years
1809
1810
- ConnectionStore: remove unused return code
1811
1812
- indent correctly
1813
1814
- curl_easy_getinfo.3: clarify some timing info
1815
1816
- curl_easy_setopt.3: clarify the SSH KEYFILE options usage
1817
  
1818
  The internal defaults are important info
1819
1820
- docs: mention the protocol:// support in proxy strings
1821
1822
- --data-ascii: add mention
1823
  
1824
  As it is a separate option it should have a .IP title
1825
1826
- url encode docs: mention '-', '.', '_' and '~'
1827
  
1828
  Clarify that the '-', '.', '_' or '~' letters are also not escaped since
1829
  they shouldn't according to RFC3986 section 2.3.
1830
  
1831
  This is how this function has behaved since sep 2010, commit
1832
  5df13c31735fa0.
1833
1834
- SSH: set non-blocking earlier
1835
  
1836
  Introduce an INIT state for the SSH state machine and set libssh2
1837
  non-blocking in that so that it is set properly before
1838
  libssh2_session_startup() is called.
1839
  
1840
  Bug: http://curl.haxx.se/mail/archive-2011-05/0001.html
1841
1842
- curl_formfree.3: mention argument may be NULL
1843
  
1844
  As the code already checks for it we can just as well make it official!
1845
1846
- ConnectionExists: avoid NULL dereference
1847
  
1848
  When checking for connections that are bound to a particular device we
1849
  must make sure we don't compare with a NULL pointer.
1850
1851
- resolver_error: remove bad semicolon
1852
1853
- RELEASE-NOTES: synced with c4bc1d473f324
1854
1855
- anyauthput.c: stdint.h must not be included unconditionally
1856
  
1857
  As it is already included by curlbuild.h if it exists on the platform it
1858
  was included here superfluously anyway.
1859
  
1860
  Reported by: Dagobert Michelsen
1861
  Bug: http://curl.haxx.se/bug/view.cgi?id=3294509
1862
1863
- gai_strerror: provide private implementation
1864
  
1865
  There are systems (like NetWare) without its own gai_strerror()
1866
  function.
1867
1868
- treaded-resolver: better error messages
1869
  
1870
  Now use gai_strerror() to get proper error messages when getaddrinfo()
1871
  has failed. Detect the function in configure.
1872
  
1873
  Code based on work and suggestions by Jeff Pohlmeyer and Guenter Knauf
1874
1875
- proxy: allow socks:// prefix in proxy string
1876
  
1877
  Inspired by a patch from OB.Conseil. Added test case 708 to verify.
1878
1879
- [Zmey Petroff brought this change]
1880
1881
  CMake: improve library search, implement install.
1882
  
1883
  Improved library search by check_function_exists_concat() macro:
1884
  it does not revert the list of libraries any more.
1885
  
1886
  Improved OpenSSL library search: first find zlib, then search for
1887
  openssl libraries that may depend on zlib.
1888
  
1889
  For Unix: openssl libraries can now be detected in nonstandard
1890
  locations. Supply CMAKE_LIBRARY_PATH to CMake on command line.
1891
  
1892
  Added installation capability (very basic one yet).
1893
1894
- multi-socks: fix connect to proxy
1895
  
1896
  When connecting to a socks or similar proxy we do the proxy handshake at
1897
  once when we know the TCP connect is completed and we only consider the
1898
  "connection" complete after the proxy handshake. This fixes test 564
1899
  which is now no longer considered disabled.
1900
  
1901
  Reported by: Dmitri Shubin
1902
  Bug: http://curl.haxx.se/mail/lib-2011-04/0127.html
1903
1904
- cleanup: remove old unused debug code
1905
1906
Dan Fandrich (27 Apr 2011)
1907
- Make checksrc.pl work on out-of-tree builds
1908
  
1909
  Source files given with absolute paths do not have the
1910
  -D directory specifier prepended.
1911
1912
Daniel Stenberg (27 Apr 2011)
1913
- make: add checksrc.pl to dist
1914
1915
- make: add 'checksrc' as target to check code style
1916
  
1917
  The make target checksrc now works in the root makefile and in both the
1918
  src and lib directories.
1919
  
1920
  It is also run automatically on "all" if configure --enable-debug was
1921
  used.
1922
1923
- checksrc: whitespace and code style cleanup
1924
  
1925
  Make everything adhere to the standards upheld by checksrc.pl and now
1926
  run checksrc from the makefile on debug builds.
1927
1928
- checksrc: add -W to allow a file to be whitelisted
1929
  
1930
  Useful when a known file just doesn't comply and there's no intention to
1931
  make it do so.
1932
1933
- whitespace cleanup: no space first in conditionals
1934
  
1935
  "if(a)" is our style, not "if( a )"
1936
1937
- lib/make: run checksrc.pl once for all files
1938
  
1939
  Since it now supports multiple files this will be faster and will show
1940
  problems for more file than one at a time - more convenient.
1941
1942
- checksrc: scan many files, more checks
1943
  
1944
  It now scans multiple files and outputs an error+warning count summary
1945
  at the end in case at least one was detected.
1946
  
1947
  -D can be used to specify in which dir the files are located
1948
  
1949
  The script now scans for conditions that starts with a space for
1950
  if/while/for lines.
1951
1952
- Makefile: run checksrc if debug enabled
1953
  
1954
  And make the build fail if a warning or error was detected
1955
1956
- checksrc: exit error code if warnings or errors
1957
1958
- SSH: move knownhost logic to separate function
1959
1960
- source cleanup: unify look, style and indent levels
1961
  
1962
  By the use of a the new lib/checksrc.pl script that checks that our
1963
  basic source style rules are followed.
1964
1965
Guenter Knauf (27 Apr 2011)
1966
- Windows native IDN fixes.
1967
  
1968
  For now provide prototypes instead of including the
1969
  non-standard normalisation.h which is only available in the
1970
  "Internationalized Domain Names Mitigation APIs" download.
1971
1972
Dan Fandrich (25 Apr 2011)
1973
- Fixed compiler warning in Windows SSPI case
1974
1975
- Fixed compilation when the synchronous resolver is used
1976
1977
- Added new resolver sources to Symbian and VC6 build files
1978
1979
Daniel Stenberg (25 Apr 2011)
1980
- hostip: comment fixed to state current situation
1981
1982
- async resolvers: further cleanups
1983
  
1984
  asyn-ares.c and asyn-thread.c are two separate backends that implement
1985
  the same (internal) async resolver API for libcurl to use. Backend is
1986
  specified at build time.
1987
  
1988
  The internal resolver API is defined in asyn.h for asynch resolvers.
1989
1990
- asynch resolvers: cleanup
1991
  
1992
  Fixed indents, coding conventions and white space edits.
1993
  
1994
  Modified the c-ares completion callback function to again NOT read the
1995
  conn data when the ares handle is being taken down as then it may have
1996
  been freed already.
1997
1998
- [Vsevolod Novikov brought this change]
1999
2000
  asynch resolvers: unified
2001
  
2002
  Introducing an internal API for handling of different async resolver
2003
  backends.
2004
2005
Guenter Knauf (24 Apr 2011)
2006
- Enabled OpenWatcom native Windows IDN build.
2007
  
2008
  For now we directly import the Idn* symbols with the linker;
2009
  an upcoming release of OWC will have these added to the import
2010
  lib normaliz.lib, and prototypes are added to winnnls.h.
2011
2012
Daniel Stenberg (22 Apr 2011)
2013
- NTLM: work with unicode
2014
  
2015
  Rewritten code from a patch brought by Matteo Rocco.
2016
2017
- bump version: work towards 7.21.7
2018
2019
- THANKS: contributors from 7.21.6
2020
1.2.11 by Ramakrishnan Muthukrishnan
Import upstream version 7.21.6
2021
Version 7.21.6 (22 Apr 2011)
2022
2023
Daniel Stenberg (22 Apr 2011)
2024
- RELEASE-NOTES: two more contributors
2025
2026
Dan Fandrich (21 Apr 2011)
2027
- Fixed test 1023 when using daily snapshots
2028
2029
- Include unistd.h to declare close()
2030
2031
Julien Chaffraix (21 Apr 2011)
2032
- [Fabian Keil brought this change]
2033
2034
  In lib/, change 'wanna' to 'want to'.
2035
  
2036
  Found with codespell.
2037
2038
- [Fabian Keil brought this change]
2039
2040
  Fix spelling errors in buildconf
2041
  
2042
  Found with codespell.
2043
2044
- [Fabian Keil brought this change]
2045
2046
  Fix spelling errors in src/
2047
  
2048
  Found with codespell.
2049
2050
- [Fabian Keil brought this change]
2051
2052
  Fix spelling errors in include/
2053
2054
- [Fabian Keil brought this change]
2055
2056
  Fix a couple of spelling errors in lib/
2057
  
2058
  Found with codespell.
2059
2060
- transfer.c: Fixed indentation in readwrite_data.
2061
2062
Dan Fandrich (20 Apr 2011)
2063
- Fixed closing test tag
2064
2065
Daniel Stenberg (20 Apr 2011)
2066
- RELEASE-NOTES: synced with 3242abd87a1262
2067
2068
- SFTP: close file before postquote
2069
  
2070
  Make sure that files are closed before the post quote commands run as if
2071
  they operate on the just transferred file they could otherwise easily
2072
  fail.
2073
  
2074
  Patch by: Rajesh Naganathan (edited)
2075
2076
Dan Fandrich (20 Apr 2011)
2077
- Fixed test 1022 when using daily snapshots
2078
2079
Daniel Stenberg (20 Apr 2011)
2080
- Curl_http_connect: detect HTTPS properly after CONNECT
2081
  
2082
  libcurl failed to check the correct struct for HTTPS after CONNECT was
2083
  issued to the proxy, so it didn't do the TLS handshake and subsequently
2084
  failed the connection. A regression released in 7.21.5 (introduced
2085
  around commit 8831000bc07de).
2086
  
2087
  Bug: http://curl.haxx.se/mail/lib-2011-04/0134.html
2088
  Reported by: Josue Andrade Gomes
2089
2090
- curl_easy_setopt.3: CURLOPT_PROXYTYPE clarification
2091
  
2092
  When set to a HTTP 1.0 proxy, that only affects the CONNECT request and
2093
  not the regular HTTP request.
2094
2095
- [Gisle Vanem brought this change]
2096
2097
  CURL_DOES_CONVERSIONS: fixes
2098
  
2099
  Made it compile and work again after the code move.
2100
2101
- CURL_DOES_CONVERSIONS: cleanup
2102
  
2103
  Massively reduce #ifdefs all over (23 #ifdef lines less so far)
2104
  Moved conversion-specific code to non-ascii.c
2105
2106
Guenter Knauf (19 Apr 2011)
2107
- Improve MinGW static makefile builds.
2108
  
2109
  It is now possible to use any combination of features without
2110
  having to 1st add makefile targets to the main makefile. The
2111
  main makefile now passes the 'mingw32-feat1-feat2' as var CFG,
2112
  and the ./[lib|src]/Makefile.m32 parses the CFG var to determine
2113
  the features to be enabled.
2114
2115
- Enabled MinGW native Windows IDN build.
2116
2117
- Windows native IDN fixes.
2118
  
2119
  changed windows.h include to system header;
2120
  changed obsolete 2nd check for str_w to str_utf8 in order to catch
2121
  malloc() failure and avoid a free(NULL);
2122
  changed calls to GetLastError() to void to kill unsused var compiler
2123
  warnings;
2124
  moved one call to GetLastError() into else case so that its only
2125
  called when WideCharToMultiByte() really fails.
2126
2127
- Windows native IDN fixes.
2128
  
2129
  Provide prototype for curl_win32_idn_to_ascii();
2130
  remove wrong 3rd parameter from curl_win32_idn_to_ascii() call.
2131
2132
Daniel Stenberg (19 Apr 2011)
2133
- curl-config: fix version output
2134
  
2135
  do the s/VERSION/CURLVERSION replacement for the human redable output
2136
  for --checkfor
2137
  
2138
  Reported by: Ryan Schmidt
2139
2140
- RELEASE-NOTES: synced with 5aae3c13e2
2141
2142
Guenter Knauf (19 Apr 2011)
2143
- Updated default (recommended) dependency versions.
2144
2145
- Updated default (recommended) dependency versions.
2146
2147
Daniel Stenberg (18 Apr 2011)
2148
- transfer-encoding: document the options
2149
  
2150
  The new libcurl and command line options are now described.
2151
2152
- transfer-encoding: added new option and cmdline
2153
  
2154
  Added CURLOPT_TRANSFER_ENCODING as the option to set to request Transfer
2155
  Encoding in HTTP requests (if built zlib enabled). I also renamed
2156
  CURLOPT_ENCODING to CURLOPT_ACCEPT_ENCODING (while keeping the old name
2157
  around) to reduce the confusion when we have to encoding options for
2158
  HTTP.
2159
  
2160
  --tr-encoding is now the new command line option for curl to request
2161
  this, and thus I updated the test cases accordingly.
2162
2163
- CURLE_BAD_CONTENT_ENCODING: now used for transfer encoding too
2164
2165
- TE: do the Connection: header
2166
  
2167
  When TE: is inserted in the request, we must add a "Connection: TE" as
2168
  well to be HTTP 1.1 compliant. If a custom Connection: header is passed
2169
  in, we must use that and only append TE to it. Test case 1125 verifies
2170
  TE: + custom Connection:.
2171
2172
- test1124: verify gzip AND chunked transfer-encoding
2173
2174
- TE: rename struct field content_encoding
2175
  
2176
  Since this struct member is used in the code to determine what and how
2177
  to decode automatically and since it is now also used for compressed
2178
  Transfer-Encodings, I renamed it to the more suitable 'auto_decoding'
2179
2180
- HTTP: add support for gzip and deflate Transfer-Encoding
2181
  
2182
  Transfer-Encoding differs from Content-Encoding in a few subtle ways,
2183
  but primarily it concerns the transfer only and not the content so when
2184
  discovered to be compressed we know we have to uncompress it. There will
2185
  only arrive compressed transfers in a response after we have requested
2186
  them with the appropriate TE: header.
2187
  
2188
  Test case 1122 and 1123 verify.
2189
2190
Patrick Monnerat (18 Apr 2011)
2191
- OS400 pragma comment: replace (date) by (user, __DATE__) to include year.
2192
2193
- Augment RPG binding with "OLDIES" definitions.
2194
  Fix OS400 LDAP wrappers: strings were non null-terminated.
2195
2196
Daniel Stenberg (18 Apr 2011)
2197
- curl-config: fix --version
2198
  
2199
  curl-config --version didn't output the correct version string (bug
2200
  introduced in commit 0355e33b5f7b234cf3), and unfortunately the test
2201
  case 1022 that was supposed to check for this was broken.
2202
  
2203
  This change fixes the test to detect this problem and it fixes the
2204
  output.
2205
  
2206
  Bug: http://curl.haxx.se/bug/view.cgi?id=3288727
2207
2208
- RELEASE-NOTES: updated contributor amount
2209
2210
- THANKS: 11 new contributors from 7.21.5
2211
2212
- 7.21.6: next planned release number
2213
1.2.10 by Ramakrishnan Muthukrishnan
Import upstream version 7.21.5
2214
Version 7.21.5 (17 Apr 2011)
2215
2216
Daniel Stenberg (17 Apr 2011)
2217
- base64.c: removed wrong comment
2218
2219
- INTERNALS: clean up
2220
  
2221
  Clarified the release procedure
2222
2223
- TODO-RELEASE: push the remaining ones to next release
2224
  
2225
  As we're closing in on the release, I give up on the remaining ones but
2226
  I leave them in here for now to try to fix for next release.
2227
  
2228
  I removed the 281 issue about warnings from the statical analyzer scans,
2229
  as they seem to be mostly false positives at this point.
2230
2231
- RELEASE-NOTES: synced with c246f63a71
2232
2233
- Curl_ssl_shutdown: restore send/recv pointers
2234
  
2235
  When going back from SSL, put the send/recv function pointers back to
2236
  the plain versions.
2237
  
2238
  Bug: http://curl.haxx.se/mail/lib-2011-04/0070.html
2239
  Reported by: Mehmet Bozkurt
2240
2241
Guenter Knauf (16 Apr 2011)
2242
- Changed email per Gisle's request.
2243
2244
Daniel Stenberg (14 Apr 2011)
2245
- curl.1: error code update
2246
  
2247
  Error 4 has got a meaning
2248
  
2249
  Error 48 has got a slightly different meaning now
2250
2251
- FAQ: c-ares does ipv6 pretty well now
2252
2253
- [Andrei Benea brought this change]
2254
2255
  Fix a buffer overflow in pubkey_show().
2256
2257
Guenter Knauf (14 Apr 2011)
2258
- Replaced var manipulations with perlish hacks.
2259
2260
Dan Fandrich (12 Apr 2011)
2261
- Updated minimum binary sizes
2262
2263
Daniel Stenberg (12 Apr 2011)
2264
- configure: libssh2 link fix without pkg-config
2265
  
2266
  The script didn't properly add the -lssh2 link option when it enabled
2267
  libssh2 linking where pkg-config isn't found.
2268
  
2269
  Reported by: Saqib Ali
2270
  Bug: http://curl.haxx.se/mail/lib-2011-04/0054.html
2271
2272
- RELEASE-NOTES: synced with f01df197981
2273
2274
- checkconnection: don't call with NULL pointer
2275
  
2276
  When checking if an existing RTSP connection is alive or not, the
2277
  checkconnection function might be called with a SessionHandle pointer
2278
  being NULL and then referenced causing a crash. This happened only using
2279
  the multi interface.
2280
  
2281
  Reported by: Tinus van den Berg
2282
  
2283
  Bug: http://curl.haxx.se/bug/view.cgi?id=3280739
2284
2285
- curl.1: spell out the -O target directory
2286
  
2287
  When using -O the file will be saved in the current directory, and this
2288
  is now spelled out clearly.
2289
2290
- OpenSSL: no-sslv2 aware
2291
  
2292
  Allow openSSL without SSL2 to be used. This fix is inspired by the fix
2293
  provided by Cristian Rodríguez.
2294
  
2295
  Reported by: Cristian Rodríguez
2296
2297
- curl_easy_setopt.3: CURLOPT_RESOLVE typo version
2298
  
2299
  Reported by: Hongli Lai
2300
2301
Kamil Dudka (8 Apr 2011)
2302
- nss: allow to use multiple client certificates for a single host
2303
  
2304
  In case a client certificate is used, invalidate SSL session cache
2305
  at the end of a session.  This forces NSS to ask for a new client
2306
  certificate when connecting second time to the same host.
2307
  
2308
  Bug: https://bugzilla.redhat.com/689031
2309
2310
Daniel Stenberg (7 Apr 2011)
2311
- mk-ca-bundle.pl: show full URL in output
2312
  
2313
  When I decided to search for a potential error with the cacert bundle it
2314
  struck me I wanted to see the full source URL in the output...
2315
2316
Dan Fandrich (7 Apr 2011)
2317
- Added mention of FTP proxies
2318
2319
Daniel Stenberg (7 Apr 2011)
2320
- [Gisle Vanem brought this change]
2321
2322
  src/Makefile.b32: updates
2323
  
2324
  * Rename the object object directory from 'objs' to 'BCC_obj' to be in
2325
   sync with my previous patch for lib/Makefile.b32.
2326
  
2327
  * Turn off these warnings to keep the build totally silent (with CBuilder-6
2328
   that is).
2329
    -w-inl    8026 Functions X are not expanded inline.
2330
    -w-pia   8060 Possibly incorrect assignment
2331
    -w-pin  8061 Initialization is only partially bracketed
2332
   (same added in src/Makefile.b32)
2333
  
2334
  * $(MKDIR) and $(RMDIR) have been replaced with the shell-commands 'md'
2335
   and 'rd'. When having MingW/Msys programs 'mkdir.exe' and 'rmdir.exe' in
2336
  $PATH, this confuses Borland's make and the result (the cleaning etc.) would
2337
   not be as expected.
2338
  
2339
  * Removed the preprocessing step; no need for PP_CMD and the .int files.
2340
   curl.exe builds fine w/o and the makefile gets simpler.
2341
  
2342
  * Added a target for creating a compressed hugehelp.c if WITH_ZLIB is  defined.
2343
  It assumes groff, gzip and perl is available if such an "advanced"  users
2344
  requests it. Okay? BTW. My groff and Perl needs unix-slashes ('/').
2345
   Other perls should handle both forms ('/' and '\').
2346
2347
- [Gisle Vanem brought this change]
2348
2349
  lib/Makefile.b32: updates
2350
  
2351
  * Rename the object object directory from 'objs' to 'BCC_obj'. I feel
2352
   it should be named properly. Ref. Makefile.Watcom where it's called
2353
   'WC_Win32.obj'.
2354
  
2355
  * Turn off these warnings to keep the build totally silent (with CBuilder-6
2356
   that is).
2357
    -w-inl    8026 Functions X are not expanded inline.
2358
    -w-pia   8060 Possibly incorrect assignment
2359
    -w-pin  8061 Initialization is only partially bracketed
2360
  
2361
  I'm sure the warnings could be fixed the "proper" way or with some added
2362
  "#pragma" statements. But that just clutters the sources IMHO.
2363
  
2364
  * $(MKDIR) and $(RMDIR) have been replaced with the shell-commands 'md'
2365
   and 'rd'. When having MingW/Msys programs 'mkdir.exe' and 'rmdir.exe' in
2366
  $PATH, this confuses Borland's make and the result (the cleaning etc.) would
2367
   not be as expected.
2368
  
2369
  * Added a ".path.int = $(OBJDIR)" to tell make where the $(PREPROCESSED)
2370
   files are. Why we need the preprocess step in the fist place is beyond me
2371
  (Yang?). But I'll leave that for now.
2372
2373
- [Gisle Vanem brought this change]
2374
2375
  examples/makefile.dj: update email
2376
2377
- TODO-RELEASE: deleted 4 issues
2378
  
2379
  These problems have gotten no interest/feedback from users:
2380
  
2381
  -275 - Introduce a way to avoid sending USER for FTP connections
2382
  -288 - bug 3219997 curl rtmp request curl: (55) select/poll returned error
2383
  
2384
  This problem is rather an autoconf bug with little user interest and it
2385
  can be worked around with an older autoconf:
2386
  
2387
  -278 - "Configure  $as_echo does not work"
2388
  
2389
  This problem is not fixed:
2390
  
2391
  -286 - bug 3214223 Pipelined HTTP requests with a zero-length body broken
2392
2393
- [Chris Smowton brought this change]
2394
2395
  HTTP pipelining: Fix handling of zero-length responses
2396
  
2397
  Also add test case 584 for the same
2398
  
2399
  Bug: http://curl.haxx.se/bug/view.cgi?id=3214223
2400
2401
- libcurl.pc: version number fix
2402
  
2403
  This hasn't show the version number correctly since the $VERSION change
2404
  in the configure, and now it works again.
2405
2406
Dan Fandrich (5 Apr 2011)
2407
- Changed some nonportable types
2408
2409
- Don't list NTLM in curl-config when HTTP is disabled
2410
  
2411
  Also, fixed Curl_proxyCONNECT() stub with HTTP disabled.
2412
2413
- Fixed compatibility macro CURLE_URL_MALFORMAT_USER
2414
2415
Daniel Stenberg (5 Apr 2011)
2416
- return code cleanup: build, init and run-time errors
2417
  
2418
  Stop the abuse of CURLE_FAILED_INIT as return code for things not being
2419
  init related by introducing two new return codes:
2420
  
2421
  CURLE_NOT_BUILT_IN and CURLE_UNKNOWN_OPTION
2422
  
2423
  CURLE_NOT_BUILT_IN replaces return code 4 that has been obsoleted for
2424
  several years. It is used for returning error when something is
2425
  attempted to be used but the feature/option was not enabled or
2426
  explictitly disabled at build-time. Getting this error mostly means that
2427
  libcurl needs to be rebuilt.
2428
  
2429
  CURLE_FAILED_INIT is now saved and used strictly for init
2430
  failures. Getting this problem means something went seriously wrong,
2431
  like a resource shortage or similar.
2432
  
2433
  CURLE_UNKNOWN_OPTION is the option formerly known as
2434
  CURLE_UNKNOWN_TELNET_OPTION (and the old name is still present,
2435
  separately defined to be removed in a very distant future). This error
2436
  code is meant to be used to return when an option is given to libcurl
2437
  that isn't known. This problem would mostly indicate a problem in the
2438
  program that uses libcurl.
2439
2440
- FTP+proxy: macrofied functions when proxy disabled
2441
  
2442
  In my attempts to reduce #ifdefs in code, the SOCKS functions are now
2443
  macros when libcurl is built without proxy support and therefore the FTP
2444
  code could avoid some #ifs.
2445
2446
- RELEASE-NOTES: synced with db59b6202d8
2447
2448
- [Ben Noordhuis brought this change]
2449
2450
  [pop3 starttls] PASS command was not sent after upgrade to TLS.
2451
2452
- [Ben Noordhuis brought this change]
2453
2454
  [pop3 starttls] the command to send is STLS, not STARTTLS.
2455
2456
Dan Fandrich (4 Apr 2011)
2457
- Added http_proxy.c to the Symbian build files
2458
2459
Daniel Stenberg (4 Apr 2011)
2460
- http-proxy: move proxy code to http_proxy.c
2461
  
2462
  The new http_proxy.* files now host HTTP proxy specific code (500+ lines
2463
  moved out from http.c), and as a consequence there is a macro introduced
2464
  for the Curl_proxyCONNECT() function so that code can use it without
2465
  actually supporting proxy (or HTTP) in builds.
2466
2467
- disable cookies: remove ifdefs, move code
2468
  
2469
  1 - make sure to #define macros for cookie functions in the cookie
2470
  header when cookies are disabled to avoid having to use #ifdefs in code
2471
  using those functions.
2472
  
2473
  2 - move cookie-specific code to cookie.c and use the functio
2474
  conditionally as mentioned in (1).
2475
  
2476
  net result: 6 #if lines removed, and 9 lines of code less
2477
2478
Kamil Dudka (4 Apr 2011)
2479
- nss: fix a crash within SSL_AuthCertificate()
2480
  
2481
  The bug was introduced in 806dbb0 (a wrong value was passed in as the
2482
  first argument to the default callback in our wrapper).
2483
2484
Daniel Stenberg (3 Apr 2011)
2485
- multi: shorten lines
2486
  
2487
  We keep them less than 80 columns
2488
2489
- multi: conn goes bad when data change
2490
  
2491
  Within multi_socket when conn is used as a shorthand, data could be
2492
  changed and multi_runsingle could modify the connectdata struct to deal
2493
  with. This bug has not been included in a public release.
2494
  
2495
  Using 'conn' like that turned out to be ugly. This change is a partial
2496
  revert of commit f1c6cd42f474df59.
2497
  
2498
  Reported by: Miroslav Spousta
2499
  Bug: http://curl.haxx.se/bug/view.cgi?id=3265485
2500
2501
Guenter Knauf (1 Apr 2011)
2502
- Increased script version.
2503
2504
- Make use of proxy vars if set.
2505
  
2506
  Posted to the list by Quanah Gibson-Mount [quanah zimbra.com].
2507
2508
- Use var again instead of hard-coded filename.
2509
2510
Daniel Stenberg (29 Mar 2011)
2511
- [Gisle Vanem brought this change]
2512
2513
  typo fix
2514
2515
- curl_easy_setopt.3: mention TFTP read callback flaw
2516
  
2517
  The read callback must return the exact requested amount of data when it
2518
  is used for doing TFTP uploads. This is due to how it deals with data
2519
  internally. This could/should be fixed but for now we document the
2520
  existing behavior.
2521
  
2522
  Reported by: Colin Blair
2523
  Bug: http://curl.haxx.se/mail/lib-2011-03/0319.html
2524
2525
Yang Tse (27 Mar 2011)
2526
- configure: fix libtool warning
2527
2528
Daniel Stenberg (25 Mar 2011)
2529
- [Peter Sylvester brought this change]
2530
2531
  TSL-SRP: enabled with OpenSSL
2532
  
2533
  If a new enough OpenSSL version is used, configure detects the TLS-SRP
2534
  support and enables it.
2535
2536
- RELEASE-NOTES: synced with 11c2db2aa2a
2537
2538
- fix: re-use of bound connections
2539
  
2540
  When asked to bind the local end of a connection when doing a request,
2541
  the code will now disqualify other existing connections from re-use even
2542
  if they are connected to the correct remote host.
2543
  
2544
  This will also affect which connections that can be used for pipelining,
2545
  so that only connections that aren't bound or bound to the same
2546
  device/port you're asking for will be considered.
2547
2548
- symbols-in-versions: make test 1119 happy
2549
2550
- rtsp: move protocol code to dedicated file
2551
  
2552
  The RTSP-specific function for checking for "dead" connection is better
2553
  located in rtsp.c. The code using this is now written without #ifdefs as
2554
  the function call is instead turned into a macro (in rtsp.h) when RTSP
2555
  is disabled.
2556
2557
- MAIL-ETIQUETTE: intro and spam
2558
  
2559
  Added a little generic info section about the lists and a section about
2560
  how to deal with trolls and spam on the lists.
2561
2562
- TODO-RELEASE: 1 fixed, 1 notabug
2563
  
2564
  Fixed:
2565
  
2566
  271 - fix the IPv6-working probing to only exist at one place in the code and
2567
        only get done once
2568
  
2569
  A problem not repeatable and no proper recipe given and therefore simply
2570
  removed for now until we hear something else:
2571
  
2572
  282 - 100 Continue responses should return the "final" HTTP response code:
2573
        "Getting the HTTP response code following a 100 Continue"
2574
2575
- ipv6: only probe once
2576
  
2577
  Move ipv6-functional-probe into a single function that is used from all
2578
  places that need to know.
2579
  
2580
  Make the probe function store the result in a static variable so that
2581
  subsequent invokes just returns the previous result and won't have to
2582
  probe again.
2583
2584
- headers: more copyright headers added
2585
2586
- MAIL-ETIQUETTE: how to behave
2587
  
2588
  This is a new documentation for the source tree. This information has
2589
  been present since a long time at
2590
  http://curl.haxx.se/mail/etiquette.html but now it is put into a plain
2591
  text version too for wider distribution. The web version will be
2592
  automatically generated from this source document.
2593
2594
Julien Chaffraix (21 Mar 2011)
2595
- progress: don't print the last update on a separate line.
2596
  
2597
  Curl_posttransfer is called too soon to add the final new line.
2598
  Moved the new line logic to pgrsDone as there is no more call to
2599
  update the progress status after this call.
2600
  
2601
  Reported by: Dmitri Shubin <sbn_at_tbricks.com>
2602
  http://curl.haxx.se/mail/lib-2010-12/0162.html
2603
2604
Daniel Stenberg (21 Mar 2011)
2605
- TODO-RELEASE: fixed 2, got 3 new!
2606
2607
- [Dave Reisner brought this change]
2608
2609
  libcurl.m4: Add missing quotes in AC_LINK_IFELSE
2610
  
2611
  This avoids warnings generated by autoconf 2.68.
2612
  
2613
  Signed-off-by: Dave Reisner <d@falconindy.com>
2614
2615
- retry-request: rewind if data was sent
2616
  
2617
  When libcurl sends a HTTP request on a re-used connection and detects it
2618
  being closed (ie no data at all was read from it), it is important to
2619
  rewind if any data in the request was sent using the read callback or
2620
  was read from file, as otherwise the retried request will be broken.
2621
  
2622
  Reported by: Chris Smowton
2623
  Bug: http://curl.haxx.se/bug/view.cgi?id=3195205
2624
2625
- configure: avoid $VERSION
2626
  
2627
  To reduce the risk of variable name conflicts, use CURLVERSION instead
2628
  of VERSION.
2629
2630
- symbols-in-versions: many corrections
2631
  
2632
  Scanned with a tool that checked for mistakes and this is the subsequent
2633
  cleanup.
2634
2635
Julien Chaffraix (20 Mar 2011)
2636
- unit1305: Fixed the test to match our coding style.
2637
2638
- url: 0 is PROTOPT_NONE.
2639
  
2640
  Tiny tweak after Daniel's refactoring of the protocol handlers.
2641
2642
Daniel Stenberg (19 Mar 2011)
2643
- pop3: add state name in debug array
2644
  
2645
  We have an array with the state names only built and used when built
2646
  debug enabled and this need to list all the states from the .h
2647
2648
Dan Fandrich (18 Mar 2011)
2649
- Added two more POP3 tests
2650
2651
- pop3: use Curl_safefree() to allow torture tests to succeed
2652
2653
Daniel Stenberg (18 Mar 2011)
2654
- symbol-scan.pl: detect duplicates
2655
  
2656
  Test 1119 now also makes sure that symbols-in-versions doesn't contain
2657
  any duplicates
2658
2659
- CONTRIBUTE: minor edits
2660
  
2661
  Slightly modified to become a nicer web page when converted for the site
2662
2663
- RELEASE-NOTES: synced with 0c05ee3a33d4d7
2664
2665
- pop3: remove unused variable
2666
2667
Dan Fandrich (17 Mar 2011)
2668
- Added support for LISTing a single POP3 message
2669
  
2670
  Added tests for a number of POP3 LIST operations, including one
2671
  that shows a curl problem when listing no messages, so is
2672
  disabled.
2673
2674
- pop3: fixed memory leak in an error retrieval case
2675
2676
Daniel Stenberg (17 Mar 2011)
2677
- symbols-in-versions: remove duplicates
2678
2679
- symbols-in-versions: 2 corrections
2680
  
2681
  CURLE_CHUNK_FAILED and CURLE_FTP_BAD_FILE_LIST were introduced in
2682
  7.21.0, not 7.20.1
2683
2684
- connection setup: if HTTP is disabled asking for HTTP proxy is bad
2685
2686
- FAQ: better english
2687
  
2688
  Reported by: Andre Guibert de Bruet
2689
2690
- scan-build warning
2691
  
2692
  Value stored to 'len' is never read
2693
2694
- ldap_recv: check return code from ldap_get_dn_ber
2695
2696
- compiler warnings fixed
2697
  
2698
  Use (void)[variable] to inhibit unused argument/variables warnings.
2699
2700
- [Ben Noordhuis brought this change]
2701
2702
  SMTP-multi: non-blocking connect
2703
  
2704
  Use Curl_ssl_connect_nonblocking() when upgrading the connection to
2705
  TLS/SSL while using the multi interface.
2706
2707
- [Ben Noordhuis brought this change]
2708
2709
  SMTP in multi mode: use Curl_ssl_connect_nonblocking() when connecting.
2710
2711
- lib582: use curl_socket_t for portability
2712
2713
- buildfix: spell define correctly
2714
2715
Kamil Dudka (15 Mar 2011)
2716
- nss: do not ignore value of CURLOPT_SSL_VERIFYPEER
2717
  
2718
  When NSS-powered libcurl connected to a SSL server with
2719
  CURLOPT_SSL_VERIFYPEER equal to zero, NSS remembered that the peer
2720
  certificate was accepted by libcurl and did not ask the second time when
2721
  connecting to the same server with CURLOPT_SSL_VERIFYPEER equal to one.
2722
  
2723
  This patch turns off the SSL session cache for the particular SSL socket
2724
  if peer verification is disabled.  In order to avoid any performance
2725
  impact, the peer verification is completely skipped in that case, which
2726
  makes it even faster than before.
2727
  
2728
  Bug: https://bugzilla.redhat.com/678580
2729
2730
Guenter Knauf (15 Mar 2011)
2731
- Removed unused var.
2732
2733
Daniel Stenberg (15 Mar 2011)
2734
- configure: stop using the deprecated AM_INIT_AUTOMAKE syntax
2735
2736
- protocol handler cleanup: SSL awareness
2737
  
2738
  As a follow-up to commit 8831000bc0: don't assume that the SSL powered
2739
  protocol alternatives are available.
2740
2741
- ldap: use the new protocol handler setup
2742
  
2743
  Use the new flags field and stop using the old protocol defines.
2744
2745
- TODO-RELEASE: add and remove issues
2746
  
2747
  Removed a fixed issue, added five new existing ones and clarified one of
2748
  the previous ones.
2749
2750
- protocols: use CURLPROTO_ internally
2751
  
2752
  The PROT_* set of internal defines for the protocols is no longer
2753
  used. We now use the same bits internally as we have defined in the
2754
  public header using the CURLPROTO_ prefix. This is for simplicity and
2755
  because the PROT_* prefix was already used duplicated internally for a
2756
  set of KRB4 values.
2757
  
2758
  The PROTOPT_* defines were moved up to just below the struct definition
2759
  within which they are used.
2760
2761
- protocol handler: added flags field
2762
  
2763
  The protocol handler struct got a 'flags' field for special information
2764
  and characteristics of the given protocol.
2765
  
2766
  This now enables us to move away central protocol information such as
2767
  CLOSEACTION and DUALCHANNEL from single defines in a central place, out
2768
  to each protocol's definition. It also made us stop abusing the protocol
2769
  field for other info than the protocol, and we could start cleaning up
2770
  other protocol-specific things by adding flags bits to set in the
2771
  handler struct.
2772
  
2773
  The "protocol" field connectdata struct was removed as well and the code
2774
  now refers directly to the conn->handler->protocol field instead. To
2775
  make things work properly, the code now always store a conn->given
2776
  pointer that points out the original handler struct so that the code can
2777
  learn details from the original protocol even if conn->handler is
2778
  modified along the way - for example when switching to go over a HTTP
2779
  proxy.
2780
2781
Patrick Monnerat (14 Mar 2011)
2782
- - Take new char * options into account in OS400 curl_easy_setopt_ccsid().
2783
  - Keep RPG binding, STRING_* table end check and OS400 README up to date.
2784
2785
Daniel Stenberg (14 Mar 2011)
2786
- FAQ: indent tables
2787
  
2788
  Lines that are indented with at least 5 spaces get special treatment by
2789
  the script that converts it to HTML on the site.
2790
2791
- sslgen: define Curl_ssl_connect_nonblocking for non-SSL
2792
  
2793
  The non-blocking connect improvement for IMAP showed that we didn't
2794
  properly define the Curl_ssl_connect_nonblocking function for non-SSL
2795
  builds.
2796
  
2797
  Reported by: Tor Arntsen
2798
2799
- configure: removed wrongly claimed default paths
2800
  
2801
  Several --with-XXX options claimed the wrong default path in their help
2802
  outputs.
2803
  
2804
  Reported by: Vincent Torri
2805
2806
- [Ask BjÞrn Hansen brought this change]
2807
2808
  mk-ca-bundle.pl: Only download if modified
2809
  
2810
  Only download and convert the certdata to the ca-bundle.crt if Mozilla
2811
  changed the data
2812
  
2813
  The Perl LWP module (which in a bit of a circular reference is used by
2814
  mk-ca-bundle.pl) is now indirectly using this script. I made this small
2815
  tweak to make it easier to automatically maintain the generated
2816
  ca-bundle.crt file in version control.
2817
2818
- SSH: add protocol lock direction
2819
  
2820
  Some protocols have to call the underlying functions without regard to
2821
  what exact state the socket signals. For example even if the socket says
2822
  "readable", the send function might need to be called while uploading,
2823
  or vice versa. This is the case for libssh2 based protocols: SCP and
2824
  SFTP and we now introduce a define to set those protocols and we make
2825
  the multi interface code aware of this concept.
2826
  
2827
  This is another fix to make test 582 run properly.
2828
2829
- state: add missing state to debug table
2830
  
2831
  As a new state recently was added to the IMAP state machine it has to be
2832
  in the array of names as well as otherwise libcurl crashes when a debug
2833
  version runs...
2834
2835
- test 582: enabled again
2836
  
2837
  Commit ca37692bf43b5ef should now hopefully make it run
2838
2839
- ssh_statemach_act: set cselect for sftp upload
2840
  
2841
  For uploads we want to use the _sending_ function even when the socket
2842
  turns out readable as the underlying libssh2 sftp send function will
2843
  deal with both accordingly. This is what the cselect_bits magic is for.
2844
  
2845
  Fixes test 582.
2846
2847
- RELEASE-NOTES: synced with e649a7baae2
2848
2849
- Revert "test582: enabled"
2850
  
2851
  This reverts commit b8478187406cf625c9d0f10b45a082221130cc92.
2852
2853
- Merge branch 'imap' of https://github.com/bnoordhuis/curl into bnoordhuis-imap
2854
2855
- TODO-RELEASE: fixed four isues
2856
  
2857
  These issues are now addressed:
2858
  
2859
  276 - Karl M's vc makefile patch
2860
  277 - The "Stall when uploading to sftp using multi interface"  bug
2861
  279 - curl_multi_remove_handle() crashes
2862
  280 - Marcus Sundberg's gss patch
2863
2864
- [Karl M brought this change]
2865
2866
  VC: add missing file
2867
  
2868
  http_negotiate_sspi.c was added to the source tree recently
2869
2870
- [Marcus Sundberg brought this change]
2871
2872
  GSS: handle reuse fix
2873
  
2874
  Make GSS authentication work when a curl handle is reused for multiple
2875
  authenticated requests, by always setting negdata->state in
2876
  output_auth_headers().
2877
  
2878
  Signed-off-by: Marcus Sundberg <marcus.sundberg@aptilo.com>
2879
2880
- test583: verify early SSH multi remove handle
2881
  
2882
  This test case is meant to verify that the logic in commit
2883
  60172a0446bbe3f8b actually works. This test failed for me before that
2884
  change and it works after it.
2885
2886
- SFTP: gracefully handle shutdown early
2887
  
2888
  When using the multi interface and a handle using SFTP was removed very
2889
  early on, we would get a segfault due to the code assumed data was there
2890
  that hadn't yet been setup.
2891
  
2892
  Bug: http://curl.haxx.se/mail/lib-2011-03/0066.html
2893
  Reported by: Saqib Ali
2894
2895
- [Manuel Massing brought this change]
2896
2897
  CURL_CHECK_FUNC_RECVFROM: android/bionic fix
2898
  
2899
  recvfrom in bionic (the android libc) deviates from POSIX and uses a
2900
  const in the 5th argument ("const struct sockaddr *") so the check now
2901
  tests for that as well.
2902
2903
- test582: enabled
2904
2905
- PROT_CLOSEACTION: added SFTP and SCP
2906
  
2907
  Both SFTP and SCP are protocols that need to shut down stuff properly
2908
  when the connection is about to get torned down. The primary effect of
2909
  not doing this shows up as memory leaks (when using SCP or SFTP with the
2910
  multi interface).
2911
  
2912
  This is one of the problems detected by test 582.
2913
2914
- readwrite_upload: stop upload at file size
2915
  
2916
  As we know how much to send, we can and should stop once we've sent that
2917
  much data as it avoids having to rely on other mechanisms to detect the
2918
  end.
2919
  
2920
  This is one of the problems detected by test 582.
2921
  
2922
  Reported by: Henry Ludemann <misc@hl.id.au>
2923
2924
- sftp upload: expire to advance state machine
2925
  
2926
  When using the multi_socket API to do SFTP upload, it is important that
2927
  we set a quick expire when leaving the SSH_SFTP_UPLOAD_INIT state as
2928
  there's nothing happening on the socket so there's no read or write to
2929
  wait for, but the next libssh2 API function needs to be called to get
2930
  the ball rolling.
2931
  
2932
  This is one of the problems detected by test 582.
2933
  
2934
  Reported by: Henry Ludemann <misc@hl.id.au>
2935
2936
- test582: improved info messages
2937
2938
- source header: added to more files
2939
2940
- sources: update source headers
2941
  
2942
  All C and H files now (should) feature the proper project curl source
2943
  code header, which includes basic info, a copyright statement and some
2944
  basic disclaimers.
2945
2946
- TODO-RELEASE: add 10 pending issues
2947
2948
- TODO-RELEASE: fix the IPv6-working probing
2949
2950
- tests: phase out haxx.se
2951
  
2952
  Instead of using haxx.se as a fixed magic host name in lots of tests,
2953
  this is a first step to move toward the generic example.com host
2954
  instead.
2955
2956
- test523: avoid using haxx.se
2957
  
2958
  ... since search engines find what they think is a URL in this, they
2959
  hammer www.haxx.se on this port!
2960
2961
- configure: update the copyright year in the output
2962
2963
Dan Fandrich (9 Mar 2011)
2964
- Force setopt constants written by --libcurl to be long
2965
2966
Daniel Stenberg (8 Mar 2011)
2967
- cyassl: fix compiler warnings
2968
2969
- [Todd A Ouska brought this change]
2970
2971
  SSL: (part 2) Added CyaSSL to SSL abstraction layer
2972
  
2973
  This is the modified existing files commit.
2974
2975
- [Todd A Ouska brought this change]
2976
2977
  SSL: Added CyaSSL to SSL abstraction layer
2978
  
2979
  CyaSSL (available from git@github.com:cyassl/cyassl.git) has been
2980
  added to the SSL abstraction layer.
2981
  
2982
  To test:
2983
  1) git CyaSSL sources
2984
  2) autoreconf -i
2985
  3) ./configure --disable-static
2986
  4) make
2987
  5) sudo make install
2988
  6) autoreconf -i
2989
  7) git curl sources (and this patch)
2990
  8) ./configure --disable-shared --with-cyassl --without-ssl --enable-debug
2991
  9) make
2992
  10) normal testing
2993
  
2994
  Please send questions or comments to todd@yassl.com .
2995
2996
- curl.1: clarify -E
2997
  
2998
  Stress that it is for client certificates and then mention that it also
2999
  works for all other SSL-based protocols apart from HTTPS and
3000
  FTPS. Namely POP3S, IMAPS and SMTPS for now.
3001
3002
- FAQ: Protocol xxx not supported or disabled in libcurl
3003
3004
- lib582: used for test 582
3005
  
3006
  Accidentally not included in commit 0e74e1d8d83
3007
3008
Dan Fandrich (7 Mar 2011)
3009
- Fixed libcurl to honour the --disable-ldaps configure option
3010
3011
Daniel Stenberg (8 Mar 2011)
3012
- [Henry Ludemann brought this change]
3013
3014
  sftp-multi: test 582 added
3015
  
3016
  Add test 582 for uploading a file using sftp and the multi interface.
3017
  
3018
  (Patch and test slightly tweaked by Daniel Stenberg)
3019
  
3020
  Initially marked as disabled until it is fixed in the source.
3021
3022
- FAQ: How to SFTP from my user's home directory?
3023
3024
- cpp: correct #endif placement
3025
  
3026
  The end-of-file #endif in rawstr.h was not correcly positioned after all
3027
  prototypes.
3028
  
3029
  Reported by: Boris
3030
  Bug: http://curl.haxx.se/bug/view.cgi?id=3195205
3031
3032
Dan Fandrich (4 Mar 2011)
3033
- Moved test 577 into the unit test framework as test 1307
3034
3035
- Added unit test 1306 so tests 558 & 559 are now fully replaced
3036
3037
- The unit test argument is allowed to be used
3038
3039
- Converted tests 558 & 559 to use the unit test framework as 1305
3040
  
3041
  Test 558 was just a subset of 559 which is something that can be
3042
  easily added later.
3043
3044
- Fixed test 1300 to pass the torture test
3045
3046
- Added abort_* unit test macros
3047
  
3048
  These are for when a test failure makes it impossible to continue
3049
  running further tests.
3050
3051
Kamil Dudka (4 Mar 2011)
3052
- [Stefan Krause brought this change]
3053
3054
  transfer: avoid insane conversion of time_t
3055
3056
Daniel Stenberg (26 Feb 2011)
3057
- ssh_connect: treat libssh2 return code better
3058
  
3059
  libssh2_knownhost_readfile() returns a negative value on error or
3060
  otherwise number of parsed known hosts - this was previously not
3061
  documented correctly in the libssh2 man page for the function.
3062
  
3063
  Bug: http://curl.haxx.se/mail/lib-2011-02/0327.html
3064
  Reported by: murat
3065
3066
Julien Chaffraix (25 Feb 2011)
3067
- http: removed wrong unused comment.
3068
  
3069
  |premature| is used in Curl_http_done.
3070
3071
- http: removed code duplication for stubbed https_getsock function.
3072
3073
Daniel Stenberg (23 Feb 2011)
3074
- RELEASE-NOTES: synced with 2345c1dd661c
3075
3076
- runtests.pl/stopserver: space separate pids
3077
  
3078
  The stopserver function would append pids to kill and could append them
3079
  without separating them with space properly. The result would be a very
3080
  large number that by (some implementations of) kill would be interpreted
3081
  as a negative number and that process group would be wiped...
3082
  
3083
  Bug: http://curl.haxx.se/bug/view.cgi?id=3188836
3084
  Reported by: Greg Pratt
3085
3086
Kamil Dudka (22 Feb 2011)
3087
- nss: do not ignore failure of SSL handshake
3088
  
3089
  Flaw introduced in fc77790 and present in curl-7.21.4.
3090
  Bug: https://bugzilla.redhat.com/669702#c16
3091
3092
Daniel Stenberg (21 Feb 2011)
3093
- CURLOPT_SSH_KEYFUNCTION: requires *SSH_KNOWNHOSTS
3094
  
3095
  Extend the docs to clarify that CURLOPT_SSH_KEYFUNCTION is only called
3096
  if the known hosts option is also correctly set!
3097
3098
Julien Chaffraix (20 Feb 2011)
3099
- curl_easy_setopt.3: Removed wrong reference to CURLOPT_USERPASSWORD.
3100
  
3101
  CURLOPT_HTTPAUTH was mentioning CURLOPT_USERPASSWORD instead of
3102
  CURLOPT_PASSWORD.
3103
  
3104
  Reported by: Mike Henshaw
3105
3106
- netrc: Removed _NETRC_DEBUG code.
3107
  
3108
  This is not needed anymore as we have unit testing running on it.
3109
3110
- tests: Cleaned up netrc testing.
3111
  
3112
  Removed the "netrc_debug" keyword replaced with --netrc-file additions.
3113
  Removed the debug code from Curl_parsenetrc as it is superseeded by
3114
  --netrc-file.
3115
3116
- curl: Added --netrc-file.
3117
  
3118
  This enables people to specify a path to the netrc file to use.
3119
  The new option override --netrc if both are present. However it
3120
  does follow --netrc-optional if specified.
3121
3122
Ben Noordhuis (20 Feb 2011)
3123
- IMAP in multi mode: use Curl_ssl_connect_nonblocking() when upgrading the connection to TLS/SSL.
3124
3125
- IMAP in multi mode: use Curl_ssl_connect_nonblocking() when connecting.
3126
3127
Daniel Stenberg (18 Feb 2011)
3128
- [Mike Crowe brought this change]
3129
3130
  multi: close connection on timeout
3131
  
3132
  After a request times out, the connection wasn't properly closed and
3133
  prevented to get re-used, so subsequent transfers could still mistakenly
3134
  get to use the previously aborted connection.
3135
3136
- multi: better failed connect treatment
3137
  
3138
  When failing to connect the protocol during the CURLM_STATE_PROTOCONNECT
3139
  state, Curl_done() has to be called with the premature flag set TRUE as
3140
  for the pingpong protocols this can be important.
3141
  
3142
  When Curl_done() is called with premature == TRUE, it needs to call
3143
  Curl_disconnect() with its 'dead_connection' argument set to TRUE as
3144
  well so that any protocol handler's disconnect function won't attempt to
3145
  use the (control) connection for anything.
3146
  
3147
  This problem caused the pingpong protocols to fail to disconnect when
3148
  STARTTLS failed.
3149
  
3150
  Reported by: Alona Rossen
3151
  Bug: http://curl.haxx.se/mail/lib-2011-02/0195.html
3152
3153
- [Hoi-Ho Chan brought this change]
3154
3155
  PolarSSL: Return 0 on receiving TLS CLOSE_NOTIFY alert
3156
  
3157
  Signed-off-by: Hoi-Ho Chan <hoiho.chan@gmail.com>
3158
3159
- symbols-in-versions: sorted
3160
  
3161
  I forgot to sort it when I added the CURL_SOCKOPT_* symbols
3162
3163
- TODO-RELEASE: refresh
3164
3165
- SOCKOPTFUNCTION: documented new return codes
3166
3167
- SOCKOPTFUNCTION: callback can say already-connected
3168
  
3169
  Introducing a few CURL_SOCKOPT* defines for conveniance. The new
3170
  CURL_SOCKOPT_ALREADY_CONNECTED signals to libcurl that the socket is to
3171
  be treated as already connected and thus it will skip the connect()
3172
  call.
3173
3174
Kamil Dudka (17 Feb 2011)
3175
- nss: avoid memory leak on SSL connection failure
3176
3177
Daniel Stenberg (17 Feb 2011)
3178
- RELEASE-NOTES: fresh start towards 7.21.5
3179
3180
- curlver.h: bump to 7.21.5
3181
3182
- THANKS: add contributors from 7.21.4
3183
1.2.9 by Ramakrishnan Muthukrishnan
Import upstream version 7.21.4
3184
Version 7.21.4 (17 Feb 2011)
3185
3186
Guenter Knauf (17 Feb 2011)
3187
- Set -fpcc-struct-return only for gcc compiler.
3188
3189
Daniel Stenberg (17 Feb 2011)
3190
- RELEASE-NOTES: credits since 7.21.3
3191
  
3192
  I went through all the names mentioned as authors and in commit messages
3193
  since 7.21.3, and this list inserted now is sorted on first name.
3194
3195
- nss_load_key: fix unused variable warning
3196
3197
- gmtime: remove define
3198
  
3199
  It turns out some systems rely on the gmtime or gmtime_r to be defined
3200
  already in the system headers and thus my "precaution" redefining of
3201
  them only caused trouble. They are now removed.
3202
3203
Guenter Knauf (13 Feb 2011)
3204
- Added -m32 to CFLAGS to compile with x86_64 gcc.
3205
3206
- Updated OpenSSL version, added links to docu.
3207
3208
Daniel Stenberg (10 Feb 2011)
3209
- RELEASE-NOTES: synced with 3bb1291fbd4
3210
3211
- --keepalive-time: warn if not supported properly
3212
  
3213
  Since the feature requires support for TCP_KEEPIDLE and TCP_KEEPINTVL to
3214
  function as documented, it now warns if that support is missing when the
3215
  option is used.
3216
3217
Dan Fandrich (10 Feb 2011)
3218
- Call ERR_peek_error instead of ERR_peek_last_error
3219
  
3220
  The latter isn't available in older OpenSSL versions, and is
3221
  less useful since it returns the most recent error instead of
3222
  the first one encountered.
3223
3224
Julien Chaffraix (10 Feb 2011)
3225
- netrc: Enable setting up the filename in unit tests.
3226
  
3227
  Unset the environment variable so that we can specify different
3228
  filenames in the unit test.
3229
3230
- test1304: Added some unit tests for Curl_parsenetrc.
3231
  
3232
  Moved some definitons into the header file so that we can reuse them.
3233
3234
Daniel Stenberg (9 Feb 2011)
3235
- [Quinn Slack brought this change]
3236
3237
  CURLE_TLSAUTH_FAILED: removed
3238
  
3239
  On second thought, I think CURLE_TLSAUTH_FAILED should be eliminated. It
3240
  was only being raised when an internal error occurred while allocating
3241
  or setting the GnuTLS SRP client credentials struct. For TLS
3242
  authentication failures, the general CURLE_SSL_CONNECT_ERROR seems
3243
  appropriate; its error string already includes "passwords" as a possible
3244
  cause. Having a separate TLS auth error code might also cause people to
3245
  think that a TLS auth failure means the wrong username or password was
3246
  entered, when it could also be a sign of a man-in-the-middle attack.
3247
3248
- [Quinn Slack brought this change]
3249
3250
  TLS-SRP: new options documented
3251
3252
- CURLOPT_SOCKOPTFUNCTION: return proper error code
3253
  
3254
  When the callback returns an error, this function must make sure to return
3255
  CURLE_ABORTED_BY_CALLBACK properly and not CURLE_OK as before to allow the
3256
  callback to properly abort the operation.
3257
3258
- curl.1: typo in -v description
3259
  
3260
  Reported by: Ian D Allen
3261
  Bug: https://bugs.launchpad.net/ubuntu/+source/curl/+bug/714895
3262
  
3263
  Forwarded to us by:
3264
  
3265
  Reported by: Andreas Olsson
3266
  Bug: http://curl.haxx.se/bug/view.cgi?id=3175422
3267
3268
Julien Chaffraix (7 Feb 2011)
3269
- netrc: Removed dead code.
3270
  
3271
  The main has not been updated from some time and is out of sync with
3272
  the code. The code is now tested by several test cases so no need for
3273
  a seperate code path.
3274
3275
- netrc: Tightened up the type checks.
3276
  
3277
  The state should not be anonymous so that we can check if the values
3278
  are fine. Added 2 unreachables states to the switch as a result of this
3279
  change.
3280
3281
- imap: Fixed typo in a comment.
3282
3283
Daniel Stenberg (7 Feb 2011)
3284
- Curl_gmtime: avoid future mistakes
3285
  
3286
  Document Curl_gmtime() and define away the old functions so that they
3287
  won't be used internally again by mistake.
3288
3289
- Curl_gmtime: added a portable gmtime
3290
  
3291
  Instead of polluting many places with #ifdefs, we create a single place
3292
  for this function, and also check return code properly so that a NULL
3293
  pointer returned won't cause problems.
3294
3295
Guenter Knauf (3 Feb 2011)
3296
- mk-ca-bundle.vbs: use new cacert url
3297
  
3298
  The official Mozilla page at http://www.mozilla.org/projects/security/certs/
3299
  points out a new place as the "proper" place to get Mozilla's CA certs from
3300
  so this script is now updated to use that instead.
3301
  
3302
  Reported by: Daniel Mentz
3303
3304
Daniel Stenberg (2 Feb 2011)
3305
- mk-ca-bundle.pl: use new cacert url
3306
  
3307
  The official Mozilla page at
3308
  http://www.mozilla.org/projects/security/certs/ points out a new place
3309
  as the "proper" place to get Mozilla's CA certs from so this script is
3310
  now updated to use that instead.
3311
  
3312
  Reported by: Daniel Mentz
3313
3314
- [Bjoern Sikora brought this change]
3315
3316
  ssluse: improved error message on SSL_CTX_new failures
3317
  
3318
  "SSL: couldn't create a context" really isn't that helpful, now it'll
3319
  also extract an explanation from OpenSSL and append to the right.
3320
3321
- [Nicholas Maniscalco brought this change]
3322
3323
  multi: fix CURLM_STATE_TOOFAST for multi_socket
3324
  
3325
  The code in the toofast state needs to first recalculate the values
3326
  before it uses them again since it may have been a while since it last
3327
  did it when it reaches this point.
3328
3329
- unit1300: code style cleanup
3330
3331
- [Amr Shahin brought this change]
3332
3333
  adding unit tests for Curl_llist_remove
3334
3335
Patrick Monnerat (31 Jan 2011)
3336
- Include TLSAUTH options in ILE/RPG binding.
3337
3338
Kamil Dudka (31 Jan 2011)
3339
- [Dave Reisner brought this change]
3340
3341
  file: add support for CURLOPT_TIMECONDITION
3342
3343
- [Dave Reisner brought this change]
3344
3345
  transfer: add Curl_meets_timecondition()
3346
  
3347
  This will be used by file_do() and Curl_readwrite() as a unified method
3348
  of checking to see if a remote document meets the supplied
3349
  CURLOPT_TIMEVAL and CURLOPT_TIMECONDITION.
3350
  
3351
  Signed-off-by: Dave Reisner <d@falconindy.com>
3352
3353
Daniel Stenberg (29 Jan 2011)
3354
- FAQ: clarified/expanded 6.7 a bit
3355
  
3356
  "6.7 What are my obligations when using libcurl in my commercial apps?"
3357
  got the piece about what exactly "in all copies" mean to a user of the
3358
  code.
3359
  
3360
  This interpretation is based on what other MIT-like licenses have made
3361
  more explicit.
3362
3363
- COPYING: update the year to 2011
3364
  
3365
  The generic copyright year range now includes 2011
3366
3367
- [Pierre Joye brought this change]
3368
3369
  Windows build: alternative makefile
3370
  
3371
  This is a separate makefile for MSVC builds. It is deliberately put in
3372
  another dir than src/ and lib/ to allow a different build experience
3373
  than the previous - at least during a period. Eventually we should
3374
  unify.
3375
3376
- test: add test 580 to the dist
3377
3378
Dan Fandrich (27 Jan 2011)
3379
- Some minor edits including updates to function names
3380
3381
Daniel Stenberg (27 Jan 2011)
3382
- ares: memory leak fix
3383
  
3384
  The double name resolve trick used with c-ares could leave allocated
3385
  memory in 'temp_ai' if the operation was aborted in the middle.
3386
3387
- ares_query_completed_cb: don't touch invalid data
3388
  
3389
  When this callback is called due to the destruction of the ares handle,
3390
  the connection pointer passed in as an argument may no longer pointing
3391
  to valid data and this function doesn't need to do anything with it
3392
  anyway so we make sure it doesn't.
3393
  
3394
  Bug: http://curl.haxx.se/mail/lib-2011-01/0333.html
3395
  Reported by: Vsevolod Novikov
3396
3397
Kamil Dudka (27 Jan 2011)
3398
- nss: avoid memory leaks and failure of NSS shutdown
3399
  
3400
  ... in case more than one CA is loaded.
3401
  
3402
  Bug: https://bugzilla.redhat.com/670802
3403
3404
Dan Fandrich (26 Jan 2011)
3405
- Mention that sftp quote commands can be quoted
3406
3407
Daniel Stenberg (25 Jan 2011)
3408
- tests: more multiple headers checks
3409
3410
- HTTP: memory leak on multiple Location:
3411
  
3412
  The HTTP parser allocated memory on each received Location: header
3413
  without properly freeing old data. Starting now, the code only considers
3414
  the first Location: header and will blissfully ignore subsequent ones.
3415
  
3416
  Bug: http://curl.haxx.se/bug/view.cgi?id=3165129
3417
  Reported by: Martin Lemke
3418
3419
- FAQ: clarify 5.13 how to stop a transfer
3420
3421
Guenter Knauf (22 Jan 2011)
3422
- Fixed C++ style comment not allowed in ISO C90.
3423
3424
Dan Fandrich (21 Jan 2011)
3425
- Mention axTLS in some more documentation
3426
3427
Daniel Stenberg (20 Jan 2011)
3428
- runtests.pl: make -s not show skipped tests
3429
3430
- [Amr Shahin brought this change]
3431
3432
  unittest: add 3 tests to test1300
3433
  
3434
  Testing Curl_llist_insert_next
3435
3436
Dan Fandrich (20 Jan 2011)
3437
- [Darshan Mody brought this change]
3438
3439
  Fixed compile using OpenSSL versions < 0.9.4a
3440
3441
Daniel Stenberg (19 Jan 2011)
3442
- main: make the tlsauth options always present
3443
  
3444
  ... to not make the connection between the tool and the libcurl used
3445
  tighter than necessary, the tlsauth options are now always present but
3446
  if the used libcurl doesn't have TLSAUTH support it will return failure.
3447
  
3448
  Also, replaced strncmp() with strequal to get case insensitive matching.
3449
3450
- symbols-in-versions: add the new TLSAUTH-SRP symbols
3451
3452
- configure: TLS-SRP wasn't added as a feature
3453
  
3454
  Test case 1014 failed since TLS-SRP was correctly set to the features
3455
  variable so curl-config --features didn't output it.
3456
3457
- dist: add new certs to tarball
3458
3459
- [Quinn Slack brought this change]
3460
3461
  TLS-SRP: support added when using GnuTLS
3462
3463
- CURLOPT_SSL_VERIFYPEER: more clarifications
3464
  
3465
  The default value is 1.
3466
  
3467
  curl _uses_ a default CA bundle, it doesn't install one.
3468
  
3469
  Drop the references to 7.10 as that is now >8 years old!
3470
3471
- TheArtOfHttpScripting: extended
3472
  
3473
  Extended the intial HTTP protcol part and added a mention of --trace and
3474
  --trace-ascii.
3475
  
3476
  Replaced most URLs in the text to use example.com instead of all the
3477
  made up strange names.
3478
  
3479
  Shortened a bunch of lines.
3480
3481
- curl_easy_setopt.3: clarify VERIFYHOST/PEER
3482
  
3483
  Extended the descriptions somewhat and made the options get listed next
3484
  to each other.
3485
3486
- RELEASE-NOTES: mention contributors
3487
3488
- RELEASE-NOTES: synced with 7fcbdd68b9e
3489
3490
Guenter Knauf (18 Jan 2011)
3491
- Fixed configure define for Win32.
3492
  
3493
  Submitted by Vincent Torri.
3494
3495
Kamil Dudka (18 Jan 2011)
3496
- nss: fix a bug in handling of CURLOPT_CAPATH
3497
  
3498
  ... and update the curl.1 and curl_easy_setopt.3 man pages such that
3499
  they do not suggest to use an OpenSSL utility if curl is not built
3500
  against OpenSSL.
3501
  
3502
  Bug: https://bugzilla.redhat.com/669702
3503
3504
Guenter Knauf (17 Jan 2011)
3505
- Avoid redefines.
3506
3507
Daniel Stenberg (15 Jan 2011)
3508
- curl.1: fix spelling
3509
  
3510
  Bug: http://curl.haxx.se/bug/view.cgi?id=3157232
3511
  Reported by: John Bradshaw
3512
3513
Guenter Knauf (14 Jan 2011)
3514
- Added casts to silent gcc warnings.
3515
3516
Yang Tse (13 Jan 2011)
3517
- build: BCC - makefile.b32 tweak
3518
  
3519
  Get rid of stdout redirection to NUL and move stderr redirection
3520
  into RM and RMDIR macros.
3521
3522
- build: BCC - makefile.b32 tweak
3523
  
3524
  Check for BCCDIR environment var done now as other checks.
3525
3526
Guenter Knauf (13 Jan 2011)
3527
- Use env var for PSDK instead of hardcoded path.
3528
3529
- Enabled SSPI support by default.
3530
3531
- Use MAKE macro with BCC targets.
3532
3533
Yang Tse (12 Jan 2011)
3534
- docs - update BCC INSTALL section
3535
3536
- build: BCC - require Borlands's MAKE for Makefile.b32 processing.
3537
3538
- build: BCC - recover lost functionality from commit 3d813204260b37289411
3539
  
3540
  Borland's $(MAKEDIR) expands to the path where make.exe is located,
3541
  use this feature to define BCCDIR when user has not defined BCCDIR.
3542
3543
- build: use external preprocessor cpp32 when building with Borland C
3544
3545
- build: allow usage of Borland 5.5.1 external preprocessor cpp32
3546
3547
Guenter Knauf (11 Jan 2011)
3548
- Disable LDAP support since BCC headers are insufficient.
3549
3550
- Instead of exiting with error lets set BCCDIR self.
3551
3552
- Some Borland C++ makefile tweaks.
3553
3554
- Borland C++ doesnt have struct sockaddr_storage.
3555
3556
Daniel Stenberg (11 Jan 2011)
3557
- connect: use UDP correctly
3558
  
3559
  The idea that the protocol and socktype is part of name resolving in the
3560
  libc functions is nuts. We keep the name resolver functions assume
3561
  TCP/STREAM and we make sure that when we want to connect to a UDP
3562
  service we use the correct UDP/DGRAM set instead. This bug was because
3563
  the ->protocol field was not always set correctly.
3564
  
3565
  This bug was only affecting ipv6-disabled non-cares non-threaded builds.
3566
  
3567
  Bug: http://curl.haxx.se/bug/view.cgi?id=3154436
3568
  Reported by: "dperham"
3569
3570
- [Quinn Slack brought this change]
3571
3572
  SSL: fix memory leak
3573
  
3574
  In OOM situation. Follow-up fix to commit a9cd4f4ed49e1a0.
3575
3576
- gtls: fix memory leak
3577
  
3578
  Bug: http://curl.haxx.se/mail/lib-2011-01/0079.html
3579
  Reported by: Quinn Slack
3580
3581
- [Marcel Roelofs brought this change]
3582
3583
  HTTP: HTTP Negotiate authentication using SSPI
3584
  
3585
  Only under Windows
3586
3587
- cmake: removed two files
3588
  
3589
  CMake/CheckTypeSize.c.in and CMake/CheckTypeSize.cmake were removed in
3590
  the previous cmake commit
3591
3592
Dan Fandrich (5 Jan 2011)
3593
- Made unit_setup() return an error code to abort the test early
3594
  
3595
  This makes it possible to skip the call to unit_stop() in such
3596
  cases.  Also use Curl_safefree() in unit test 1302 so it will
3597
  pass the memory torture test.
3598
3599
Daniel Stenberg (6 Jan 2011)
3600
- SSH: speedcheck clobbered existing error
3601
  
3602
  The just added speedcheck must not ruin the error code if already set
3603
  due to a problem.
3604
3605
- [Brad King brought this change]
3606
3607
  CMake: Use upstream CheckTypeSize module
3608
  
3609
  The CheckTypeSize module that comes with CMake 2.6.2 and above does
3610
  everything we need and also supports cross-compiling.  Avoid duplicating
3611
  an older version of it here.  This also fixes a cross-compiling error
3612
  because the old line
3613
  
3614
    include ("${CMAKE_MODULE_PATH}/CheckTypeSize.cmake")
3615
  
3616
  failed because CMAKE_MODULE_PATH is a search path and not a directory.
3617
  
3618
  Signed-off-by: Brad King <brad.king@kitware.com>
3619
3620
- SSH: acknowledge speedcheck
3621
  
3622
  Check for speedcheck limits during the state machine traversals
3623
3624
- tests: <info> tag corrections
3625
3626
- unittest: 1303 tests Curl_timeleft
3627
  
3628
  I came up with 33 different ways to call it and verify that it returns the
3629
  correct return code.
3630
3631
- curlcheck.h: add fail()
3632
  
3633
  fail is a new function/macro that a test case can use to indicate a test
3634
  failure for cases when the standard macros are not sufficient.
3635
3636
- Curl_timeleft: s/conn/data in first argument
3637
  
3638
  As the function doesn't really use the connectdata struct but only the
3639
  SessionHanadle struct I modified what argument it wants.
3640
3641
Dan Fandrich (4 Jan 2011)
3642
- Fixed path to allow out-of-tree builds
3643
3644
Kamil Dudka (4 Jan 2011)
3645
- nss: avoid CURLE_OUT_OF_MEMORY given a file name without any slash
3646
  
3647
  Bug: https://bugzilla.redhat.com/623663
3648
3649
Daniel Stenberg (4 Jan 2011)
3650
- ignore: all executable unit test cases
3651
3652
- tests: add 1302 to the package
3653
3654
- unittest: test base64 encode/decode
3655
3656
- curlcheck.h: avoid using NULL pointers
3657
3658
- curlcheck.h: add verify_memory
3659
  
3660
  This check verifies that a pointer contains the correct data.
3661
3662
- curlcheck.h: add newlines in error messages
3663
3664
- unittest: verify curl_strequal
3665
3666
- get_cert_chain: support larger data sets
3667
  
3668
  512 bytes turned out too short for some data, so now we allocate a
3669
  larger buffer instead
3670
  
3671
  Bug: http://curl.haxx.se/mail/archive-2011-01/0002.html
3672
3673
- RELEASE-NOTES: synced with 83e9fb21aabbec2
3674
3675
- curlcheck.h: add fail_if() fix code
3676
  
3677
  The UNITTEST_START and UNITTEST_STOP defines needed to do a new brace
3678
  level so that test cases can declare variables fine and still remain
3679
  fine C89 code.
3680
3681
- unittests: basic docs
3682
3683
- ignore: unit test files
3684
3685
- unittests: a dedicated feature in tests
3686
  
3687
  The test runner script now knows if unittests can run and the unit test
3688
  setup file says it is one. I also made runtests.pl deal with no
3689
  <command> tag set, so that the description file can get even simpler.
3690
3691
- unittesting: build a separate static lib
3692
  
3693
  When configure --enable-debug has been used, all files in lib/ are now
3694
  built twice and a separate static library crafted for unit-testing will
3695
  be linked. The unit tests in the tests/unit subdir will use that
3696
  library.
3697
3698
- unittest: framework for unit-testing
3699
  
3700
  This is the first approach at doing fairly clean and easy to write and
3701
  debug unit tests.
3702
3703
- SSH: avoid PATH_MAX with alloc
3704
  
3705
  We cannot assume that PATH_MAX will be enough for the remote path name
3706
  so allocating room for it is the only sensible approach.
3707
3708
- TODO: get rid of PATH_MAX
3709
3710
- Curl_nss_connect: avoid PATH_MAX
3711
  
3712
  Since some systems don't have PATH_MAX and it isn't that clever to
3713
  assume a fixed maximum path length, the code now allocates buffer space
3714
  instead of using stack.
3715
  
3716
  Reported by: Samuel Thibault
3717
  Bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=608521
3718
3719
- SFTP: make pwd output result to header callback
3720
  
3721
  Sending "pwd" as a QUOTE command only sent the reply to the
3722
  DEBUGFUNCTION. Now it also sends an FTP-like header to the header
3723
  callback to allow similar operations as with FTP, and apps can re-use
3724
  the same parser.
3725
3726
- pubkey_show: allocate buffer to fit any-size result
3727
  
3728
  The loop condition was wrong so keys larger than 340 bits would overflow
3729
  the local stack-based buffer.
3730
3731
- CURLINFO_FTP_ENTRY_PATH: sftp support
3732
3733
- [Luke Amery brought this change]
3734
3735
  ssh: honour the CURLINFO_FTP_ENTRY_PATH curl_getinfo option
3736
3737
- [Pierre Joye brought this change]
3738
3739
  IDN: use win32 API if told to
3740
  
3741
  The functionality is provided in a new source file: lib/idn_win32.c
3742
3743
Yang Tse (28 Dec 2010)
3744
- test harness: take in account that Windows does not support LD_PRELOAD
3745
  
3746
  configure.ac: Test harness libhostname library will not be built for Windows.
3747
  
3748
  runtests.pl: LD_PRELOAD mechanism will not be used to load libhostname
3749
  library on operating systems which lack LD_PRELOAD support.
3750
3751
Daniel Stenberg (27 Dec 2010)
3752
- c-ares: fix cancelled resolves
3753
  
3754
  When built IPv6-enabled, we could do Curl_done() with one of the two
3755
  resolves having returned already, so when ares_cancel() is called the
3756
  resolve callback ends up doing funny things (sometimes resulting in a
3757
  segfault) since it would try to actually store the previous resolve even
3758
  though we're shutting down the resolve.
3759
  
3760
  This bug was introduced in commit 8ab137b2bc9630ce so it hasn't been
3761
  included in any public release.
3762
  
3763
  Bug: http://curl.haxx.se/bug/view.cgi?id=3145445
3764
  Reported by: Pedro Larroy
3765
3766
- [Brad Hards brought this change]
3767
3768
  Typo / spelling fixes.
3769
3770
- [Brad Hards brought this change]
3771
3772
  Use angle address, as for the rest of the example.
3773
  
3774
  Also spelling fix for RECIPIENT #define.
3775
3776
- [Brad Hards brought this change]
3777
3778
  Add angle brackets to addresses in easy SMTP examples, as for smtp-multi example.
3779
3780
- cookies: tricked dotcounter fixed
3781
  
3782
  Providing multiple dots in a series in the domain field (domain=..com) could
3783
  trick the cookie engine to wrongly accept the cookie believing it to be
3784
  fine. Since the tailmatching would then match all .com sites, the cookie would
3785
  then be sent to all of them.
3786
  
3787
  The code now requires at least one letter between each dot for them to be
3788
  counted. Edited test case 61 to verify this.
3789
3790
- multi: connect fail => use next IP address
3791
  
3792
  When using the multi interface and connecting to a host name that
3793
  resolves to multiple IP addresses, there was no logic that made it
3794
  continue to the next IP if connecting to the first address times
3795
  out. This is now corrected.
3796
3797
- smtp-multi: put recipient within <brackets>
3798
  
3799
  Even if libcurl might to do it for us, it is more correct.
3800
3801
- ossl_seed: no more RAND_screen
3802
  
3803
  RAND_screen() is slow, not thread-safe and not needed anymore since OpenSSL
3804
  uses the thread-safe win32 CryptoAPI nowadays.
3805
3806
- multi: inhibit some verbose outputs
3807
  
3808
  The info about pipe status and expire cleared are clearly debug-related
3809
  and not anything mere mortals will or should care about so they are now
3810
  ifdef'ed DEBUGBUILD
3811
3812
- SMTP tests: updated MAIL FROM use
3813
  
3814
  They were all wrong previously since none used the <brackets> they
3815
  should for MAIL FROM. Now libcurl adds them itself if the app doesn't so
3816
  they end up wrong less easy.
3817
3818
- CURLOPT_MAIL_FROM: document the bracket situation
3819
3820
- [Brad Hards brought this change]
3821
3822
  SMTP: add brackets for MAIL FROM
3823
  
3824
  Similar to what is done already for RCPT TO, the code now checks for and
3825
  adds angle brackets (<>) around the email address that is provided for
3826
  CURLOPT_MAIL_RCPT unless the app has done so itself.
3827
3828
Guenter Knauf (22 Dec 2010)
3829
- Added support for axTLS to NetWare build.
3830
3831
- Fixed include: memory.h -> curl_memory.h.
3832
3833
Kamil Dudka (22 Dec 2010)
3834
- [Brad Hards brought this change]
3835
3836
  smtp-tls: add a missing newline
3837
  
3838
  Without this you won't get the next (Subject) line.
3839
3840
Daniel Stenberg (21 Dec 2010)
3841
- [Brad Hards brought this change]
3842
3843
  Typo fixes.
3844
3845
Patrick Monnerat (21 Dec 2010)
3846
- New curl/curl.h definitions added to ILE/RPG binding.
3847
3848
Yang Tse (21 Dec 2010)
3849
- build: sort configuration hunks in lib/Makefile.vc6
3850
  
3851
  sorted to reflect same internal order as the one shown
3852
  in the usage message.
3853
3854
Daniel Stenberg (20 Dec 2010)
3855
- getparameter: add error check
3856
  
3857
  if add2list() returns an error, bail out!
3858
3859
- loadhostpairs: return errorcode
3860
  
3861
  Make sure that Curl_cache_addr() errors are propagated to callers of
3862
  loadhostpairs().
3863
  
3864
  (this loadhostpairs function caused a scan-build warning due to the
3865
  'dns' variable getting assigned but never used)
3866
3867
Yang Tse (20 Dec 2010)
3868
- distrib: add new file to EXTRA_DIST
3869
3870
- build: refactoring of msvc makefiles to allow overriding of library filenames.
3871
  
3872
  Default libcurl's file names are kept equal to those used since Y2K.
3873
3874
Daniel Stenberg (19 Dec 2010)
3875
- ftp_parselist: fix compiler warning
3876
  
3877
  Doing curlx_strtoofft() on the size just to figure out the end of it
3878
  causes a compiler warning since the result wasn't used, but is also a
3879
  bit of a waste.
3880
3881
- [Pasha Kuznetsov brought this change]
3882
3883
  Curl_do: avoid using stale conn pointer
3884
  
3885
  Since the original `conn' pointer was used after the `connectdata' it
3886
  points to has been closed/cleaned up by Curl_reconnect_request it caused
3887
  a crash. We must make sure to use the newly created connection instead!
3888
  
3889
  URL: http://curl.haxx.se/mail/lib-2010-12/0202.html
3890
3891
- [Tommie Gannert brought this change]
3892
3893
  ares: ask for both IPv4 and IPv6 addresses
3894
  
3895
  Make the c-ares resolver code ask for both IPv4 and IPv6 addresses when
3896
  IPv6 is enabled.
3897
  
3898
  This is a workaround for the missing ares_getaddrinfo() and is a lot
3899
  easier to implement.
3900
  
3901
  Note that as long as c-ares returns IPv4 addresses when IPv6 addresses
3902
  were requested but missing, this will cause a host's IPv4 addresses to
3903
  occur twice in the DNS cache.
3904
  
3905
  URL: http://curl.haxx.se/mail/lib-2010-12/0041.html
3906
3907
- examples: socket type cleanup
3908
3909
- [Brad Hards brought this change]
3910
3911
  Trival comment fix.
3912
3913
- [Brad Hards brought this change]
3914
3915
  smtp-tls: add Message-ID: header
3916
3917
- gitignore: ignore the new example execs
3918
3919
- examples: fix compiler warnings
3920
3921
- examples: build all examples easier
3922
3923
- [Brad Hards brought this change]
3924
3925
  smtp-tls: new example
3926
  
3927
  This example shows how to send SMTP with TLS
3928
3929
- [Brad Hards brought this change]
3930
3931
  Docs: add simple SMTP example
3932
  
3933
  Add a simple SMTP example program, patterned after some of the existing
3934
  examples, and the curl application.
3935
  
3936
  This version addresses issues raised by David Woodhouse on comments in
3937
  the simplesmtp.c example.
3938
3939
Kamil Dudka (17 Dec 2010)
3940
- [Paul Howarth brought this change]
3941
3942
  tftpd: avoid buffer overflow report from glibc
3943
3944
Daniel Stenberg (17 Dec 2010)
3945
- example: fix compiler warnings in fopen.c
3946
3947
- [Brad Hards brought this change]
3948
3949
  chkspeed: bad strtol() call for -M option
3950
  
3951
  Bug: http://curl.haxx.se/mail/lib-2010-12/0192.html
3952
3953
Yang Tse (16 Dec 2010)
3954
- axTLS integration: silence runtests.pl perl warning
3955
3956
Daniel Stenberg (15 Dec 2010)
3957
- axTLS: mention it among the other SSL libs
3958
3959
- 7.21.4: version bump
3960
3961
- axtls_connect: allow connect without peer verification
3962
  
3963
  The SSL_SERVER_VERIFY_LATER bit in the ssl_ctx_new() call allows the
3964
  code to verify the peer certificate explicitly after the handshake and
3965
  then the "data->set.ssl.verifypeer" option works.
3966
3967
- axTLS: allow "default" SSL version as well
3968
  
3969
  When no explicit version is selected we should try to use whatever is
3970
  best for us, and in the axTLS case that means TLSv1.
3971
3972
- axtls.c: cleanup
3973
  
3974
  Removed trailing whitespace
3975
  Removed several compiler warnings
3976
  Removed odd backslashes at some line endings
3977
3978
- urldate: undef hideous memory defines
3979
  
3980
  The public axTLS header (at least as of 1.2.7) redefines the memory
3981
  functions. We #undef those again immediately after the public header to
3982
  limit the damage. This should be fixed in axTLS.
3983
3984
- configure: make --with-axtls set prefix
3985
  
3986
  In tradition with other options, have this point to the directory prefix
3987
  and not the lib directory. Otherwise we can't set the include path
3988
  reliably.
3989
3990
- [Eric Hu brought this change]
3991
3992
  Minor fixes to pass tests 301 and 306 with a patched axTLS.
3993
3994
- [Eric Hu brought this change]
3995
3996
  Initial axTLS integration. Connections can be made and some tests pass.
3997
  
3998
  Failed HTTPS tests: 301, 306, 311, 312, 313, 560
3999
  311, 312 need more detailed error reporting from axTLS.
4000
  313 relates to CRL, which hasn't been implemented yet.
4001
4002
- [Eric Hu brought this change]
4003
4004
  Simple update to configure script to notify user of --with-axtls switch.
4005
4006
- [Eric Hu brought this change]
4007
4008
  Preparing for axTLS. Actual SSL API functions are only stubbed.
4009
  
4010
  Added axTLS to autotool files and glue code to misc other files.
4011
  axtls.h maps SSL API functions, but may change.
4012
  axtls.c is just a stub file and will definitely change.
4013
4014
- THANKS: added contributors from 7.21.3
4015
4016
Version 7.21.3 (15 Dec 2010)
4017
1.2.8 by Ramakrishnan Muthukrishnan
Import upstream version 7.21.3
4018
Daniel Stenberg (15 Dec 2010)
4019
- RELEASE-NOTES: synced with a865bd9fbaaa43e5c
4020
4021
- IsPipeliningPossible: only for HTTP
4022
  
4023
  The function that checks if pipelining is possible now requires the HTTP
4024
  bit to be set so that it doesn't mistakenly tries to do it for other
4025
  protocols.
4026
  
4027
  Bug: http://curl.haxx.se/mail/lib-2010-12/0152.html
4028
  Reported by: Dmitri Shubin
4029
4030
- multi_runsingle: don't timeout completed handles
4031
  
4032
  The generic timeout code must not check easy handles that are already
4033
  completed. Going to completed (again) within there risked decreasing the
4034
  number of alive handles again and thus it could go negative.
4035
  
4036
  This regression bug was added in 7.21.2 in commit ca10e28f06f1
4037
4038
- symbols-in-versions: CURLOPT_KEYPASSWD fixed
4039
  
4040
  It was added in 7.17.0 and is not deprecated
4041
4042
- RELEASE-NOTES: synced with c28443c551825
4043
4044
Dan Fandrich (8 Dec 2010)
4045
- Mention that using other libraries can affect app licensing
4046
4047
Yang Tse (7 Dec 2010)
4048
- easy: fix compiler warning: end-of-loop code not reached
4049
4050
Daniel Stenberg (6 Dec 2010)
4051
- disconnect: pass on the dead_connection argument
4052
  
4053
  Cleanup fix after Kamil's commit 5c7c9a768d0093
4054
4055
Yang Tse (6 Dec 2010)
4056
- sws: fix compier warning: external definition with no prior declaration
4057
4058
Daniel Stenberg (6 Dec 2010)
4059
- [Heinrich Ko brought this change]
4060
4061
  ossl_connect_common: detect connection re-use
4062
  
4063
  ossl_connect_common() now checks whether or not 'struct
4064
  connectdata->state' is equal 'ssl_connection_complete' and if so, will
4065
  return CURLE_OK with 'done' set to 'TRUE'. This check prevents
4066
  ossl_connect_common() from creating a new ssl connection on an existing
4067
  ssl session which causes openssl to fail when it tries to parse an
4068
  encrypted TLS packet since the cipher data was effectively thrown away
4069
  when the new ssl connection was created.
4070
  
4071
  Bug: http://curl.haxx.se/mail/lib-2010-11/0169.html
4072
4073
Kamil Dudka (6 Dec 2010)
4074
- url: provide dead_connection flag in Curl_handler::disconnect
4075
  
4076
  It helps to prevent a hangup with some FTP servers in case idle session
4077
  timeout has exceeded.  But it may be useful also for other protocols
4078
  that send any quit message on disconnect.  Currently used by FTP, POP3,
4079
  IMAP and SMTP.
4080
4081
Yang Tse (6 Dec 2010)
4082
- ssh: fix a download resume point calculation
4083
4084
Daniel Stenberg (5 Dec 2010)
4085
- Curl_wait_for_resolv: correct timeout
4086
  
4087
  When looping in this function and checking for the timeout being
4088
  expired, it was not updating the reference time when calculating the
4089
  timediff since previous round which made it think each subsequent loop
4090
  to have taken longer than it actually did.
4091
  
4092
  I also modified the function to use the generic Curl_timeleft() function
4093
  instead of the custom logic.
4094
  
4095
  Bug: http://curl.haxx.se/bug/view.cgi?id=3112579
4096
4097
- Curl_send/recv_plain: return errno on failure
4098
  
4099
  When send() and recv() fail, we now store the errno value to allow the
4100
  app to access it.
4101
  
4102
  Bug: http://curl.haxx.se/bug/view.cgi?id=3128121
4103
  Reported by: Yuri
4104
4105
Guenter Knauf (5 Dec 2010)
4106
- Updated OpenSSL version.
4107
4108
Yang Tse (4 Dec 2010)
4109
- fix compiler warning: conversion may lose significant bits
4110
4111
- fix compiler warning: assignment within conditional expression
4112
4113
- fix getinfo CURLINFO_LOCAL* for reused connections (take 2) follow-up
4114
  
4115
  - Show address string from proper buffer in case of connection failure.
4116
  
4117
  - Try next address when inet_ntop() fails.
4118
4119
Daniel Stenberg (3 Dec 2010)
4120
- version-check: added brief documentation
4121
  
4122
  and the traditional source header
4123
4124
Yang Tse (3 Dec 2010)
4125
- build: provide SIZEOF_SIZE_T DOS definition
4126
4127
- build: lib/config.dos renamed to lib/config-dos.h
4128
4129
- build: provide SIZEOF_SIZE_T VMS definition
4130
4131
- build: move config-vms.h from subdir 'packages/vms' into 'lib'
4132
4133
- build: provide SIZEOF_SIZE_T definition for non-configure builds
4134
4135
- build: provide SIZEOF_SIZE_T netware definition
4136
4137
- configure: undo using autobuilds to temporarily verify strict aliasing warnings.
4138
4139
- fix compiler warning: rounding, sign extension, or loss of accuracy may result
4140
4141
- fix compiler warning: statement is not reachable
4142
4143
- fix compiler warning: conversion may lose significant bits
4144
4145
- connect: fix compiler warning: unused variable
4146
4147
- fix getinfo CURLINFO_LOCAL* for reused connections (take 2)
4148
4149
- fix getinfo CURLINFO_LOCAL* for reused connections follow-up
4150
  
4151
  Reinstate IPV6 build variable that got removed.
4152
4153
- fix getinfo CURLINFO_LOCAL* for reused connections
4154
  
4155
  Failed to commit this file changes along with the others.
4156
4157
- fix getinfo CURLINFO_LOCAL* for reused connections
4158
4159
- atoi: remove atoi usage
4160
4161
- multi: fix compiler warning: conversion may lose significant bits follow-up
4162
4163
- ftp: fix 'bool' data type implementation dependant usage
4164
4165
- multi: fix compiler warning: conversion may lose significant bits
4166
4167
- multi: fix compiler warning: enumerated type mixed with another type
4168
4169
- hostip: edit comment
4170
4171
- xattr: fix compiler warning: enumerated type mixed with another type
4172
4173
- s/isspace/ISSPACE
4174
4175
- symbol-scan: use configure script knowledge about how to run the C preprocessor
4176
4177
- ignore file generated by configure
4178
4179
- curl_multi_info_read: fix compiler warning: conversion may lose significant bits
4180
4181
- inet_pton: fix compiler warning
4182
  
4183
  warning C4146: unary minus operator applied to unsigned type, result still unsigned
4184
4185
- Curl_getaddrinfo_ex: sanitize function results follow-up.
4186
4187
- Curl_getaddrinfo_ex: sanitize function results.
4188
  
4189
  Ensure that spurious results from system's getaddrinfo() ares not propagated
4190
  by Curl_getaddrinfo_ex() into the library.
4191
  
4192
  Also ensure that the ai_addrlen member of Curl_getaddrinfo_ex()'s output linked
4193
  list of Curl_addrinfo structures has appropriate family-specific address size.
4194
4195
Kamil Dudka (22 Nov 2010)
4196
- openldap: use remote port in URL passed to ldap_init_fd()
4197
  
4198
  ... not the proxy port.  It makes no difference unless a proxy is used.
4199
4200
Yang Tse (20 Nov 2010)
4201
- gtls: define and use gtls_EAGAIN, gtls_EINTR and gtls_EIO.
4202
  
4203
  Winsock builds clobber some errno.h defines in setup_once.
4204
4205
Dan Fandrich (19 Nov 2010)
4206
- Added a couple examples that were missing from the tar ball
4207
4208
- Check for errors while preprocessing curl.h in test 1119
4209
  
4210
  This showed a problem when running the test out-of-tree, so
4211
  an include path is now being added to pick up the generated
4212
  curlbuild.h file.
4213
4214
- Use the 3-argument open for compatibility with older perls
4215
4216
- [Matthias Bolte brought this change]
4217
4218
  Detect socket errors in GnuTLS on Windows
4219
  
4220
  On Windows, translate WSAGetLastError() to errno values as GNU
4221
  TLS does it internally, too. This is necessary because send() and
4222
  recv() on Windows don't set errno when they fail but GNU TLS
4223
  expects a proper errno value.
4224
  
4225
  Bug: http://curl.haxx.se/bug/view.cgi?id=3110991
4226
4227
Yang Tse (19 Nov 2010)
4228
- test servers: fix strict aliasing compiler warnings
4229
4230
- configure: use autobuilds to temporarily verify strict aliasing warnings.
4231
  
4232
  Temporarily, When cross-compiling with gcc 3.0 or later, enable strict aliasing
4233
  rules and warnings. Given that cross-compiled targets autobuilds do not run the
4234
4235
Julien Chaffraix (17 Nov 2010)
4236
- configure: Prevent link errors with --librtmp.
4237
  
4238
  If --librtmp was specified but pkg-config could not find the librtmp
4239
  file, we would have undefined symbols when linking curl.
4240
  
4241
  We prevent this error by disabling this case as suggested on the mailing
4242
  list.
4243
4244
Daniel Stenberg (15 Nov 2010)
4245
- RELEASE-NOTES: synced with cbf4961bf3e4
4246
4247
- gnutls->handshake: improved timeout handling
4248
  
4249
  When no timeout is set, we call the socket_ready function with a timeout
4250
  value of 0 during handshake, which makes it loop too much/fast in this
4251
  function. It also made this function return CURLE_OPERATION_TIMEDOUT
4252
  wrongly on a slow handshake.
4253
  
4254
  However, the particular bug report that highlighted this problem is not
4255
  solved by this fix, as this fix only makes the more proper error get
4256
  reported instead.
4257
  
4258
  Bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=594150
4259
  Reported by: Johannes Ernst
4260
4261
Julien Chaffraix (13 Nov 2010)
4262
- urldata: Capitalize enum protect_level values.
4263
  
4264
  This makes it easier to spot the enum values from the variables.
4265
  Removed some unneeded DEBUGASSERT added in the previous commit.
4266
4267
- security: tighten enum protection_level usage.
4268
  
4269
  While changing Curl_sec_read_msg to accept an enum protection_level
4270
  instead of an int, I went ahead and fixed the usage of the associated
4271
  fields.
4272
  
4273
  Some code was assuming that prot_clear == 0. Fixed those to use the
4274
  proper value. Added assertions prior to any code that would set the
4275
  protection level.
4276
4277
Yang Tse (13 Nov 2010)
4278
- configure: fix autoconf 2.68 warning: no AC_LANG_SOURCE call detected in body
4279
4280
Daniel Stenberg (12 Nov 2010)
4281
- curl.1: "a file", not an
4282
4283
- version-check.pl: display version number for symbols
4284
  
4285
  This script is the start of a helper tool that scans a source code and
4286
  outputs the most recent libcurl version it finds symbols for. Meaning
4287
  that if there's no conditions in the code, that's the earliest libcurl
4288
  version the scanned code requires.
4289
  
4290
  It is not added to the Makefile.am yet as it is still a bit crude, but
4291
  I'm committing it to keep it and allow us to work on it.
4292
4293
- [Adam Light brought this change]
4294
4295
  Makefile.vc6: fixed the xattr.c compile
4296
4297
Julien Chaffraix (12 Nov 2010)
4298
- krb5: Use GSS_ERROR to check for error.
4299
  
4300
  This is the advised way of checking for errors in the GSS-API RFC.
4301
  Also added some '\n' to the error message so that they are not mixed
4302
  with other outputs.
4303
4304
- security: Pass the right parameter to init.
4305
  
4306
  init is expecting app_data. Passing it the struct connecdata would make
4307
  us crash later.
4308
4309
Daniel Stenberg (11 Nov 2010)
4310
- HTTP Auth: Add CURLAUTH_ONLY
4311
  
4312
  This is a meta symbol. OR this value together with a single specific
4313
  auth value to force libcurl to probe for un-restricted auth and if not,
4314
  only that single auth algorithm is acceptable.
4315
  
4316
  For example you can use CURLAUTH_DIGEST|CURLAUTH_ONLY to make libcurl
4317
  first probe for what method to use, but yet only consider Digest to be
4318
  acceptable.
4319
  
4320
  Using _only_ CURLAUTH_DIGEST without the CURLAUTH_ONLY field, will make
4321
  libcurl explicitly use Digest right away and not do any probing.
4322
4323
- ip_version: moved to connection struct
4324
  
4325
  The IP version choice was previously only in the UserDefined struct
4326
  within the SessionHandle, but since we sometimes alter that option
4327
  during a request we need to have it on a per-connection basis.
4328
  
4329
  I also moved more "init conn" code into the allocate_conn() function
4330
  which is designed for that purpose more or less.
4331
4332
Yang Tse (11 Nov 2010)
4333
- buildconf: MAC OS X requires libtool version 1.5.26 or newer
4334
  
4335
  MAC OS X requires libtool version 1.5.26 or newer, otherwise
4336
  configure will mishandle *.dSYM directories when it runs.
4337
4338
- configure: remove temporary autobuilds exercising of xattr function tests
4339
4340
- configure: use autobuilds to temporarily exercise xattr function tests
4341
4342
- xattr: portability fix
4343
4344
- curl-functions: provide xattr function tests that also check number of arguments
4345
4346
Daniel Stenberg (10 Nov 2010)
4347
- test1120: verify FTP response 421
4348
  
4349
  curl mustn't try to use the control connection after the 421 is received
4350
4351
- ftpserver.pl: spellfix comment
4352
4353
- [Rutger Hofman brought this change]
4354
4355
  TFTP: resend the correct data
4356
  
4357
  I found a bug in tftp_tx() in tftp.c. If a data resend is done after
4358
  reception of an ACK/OACK, the call to sendto is wrong.
4359
4360
- [Stefan Tomanek brought this change]
4361
4362
  write extended attributes by using fsetxattr
4363
  
4364
  Instead of reopening the downloaded file, fsetxattr uses the (already
4365
  open) file descriptor to attach extended attributes. This makes the
4366
  procedure more robust against errors caused by moved or deleted files.
4367
4368
Dan Fandrich (9 Nov 2010)
4369
- Check for getinfo errors before setting attributes
4370
4371
Kamil Dudka (9 Nov 2010)
4372
- ftp: treat server's response 421 as CURLE_OPERATION_TIMEDOUT
4373
  
4374
  Bug: https://bugzilla.redhat.com/650255
4375
  Reported by: Simon H.
4376
4377
Daniel Stenberg (9 Nov 2010)
4378
- symbols-in-version: add CURL_SOCKET_BAD
4379
  
4380
  I also documented the filtering logic in the symbol-scan.pl function to
4381
  clarify why not all CURL_* symbols are included.
4382
4383
Yang Tse (9 Nov 2010)
4384
- serial number bump
4385
4386
Kamil Dudka (8 Nov 2010)
4387
- ftp: close connection as soon as ABOR has been sent
4388
  
4389
  ... and do not send ABOR unless really necessary.
4390
  
4391
  Bug: https://bugzilla.redhat.com/649347
4392
  Reported by: Simon H.
4393
4394
Daniel Stenberg (8 Nov 2010)
4395
- RELEASE-NOTES: synced with fc6c4c10f9faab08
4396
  
4397
  I also recounted and updated the command line and libcurl options.
4398
4399
- help: indent the --xattr option like the others
4400
4401
- curl.1: --resolve documented
4402
4403
- CURLOPT_RESOLVE: documented
4404
4405
- CURLOPT_USE_SSL: move from FTP options to connection options
4406
4407
- xattr-check: correct the comment as well
4408
4409
- xattr: use const char * for const strings
4410
4411
- setxattr: fix the checks
4412
  
4413
  My copy and paste job was a little too much copy and I missed to adjust
4414
  it properly to sys/xattr.h all over and this is a fix to cure that.
4415
4416
- CURLOPT_RESOLVE: added
4417
  
4418
  CURLOPT_RESOLVE is a new option that sends along a curl_slist with
4419
  name:port:address sets that will populate the DNS cache with entries so
4420
  that request can be "fooled" to use another host than what otherwise
4421
  would've been used. Previously we've encouraged the use of Host: for
4422
  that when dealing with HTTP, but this new feature has the added bonus
4423
  that it allows the name from the URL to be used for TLS SNI and server
4424
  certificate name checks as well.
4425
  
4426
  This is a first change. Surely more will follow to make it decent.
4427
4428
Yang Tse (8 Nov 2010)
4429
- fix compiler warning
4430
4431
Dan Fandrich (7 Nov 2010)
4432
- Added os-specific.c and xattr.c to the Symbian build files
4433
4434
Yang Tse (7 Nov 2010)
4435
- xattr: fix VisualStudio builds
4436
4437
- fix snapshot generation
4438
4439
Daniel Stenberg (5 Nov 2010)
4440
- --libcurl: simplify output
4441
  
4442
  Removed the code that was needed for libcurl before 7.19.0 which now is
4443
  more than two years old.
4444
  
4445
  Simplified the top comment and corrected the URL.
4446
4447
- [Alfred Gebert brought this change]
4448
4449
  LDAP: detect non-binary attributes properly
4450
  
4451
  If the query result has a binary attribute, the binary attribute is
4452
  base64 encoded. But all following non binary attributes are also base64
4453
  encoded which is wrong.
4454
  
4455
  This is a test (LDAP server is public).
4456
  
4457
  curl
4458
  ldap://x500.bund.de:389/o=Bund,c=DE?userCertificate,certificateSerialNumber?sub
4459
  ?cn=*Woehleke*
4460
4461
- xattr: add configure check and #ifdefs
4462
  
4463
  setxattr is a glibc call to set extended attributes, so configure now
4464
  checks for it and the code is adapted to only build when the
4465
  functionality is present.
4466
4467
- [Stefan Tomanek brought this change]
4468
4469
  save metadata to extended file attributes
4470
  
4471
  It is often convinient to track back the source of a once downloaded
4472
  file; this patch makes curl store the source URL and other metadata
4473
  alongside the retrieved file by using the extended attributes (if
4474
  supported by the file system and enabled by --xattr).
4475
4476
- test: remove test 580
4477
  
4478
  Test 580 is removed again for two reasons:
4479
  
4480
  1) Some compilers aren't satisfied by just a data variable called 'test'
4481
  when first.o wants a function called 'test'. The Solaris compiler says
4482
  "ld: warning: symbol `test' has differing types:" while the AIX compiler
4483
  downright rejects it.
4484
  
4485
  2) Test case 1119 that was added after this test is way more complete
4486
  and cover everything test 580 does and more without introducing the same
4487
  problems.
4488
4489
- Revert: use Host: name for SNI and cert name checks
4490
  
4491
  This reverts commit b0fd03f5b8d4520dd232a9d13567d16bd0ad8951,
4492
  4b2fbe1e97891f, afecd1aa13b4f, 68cde058f66b3
4493
4494
- TODO-RELEASE: "TLS SNI use Host:" is done
4495
  
4496
  262 - Manual setting of TLS Server Name Indication - use Host:
4497
4498
- RELEASE-NOTES: synced with 7b823badbcab9d330
4499
4500
- curl.1: added a few missing exit codes
4501
4502
- certcheck: use the custom Host: name for checks
4503
  
4504
  If you use a custom Host: name in a request to a SSL server, libcurl
4505
  will now use that given name when it verifies the server certificate to
4506
  be correct rather than using the host name used in the actual URL.
4507
4508
- SNI: simplify the custom host name use
4509
  
4510
  The redirect check is already done at the position where the customhost
4511
  field is assigned so there's no point in doing that a second time.
4512
4513
- host: get the custom Host: name more genericly
4514
  
4515
  When given a custom host name in a Host: header, we can use it for
4516
  several different purposes other than just cookies, so we rename it and
4517
  use it for SSL SNI etc.
4518
4519
- [Hongli Lai (Phusion) brought this change]
4520
4521
  SNI: set name to custom Host header
4522
  
4523
  OpenSSL SNI host name should be set to the custom Host header, if the
4524
  user provided one.
4525
4526
- fopen.c: re-indented, fixed previous mistake
4527
  
4528
  I've made the code intended using curl-style now to look more like other
4529
  examples.
4530
  
4531
  My previous "fix" was a bit too invasive but is now fixed again.
4532
4533
- multi use: call multi_perform even on select() timeouts
4534
4535
- example: add smtp-multi.c
4536
  
4537
  An example application source code sending SMTP mail with the multi
4538
  interface. It is based on the code Alona Rossen provided, which in turn
4539
  is based on existing example/test code, and I converted it even more
4540
  into a decent example with a fair multi API use, put the info required
4541
  to edit at the top and I added some comments.
4542
4543
- CURLOPT_NOSIGNAL: add blurb about SIGPIPE
4544
4545
Dan Fandrich (3 Nov 2010)
4546
- Allow building test 580 out of tree
4547
4548
Daniel Stenberg (3 Nov 2010)
4549
- dist: add symbol-scan.pl to the tarball
4550
4551
- test1119: verify symbols-in-versions
4552
4553
- runtests: allow tests written as perl scripts
4554
  
4555
  If a command is set type="perl", it can now specify a perl program that will
4556
  be run instead of an ordinary curl or built tool.
4557
  
4558
  A perl test automatically disables memory and valgrind debugging.
4559
4560
- symbol-scan: verifies symbols-in-versions
4561
  
4562
  This new script scans for all enums and #defines used by the curl/curl.h
4563
  and curl/multi.h headers. Then it reads all symbols mentioned in
4564
  symbols-in-vesions and make sure that there's no entries missing in
4565
  there. It then proceeds to verify that the entries that
4566
  symbols-in-vesions mentions but aren't found in the sources are truly
4567
  documented as removed.
4568
  
4569
  This script is used in the new test case 1119
4570
4571
- symbols-in-versions: added 119 missing symbols
4572
  
4573
  I've developed a script I call symbol-scan.pl that scans the curl.h and
4574
  multi.h header files and compare the symbols it finds in there with the
4575
  symbols symbols-in-versions documents and outputs a report on the
4576
  differences.  Using this I've dug through the history to fill up
4577
  symbols-in-versions with all the symbols my script found mismatches for.
4578
  
4579
  I will commit symbol-scan.pl separatly and think of a way to put it to
4580
  use in the build/tests so that we from now on will get this in-sync
4581
  check automatically.
4582
4583
Dan Fandrich (2 Nov 2010)
4584
- Added mk580.pl to the tar ball
4585
4586
Daniel Stenberg (2 Nov 2010)
4587
- symbols-in-versions: added missing symbols
4588
4589
- ignore: lib580.c is generated by mk580.pl
4590
4591
- test: added test 580 - verifies symbols-in-versions
4592
  
4593
  The new perl script mk580.pl generates a C table in a fresh source file
4594
  named lib580.c and if that compiles fine we know that the file
4595
  docs/libcurl/symbols-in-versions at least doesn't include any symbols
4596
  that are misspelled.
4597
  
4598
  An additional feature would be to somehow scan curl/curl.h and compare
4599
  with symbols-in-versions to see if there are symbols missing.
4600
4601
- spellfix: CURLOPT_TFTP_BLKSIZE it is
4602
4603
Kamil Dudka (29 Oct 2010)
4604
- ftp: prevent server from hanging on closed data connection
4605
  
4606
  Some FTP servers (e.g. Pure-ftpd) end up hanging if we close the data
4607
  connection before transferring all the requested data.  If we send ABOR
4608
  in that case, it prevents the server from hanging.
4609
  
4610
  Bug: https://bugzilla.redhat.com/643656
4611
  Reported by: Pasi Karkkainen, Patrick Monnerat
4612
4613
Dan Fandrich (28 Oct 2010)
4614
- Removed a leftover mention of FTP in an error message
4615
4616
- Removed the native Makefile.riscos files
4617
  
4618
  These haven't worked in at least 8 years due to missing source
4619
  files, and most active RiscOS developers these days apparently
4620
  cross-compile anyway.
4621
  
4622
  Signed-off-by: James Bursa <james@zamez.org>
4623
4624
- Lightened the stack in wc_statemach to permit deeper recursion
4625
  
4626
  Also, added a few hints to help compilers to perform tail call
4627
  recursion optimization.
4628
4629
Daniel Stenberg (20 Oct 2010)
4630
- SSH: use libssh2_session_handshake()
4631
  
4632
  In libssh2 1.2.8, libssh2_session_handshake() replaces
4633
  libssh2_session_startup() to fix the previous portability problem with
4634
  the socket type that was too small for win64 and thus easily could cause
4635
  crashes and more.
4636
4637
- SSH: avoid using the libssh2_ prefix
4638
  
4639
  It is a bad idea to use the public prefix used by another library and
4640
  now we realize that libssh2 introduces a symbol in the upcoming version
4641
  1.2.8 that conflicts with our static function named libssh2_free.
4642
4643
- formdata: provide error message
4644
  
4645
  When failing to build form post due to an error, the code now does a
4646
  proper failf(). Previously libcurl would report an error like "failed
4647
  creating formpost data" when a file wasn't possible to open which was
4648
  not easy for users to figure out.
4649
  
4650
  I also lower cased a function name to be named more curl-style and
4651
  removed some unnecessary code.
4652
4653
- URL-parsing: consider ? a divider
4654
  
4655
  The URL parser got a little stricter as it now considers a ? to be a
4656
  host name divider so that the slightly sloppier URLs work too. The
4657
  problem that made me do this change was the reported problem with an URL
4658
  like: www.example.com?email=name@example.com This form of URL is not
4659
  really a legal URL (due to the missing slash after the host name) but is
4660
  widely accepted by all major browsers and libcurl also already accepted
4661
  it, it was just the '@' letter that triggered the problem now.
4662
  
4663
  The side-effect of this change is that now libcurl no longer accepts the
4664
  ?  letter as part of user-name or password when given in the URL, which
4665
  it used to accept (and is tested in test 191). That letter is however
4666
  mentioned in RFC3986 to be required to be percent encoded since it is
4667
  used as a divider.
4668
  
4669
  Bug: http://curl.haxx.se/bug/view.cgi?id=3090268
4670
4671
- curl_easy_setopt.3: spellfix
4672
4673
- curl_easy_setopt.3: CURLOPT_USE_SSL is not just for FTP
4674
  
4675
  It is for FTP, SMTP, POP3, IMAP at least.
4676
4677
- krb4.h: removed unused prototypes
4678
4679
- krb4: make a few functions static
4680
4681
- TODO-RELEASE: cleanup for 7.21.3 works
4682
  
4683
  "SFTP resume with 4GB file does not work" is now removed as I'm sure
4684
  this is really a libssh2 bug and not a libcurl bug.
4685
  
4686
  7.21.2 is released already
4687
4688
- RELEASE-NOTES: sync with 09a2d93a0f17ca
4689
4690
- http_chunks: remove debug output
4691
  
4692
  Accidentally left in there during my previous debugging of this
4693
4694
- Curl_setopt: disallow CURLOPT_USE_SSL without SSL support
4695
  
4696
  In order to avoid for example the pingpong protocols to issue STARTTLS
4697
  (or equivalent) even though there's no SSL support built-in.
4698
  
4699
  Reported by: Sune Ahlgren
4700
  Bug: http://curl.haxx.se/mail/archive-2010-10/0045.html
4701
4702
- options: check for features for some options
4703
  
4704
  Some options, such as the automatic decompression and some SSL related
4705
  ones now will bail out if the underlying libcurl doesn't have support
4706
  for the particular feature needed.
4707
4708
Dan Fandrich (14 Oct 2010)
4709
- Fixed the IPv6 host address in test1203
4710
  
4711
  Reported by: Christian Weisgerber
4712
  Bug: http://curl.haxx.se/bug/view.cgi?id=3087479
4713
4714
Daniel Stenberg (14 Oct 2010)
4715
- curl_easy_setopt.3: clarify CURLOPT_CRLF
4716
  
4717
  The option takes a parameter that should be 1 or 0 to enable or disable
4718
  the feature.
4719
  
4720
  URL: http://curl.haxx.se/bug/view.cgi?id=3086428
4721
4722
Guenter Knauf (14 Oct 2010)
4723
- Some more small Watcom makefile fixes.
4724
4725
- Added --noconfigure switch to testcurl.pl.
4726
4727
- Modified Watcom makefiles to work on Linux too.
4728
4729
- Added MingW32 rtmp target; changed Watcom targets.
4730
  
4731
  Modified Watcom targets to avoid backslashs so that they can
4732
  work on Linux too.
4733
4734
Daniel Stenberg (13 Oct 2010)
4735
- gitignore: ignore Makefile.vc10.dist made by maketgz
4736
4737
- curlver.h: start over at 7.21.3
4738
4739
- RELEASE-NOTES: start over towards 7.21.3
4740
4741
- THANKS: added contributors from 7.21.2
4742
1.2.7 by Ramakrishnan Muthukrishnan
Import upstream version 7.21.2
4743
Version 7.21.2 (12 Oct 2010)
4744
4745
Daniel Stenberg (12 Oct 2010)
4746
- RELEASE-NOTES: synced with ecd624b8e774a85
4747
4748
- [Julien Chaffraix brought this change]
4749
4750
  CMake: Build fix.
4751
  
4752
  Do not match the trailing '\n' in the regular expression as this would
4753
  make us dump a ) parenthesis on a new line.
4754
  
4755
  This fixes the following error:
4756
  
4757
  would get transformed into:
4758
  
4759
  )
4760
  
4761
  Bug: http://curl.haxx.se/mail/lib-2010-10/0065.html
4762
  Reported by: Dimitre Dimitrov
4763
4764
- header_callback: strip off file path separated with backslashes
4765
  
4766
  If the filename contains a backslash, only use filename portion. The
4767
  idea is that even systems that don't handle backslashes as path
4768
  separators probably want that path removed for convenience.
4769
  
4770
  This flaw is considered a security problem, see the curl security
4771
  vulnerability http://curl.haxx.se/docs/adv_20101013.html
4772
4773
Dan Fandrich (12 Oct 2010)
4774
- Get the curl source files for Amiga from Makefile.inc
4775
  
4776
  This is similar to how it's done in the lib directory.
4777
  The Amiga build appears to have been broken for a year because
4778
  of a missing homedir.c
4779
4780
- Added section on server-supplied names to security considerations
4781
4782
Guenter Knauf (12 Oct 2010)
4783
- Fixed Watcom makefile.
4784
4785
- Added build bits for librtmp / libssh2 to Watcom makefiles.
4786
4787
- Added build bits for librtmp to NetWare makefiles.
4788
4789
Daniel Stenberg (12 Oct 2010)
4790
- SFTP: more ignoring negative file sizes
4791
  
4792
  As the change in 5f0ae7a0626cbe709 added a precaution against negative
4793
  file sizes that for some reason managed to get returned, this change now
4794
  introduces the same check at the second place in the code where the file
4795
  size from the libssh2 stat call is used.
4796
  
4797
  This check might not be suitable for a 32 bit curl_off_t, but libssh2.h
4798
  assumes long long to work and to be 64 bit so I believe such a small
4799
  curl_off_t will be very unlikely to occur in the wild.
4800
4801
- SMTP: debug output for no known auth mechanisms supported
4802
  
4803
  ... and some minor source code whitespace edits
4804
4805
- test: urlglob error messages have no extra newline anymore
4806
4807
Guenter Knauf (11 Oct 2010)
4808
- Added build bits for librtmp to MingW32 makefiles.
4809
4810
Daniel Stenberg (8 Oct 2010)
4811
- RELEASE-NOTES: synced with 61f4cdb73ae4
4812
4813
- globbing: fix crash on unballanced open brace
4814
  
4815
  Having an open brace without a closing brace caused a segfault.
4816
  
4817
  Having a closing brace too many caused a silent error to occur, which
4818
  caused curl to bail out and return an error code but no error message
4819
  was shown. It does now!
4820
  
4821
  All error message outputs no longer wrongly get _two_ newlines written
4822
  after the error message.
4823
  
4824
  Reported by: Vlad Ureche
4825
  Bug: http://curl.haxx.se/bug/view.cgi?id=3083942
4826
4827
- [Dan Locks brought this change]
4828
4829
  libcurl.m4: AC_PATH_PROG fixes
4830
  
4831
  The invocation of autoconf's AC_PATH_PROG( ) is not quite right for
4832
  finding curl-config. This fix corrects the negative case (where
4833
  curl-config is not found).
4834
4835
- FAQ: added "How do I submit my patch?"
4836
4837
- examples: use example.com in example URLs
4838
4839
- TODO-RELEASE: libidn problem not repeatable
4840
  
4841
  "261 - configure and libidn" is removed from the list since Julien
4842
  Chaffraix tried to repeat it but failed and the reporter did not return
4843
  to provide further details.
4844
  
4845
  Reported by: Lyndon Hill
4846
  Bug: http://curl.haxx.se/mail/lib-2010-07/0029.html
4847
4848
- libcurl.m4: mention argument is PREFIX
4849
  
4850
  The macro provides a --with-libcurl option that expects a PREFIX to be
4851
  specified and not actually a "directory" in which libcurl will be found.
4852
  This now spells that out more clearly.
4853
  
4854
  Reported by: Dan Locks
4855
  Bug: http://curl.haxx.se/bug/view.cgi?id=3079891
4856
4857
Guenter Knauf (3 Oct 2010)
4858
- Some NetWare makefile tweaks.
4859
  
4860
  Renamed SDK_* to NDK_*; made NDK_* defines overwriteable from
4861
  environment; removed now obsolete YACC macro;
4862
  moved some curl_config.h defines to IPv6 section since they
4863
  are only needed when IPv6 is enabled - this makes libcurl compile
4864
  with older NDKs too which were not IPv6-aware.
4865
4866
Daniel Stenberg (2 Oct 2010)
4867
- TODO-RELEASE: 416 error fixed
4868
  
4869
  "3076808 Requests fail silently following a 416 error" done
4870
4871
Julien Chaffraix (2 Oct 2010)
4872
- krb5-gssapi: Removed a memory leak in krb5_auth.
4873
  
4874
  We forgot to release the buffer passed to gss_init_sec_context.
4875
  
4876
  The previous logic was difficult to read as we were reusing the same
4877
  variable (gssbuf) for both input buffer and output buffer. Splitted the
4878
  logic in 2 variables to better underline who needs to be released.
4879
  Also made the code break at 80 lines.
4880
4881
- krb5-gssapi: Made the function always return a value.
4882
  
4883
  kr5_auth missed a final 'return' statement. This is not an error in
4884
  gcc but can lead to potential bugs.
4885
4886
- krb5-gssapi: Delete the GSS-API context.
4887
  
4888
  This fixes a memory leak related to the GSS-API code.
4889
  
4890
  Added a krb5_init and krb5_end functions. Also removed a work-around
4891
  the lack of proper initialization of the GSS-API context.
4892
4893
Daniel Stenberg (2 Oct 2010)
4894
- HTTP: remove special case for 416
4895
  
4896
  It was pointed out that the special case libcurl did for 416 was
4897
  incorrect and wrong. 416 is not really different to other errors so the
4898
  response body must be handled like for other errors/http responses.
4899
  
4900
  Reported by: Chris Smowton
4901
  Bug: http://curl.haxx.se/bug/view.cgi?id=3076808
4902
4903
- [Dan Fandrich brought this change]
4904
4905
  sws: Added writedelay HTTP server command
4906
  
4907
  This delays between write operations, hopefully making it easier
4908
  to spot problems where libcurl doesn't flush the socket properly
4909
  before waiting for the next response.
4910
4911
- TODO-RELEASE: no bug in ftp_nextconnect
4912
  
4913
  The issue named "266 - Bug in ftp_nextconnect?" was deemed to not be a
4914
  bug and instead resulted in clarified docs.
4915
4916
- curl_easy_setopt.3: CURLOPT_DIRLISTONLY implies dir list
4917
  
4918
  Make it explicit that setting CURLOPT_DIRLISTONLY to 1 will make libcurl
4919
  to list the directory.
4920
4921
- RELEASE-NOTES: synced up to 588402585bae
4922
4923
- TODO-RELEASE: move new features to next release
4924
4925
- README.ares: we know require c-ares 1.6.0
4926
4927
- SFTP: avoid downloading negative sizes!
4928
  
4929
  It is still not clarified exactly why this happens, but libssh2
4930
  sometimes report a negative file size for the remote SFTP file and that
4931
  deeply confuses libcurl (or crashes it) so this precaution is added to
4932
  avoid badness.
4933
  
4934
  Reported by: Ernest Beinrohr
4935
  Bug: http://curl.haxx.se/bug/view.cgi?id=3076430
4936
4937
- TODO-RELEASE: drop curl_easy_setoptv
4938
  
4939
  I haven't read any really convincing arguments for adding it
4940
4941
- [Dirk Manske brought this change]
4942
4943
  multi & hiper examples: updates and cleanups
4944
  
4945
  all multi and hiper examples:
4946
  
4947
  * don't loop curl_multi_perform calls, that was <7.20.0 style, currently
4948
    the exported multi functions will not return CURLM_CALL_MULTI_PERFORM
4949
  
4950
  all hiper examples:
4951
  * renamed check_run_count to check_multi_info
4952
  * don't  compare current running handle count with previous value, this
4953
    was the wrong way to check for finished requests, simply call
4954
    curl_multi_info_read
4955
  * it's also safe to call curl_multi_remove_handle inside the
4956
    curl_multi_info_read loop.
4957
  
4958
  ghiper.c:
4959
  * replaced curl_multi_socket (that function is marked as obsolete) calls
4960
    with curl_multi_socket_action calls (as in hiperfifo.c and
4961
    evhiperfifo.c)
4962
  
4963
  ghiper.c and evhiperfifo.c:
4964
  * be smart as hiperfifo.c, don't do uncessary curl_multi_* calls in
4965
    new_conn and main
4966
4967
- TODO-RELEASE: one fixed, one postponed, one added
4968
  
4969
  As we're already in feature freeze, I pushed the feature onwards.
4970
4971
Dan Fandrich (29 Sep 2010)
4972
- Renamed test1204 to test1117 to move it into the normal range
4973
4974
Patrick Monnerat (29 Sep 2010)
4975
- Add gopher protocol definition to ILE/RPG binding.
4976
  OS400 compile script in test dir updated for chkhostname.
4977
4978
Julien Chaffraix (28 Sep 2010)
4979
- krb5-gssapi: Remove several memory leaks.
4980
  
4981
  Remove a leak seen on Kerberos/MIT (gss_OID is copied internally and
4982
  we were leaking it). Now we just pass NULL as advised in RFC2744.
4983
  
4984
  |tmp| was never set back to buf->data.
4985
  
4986
  Cleaned up Curl_sec_end to take into account failure in Curl_sec_login
4987
  (where conn->mech would be NULL but not conn->app_data or
4988
  conn->in_buffer->data).
4989
4990
- security.c: Remove Curl_sec_fflush_fd.
4991
  
4992
  The current implementation would make us send wrong data on a closed
4993
  socket. We don't buffer our data so the method can be safely removed.
4994
4995
- security.c: We should always register the socket handler.
4996
  
4997
  Following a change in the way socket handler are registered, the custom
4998
  recv and send method were conditionaly registered.
4999
  We need to register them everytime to handle the ftp security
5000
  extensions.
5001
  
5002
  Re-added the clear text handling in sec_recv.
5003
5004
- security.c: Fix Curl_sec_login after rewrite.
5005
  
5006
  Curl_sec_login was returning the opposite result that the code in ftp.c
5007
  was expecting. Simplified the return code (using a CURLcode) so to see
5008
  more clearly what is going on.
5009
5010
- security.c: Readd the '\n' to the infof() calls.
5011
  
5012
  They are not automatically added and make the output of the verbose
5013
  mode a lot more readable.
5014
5015
- security.c: Fix typo (PSBZ -> PBSZ)
5016
5017
- security.c: Fix ftp_send_command.
5018
  
5019
  My use of va_args was completely wrong. Fixed the usage so that
5020
  we send the right commands!
5021
5022
Daniel Stenberg (28 Sep 2010)
5023
- curl_easy_escape: don't escape "unreserved" characters
5024
  
5025
  According to RFC3986 section 2.3 the letters -, ., _ and ~ should not be
5026
  percent-encoded.
5027
  
5028
  Reported by: Miguel Diaz
5029
  Bug: http://curl.haxx.se/mail/lib-2010-09/0227.html
5030
5031
- multi: don't expire timeouts at disonnect or done
5032
  
5033
  The functions Curl_disconnect() and Curl_done() are both used within the
5034
  scope of a single request so they cannot be allowed to use
5035
  Curl_expire(... 0) to kill all timeouts as there are some timeouts that
5036
  are set before a request that are supposed to remain until the request
5037
  is done.
5038
  
5039
  The timeouts are now instead cleared at curl_easy_cleanup() and when the
5040
  multi state machine changes a handle to the complete state.
5041
5042
Dan Fandrich (27 Sep 2010)
5043
- Changed the TPF make file to get source files from Makefile.inc
5044
  
5045
  Patch was fixed and validated by David McCreedy.
5046
5047
- Added test case 1204 to test HTTP range failure
5048
  
5049
  This is an attempt to reproduce bug #3076808
5050
5051
Daniel Stenberg (27 Sep 2010)
5052
- [Dirk Manske brought this change]
5053
5054
  multi_runsingle: set timeout error messages
5055
  
5056
  With the latest changes to fix the timeout handling with multi interface
5057
  we lost the timeout error messages. This patch brings them back.
5058
5059
- TODO-RELEASE: updated list of issues to work on
5060
5061
- parsedate: allow time specified without seconds
5062
  
5063
  The date format in RFC822 allows that the seconds part of HH:MM:SS is
5064
  left out, but this function didn't allow it. This change also includes a
5065
  modified test case that makes sure that this now works.
5066
  
5067
  Reported by: Matt Ford
5068
  Bug: http://curl.haxx.se/bug/view.cgi?id=3076529
5069
5070
- TFTP: re-indented the source code
5071
  
5072
  Just made sure that the good old curl indentation style is used all over
5073
  this file.
5074
5075
- [Tim Newsome brought this change]
5076
5077
  TFTP: Work around tftpd-hpa upload bug
5078
  
5079
  tftpd-hpa has a bug where it will send an incorrect ack when the block
5080
  counter wraps and tftp options have been sent. Work around that by
5081
  accepting an ack for 65535 when we're expecting one for 0.
5082
5083
- Revert "security.c: buffer_read various fixes."
5084
  
5085
  This reverts commit fbb38de415b7bb7d743e53a7b4b887ffb12b3e5b.
5086
5087
- security.c: removed superfluous parentheses
5088
  
5089
  And also removed the FIXME where memory was zeroed just before freed,
5090
  and some other minor whitespace changes.
5091
5092
- [Julien Chaffraix brought this change]
5093
5094
  security.c: Update the #include statements after the rewrite.