Curl and libcurl 7.21.0

 Public curl releases:         116
 Command line options:         138
 curl_easy_setopt() options:   180
 Public functions in libcurl:  58
 Known libcurl bindings:       39
 Contributors:                 794

This release includes the following changes:

 o added the --proto and -proto-redir options
 o new configure option --enable-threaded-resolver
 o improve TELNET ability with libcurl
 o added support for PolarSSL
 o added support for FTP wildcard matching and downloads
 o added support for RTMP
 o introducing new LDAP code for new enough OpenLDAP
 o OpenLDAP support enabled for cygwin builds
 o added CURLINFO_PRIMARY_PORT, CURLINFO_LOCAL_IP and CURLINFO_LOCAL_PORT

This release includes the following bugfixes:

 o prevent needless reverse name lookups
 o detect GSS on ancient Linux distros
 o GnuTLS: EOF caused error when it wasn't
 o GnuTLS: SSL handshake phase is non-blocking
 o -J/--remote-header-name strips CRLF
 o MSVC makefiles now use ws2_32.lib instead of wsock32.lib
 o -O crash on windows
 o SSL handshake timeout underflow in libcurl-NSS
 o multi interface missed storing connection time
 o broken CRL support in libcurl-NSS
 o ignore response-body on redirect even if compressed
 o OpenSSL handshake state-machine for multi interface
 o TFTP timeout option sent correctly
 o TFTP block id wrap
 o curl_multi_socket_action() timeout handles inaccuracy in timers better
 o SCP/SFTP failure to respect the timeout
 o spurious SSL connection aborts with OpenSSL

This release includes the following known bugs:

 o see docs/KNOWN_BUGS (http://curl.haxx.se/docs/knownbugs.html)

This release would not have looked like this without help, code, reports and
advice from friends like these:

 Rainer Canavan, Paul Howarth, Jerome Vouillon, Ruslan Gazizov, Yang Tse,
 Kamil Dudka, Alex Bligh, Ben Greear, Hoi-Ho Chan, Howard Chu, Dirk Manske,
 Pavel Raiskup, John-Mark Bell, Eric Mertens, Tor Arntsen, Douglas Kilpatrick,
 Igor Novoseltsev, Jason McDonald, Dan Fandrich, Tanguy Fautre, Guenter Knauf,
 Julien Chaffraix, Kalle Vahlman, Frank Meier, Constantine Sapuntzakis


        Thanks! (and sorry if I forgot to mention someone)
