                                  _   _ ____  _
                              ___| | | |  _ \| |
                             / __| | | | |_) | |
                            | (__| |_| |  _ <| |___
                             \___|\___/|_| \_\_____|

                                  Changelog

Version 7.27.0 (27 Jul 2012)

Guenter Knauf (27 Jul 2012)
- Fixed compiler warning 'unused parameter'.

- Added prototypes to kill compiler warning.

- Added --with-winidn to configure.
  
  This needs another look from the configure experts. I tested that
  it works so far with MinGW64 cross-compiler; libcurl builds and
  links fine, but curl not yet ...

Daniel Stenberg (27 Jul 2012)
- [Ant Bryan brought this change]

  Update man page info on --metalink and typo.

- RELEASE-NOTES: remove mentioned of bug never in a release
  
  The --silent bug came with 7561a0fc834c435 which was never in a release.
  Pointed out by Kamil Dudka

- RELEASE-NOTES: synced with 33b815e894fb
  
  4 more bugfixes, 3 more contributors

Guenter Knauf (26 Jul 2012)
- Changed Windows IDN text to 'WinIDN'.
  
  Synced the output to the same short form as we now use for
  Windows SSL (WinSSL).

Daniel Stenberg (25 Jul 2012)
- [Nick Zitzmann brought this change]

  darwinssl: fixed freeze involving the multi interface
  
  Previously the curl_multi interface would freeze if darwinssl was
  enabled and at least one of the handles tried to connect to a Web site
  using HTTPS. Removed the "wouldblock" state darwinssl was using because
  I figured out a solution for our "would block but in which direction?"
  dilemma.

Guenter Knauf (25 Jul 2012)
- Added support for tls-srp to MinGW builds.

Daniel Stenberg (24 Jul 2012)
- curl_easy_setopt: fix typo
  
  Reported by: Santhana Todatry

- keepalive: multiply value for OS-specific units
  
  DragonFly uses milliseconds, while our API and Linux use full seconds.
  
  Reported by: John Marino
  Bug: http://curl.haxx.se/bug/view.cgi?id=3546257

Kamil Dudka (22 Jul 2012)
- http: print reason phrase from HTTP status line on error
  
  Bug: https://bugzilla.redhat.com/676596

- tool_operate: fix misplaced initialization of orig_noprogress
  
  ... and orig_isatty which caused --silent to be entirely ignored in case
  the standard output was redirected to a file!

Daniel Stenberg (21 Jul 2012)
- [Anton Yabchinskiy brought this change]

  Client's "qop" value should not be quoted (RFC2617, section 3.2.2).

Guenter Knauf (21 Jul 2012)
- Fixed typo.

Daniel Stenberg (20 Jul 2012)
- make: make distclean work again
  
  The clean-local hook needed some polish to make sure make distclean
  works. Added comment describing why.

- test Makefile: only feature 'unit' once in the list of dirs

Dan Fandrich (20 Jul 2012)
- Fixed some typos in documentation

Guenter Knauf (20 Jul 2012)
- Fixed CR issue with Win32 version on MSYS.
  
  Previous fix didnt work on Linux ...

- Fixed CR issue with Win32 version on MSYS.

- Fixed MSYS <-> Windows path convertion.
  
  Replaced the Windows real path from mount hack with a more
  reliable and simpler hack: the MSYS shell has a builtin pwd
  which understands a -W option which does convertion to Windows
  paths. Tested and confirmed that this works on all MSYS versions
  I have back to a 3 year old one.

- Follow-up fix to detect SSL libs with MinGW.
  
  1) the check for winssl needs to come before nss check
  2) the SSL checks must begin with a new if or else we will
  never find any SSL lib with MinGW.

- Tell git to not convert configure-related files.

- Trial to teach runtests.pl about WinSSL.

- Fixed warning 'uninitialized value in numeric gt'.
  
  This is a MSYS/MinGW-only warning; full warning text is:
  Use of uninitialized value in numeric gt (>) at ../../curl/tests/runtests.pl line 2227.

Daniel Stenberg (15 Jul 2012)
- RELEASE-NOTES: synced with 9d11716933616
  
  Fixed 6 bugs, added 3 contributors

- multi_runsingle: added precaution against easy_conn NULL pointer
  
  In many states the easy_conn pointer is referenced and just assumed to
  be working. This is an added extra check since analyzing indicates
  there's a risk we can end up in these states with a NULL pointer there.

- getparam: fix the GetStr() macro
  
  It should return PARAM_NO_MEM if the strdup fails. Spotted by
  clang-analyzer

Guenter Knauf (15 Jul 2012)
- Tell git to not convert configure-related files.

Daniel Stenberg (13 Jul 2012)
- parse_proxy: remove dead assignment
  
  Spotted by clang-analyzer

- ftp_do_more: add missing check of return code
  
  Spotted by clang-analyzer. The return code was never checked, just
  stored.

- getinfo: use va_end and cut off Curl_ from static funcs
  
  va_end() needs to be used after va_start() and we don't normally use
  Curl_ prefixes for purely static functions.

- [Philip Craig brought this change]

  Split up Curl_getinfo
  
  This avoids false positives from clang's scan-build.

Guenter Knauf (12 Jul 2012)
- Added error checking for curl_global_init().

- Added curl_global_* functions.

- Minor fixes to MinGW makefiles.

Daniel Stenberg (12 Jul 2012)
- docs: mention CURL_GLOBAL_DEFAULT

Guenter Knauf (12 Jul 2012)
- Added curl_global_* functions.

Daniel Stenberg (12 Jul 2012)
- tests: verify the stricter numeric option parser
  
  Test 1409 and 1410 verifies the stricter numeric option parser
  introduced the other day in commit f2b6ebed7b.

- SWS: use of uninitialized memory fix
  
  I made "connmon" not get initialized properly before use, and I use the
  big hammer and make sure we always clear the entire struct to avoid any
  problem like this in the future.

- test48: verify that HEAD doesn't close extra
  
  Two commits ago, we fixed a bug where the connction would be closed
  prematurely after a HEAD. Now I added connection-monitor to test 48 and
  added a second HEAD and make sure that both are sent over the same
  connection.
  
  This triggered a failure before the bug fix and now works. Will help us
  avoid a future regression of this kind.

- connection-monitor: always log disconnect when enabled
  
  This makes verifying easier and makes us more sure curl closes the
  connection only at the correct point in time. Adjusted test 206 and 1008
  accordingly and updated the docs for it.

- HEAD: don't force-close after response-headers
  
  A HEAD response has no body length and gets the headers like the
  corresponding GET would so it should not get closed after the response
  based on the same rules. This mistake caused connections that did HEAD
  to get closed too often without a valid reason.
  
  Bug: http://curl.haxx.se/bug/view.cgi?id=3542731
  Reported by: Eelco Dolstra

Guenter Knauf (12 Jul 2012)
- Removed trailing empty strings from awk script.

- Cleaned up version awk script.

- Added project copyright header.

- Removed libcurl.imp from Makefile.am.
  
  Updated .gitignore for NetWare created files.

- Added missing dependency to export list.

- Fixed export list path.

- Changed NetWare build to generate export list.

- Added pointer to FAQ for linkage errors.

- Small NetWare makefile tweak.

- Changed MinGW makefiles to use WINSSL now.

Daniel Stenberg (10 Jul 2012)
- test231: fix wrong -C use!

- cmdline: parse numerical options stricter
  
  1 - str2offset() no longer accepts negative numbers since offsets are by
  nature positive.
  
  2 - introduced str2unum() for the command line parser that accepts
  numericals which are not supposed to be negative, so that it will
  properly complain on apparent bad uses and mistakes.
  
  Bug: http://curl.haxx.se/mail/archive-2012-07/0013.html

- docs: switch to proper UTF-8 for text file encoding

Yang Tse (9 Jul 2012)
- Make Curl_schannel_version() return "WinSSL"
  
  Modification based on voting result:
  
  http://curl.haxx.se/mail/lib-2012-07/0104.html

Daniel Stenberg (9 Jul 2012)
- test 46: use different path lengths to get reliable sort order
  
  Since the order of the cookies is sorted by the length of the paths,
  having them on the same path length will make the test depend on what
  order the qsort() implementation will put them. As seen in the
  windows/msys output posted by Guenter in this posting:
  http://curl.haxx.se/mail/lib-2012-07/0105.html

- cookie: fixed typo in comment

- [Christian Hägele brought this change]

  https_getsock: provided for schannel backend as well
  
  The function https_getsock was only implemented properly when USE_SSLEAY
  or USE_GNUTLS is defined, but it is also necessary for USE_SCHANNEL.
  
  The problem occurs when Curl_read_plain or Curl_write_plain returns
  CURLE_AGAIN. In that case CURL_OK is returned to the multi-interface an
  the used socket is set to state CURL_POLL_REMOVE and the easy-state is
  set to CURLM_STATE_PROTOCONNECT. This is fine, because later the socket
  should be set to CURL_POLL_IN or CURL_POLL_OUT via multi_getsock. That's
  where https_getsock is called and doesn't return any sockets.

- RELEASE-NOTES: added a URL reference to cookie docs

Guenter Knauf (8 Jul 2012)
- Removed obsolete include path to project root.

Daniel Stenberg (8 Jul 2012)
- TODO-RELEASE: issue 316 NTLM over proxy is fixed

- [Nick Zitzmann brought this change]

  darwinssl: don't use arc4random_buf
  
  Re-wrote Curl_darwinssl_random() to not use arc4random_buf() because the
  function is not available prior to iOS 4.3 and OS X 10.7.

- KNOWN_BUGS: #80 Curl doesn't recognize certs in DER format

- KNOWN_BUGS: #79 - any RCPT TO failure makes and error

Marc Hoersken (8 Jul 2012)
- winbuild: Aligned BUILD.WINDOWS.txt and Makefile.vc usage help

- winbuild: Make USE_WINSSL depend on USE_SSPI
  
  Since WinSSL cannot be build without SSPI being enabled,
  USE_WINSSL now defaults to the value of USE_SSPI.
  
  The makefile does now raise an error if WinSSL is enabled
  while SSPI is disabled.

- winbuild: Aligned USE_SSPI with other USE_x defines
  
  Renamed external parameter USE_SSPI = yes/no to ENABLE_SSPI = yes/no.
  Backwards compatible change: USE_SSPI can still be passed as external
  parameter with yes/no value as long as ENABLE_SSPI is not given.
  
  USE_x defines are passed around with true/false values internally,
  USE_SSPI is now aligned to this approach, but still accepts external
  values yes/no being passed, just like the other defines.

- winbuild: Clean up formatting and variable naming
  
  - Changed space usage to line up with the whole file
  - Renamed CFLAGS_SSPI/IPV6 to SSPI/IPV6_CFLAGS to be
    consistent with the other CFLAGS_x variables
  - Make use of existing CFLAGS_IPV6 (previously IPV6_CFLAGS)
    instead of appending directly to CFLAGS

Daniel Stenberg (7 Jul 2012)
- [Nick Zitzmann brought this change]

  darwinssl: output cipher with text, remove SNI warning
  
  The code was printing a warning when SNI was set up successfully. Oops.
  
  Printing the cipher number in verbose mode was something only TLS/SSL
  programmers might understand, so I had it print the name of the cipher,
  just like in the OpenSSL code. That'll be at least a little bit easier
  to understand. The SecureTransport API doesn't have a method of getting
  a string from a cipher like OpenSSL does, so I had to generate the
  strings manually.

- RELEASE-NOTES: synced with 5a99bce07d

- KNOWN_BUGS: NTLM with unicode works with schannel/winssl!
  
  Bug #75 updated with additional info, still remains for builds with
  other backends.

- code police: narrow source to < 80 columns

Yang Tse (5 Jul 2012)
- unicode NTLM SSPI: cleanup follow-up

- unicode NTLM SSPI: cleanup
  
  Reduce the number of #ifdef UNICODE directives used in source files.

Daniel Stenberg (5 Jul 2012)
- tests: use connection-monitor and verify results
  
  Test 1008 and 206 don't show the disconnect since it happens when SWS
  awaits a new request, but 503 does and so the verify section needs that
  string added.

- http-proxy: keep CONNECT connections alive (for NTLM)
  
  When doing CONNECT requests, libcurl must make sure the connection is
  alive as much as possible. NTLM requires it and it is generally good for
  other cases as well.
  
  NTLM over CONNECT requests has been broken since this regression I
  introduced in my CONNECT cleanup commits that started with 41b02378342,
  included since 7.25.0.
  
  Bug: http://curl.haxx.se/bug/view.cgi?id=3538625
  Reported by: Marcel Raad

- sws: support <servercmd> for CONNECT requests
  
  I moved out the servercmd parsing into a its own function called
  parse_servercmd() and made sure it gets used also when the test number
  is extracted from CONNECT requests. It turned out sws didn't do that
  previously!

- FILEFORMAT: provided a full description of connection-monitor

- lib503: enable verbose to ease debugging this

- sws: add 'connection-monitor' command support
  
  Using this, the server will output in the protocol log when the
  connection gets disconnected and thus we will verify correctly in the
  test cases that the connection doesn't get closed prematurely. This is
  important for example NTLM to work.
  
  Documentation added to FILEFORMAT, test 503 updated to use this.

Guenter Knauf (4 Jul 2012)
- Removed non-used variable.

- Added error checking for samples.

- Renamed vars to avoid shadow global declaration.

Daniel Stenberg (3 Jul 2012)
- docs: clarify how to start with curl_multi_socket_action
  
  Mention the CURL_SOCKET_TIMEOUT argument in step 6 of the typical
  application.

Guenter Knauf (3 Jul 2012)
- Moved some patterns to subfolder's .gitignore.

- Merge branch 'master' of ssh://github.com/bagder/curl

- MinGW makefile tweaks for running from sh.
  
  Added function macros to make path converting easier.
  Added CROSSPREFIX to all compile tools.

Yang Tse (3 Jul 2012)
- [Marc Hoersken brought this change]

  curl_ntlm_msgs.c: Removed unused variable passwd

Guenter Knauf (3 Jul 2012)
- Added files generated by mingw32, eclipse and VC.
  
  Posted by Marc Hoersken.

Daniel Stenberg (3 Jul 2012)
- cookies: change the URL in the cookie jar file header

- HTTP-COOKIES: clarified and modified layout

- HTTP-COOKIES: use the FAQ document layout

- HTTP-COOKIES: added cookie documentation

Yang Tse (3 Jul 2012)
- curl_ntlm_msgs.c: include <tchar.h> for prototypes

- [Neil Bowers brought this change]

  testcurl.pl: fix missing semicolon

Daniel Stenberg (2 Jul 2012)
- [Christian Hägele brought this change]

  unicode NTLM SSPI: heap corruption fixed
  
  When compiling libcurl with UNICODE defined and using unicode characters
  in username.

Yang Tse (2 Jul 2012)
- testcurl.pl: allow non in-tree c-ares enabled autobuild

- configure.ac: verify that libmetalink is new enough
  
  Enabling test2017 to test2022.

- [Tatsuhiro Tsujikawa brought this change]

  curl: Added runtime version check for libmetalink

- [Tatsuhiro Tsujikawa brought this change]

  Include metalink/metalink.h for libmetalink functions

Daniel Stenberg (2 Jul 2012)
- errors: CURLM_CALL_MULTI_PERFORM is not returned anymore

- release: cleaned up plans for this and coming release

Yang Tse (29 Jun 2012)
- curl-compilers.m4: remove -Wstrict-aliasing=3 from clang
  
  Currently it is unknown if there is any version of clang that
  actually supports -Wstrict-aliasing. What is known is that there
  are several that don't support it.

- test2017 to test2022: more metalink tests
  
  With this commit, checks done in previous test2017 are now done in test2018.
  
  Whole range test2017 to test2022 DISABLED until configure is capable of
  requiring a new-enough metalink library.
  
  Don't try these without mentioned check in place!

- test2005 to test2016: improve failure detection

- lib582.c: fix conversion warning

- nss.c: #include warnless.h for curlx_uztosi and curlx_uztoui prototypes

- [Marc Hoersken brought this change]

  nss.c: Fixed size_t conversion warnings

- sslgen.c: cleanup temporary compile-time SSL-backend check

Daniel Stenberg (28 Jun 2012)
- schannel: provide two additional (dummy) API defines

Yang Tse (28 Jun 2012)
- [Tatsuhiro Tsujikawa brought this change]

  Metalink: message updates
  
  Print "parsing (...) OK" only when no warnings are generated.  If
  no file is found in Metalink, treat it FAILED.
  
  If no digest is provided, print WARNING in parse_metalink().
  Also print validating FAILED after download.
  
  These changes make tests 2012 to 2016 pass.

Daniel Stenberg (27 Jun 2012)
- sslgen: avoid compiler error in SSPI builds

Yang Tse (27 Jun 2012)
- ssluse.c: fix compiler warning: conversion to 'int' from 'size_t'
  
  Reported by Tatsuhiro Tsujikawa
  
  http://curl.haxx.se/mail/lib-2012-06/0371.html

- sslgen.c: add compile-time check for SSL-backend completeness

- build: add our standard includes to curl_darwinssl.c and curl_multibyte.c

- build: add curl_schannel and curl_darwinssl files to other build systems

- tests: add five more Metalink test cases

- tests: update Metalink message format

- [Tatsuhiro Tsujikawa brought this change]

  Metalink: updated message format

- [Nick Zitzmann brought this change]

  DarwinSSL: allow using NTLM authentication
  
  Allow NTLM authentication when building using SecureTransport (Darwin) for SSL.
  
  This uses CommonCrypto, a cryptography library that ships with all versions of
  iOS and Mac OS X. It's like OpenSSL's libcrypto, except that it's missing a few
  less-common cyphers and doesn't have a big number data structure.

- curl_darwinssl.h: add newline at end of file

Daniel Stenberg (26 Jun 2012)
- ossl_seed: remove leftover RAND_screen check
  
  Before commit 2dded8fedba (dec 2010) there was logic that used
  RAND_screen() at times and now I remove the leftover #ifdef check for
  it.
  
  The seeding code that uses Curl_FormBoundary() in ossl_seed() is dubious
  to keep since it hardly increases randomness but I fear I'll break
  something if I remove it now...

Yang Tse (26 Jun 2012)
- [Nick Zitzmann brought this change]

  DarwinSSL: several adjustments
  
  - Renamed st_ function prefix to darwinssl_
  - Renamed Curl_st_ function prefix to Curl_darwinssl_
  - Moved the duplicated ssl_connect_done out of the #ifdef in lib/urldata.h
  - Fixed a teensy little bug that made non-blocking connection attempts block
  - Made it so that it builds cleanly against the iOS 5.1 SDK

- curl-compilers.m4: -Wstrict-aliasing=3 for warning enabled gcc and clang builds

- [Marc Hoersken brought this change]

  sockaddr.h: Fixed dereferencing pointer breakin strict-aliasing
  
  Fixed warning: dereferencing pointer does break strict-aliasing rules
  by using a union inside the struct Curl_sockaddr_storage declaration.

Daniel Stenberg (26 Jun 2012)
- SSL cleanup: use crypto functions through the sslgen layer
  
  curl_ntlm_msgs.c would previously use an #ifdef maze and direct
  SSL-library calls instead of using the SSL layer we have for this
  purpose.

- [Nick Zitzmann brought this change]

  darwinssl: add support for native Mac OS X/iOS SSL

- RELEASE-NOTES: link to more metalink info

- RELEASE-NOTES: synced with d025af9bb576

Yang Tse (25 Jun 2012)
- curl_schannel.c: Remove redundant NULL assignments following Curl_safefree()

- [Marc Hoersken brought this change]

  curl_schannel.c: Replace free() with Curl_safefree()

- [Tatsuhiro Tsujikawa brought this change]

  curl.1: Updated Metalink description in man page
  
  Documented that --include will be ignored if both --metalink
  and --include are specified.
  Also documented that a Metalink file in the local file system
  cannot be used if FILE protocol is disabled.

Steve Holme (24 Jun 2012)
- DOCS: Added clarification to CURLOPT_CUSTOMREQUEST for the POP3 protocol
  
  Bug: http://curl.haxx.se/mail/lib-2012-06/0302.html
  Reported by: Nagai H

- smtp: Corrected result code for MAIL, RCPT and DATA commands
  
  Bug: http://curl.haxx.se/mail/lib-2012-06/0094.html
  Reported by: Dan

Daniel Stenberg (24 Jun 2012)
- [Ghennadi Procopciuc brought this change]

  test: Added test HTTP receive cookies over IPv6

Yang Tse (22 Jun 2012)
- tests: add another Metalink test case

- [Tatsuhiro Tsujikawa brought this change]

  tests: Enable test2010 and fixed hash value

- [Tatsuhiro Tsujikawa brought this change]

  Metalink: ignore --include if --metalink is used.
  
  Including headers in response body will break Metalink XML parser.
  If it is included in the file described in Metalink XML, hash check
  will fail. Therefore, --include should be ignored if --metalink is
  used.

- tests: add six Metalink test cases

- test 2005: add verification of hash checking outcome

- getpart.pm: remove misleading comment

- [Tatsuhiro Tsujikawa brought this change]

  curl: Prefixed all Metalink related messages with "Metalink: "

- [Tatsuhiro Tsujikawa brought this change]

  tests: Added Metalink test case # 2005

- [Tatsuhiro Tsujikawa brought this change]

  curl: Restore noprogress and isatty config values.
  
  The noprogress and isatty in Configurable are global, in a sense
  that they persist in one curl invocation. Currently once one
  download writes its response data to tty, they are set to FALSE
  and they are not restored on successive downloads.  This change
  first backups the current noprogress and isatty, and restores
  them when download does not write its data to tty.

- [Tatsuhiro Tsujikawa brought this change]

  curl: Made --metalink option toggle Metalink functionality
  
  In this change, --metalink option no longer takes argument.  If
  it is specified, given URIs are processed as Metalink XML file.
  If given URIs are remote (e.g., http URI), curl downloads it
  first. Regardless URI is local file (e.g., file URI scheme) or
  remote, Metalink XML file is not written to local file system and
  the received data is fed into Metalink XML parser directly.  This
  means with --metalink option, filename related options like -O
  and -o are ignored.
  
  Usage examples:
  
  $ curl --metalink http://example.org/foo.metalink
  
  This will download foo.metalink and parse it and then download
  the URI described there.
  
  $ curl --metalink file://foo.metalink
  
  This will parse local file foo.metalink and then download the URI
  described there.

- [Tatsuhiro Tsujikawa brought this change]

  curl: Refactored metalink_checksum
  
  When creating metalink_checksum from metalink_checksum_t, first
  check hex digest is valid for the given hash function.  We do
  this check in the order of digest_aliases so that first good
  match will be chosen (strongest hash function available).  As a
  result, the metalinkfile now only contains at most one
  metalink_checksum because other entries are just redundant.

- [Gisle Vanem brought this change]

  tool_doswin.c: fix djgpp function _use_lfn() used without a prototype
  
  http://curl.haxx.se/mail/archive-2012-06/0028.html

- build: fix RESOURCE bug in lib/Makefile.vc*
  
  Removed two, not intended to exist, RESOURCE declarations.
  
  Bug: http://curl.haxx.se/bug/view.cgi?id=3535977
  
  And sorted configuration hunks to reflect same internal order
  as the one shown in the usage message.

Daniel Stenberg (20 Jun 2012)
- [Marc Hoersken brought this change]

  schannel: Implement new buffer size strategy
  
  Increase decrypted and encrypted cache buffers using limitted
  doubling strategy. More information on the mailinglist:
  http://curl.haxx.se/mail/lib-2012-06/0255.html
  
  It updates the two remaining reallocations that have already been there
  and fixes the other one to use the same "do we need to increase the
  buffer"-condition as the other two.  CURL_SCHANNEL_BUFFER_STEP_SIZE was
  renamed to CURL_SCHANNEL_BUFFER_FREE_SIZE since that is actually what it
  is now.  Since we don't know how much more data we are going to read
  during the handshake, CURL_SCHANNEL_BUFFER_FREE_SIZE is used as the
  minimum free space required in the buffer for the next operation.
  CURL_SCHANNEL_BUFFER_STEP_SIZE was used for that before, too, but since
  we don't have a step size now, the define was renamed.

Yang Tse (20 Jun 2012)
- schannel SSL: fix compiler warning

- [Mark Salisbury brought this change]

  schannel SSL: fix for renegotiate problem
  
  In schannel_connect_step2() doread should be initialized based
  on connssl->connecting_state.

- [Tatsuhiro Tsujikawa brought this change]

  runtests.pl: make it support metalink feature

- getpart.pm: make test definition section/part parser more robust
  
  Test definition section parts which needed to include xml-lingo as contents
  of that part required that the xml-blurb was written as a single line. Now the
  xml-data inside the part can be written multiline making it more readable.
  
  Tested with <client><file> part which is written to disk before <command> runs.

Daniel Stenberg (20 Jun 2012)
- schannel_connect_step2: checksrc whitespace fix

Yang Tse (20 Jun 2012)
- [Mark Salisbury brought this change]

  schannel SSL: changes in schannel_connect_step2
  
  Process extra data buffer before returning from schannel_connect_step2.
  Without this change I've seen WinCE hang when schannel_connect_step2
  returns and calls Curl_socket_ready.
  
  If the encrypted handshake does not fit in the intial buffer (seen with
  large certificate chain), increasing the encrypted data buffer is necessary.
  
  Fixed warning in curl_schannel.c line 1215.

- [Mark Salisbury brought this change]

  config-win32ce.h: WinCE config adjustment
  
  process.h is not present on WinCE

- [Mark Salisbury brought this change]

  schannel SSL: Made send method handle unexpected cases better
  
  Implemented timeout loop in schannel_send while sending data.  This
  is as close as I think we can get to write buffering; I put a big
  comment in to explain my thinking.
  
  With some committer adjustments

Daniel Stenberg (19 Jun 2012)
- [Marc Hoersken brought this change]

  curl_schannel.c: Avoid unnecessary realloc calls to reduce buffer size

Yang Tse (19 Jun 2012)
- [Mark Salisbury brought this change]

  schannel SSL: Use standard Curl read/write methods
  
  Replaced calls to swrite with Curl_write_plain and calls to sread
  with Curl_read_plain.
  
  With some committer adjustments

- schannel SSL: make wording of some trace messages better reflect reality

Daniel Stenberg (19 Jun 2012)
- [Marc Hoersken brought this change]

  curl_schannel.h: Use BUFSIZE as the initial buffer size if available
  
  Make the Schannel implementation use libcurl's default buffer size
  for the initial received encrypted and decrypted data cache buffers.
  The implementation still needs to handle more data since more data
  might have already been received or decrypted during the handshake
  or a read operation which needs to be cached for the next read.

Guenter Knauf (19 Jun 2012)
- Fixed NetWare makefile broken from last commit.

Yang Tse (19 Jun 2012)
- [Mark Salisbury brought this change]

  schannel SSL: Implemented SSL shutdown
  
  curl_schannel.c - implemented graceful SSL shutdown.  If we fail to
  shutdown the connection gracefully, I've seen schannel try to use a
  session ID for future connects and the server aborts the connection
  during the handshake.

- [Mark Salisbury brought this change]

  schannel SSL: certificate validation on WinCE
  
  curl_schannel.c - auto certificate validation doesn't seem to work
  right on CE.  I added a method to perform the certificate validation
  which uses CertGetCertificateChain and manually handles the result.

- [Mark Salisbury brought this change]

  schannel SSL: Added helper methods to simplify code
  
  Added helper methods InitSecBuffer() and InitSecBufferDesc() to make it
  easier to set up SecBuffer & SecBufferDesc structs.

Guenter Knauf (18 Jun 2012)
- Some more NetWare makefile tweaks for metalink.

Yang Tse (18 Jun 2012)
- tool_cb_see.c: WinCE build adjustment

- [Mark Salisbury brought this change]

  setup.h: WinCE build adjustment

- [Mark Salisbury brought this change]

  ftplistparser.c: do not compile if FTP protocol is not enabled

- Win32: downplay MS bazillion type synonyms game
  
  Avoid usage of some MS type synonyms to allow compilation with
  compiler headers that don't define these, using simpler synonyms.

Daniel Stenberg (15 Jun 2012)
- Curl_rtsp_parseheader: avoid useless malloc/free
  
  Coverity actually pointed out flawed logic in the previous call to
  Curl_strntoupper() where the code used sizeof() of a pointer to pass in
  a size argument. That code still worked since it only needed to
  uppercase 4 letters. Still, the entire malloc/uppercase/free sequence
  was pointless since the code has already matched the string once in the
  condition that starts the block of code.

- curl_share_setopt: use va_end()
  
  As spotted by Coverity, va_end() was not used previously. To make it
  used I took away a bunch of return statements and made them into
  assignments instead.

Yang Tse (15 Jun 2012)
- SSPI related code: Unicode support for WinCE - kill compiler warnings

- [Mark Salisbury brought this change]

  SSPI related code: Unicode support for WinCE - commit 46480bb9 follow-up

- build: add curl_multibyte files to build systems

- [Mark Salisbury brought this change]

  SSPI related code: Unicode support for WinCE
  
  SSPI related code now compiles with ANSI and WCHAR versions of security
  methods (WinCE requires WCHAR versions of methods).
  
  Pulled UTF8 to WCHAR conversion methods out of idn_win32.c into their own file.
  
  curl_sasl.c - include curl_memory.h to use correct memory functions.
  
  getenv.c and telnet.c - WinCE compatibility fix
  
  With some committer adjustments

Guenter Knauf (15 Jun 2012)
- Fixed typo.

Yang Tse (14 Jun 2012)
- winbuild/MakefileBuild.vc: convert line endings to DOS style
  
  As per request on mailing list: http://curl.haxx.se/mail/lib-2012-06/0222.html

- [Marc Hoersken brought this change]

  winbuild: Allow SSPI build with or without Schannel
  
  The changes introduced in commit 2bfa57bc32 are not enough
  to make it actually possible to use the USE_WINSSL option.
  Makefile.vc was not updated and the configuration name which is
  used in the build path did not match between both build files.
  
  This patch fixes those issues and introduces the following changes:
  
  - Replaced the -schannel name with -winssl in order to be consistent
  with the other options
  - Added ENABLE_WINSSL option to winbuild/Makefile.vc (default yes)
  - Changed winbuild/MakefileBuild.vc to set USE_WINSSL to true if
  USE_SSL is false and USE_WINSSL was not specified as a parameter
  - Separated WINSSL handling from SSPI handling to be consistent with
  the other options and their corresponding code path

- curl.1: 7.27.0 seems next release

- schannel: fix printf-style format strings

- Fix bad failf() and info() usage
  
  Calls to failf() are not supposed to provide trailing newline.
  Calls to infof() must provide trailing newline.
  
  Fixed 30 or so strings.

- schannel: fix unused parameter warnings

- schannel: fix comparisons between signed and unsigned

- schannel: fix discarding qualifier from pointer type

- schannel: fix shadowing of global declarations

- schannel: fix Curl_schannel_init() and Curl_schannel_cleanup() declarations

- [Gisle Vanem brought this change]

  urldata.h: fix cyassl/openssl/ssl.h build clash with wincrypt.h
  
  Building with CyaSSL failed compilation. Reason being that OCSP_REQUEST and
  OCSP_RESPONSE are enum values in CyaSSL and defines in <wincrypt.h> included
  via <winldap.h> in ldap.c.
  
  http://curl.haxx.se/mail/lib-2012-06/0196.html

- MakefileBuild.vc: Allow building without SSL
  
  In order to use Windows native SSL support define 'USE_WINSSL'

- configure: new option --with-winssl
  
  This option may be used to build curl/libcurl using SSL/TLS support provided
  by MS windows system libraries. Option is mutually exclusive with any other
  SSL library. Default value is --without-winssl.
  
  --with-winssl option implies --with-sspi option.
  
  Option meaningful only for Windows builds.

Guenter Knauf (13 Jun 2012)
- Changed Schannel string to SSL-Windows-native.
  
  This is more descriptive for the user who might
  not even know what schannnel is at all.
[--snip--]
