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