summaryrefslogtreecommitdiff
path: root/libs/libcurl/docs/CHANGES
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2015-07-25 13:12:20 +0000
committerGeorge Hazan <george.hazan@gmail.com>2015-07-25 13:12:20 +0000
commitdae9bc184b44c2b0c70b7996f202d6a7fa2dd4a4 (patch)
tree2aa80518d791c24e939e6525901da4dea39d46df /libs/libcurl/docs/CHANGES
parentbc55bf103dc79145ddd24e93a8f96fc6e8cf46d7 (diff)
libcurl extracted to the separate lib
git-svn-id: http://svn.miranda-ng.org/main/trunk@14683 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'libs/libcurl/docs/CHANGES')
-rw-r--r--libs/libcurl/docs/CHANGES5575
1 files changed, 5575 insertions, 0 deletions
diff --git a/libs/libcurl/docs/CHANGES b/libs/libcurl/docs/CHANGES
new file mode 100644
index 0000000000..a384fadba8
--- /dev/null
+++ b/libs/libcurl/docs/CHANGES
@@ -0,0 +1,5575 @@
+ _ _ ____ _
+ ___| | | | _ \| |
+ / __| | | | |_) | |
+ | (__| |_| | _ <| |___
+ \___|\___/|_| \_\_____|
+
+ Changelog
+
+Version 7.33.0 (13 Oct 2013)
+
+Daniel Stenberg (13 Oct 2013)
+- RELEASE-NOTES: synced with 92cf6141ed0de
+
+- curl: fix --oauth2-bearer in the --help output
+
+ After the option rename in 5df04bfafd1
+
+- OpenSSL: improve the grammar of the language in 39beaa5ffbcc
+
+ Reported-by: Petr Pisar
+
+- [Andrej E Baranov brought this change]
+
+ OpenSSL: use failf() when subjectAltName mismatches
+
+ Write to CURLOPT_ERRORBUFFER information about mismatch alternative
+ certificate subject names.
+
+ Signed-off-by: Andrej E Baranov <admin@andrej-andb.ru>
+
+- curl: rename --bearer to --oauth2-bearer
+
+ The option '--bearer' might be slightly ambiguous in name. It doesn't
+ create any conflict that I am aware of at the moment, however, OAUTH v2
+ is not the only authentication mechanism which uses "bearer" tokens.
+
+ Reported-by: Kyle L. Huff
+ URL: http://curl.haxx.se/mail/lib-2013-10/0064.html
+
+- [Kamil Dudka brought this change]
+
+ ssh: improve the logic for detecting blocking direction
+
+ This fixes a regression introduced by commit 0feeab78 limiting the speed
+ of SCP upload to 16384 B/s on a fast connection (such as localhost).
+
+Dan Fandrich (12 Oct 2013)
+- Fixed typo in Makefile.inc that left http2.h out of the tar ball
+
+Daniel Stenberg (11 Oct 2013)
+- [Heinrich Schaefer brought this change]
+
+ minor fix in doc
+
+- [Gisle Vanem brought this change]
+
+ curl_setup_once: fix errno access for lwip on Windows
+
+ lib/curl_setup_once.h assumed lwIP on Windows uses 'SetLastError()' to
+ set network errors. It doesn't; it uses 'errno'.
+
+- test1239: verify 4cd444e01ad and the simulated 304 response
+
+- [Derek Higgins brought this change]
+
+ HTTP: Output http response 304 when modified time is too old
+
+ When using the -w '%{http_code}' flag and simulating a Not Modified then
+ 304 should be output.
+
+- contributors: helper script to dig out contributors from git
+
+- RELEASE-NOTES: add twos refs to bug reports
+
+- RELEASE-NOTES: synced with 173160c0d068
+
+Nick Zitzmann (2 Oct 2013)
+- darwinssl: block TLS_RSA_WITH_NULL_SHA256 cipher
+
+ Credit (for catching a cipher I forgot to add to the blocked ciphers list):
+ https://www.ssllabs.com/ssltest/viewMyClient.html
+
+Daniel Stenberg (2 Oct 2013)
+- OpenSSL: acknowledge CURLOPT_SSL_VERIFYHOST without VERIFYPEER
+
+ Setting only CURLOPT_SSL_VERIFYHOST without CURLOPT_SSL_VERIFYPEER set
+ should still verify that the host name fields in the server certificate
+ is fine or return failure.
+
+ Bug: http://curl.haxx.se/mail/lib-2013-10/0002.html
+ Reported-by: Ishan SinghLevett
+
+- KNOWN_BUGS: #84: CURLINFO_SSL_VERIFYRESULT
+
+ CURLINFO_SSL_VERIFYRESULT is only implemented for the OpenSSL and NSS
+ backends and not for any other!
+
+- [François Charlier brought this change]
+
+ xattr: add support for FreeBSD xattr API
+
+- curl_easy_setopt.3: slight clarification of SEEKFUNCTION
+
+Steve Holme (29 Sep 2013)
+- tests: Fixed typos from commit 25a0c96a494297
+
+- tests: Updated email addresses in SMTP tests following recent changes
+
+- test909: Removed custom EHLO response after recent changes
+
+ ...as it is no longer required following capability and authentication
+ changes and is now causing problems following commit 49341628b50007 as
+ the test number is obtained from the client address in the EHLO.
+
+- ftpserver.pl: Fixed compilation error from commit 49341628b50007
+
+- ftpserver.pl: Moved specifying the test number from the RCPT address
+
+ ...to the client address as this frees the RCPT strings to contain
+ just an email address and by passing the test number into curl as the
+ client address remains consistent with POP3 and IMAP tests as they are
+ specified in the URL.
+
+- ftpserver.pl: Added unwanted argument check to SMTP DATA command handler
+
+Daniel Stenberg (29 Sep 2013)
+- getinmemory: remove a comment
+
+ The comment mentioned the need to free the data, but the example already
+ does that free
+
+- postinmemory: new example
+
+ This is similar to getinmemory.c but with an initial POST.
+
+ Combined-by: Ulf Samuelsson
+
+- win32: fix Visual Studio 2010 build with WINVER >= 0x600
+
+ If no WINVER and/or _WIN32_IWNNT define was set, the Windows platform
+ SDK often defaults to high value, e.g. 0x601 (whoch may probably depend
+ on the Windows version being used, in my case Windows 7).
+
+ If WINVER >= 0x600 then winsock2.h includes some defines for WSAPoll(),
+ e.g. POLLIN, POLLPRI, POLLOUT etc. These defines clash with cURL's
+ lib/select.h.
+
+ Make sure HAVE_STRUCT_POLLFD is defined then.
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1282
+ Reported-by: "kdekker"
+ Patch-by: Marcel Raad
+
+Steve Holme (28 Sep 2013)
+- ssluse.c: Fixed compilation warnings when ENGINE not supported
+
+ The function "ssl_ui_reader" was declared but never referenced
+ The function "ssl_ui_writer" was declared but never referenced
+
+Daniel Stenberg (27 Sep 2013)
+- configure: use icc options without space
+
+ The latest version(s) of the icc compiler no longer accept the extra
+ space in the -we (warning enable), -wd (warning disable), etc.
+
+ Reported-by: Elmira A Semenova
+ Bug: http://curl.haxx.se/mail/lib-2013-09/0182.html
+
+Steve Holme (25 Sep 2013)
+- imap: Added clarification to the code about odd continuation responses
+
+- ftp.c: Fixed compilation warning
+
+ There is an implicit conversion from "unsigned long" to "long"
+
+- sasl: Centralised the authentication mechanism strings
+
+ Moved the standard SASL mechanism strings into curl_sasl.h rather than
+ hard coding the same values over and over again in the protocols that
+ use SASL authentication.
+
+ For more information about the mechanism strings see:
+
+ http://www.iana.org/assignments/sasl-mechanisms
+
+Daniel Stenberg (23 Sep 2013)
+- RELEASE-NOTES: added recent contributors missing
+
+Steve Holme (23 Sep 2013)
+- test906: Fixed type-2 response
+
+- test915: Corrected test number from commit 22bccb0edaf041
+
+- test906: Fixed type-1 message not handled error
+
+ ...from commit f81d1e16664976 due to copy paste error.
+
+- tests: Added SMTP AUTH NTLM test
+
+- tests: Added SMTP multiple and invalid --mail-rcpt test
+
+- tests: Added SMTP multiple --mail-rcpt test
+
+- tests: Added SMTP invalid --mail-rcpt test
+
+- tests: Regrouping of SMTP tests
+
+Daniel Stenberg (22 Sep 2013)
+- [Benoit Sigoure brought this change]
+
+ test1112: Increase the timeout from 7s to 16s
+
+ As someone reported on the mailing list a while back, the hard-coded
+ arbitrary timeout of 7s in test 1112 is not sufficient in some build
+ environments. At Arista Networks we build and test curl as part of our
+ automated build system, and we've run into this timeout 170 times so
+ far. Our build servers are typically quite busy building and testing a
+ lot of code in parallel, so despite being beefy machines with 32 cores
+ and 128GB of RAM we still hit this 7s timeout regularly.
+
+ URL: http://curl.haxx.se/mail/lib-2010-02/0200.html
+
+Steve Holme (22 Sep 2013)
+- tests: Fixed smtp rcpt to addresses
+
+- ftpserver.pl: Expanded the SMTP RCPT handler to validate TO addresses
+
+ RCPT_smtp() will now check for a correctly formatted TO address which
+ allows for invalid recipient addresses to be added.
+
+- ftpserver.pl: Added cURL SMTP server detection to HELO command handler
+
+ As curl will send a HELO command after an negative EHLO response, added
+ the same detection from commit b07709f7417c3e to the HELO handler to
+ ensure the test server is identified correctly and an upload isn't
+ performed.
+
+- ftpserver.pl: Corrected response code for successful RCPT command
+
+- ftpserver.pl: Moved invalid RCPT TO: address detection to RCPT handler
+
+ Rather than detecting the TO address as missing in the DATA handler,
+ moved the detection to the RCPT command handler where an error response
+ can be generated.
+
+- RELEASE-NOTES: Corrected missed addition
+
+ Somehow commit 60a20461629fda missed the last item in the sync list
+ even though I'm sure I added it during editing.
+
+- RELEASE-NOTES: Synced with 6dd8bd8d2f9729
+
+- curl.1: Added information about optional login options to --user in manpage
+
+ Added missing information, from curl 7.31.0, regarding the use of the
+ optional login options that may be specified as part of --user.
+
+ For example:
+
+ --user 'user:password;auth=NTLM' in IMAP, POP3 and SMTP protocols.
+
+- ftpserver.pl: Moved cURL SMTP server detection into EHLO command handler
+
+ Moved the special SMTP server detection code from the DATA command
+ handler, which happens further down the operation chain after EHLO,
+ MAIL and RCPT commands, to the EHLO command as it is the first command
+ to be generated by a SMTP operation as well as containing the special
+ "verifiedserver" string from the URL.
+
+ This not only makes it easier and quicker to detect but also means that
+ cURL doesn't need to specify "verifiedserver" as --mail-from and
+ --mail-rcpt arguments.
+
+ More importantly, this also makes the upcoming verification changes to
+ the RCPT handler easier to implement.
+
+Daniel Stenberg (21 Sep 2013)
+- openssl: use correct port number in error message
+
+ In ossl_connect_step2() when the "Unknown SSL protocol error" occurs, it
+ would output the local port number instead of the remote one which
+ showed when doing SSL over a proxy (but with the correct remote host
+ name). As libcurl only speaks SSL to the remote we know it is the remote
+ port.
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1281
+ Reported-by: Gordon Marler
+
+- test1415: adjusted to work for 32bit time_t
+
+ The libcurl date parser returns INT_MAX for all dates > 2037 so this
+ test is now made to use 2037 instead of 2038 to work the same for both
+ 32bit and 64bit time_t systems.
+
+Steve Holme (21 Sep 2013)
+- tests: Reworked existing SMTP tests to be single recipient based
+
+ ...in preparation of upcoming multiple recipient tests.
+
+- ftpserver.pl: Corrected SMTP QUIT response to be more realistic
+
+Daniel Stenberg (20 Sep 2013)
+- curl_easy_setopt.3: clarify that TIMEOUT and TIMEOUT_MS set the same value
+
+- [Kim Vandry brought this change]
+
+ Documented --dns-* options in curl manpage
+
+Steve Holme (20 Sep 2013)
+- pop3: Added basic SASL XOAUTH2 support
+
+ Added the ability to use an XOAUTH2 bearer token [RFC6750] with POP3 for
+ authentication using RFC6749 "OAuth 2.0 Authorization Framework".
+
+ The bearer token is expected to be valid for the user specified in
+ conn->user. If CURLOPT_XOAUTH2_BEARER is defined and the connection has
+ an advertised auth mechanism of "XOAUTH2", the user and access token are
+ formatted as a base64 encoded string and sent to the server as
+ "AUTH XOAUTH2 <bearer token>".
+
+- curl: Added clarification to the --mail options in the --help output
+
+ ... that these options apply to SMTP only.
+
+- ftpserver.pl: Moved SMTP RCPT response text into command handler
+
+- tests: Added SMTP invalid --mail-from test
+
+Nick Zitzmann (19 Sep 2013)
+- darwinssl: enable BEAST workaround on iOS 7 & later
+
+ iOS 7 finally added the option to enable 1/n-1 when using TLS 1.0
+ and a CBC cipher, so we now always turn that on unless the user
+ manually turns it off using CURLSSLOPT_ALLOW_BEAST.
+
+ It appears Apple also added some new PSK ciphers, but no interface to
+ use them yet, so we at least support printing them if we find them.
+
+Steve Holme (19 Sep 2013)
+- tests: Updated SMTP AUTH tests to use the new AUTH directive
+
+ ...rather than specify a customised EHLO response.
+
+- tests: Corrected test913 as the QUIT response is received
+
+- tests: Added SMTP large message SIZE test
+
+- ftpserver.pl: Updated email regex from commit 98f7ca7e971006
+
+ ...to not be as strict as it was rejecting valid numeric email
+ addresses.
+
+- tests: Fixed smtp mail from addresses
+
+- ftpserver.pl: Standardised CAPA and AUTH responses
+
+- ftpserver.pl: Corrected POP3 QUIT reply to be more realistic
+
+- runtests.pl: Fixed syntax error in commit c873375123343e
+
+ Possible unintended interpolation in string at line 796
+
+- runtests.pl: Fixed smtp mail from address
+
+ Following changes to ftpserver.pl fixed the mail from address to be a
+ correctly formatted address otherwise the server response will be 501
+ Invalid address.
+
+- ftpserver.pl: Fixed syntax error in commit 98f7ca7e971006
+
+ Can't modify constant item in scalar assignment line 779, near "0;"
+
+- ftpserver.pl: Expanded the SMTP MAIL handler to validate messages
+
+ MAIl_smtp() will now check for a correctly formatted FROM address as
+ well as the optional SIZE parameter comparing it against the server
+ capability when specified.
+
+Daniel Stenberg (17 Sep 2013)
+- [YAMADA Yasuharu brought this change]
+
+ cookies: add expiration
+
+ Implement: Expired Cookies These following situation, curl removes
+ cookie(s) from struct CookieInfo if the cookie expired.
+ - Curl_cookie_add()
+ - Curl_cookie_getlist()
+ - cookie_output()
+
+Steve Holme (17 Sep 2013)
+- ftpserver.pl: Corrected response code for successful MAIL command
+
+- ftpserver.pl: Moved SMTP MAIL handler into own function
+
+- dns: fix compilation with MinGW from commit df69440d05f113
+
+ Avoid 'interface' literal that some MinGW versions define as a macro
+
+ Additionally, corrected some very, very minor coding style errors.
+
+- tests: Fixed test 1406 following recent changes in ftpserver.pl
+
+ By default the mail server doesn't send the SIZE capability but instead
+ it has to be specified as a supported capability.
+
+- tests: Added test for SMTP SIZE capability
+
+- ftpserver.pl: Added the ability to include spaces in capabilities
+
+ For example:
+
+ CAPA "SIZE 1048576" 8BITMIME BINARYMIME
+
+ will populate the capabilities list with the following in:
+
+ SIZE 1048576
+ 8BITMIME
+ BINARYMIME
+
+- ftpserver.pl: Corrected response code for successful SMTP QUIT command
+
+- ftpserver.pl: Fixed syntax error in commit 33c1f2876b9029
+
+ Can't modify constant item in postincrement line 727, near "i++"
+
+- ftpserver.pl: Added CAPA & AUTH directive support to the SMTP EHLO handler
+
+- ftpserver.pl: Fixed SMTP QUIT handler from dadc495540946e
+
+- ftpserver.pl: Moved SMTP EHLO and QUIT handlers in own functions
+
+- ftpserver.pl: Added support for SMTP HELO command
+
+ ...and updated test902 as explicit HELO response is no longer required.
+
+- ftpserver.pl: Added mailbox check to IMAP SELECT handler
+
+- ftpserver.pl: Corrected invalid user details check
+
+ ...in both the IMAP LOGIN and POP3 PASS handlers introduced in commit
+ 187ac693744949 and 84ad1569e5fc93 respectively.
+
+- ftpserver.pl: Moved IMAP LOGIN handler into own function
+
+- ftpserver.pl: Moved POP3 USER and PASS handlers into own functions
+
+- ftpserver.pl: Corrected invalid argument check in POP3 TOP handler
+
+ ...which was accidentally introduced in commit 4d6ef6297ae9b6.
+
+- ftpserver.pl: Added capability prerequisite for extended POP3 commands
+
+- tests: Updated descriptions to be more meaningful
+
+- ftpserver.pl: Added support for IMAP NOOP command
+
+- imap: Fixed response check for NOOP command
+
+- tests: Updated descriptions to be more meaningful
+
+Daniel Stenberg (13 Sep 2013)
+- curl.1: detail how short/long options work
+
+ URL: http://curl.haxx.se/bug/view.cgi?id=1279
+ Suggested-by: Jerry Krinock
+
+Steve Holme (13 Sep 2013)
+- curl: Fixed usage of DNS options when not using c-ares resolver
+
+ Commit 32352ed6adddcb introduced various DNS options, however, these
+ would cause curl to exit with CURLE_NOT_BUILT_IN when c-ares wasn't
+ being used as the backend resolver even if the options weren't set
+ by the user.
+
+ Additionally corrected some minor coding style errors from the same
+ commit.
+
+Daniel Stenberg (13 Sep 2013)
+- curl_easy_setopt.3: mention RTMP URL quirks
+
+ URL: http://curl.haxx.se/bug/view.cgi?id=1278
+ Reported-by: Gorilla Maguila
+
+- [Ben Greear brought this change]
+
+ curl: Add support for various DNS binding options.
+
+ (Passed on to c-ares.)
+
+ Allows something like this:
+
+ curl --dns-interface sta8 --dns-ipv4-addr 8.8.1.111 --interface sta8 \
+ --localaddr 8.8.1.111 --dns-servers 8.8.8.1 www.google.com
+
+ Signed-off-by: Ben Greear <greearb@candelatech.com>
+
+- [Kim Vandry brought this change]
+
+ libcurl: New options to bind DNS to local interfaces or IP addresses
+
+- libcurl.3: for multi interface connections are held in the multi handle
+
+ ... and a few more cleanups/clarifications
+
+Steve Holme (12 Sep 2013)
+- ftpserver.pl: Fixed missing comma from 7fd84b14d219b1
+
+- ftpserver.pl: Fixed variable error introduced in 7fd84b14d219b1
+
+ Global symbol "$mailbox" requires explicit package name
+
+- ftpserver.pl: Added support for UID command
+
+- ftpserver.pl: Added support for LSUB command
+
+- imap: Fixed response check for LSUB and UID commands
+
+- ftpserver.pl: Added support for IMAP COPY command
+
+- ftpserver.pl: Added support for IMAP CLOSE and EXPUNGE commands
+
+- ftpserver.pl: Added support for POP3 RSET command
+
+- ftpserver.pl: Added the ability to remember what messages are deleted
+
+ ...as this will be required for IMAP CLOSE and EXPUNGE commands as well
+ as the POP3 RSET command.
+
+Daniel Stenberg (10 Sep 2013)
+- NI_MAXSERV: remove all use of it
+
+ Solaris with the SunStudio Compiler is reportedly missing this define,
+ but as we're using it without any good reason on all the places it was
+ used I've now instead switched to just use sensible buffer sizes that
+ fit a 32 bit decimal number. Which also happens to be smaller than the
+ common NI_MAXSERV value which is 32 on most machines.
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1277
+ Reported-by: D.Flinkmann
+
+- http2: use the support HTTP2 draft version in the upgrade header
+
+ ... instead of HTTP/2.0 to work fine with the nghttpx proxy/server.
+
+Steve Holme (10 Sep 2013)
+- ldap.c: Fix compilation warning
+
+ warning: comparison between signed and unsigned integer expressions
+
+- [Jiri Hruska brought this change]
+
+ imap/pop3/smtp: Speed up SSL connection initialization
+
+ Don't wait for the next callback call (usually 1 second) before
+ continuing with protocol specific connection initialization.
+
+- ldap.c: Corrected build error from commit 857f999353f333
+
+- RELEASE-NOTES: Corrected duplicate in bfefe2400a16b8
+
+- RELEASE-NOTES: Corrected typo from bfefe2400a16b8
+
+- RELEASE-NOTES: synced with 25c68903756d6b
+
+Daniel Stenberg (10 Sep 2013)
+- README.http2: explain nghttp2 a little
+
+Steve Holme (9 Sep 2013)
+- tests: Added test for POP3 TOP command
+
+- ftpserver.pl: Added support for POP3 TOP command
+
+- tests: Added test for POP3 UIDL command
+
+- ftpserver.pl: Added support for POP3 UIDL command
+
+Daniel Stenberg (9 Sep 2013)
+- http2: adjust to new nghttp2_pack_settings_payload proto
+
+ This function was modified in nghttp2 git commit a1c3f89c72e51
+
+Kamil Dudka (9 Sep 2013)
+- url: handle abortion by read/write callbacks, too
+
+ Otherwise, the FTP protocol would unnecessarily hang 60 seconds if
+ aborted in the CURLOPT_HEADERFUNCTION callback.
+
+ Reported by: Tomas Mlcoch
+ Bug: https://bugzilla.redhat.com/1005686
+
+Daniel Stenberg (9 Sep 2013)
+- ldap: fix the build for systems with ldap_url_parse()
+
+ Make sure that the custom struct fields are only used by code that
+ doesn't use a struct defintion from the outside.
+
+ Attempts to fix the problem introduced in 3dc6fc42bfc61b
+
+Steve Holme (9 Sep 2013)
+- [Jiri Hruska brought this change]
+
+ pingpong: Check SSL library buffers for already read data
+
+ Otherwise the connection can get stuck during various phases, waiting
+ for new data on the socket using select() etc., but it will never be
+ received as the data has already been read into SSL library.
+
+- imap: Fixed calculation of transfer when partial FETCH received
+
+ The transfer size would be calculated incorrectly if the email contained
+ within the FETCH response, had been partially received by the pingpong
+ layer. As such the following, example output, would be seen if the
+ amount remaining was smaller than the amount received:
+
+ * Excess found in a non pipelined read: excess = 1394, size = 262,
+ maxdownload = 262, bytecount = 1374
+ * transfer closed with -1112 bytes remaining to read
+
+ Bug: http://curl.haxx.se/mail/lib-2013-08/0170.html
+ Reported-by: John Dunn
+
+- ftpserver.pl: Fixed empty array checks
+
+ ...from commits 28427b408326a1 and e8313697b6554b.
+
+- ftpserver: Reworked AUTH support to allow for specifying the mechanisms
+
+ Renamed SUPPORTAUTH to AUTH and added support for specifying a list of
+ supported SASL mechanisms to return to the client.
+
+ Additionally added the directive to the FILEFORMAT document.
+
+- ftpserver: Reworked CAPA support to allow for specifying the capabilities
+
+ Renamed SUPPORTCAPA to CAPA and added support for specifying a list of
+ supported capabilities to return to the client.
+
+ Additionally added the directive to the FILEFORMAT document.
+
+- ftpserver.pl: Corrected POP3 LIST as message numbers should be contiguous
+
+ The message numbers given in the LIST response are an index into the
+ list, which are only valid for the current session, rather than being a
+ unique message identifier. An index would only be missing from the LIST
+ response if a DELE command had been issued within the same session and
+ had not been committed by the end of session QUIT command. Once
+ committed the POP3 server will regenerate the message numbers in the
+ next session to be contiguous again. As such our LIST response should
+ list message numbers contiguously until we support a DELE command in the
+ same session.
+
+ Should a POP3 user require the unique message ID for any or all
+ messages then they should use the extended UIDL command. This command
+ will be supported by the test ftpserver in an upcoming commit.
+
+Daniel Stenberg (8 Sep 2013)
+- [Clemens Gruber brought this change]
+
+ curl_easy_pause: suggest one way to unpause
+
+Steve Holme (8 Sep 2013)
+- tests: Updated descriptions to be more meaningful
+
+- tests: Added test for POP3 NOOP command
+
+- ftpserver.pl: Added support for POP3 NOOP command
+
+- ftpserver.pl: Fixed 'Use of uninitialized value $args in string ne'
+
+- tests: Added test for POP3 STAT command
+
+- ftpserver.pl: Added support for POP STAT command
+
+- ftpserver.pl: Moved POP3 QUIT handler into own function
+
+- ftpserver.pl: Reordered the POP3 handlers to be alphabetical
+
+ In preparation for additional POP3 tests, re-ordered the command
+ function defintions to be sorted alphabetically.
+
+- ftpserver.pl: Corrected misaligned indentation in POP3 handlers
+
+ Fixed incorrect indentation used in both the RETR_pop3 and LIST_pop3
+ functions which was 5 and 9 characters rather than 4 and 8.
+
+- tests: Added test for POP3 DELE command
+
+unknown (7 Sep 2013)
+- [Steve Holme brought this change]
+
+ ftpserver.pl: Added support for POP3 DELE command
+
+Daniel Stenberg (7 Sep 2013)
+- http2: include curl_memory.h
+
+ Detected by test 1132
+
+Nick Zitzmann (7 Sep 2013)
+- http: fix build warning under LLVM
+
+ When building the code using LLVM Clang without NGHTTP2, I was getting
+ this warning:
+ ../lib/http.h:155:1: warning: empty struct is a GNU extension [-Wgnu]
+ Placing a dummy variable into the data structure silenced the warning.
+
+Daniel Stenberg (7 Sep 2013)
+- http2: actually init nghttp2 and send HTTP2-Settings properly
+
+- README.http2: how to use it best with the multi API?
+
+- http2: first embryo toward Upgrade:
+
+- http: rename use_http_1_1 to use_http_1_1plus
+
+ Since it now actually says if 1.1 or a later version should be used.
+
+- configure: improve CURL_CHECK_COMPILER_PROTOTYPE_MISMATCH
+
+ The compiler test used a variable before it was assigned when it tried
+ to see how it acts on a mismatching prototype, which could cause a false
+ positive.
+
+- [Petr Písař brought this change]
+
+ Pass password to OpenSSL engine by user interface
+
+ Recent OpenSSL uses user interface abstraction to negotiate access to
+ private keys in the cryprographical engines. An OpenSSL application is
+ expected to implement the user interface. Otherwise a default one
+ provided by OpenSSL (interactive standard I/O) will be used and the
+ aplication will have no way how to pass a password to the engine.
+
+ Longer-desc: http://curl.haxx.se/mail/lib-2013-08/0265.html
+
+- urlglob: improved error messages and column number on bad use
+
+ Introduce a convenience macro and keep of the column better so that it
+ can point out the offending column better.
+
+ Updated test 75 accordingly.
+
+- urlglob: avoid error code translation
+
+ By using the correct values from the start we don't have to translate
+ them!
+
+- urlglob: avoid NULL pointer dereference
+
+ Thanks to clang-analyzer
+
+- [Gisle Vanem brought this change]
+
+ http2: use correct include for snprintf
+
+ Using the first little merge of nghttp2 into libcurl, I stumbeled on the
+ missing 'snprintf' in MSVCRT. Isn't this how we do it for other libcurl
+ files? I.e. use 'curl_msnprintf' and not 'snprintf' directly:
+
+- --data: mention CRLF treatment when reading from file
+
+- [Geoff Beier brought this change]
+
+ LDAP: fix bad free() when URL parsing failed
+
+ When an error occurs parsing an LDAP URL, The ludp->lud_attrs[i] entries
+ could be freed even though they sometimes point to data within an
+ allocated area.
+
+ This change introduces a lud_attrs_dup[] array for the duplicated string
+ pointers, and it removes the unused lud_exts array.
+
+ Bug: http://curl.haxx.se/mail/lib-2013-08/0209.html
+
+Nick Zitzmann (5 Sep 2013)
+- darwinssl: add support for PKCS#12 files for client authentication
+
+ I also documented the fact that the OpenSSL engine also supports them.
+
+Daniel Stenberg (5 Sep 2013)
+- symbols: added HTTP2 symbols and sorted list
+
+ CURL_HTTP_VERSION_2_0 and CURL_VERSION_HTTP2 are new
+
+- configure: add HTTP2 as a curl-config --feature output
+
+ Fixes the test 1014 failure
+
+- curl: unbreak --http1.0 again
+
+ I broke it in 2eabb7d590
+
+- SASL: fix compiler warnings
+
+ comparison between signed and unsigned integer expressions
+
+ suggest parentheses around '&&' within '||' (twice)
+
+- curl: add --http1.1 and --http2.0 options
+
+- Curl_setopt: refuse CURL_HTTP_VERSION_2_0 if built without support
+
+- http2: add http2.[ch] and add nghttp2 version output
+
+- curl -V: output HTTP2 as a feature if present
+
+- curl.h: add CURL_VERSION_HTTP2 as a feature
+
+ It isn't added as a separate protocol as HTTP2 will be done over HTTP://
+ URLs that can be upgraded to HTTP2 if the server supports it as well.
+
+Steve Holme (4 Sep 2013)
+- imap/smtp: Fixed incorrect SASL mechanism selection with XOAUTH2 servers
+
+ XOAUTH2 would be selected in preference to LOGIN and PLAIN if the IMAP
+ or SMTP server advertised support for it even though a user's password
+ was supplied but bearer token wasn't.
+
+ Modified the selection logic so that XOAUTH2 will only be selected if
+ the server supports it and A) The curl user/libcurl programmer has
+ specifically asked for XOAUTH via the ;AUTH=XOAUTH login option or 2)
+ The bearer token is specified. Obviously if XOAUTH is asked for via
+ the login option but no token is specified the user will receive a
+ authentication failure which makes more sense than no known
+ authentication mechanisms supported!
+
+Daniel Stenberg (4 Sep 2013)
+- curl.h: added CURL_HTTP_VERSION_2_0
+
+ Initial library considerations documented in lib/README.http2
+
+- configure: added --with-nghttp2
+
+- acinclude: fix --without-ca-path when cross-compiling
+
+ The commit 7b074a460b64811 to CURL_CHECK_CA_BUNDLE in 7.31 (don't check
+ for paths when cross-compiling) causes --without-ca-path to no longer
+ works when cross-compiling, since ca and capath only ever get set to
+ "no" when not cross-compiling, I attach a patch that works for me. Also
+ in the cross-compilation case, no ca-path seems to be a better default
+ (IMVHO) than empty ca-path.
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1273
+ Patch-by: Stefan Neis
+
+Steve Holme (2 Sep 2013)
+- lib1512.c: Fixed compilation warning
+
+ An enumerated type is mixed with another type.
+
+ ...as well as a small coding style error.
+
+Guenter Knauf (1 Sep 2013)
+- Killed warning 'res' might be used uninitialized.
+
+Steve Holme (1 Sep 2013)
+- url.c: Fixed compilation warning
+
+ An enumerated type is mixed with another type
+
+- easy.c: Fixed compilation warning
+
+ warning: `code' might be used uninitialized in this function
+
+Daniel Stenberg (31 Aug 2013)
+- -x: rephrased the --proxy section somewhat
+
+Steve Holme (31 Aug 2013)
+- tests: Added test for IMAP CHECK command
+
+- ftpserver.pl: Added support for the IMAP CHECK command
+
+Guenter Knauf (31 Aug 2013)
+- Removed reference to krb4.c.
+
+Steve Holme (31 Aug 2013)
+- ftpserver.pl: Corrected flawed logic in commit 1ca6ed7b75cad0
+
+- imap: Fixed response check for EXPUNGE command
+
+- ftpserver.pl: Added argument check to IMAP command handlers
+
+ Added BAD argument check to the following IMAP command handlers:
+
+ APPEND, STORE, LIST, EXAMINE, STATUS and SEARCH
+
+- ftpserver.pl: More whitespace corrections
+
+ LIST_imap() had a second level of indentation at 9 characters and not 8.
+
+- ftpserver.pl: Small correction tidy up
+
+ Corrected some IMAP variable names and whitespace issues.
+
+- [Kyle L. Huff brought this change]
+
+ docs: Added documentation for CURLOPT_BEARER
+
+- [Kyle L. Huff brought this change]
+
+ curl.1: Add usage of '--bearer' option
+
+- tests: Added tests for IMAP CREATE, DELETE and RENAME commands
+
+Daniel Stenberg (30 Aug 2013)
+- ftpserver: Bareword "to_mailbox" not allowed
+
+ Added missing $
+
+Steve Holme (30 Aug 2013)
+- ftpserver.pl: Added support for IMAP CREATE, DELETE and RENAME commands
+
+Daniel Stenberg (29 Aug 2013)
+- FTP: fix getsock during DO_MORE state
+
+ ... when doing upload it would return the wrong values at times. This
+ commit attempts to cleanup the mess.
+
+ Bug: http://curl.haxx.se/mail/lib-2013-08/0109.html
+ Reported-by: Mike Mio
+
+- curl_multi_remove_handle: allow multiple removes
+
+ When removing an already removed handle, avoid that to ruin the
+ internals and just return OK instead.
+
+Steve Holme (29 Aug 2013)
+- ftpserver.pl: Updated IMAP EXAMINE handler to use dynamic test data
+
+Daniel Stenberg (29 Aug 2013)
+- unit1304: include memdebug and free everything correctly
+
+- Curl_parsenetrc: document that the arguments must be allocated
+
+- easy: rename struct monitor to socketmonitor
+
+ 'struct monitor', introduced in 6cf8413e, already exists in an IRIX
+ header file (sys/mon.h) which gets included via various standard headers
+ by lib/easy.c
+
+ cc-1101 cc: ERROR File = ../../curl/lib/easy.c, Line = 458
+ "monitor" has already been declared in the current scope.
+
+ Reported-by: Tor Arntsen
+
+Steve Holme (29 Aug 2013)
+- ftpserver.pl: Added SELECT check to IMAP FETCH and STORE handlers
+
+- ftpserver.pl: Corrected accidental move of logmsg() call
+
+ Corrected the call to logmsg() in the IMAP SEARCH handler from commit
+ 4ae7b7ea691497 as it should have been outputting the what argument and
+ not the test number.
+
+Daniel Stenberg (28 Aug 2013)
+- ftpserver: add missing '}' from 4ae7b7ea69149
+
+Steve Holme (28 Aug 2013)
+- ftpserver.pl: Added SELECT check to IMAP SEARCH command
+
+- ftpserver.pl: Fixed IMAP SEARCH command
+
+Daniel Stenberg (28 Aug 2013)
+- bump: next release is 7.33.0 due to added features
+
+- symbols-in-versions: add CURLOPT_XOAUTH2_BEARER
+
+Steve Holme (28 Aug 2013)
+- tests: Added test for IMAP SEARCH command
+
+Daniel Stenberg (28 Aug 2013)
+- valgrind.supp: fix for regular curl_easy_perform too
+
+ When we introduced curl_easy_perform_ev, this got a slightly modified
+ call trace. Without this, test 165 causes a false positive valgrind
+ error.
+
+- valgrind.supp: add the event-based call stack-trace too
+
+ Without this, test 165 triggers a valgrind error when ran with
+ curl_easy_perform_ev
+
+- multi_socket: improved 100-continue timeout handling
+
+ When waiting for a 100-continue response from the server, the
+ Curl_readwrite() will refuse to run if called until the timeout has been
+ reached.
+
+ We timeout code in multi_socket() allows code to run slightly before the
+ actual timeout time, so for test 154 it could lead to the function being
+ executed but refused in Curl_readwrite() and then the application would
+ just sit idling forever.
+
+ This was detected with runtests.pl -e on test 154.
+
+Steve Holme (27 Aug 2013)
+- ftpserver.pl: Added support for IMAP SEARCH command
+
+- tool_operate.c: Fixed compilation warning
+
+ warning: implicit declaration of function 'checkpasswd'
+
+- curl: Moved check for password out of get parameter loop
+
+ Moved the calls to checkpasswd() out of the getparameter() function
+ which allows for any related arguments to be specified on the command
+ line before or after --user (and --proxy-user).
+
+ For example: --bearer doesn't need to be specified before --user to
+ prevent curl from asking for an unnecessary password as is the case
+ with commit e7dcc454c67a2f.
+
+- RELEASE-NOTES: synced with acf59be7f09a7
+
+- [Kyle L. Huff brought this change]
+
+ curl: added --bearer option to help
+
+ Added the --bearer option to the help output
+
+- [Kyle L. Huff brought this change]
+
+ curl: added basic SASL XOAUTH2 support
+
+ Added the ability to specify an XOAUTH2 bearer token [RFC6750] via the
+ --bearer option.
+
+ Example usage:
+ curl --url "imaps://imap.gmail.com:993/INBOX/;UID=1" --ssl-reqd
+ --bearer ya29.AHES6Z...OMfsHYI --user username@example.com
+
+- tool_urlglob.c: Fixed compiler warnings
+
+ warning: 'variable' may be used uninitialized in this function
+
+Daniel Stenberg (26 Aug 2013)
+- security.h: rename to curl_sec.h to avoid name collision
+
+ I brought back security.h in commit bb5529331334e. As we actually
+ already found out back in 2005 in commit 62970da675249, the file name
+ security.h causes problems so I renamed it curl_sec.h instead.
+
+- runtests.pl: allow -vc point to a separate curl binary to verify with
+
+ The specified curl binary will then be used to verify the running
+ server(s) instead of the development version. This is very useful in
+ some cases when the development version fails to verify correctly as
+ then the test case may not run at all.
+
+ The actual test will still be run with the "normal" curl executable
+ (unless the test case specifies something differently).
+
+Steve Holme (26 Aug 2013)
+- [Kyle L. Huff brought this change]
+
+ smtp: added basic SASL XOAUTH2 support
+
+ Added the ability to use an XOAUTH2 bearer token [RFC6750] with SMTP for
+ authentication using RFC6749 "OAuth 2.0 Authorization Framework".
+
+ The bearer token is expected to be valid for the user specified in
+ conn->user. If CURLOPT_XOAUTH2_BEARER is defined and the connection has
+ an advertised auth mechanism of "XOAUTH2", the user and access token are
+ formatted as a base64 encoded string and sent to the server as
+ "AUTH XOAUTH2 <bearer token>".
+
+- [Kyle L. Huff brought this change]
+
+ imap: added basic SASL XOAUTH2 support
+
+ Added the ability to use an XOAUTH2 bearer token [RFC6750] with IMAP for
+ authentication using RFC6749 "OAuth 2.0 Authorization Framework".
+
+ The bearer token is expected to be valid for the user specified in
+ conn->user. If CURLOPT_XOAUTH2_BEARER is defined and the connection has
+ an advertised auth mechanism of "XOAUTH2", the user and access token are
+ formatted as a base64 encoded string and sent to the server as
+ "A001 AUTHENTICATE XOAUTH2 <bearer token>".
+
+- security.h: Fixed compilation warning
+
+ ISO C forbids forward references to 'enum' types
+
+Daniel Stenberg (26 Aug 2013)
+- KNOWN_BUGS: refer to bug numbers with the existing number series
+
+ The old numbers would still redirect but who knows for how long...
+
+Steve Holme (25 Aug 2013)
+- [Kyle L. Huff brought this change]
+
+ options: added basic SASL XOAUTH2 support
+
+ Added the ability to specify an XOAUTH2 bearer token [RFC6750] via the
+ option CURLOPT_XOAUTH2_BEARER for authentication using RFC6749 "OAuth
+ 2.0 Authorization Framework".
+
+- [Kyle L. Huff brought this change]
+
+ sasl: added basic SASL XOAUTH2 support
+
+ Added the ability to generated a base64 encoded XOAUTH2 token
+ containing: "user=<username>^Aauth=Bearer <bearer token>^A^A"
+ as per RFC6749 "OAuth 2.0 Authorization Framework".
+
+Daniel Stenberg (25 Aug 2013)
+- FTP: remove krb4 support
+
+ We've announced this pending removal for a long time and we've
+ repeatedly asked if anyone would care or if anyone objects. Nobody has
+ objected. It has probably not even been working for a good while since
+ nobody has tested/used this code recently.
+
+ The stuff in krb4.h that was generic enough to be used by other sources
+ is now present in security.h
+
+- easy: define away easy_events() for non-debug builds
+
+- FAQ: editorial updates
+
+ Several language fixes. Several reformats that should make the HTML
+ generation of this document look better.
+
+ Reported-by: Dave Thompson
+
+- RELEASE-NOTES: synced with 22adb46a32bee
+
+- multi: move on from STATE_DONE faster
+
+ Make sure we always return CURLM_CALL_MULTI_PERFORM when we reach
+ CURLM_STATE_DONE since the state is transient and it can very well
+ continue executing as there is nothing to wait for.
+
+ Bug: http://curl.haxx.se/mail/lib-2013-08/0211.html
+ Reported-by: Yi Huang
+
+- curl.h: name space pollution by "enum type"
+
+ Renamed to "enum curl_khtype" now. Will break compilation for programs
+ that rely on the enum name.
+
+ Bug: https://github.com/bagder/curl/pull/76
+ Reported-by: Shawn Landden
+
+- TFTP: make the CURLOPT_LOW_SPEED* options work
+
+ ... this also makes sure that the progess callback gets called more
+ often during TFTP transfers.
+
+ Added test 1238 to verify.
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1269
+ Reported-by: Jo3
+
+- tftpd: support "writedelay" within <servercmd>
+
+- tftpd: convert 6 global variables into local ones
+
+- [Gisle Vanem brought this change]
+
+ curl_easy_perform_ev: make it CURL_EXTERN
+
+ I build curl.exe (using MingW) with '-DCURLDEBUG' and by importing from
+ libcurl.dll. Which means the new curl_easy_perform_ev() must be
+ exported from libcurl.dll.
+
+- CURLM_ADDED_ALREADY: new error code
+
+ Doing curl_multi_add_handle() on an easy handle that is already added to
+ a multi handle now returns this error code. It previously returned
+ CURLM_BAD_EASY_HANDLE for this condition.
+
+- multi_init: moved init code here from add_handle
+
+ The closure_handle is "owned" by the multi handle and it is
+ unconditional so the setting up of it should be in the Curl_multi_handle
+ function rather than curl_multi_add_handle.
+
+- multi: remove dns cache creation code from *add_handle
+
+ As it is done unconditionally in multi_init() this code will never run!
+
+- curl_easy_perform_ev: debug/test function
+
+ This function is meant to work *exactly* as curl_easy_perform() but will
+ use the event-based libcurl API internally instead of
+ curl_multi_perform(). To avoid relying on an actual event-based library
+ and to not use non-portable functions (like epoll or similar), there's a
+ rather inefficient emulation layer implemented on top of Curl_poll()
+ instead.
+
+ There's currently some convenience logging done in curl_easy_perform_ev
+ which helps when tracking down problems. They may be suitable to remove
+ or change once things seem to be fine enough.
+
+ curl has a new --test-event option when built with debug enabled that
+ then uses curl_easy_perform_ev() instead of curl_easy_perform(). If
+ built without debug, using --test-event will only output a warning
+ message.
+
+ NOTE: curl_easy_perform_ev() is not part if the public API on purpose.
+ It is only present in debug builds of libcurl and MUST NOT be considered
+ stable even then. Use it for libcurl-testing purposes only.
+
+ runtests.pl now features an -e command line option that makes it use
+ --test-event for all curl command line tests. The man page is updated.
+
+- [Gisle Vanem brought this change]
+
+ transfer: the recent sessionhandle change broke CURL_DOES_CONVERSIONS
+
+- test1237: verify 1000+ letter user name + passwords
+
+- [Jonathan Nieder brought this change]
+
+ url: handle arbitrary-length username and password before '@'
+
+ libcurl quietly truncates usernames, passwords, and options from
+ before an '@' sign in a URL to 255 (= MAX_CURL_PASSWORD_LENGTH - 1)
+ characters to fit in fixed-size buffers on the stack. Allocate a
+ buffer large enough to fit the parsed fields on the fly instead to
+ support longer passwords.
+
+ After this change, there are no more uses of MAX_CURL_OPTIONS_LENGTH
+ left, so stop defining that constant while at it. The hardcoded max
+ username and password length constants, on the other hand, are still
+ used in HTTP proxy credential handling (which this patch doesn't
+ touch).
+
+ Reported-by: Colby Ranger
+
+- [Jonathan Nieder brought this change]
+
+ url: handle exceptional cases first in parse_url_login()
+
+ Instead of nesting "if(success)" blocks and leaving the reader in
+ suspense about what happens in the !success case, deal with failure
+ cases early, usually with a simple goto to clean up and return from
+ the function.
+
+ No functional change intended. The main effect is to decrease the
+ indentation of this function slightly.
+
+- [Jonathan Nieder brought this change]
+
+ Curl_setopt: handle arbitrary-length username and password
+
+ libcurl truncates usernames, passwords, and options set with
+ curl_easy_setopt to 255 (= MAX_CURL_PASSWORD_LENGTH - 1) characters.
+ This doesn't affect the return value from curl_easy_setopt(), so from
+ the caller's point of view, there is no sign anything strange has
+ happened, except that authentication fails.
+
+ For example:
+
+ # Prepare a long (300-char) password.
+ s=0123456789; s=$s$s$s$s$s$s$s$s$s$s; s=$s$s$s;
+ # Start a server.
+ nc -l -p 8888 | tee out & pid=$!
+ # Tell curl to pass the password to the server.
+ curl --user me:$s http://localhost:8888 & sleep 1; kill $pid
+ # Extract the password.
+ userpass=$(
+ awk '/Authorization: Basic/ {print $3}' <out |
+ tr -d '\r' |
+ base64 -d
+ )
+ password=${userpass#me:}
+ echo ${#password}
+
+ Expected result: 300
+ Actual result: 255
+
+ The fix is simple: allocate appropriately sized buffers on the heap
+ instead of trying to squeeze the provided values into fixed-size
+ on-stack buffers.
+
+ Bug: http://bugs.debian.org/719856
+ Reported-by: Colby Ranger
+
+- [Jonathan Nieder brought this change]
+
+ netrc: handle longer username and password
+
+ libcurl truncates usernames and passwords it reads from .netrc to
+ LOGINSIZE and PASSWORDSIZE (64) characters without any indication to
+ the user, to ensure the values returned from Curl_parsenetrc fit in a
+ caller-provided buffer.
+
+ Fix the interface by passing back dynamically allocated buffers
+ allocated to fit the user's input. The parser still relies on a
+ 256-character buffer to read each line, though.
+
+ So now you can include an ~246-character password in your .netrc,
+ instead of the previous limit of 63 characters.
+
+ Reported-by: Colby Ranger
+
+- [Jonathan Nieder brought this change]
+
+ url: allocate username, password, and options on the heap
+
+ This makes it possible to increase the size of the buffers when needed
+ in later patches. No functional change yet.
+
+- [Jonathan Nieder brought this change]
+
+ url: use goto in create_conn() for exception handling
+
+ Instead of remembering before each "return" statement which temporary
+ allocations, if any, need to be freed, take care to set pointers to
+ NULL when no longer needed and use a goto to a common block to exit
+ the function and free all temporaries.
+
+ No functional change intended. Currently the only temporary buffer in
+ this function is "proxy" which is already correctly freed when
+ appropriate, but there will be more soon.
+
+- [Jonathan Nieder brought this change]
+
+ sasl: allow arbitrarily long username and password
+
+ Use appropriately sized buffers on the heap instead of fixed-size
+ buffers on the stack, to allow for longer usernames and passwords.
+
+ Callers never pass anything longer than MAX_CURL_USER_LENGTH (resp.
+ MAX_CURL_PASSWORD_LENGTH), so no functional change inteded yet.
+
+Steve Holme (19 Aug 2013)
+- [Alex McLellan brought this change]
+
+ imap: Fixed response check for SEARCH command
+
+ Adding this line allows libcurl to return the server response when
+ performing a search command via a custom request.
+
+Daniel Stenberg (16 Aug 2013)
+- glob: error out on range overflow
+
+ The new multiply() function detects range value overflows. 32bit
+ machines will overflow on a 32bit boundary while 64bit hosts support
+ ranges up to the full 64 bit range.
+
+ Added test 1236 to verify.
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1267
+ Reported-by: Will Dietz
+
+- urlglob: better detect unclosed braces, empty lists and overflows
+
+ A rather big overhaul and cleanup.
+
+ 1 - curl wouldn't properly detect and reject globbing that ended with an
+ open brace if there were brackets or braces before it. Like "{}{" or
+ "[0-1]{"
+
+ 2 - curl wouldn't properly reject empty lists so that "{}{}" would
+ result in curl getting (nil) strings in the output.
+
+ 3 - By using strtoul() instead of sscanf() the code will now detected
+ over and underflows. It now also better parses the step argument to only
+ accept positive numbers and only step counters that is smaller than the
+ delta between the maximum and minimum numbers.
+
+ 4 - By switching to unsigned longs instead of signed ints for the
+ counters, the max values for []-ranges are now very large (on 64bit
+ machines).
+
+ 5 - Bumped the maximum number of globs in a single URL to 100 (from 10)
+
+ 6 - Simplified the code somewhat and now it stores fixed strings as
+ single- entry lists. That's also one of the reasons why I did (5) as now
+ all strings between "globs" will take a slot in the array.
+
+ Added test 1234 and 1235 to verify. Updated test 87.
+
+ This commit fixes three separate bug reports.
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1264
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1265
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1266
+ Reported-by: Will Dietz
+
+- [John Malmberg brought this change]
+
+ VMS: Add RELEASE-NOTES to vms document
+
+ Add the curl release notes to the release note document generated for
+ VMS packages.
+
+ Add the different filenames generated by a daily build to the
+ cleanup procedures.
+
+- [Tor Arntsen brought this change]
+
+ tests 2032, 2033: Don't hardcode port in expected output
+
+- ftp: convert state names to a global array
+
+ ... just to make them easier to print in debug ouputs while debugging.
+ They are still within #ifdef [debugbuild].
+
+- --help: fix the --sasl-ir in the help output
+
+- ftp_domore_getsock: when passive mode, the second conn is already there
+
+ This makes the socket callback get called with the proper bitmask as
+ otherwise the application could be left hanging waiting for reading on
+ an upload connection!
+
+ Bug: http://curl.haxx.se/mail/lib-2013-08/0043.html
+ Reported-by: Bill Doyle
+
+- curl: make --no-[option] work properly for several options
+
+ --create-dirs, --crlf, --socks5-gssapi-nec and --sasl-ir
+
+Kamil Dudka (12 Aug 2013)
+- nss: make sure that NSS is initialized
+
+ ... prior to calling PK11_GenerateRandom()
+
+Daniel Stenberg (12 Aug 2013)
+- multi: s/easy/data
+
+ With everything being struct SessionHandle pointers now, this rename
+ makes multi.c use the library-wide practise of calling that pointer
+ 'data' instead of the previously used 'easy'.
+
+- cleanup: removed one function, made one static
+
+ Moved Curl_easy_addmulti() from easy.c to multi.c, renamed it to
+ easy_addmulti and made it static.
+
+ Removed Curl_easy_initHandleData() and uses of it since it was emptied
+ in commit cdda92ab67b47d74a.
+
+- SessionHandle: the protocol specific pointer is now a void *
+
+ All protocol handler structs are now opaque (void *) in the
+ SessionHandle struct and moved in the request-specific sub-struct
+ 'SingleRequest'. The intension is to keep the protocol specific
+ knowledge in their own dedicated source files [protocol].c etc.
+
+ There's some "leakage" where this policy is violated, to be addressed at
+ a later point in time.
+
+- urldata: clean up the use of the protocol specific structs
+
+ 1 - always allocate the struct in protocol->setup_connection. Some
+ protocol handlers had to get this function added.
+
+ 2 - always free at the end of a request. This is also an attempt to keep
+ less memory in the handle after it is completed.
+
+- version number: bump to 7.32.1 for now
+
+ Start working on the next version and up some counters.
+
+Version 7.32.0 (11 Aug 2013)
+
+Daniel Stenberg (11 Aug 2013)
+- THANKS: added contributors from the 7.32.0 release notes
+
+- [Fabian Keil brought this change]
+
+ test1228: add 'HTTP proxy' to the keywords
+
+- [Fabian Keil brought this change]
+
+ tests: add keywords for a couple of FILE tests
+
+- [Fabian Keil brought this change]
+
+ tests: add 'FAILURE' keywords to tests 1409 and 1410
+
+- [Fabian Keil brought this change]
+
+ tests: add keywords for a couple of HTTP tests
+
+- [Fabian Keil brought this change]
+
+ tests: add keywords for a couple of FTP tests
+
+- [Fabian Keil brought this change]
+
+ test1511: consistently terminate headers with CRLF
+
+- DISABLED: shut of test 1512 for now
+
+ It shows intermittent failures and I haven't been able to track them
+ down yet. Disable this test for now.
+
+- curl_multi_add_handle.3: ... that timer callback is for event-based
+
+- comments: remove old and wrong multi/easy interface statements
+
+- curl_multi_add_handle.3: mention the CURLMOPT_TIMERFUNCTION use
+
+- [John E. Malmberg brought this change]
+
+ KNOWN_BUGS: 22 and 57 have been fixed and committed
+
+- RELEASE-NOTES: synced with d20def20462e7
+
+- global dns cache: fix memory leak
+
+ The take down of the global dns cache didn't take CURLOPT_RESOLVE names
+ into account.
+
+- global dns cache: didn't work [regression]
+
+ CURLOPT_DNS_USE_GLOBAL_CACHE broke in commit c43127414d89ccb (been
+ broken since the libcurl 7.29.0 release). While this option has been
+ documented as deprecated for almost a decade and nobody even reported
+ this bug, it should remain functional.
+
+ Added test case 1512 to verify
+
+Yang Tse (8 Aug 2013)
+- [John Malmberg brought this change]
+
+ packages/vms: update VMS build files
+
+ VMS modified files either missing from a previous commit and changes
+ to remove references to CVS repositories.
+
+Daniel Stenberg (8 Aug 2013)
+- FTP: renamed several local functions
+
+ The previous naming scheme ftp_state_post_XXXX() wasn't really helpful
+ as it wasn't always immediately after 'xxxx' and it wasn't easy to
+ understand what it does based on such a name.
+
+ This new one is instead ftp_state_yyyy() where yyyy describes what it
+ does or sends.
+
+- mk-ca-bundle.1: don't install on make install
+
+ Since the mk-ca-bundle tool itself isn't installed with make install,
+ there's no point in installing its documentation.
+
+ Bug: http://curl.haxx.se/mail/lib-2013-08/0057.html
+ Reported-by: Guenter Knauf
+
+Yang Tse (7 Aug 2013)
+- packages/vms/Makefile.am: add latest file additions to EXTRA_DIST
+
+- [John Malmberg brought this change]
+
+ Building_vms_pcsi_kit
+
+ These are the files needed to build VMS distribution packages known as
+ PCSI kits.
+
+ Also minor update to the existing files, mainly to the documentation and
+ file clean up code.
+
+Daniel Stenberg (6 Aug 2013)
+- LIBCURL-STRUCTS: new document
+
+ This is the first version of this new document, detailing the seven
+ perhaps most important internal structs in libcurl source code:
+
+ 1.1 SessionHandle
+ 1.2 connectdata
+ 1.3 Curl_multi
+ 1.4 Curl_handler
+ 1.5 conncache
+ 1.6 Curl_share
+ 1.7 CookieInfo
+
+- CONTRIBUTE: minor language polish
+
+- FTP: when EPSV gets a 229 but fails to connect, retry with PASV
+
+ This is a regression as this logic used to work. It isn't clear when it
+ broke, but I'm assuming in 7.28.0 when we went all-multi internally.
+
+ This likely never worked with the multi interface. As the failed
+ connection is detected once the multi state has reached DO_MORE, the
+ Curl_do_more() function was now expanded somewhat so that the
+ ftp_do_more() function can request to go "back" to the previous state
+ when it makes another attempt - using PASV.
+
+ Added test case 1233 to verify this fix. It has the little issue that it
+ assumes no service is listening/accepting connections on port 1...
+
+ Reported-by: byte_bucket in the #curl IRC channel
+
+Nick Zitzmann (5 Aug 2013)
+- md5: remove use of CommonCrypto-to-OpenSSL macros for the benefit of Leopard
+
+ For some reason, OS X 10.5's GCC suddenly stopped working correctly with
+ macros that change MD5_Init etc. in the code to CC_MD5_Init etc., so I
+ worked around this by removing use of the macros and inserting static
+ functions that just call CommonCrypto's implementations of the functions
+ instead.
+
+Guenter Knauf (5 Aug 2013)
+- Simplify check for trusted certificates.
+
+ This changes the previous check for untrusted certs to a check for
+ certs explicitely marked as trusted.
+ The change is backward-compatible (tested with certdata.txt v1.80).
+
+Daniel Stenberg (5 Aug 2013)
+- configure: warn on bad env variable use, don't error
+
+ Use XC_CHECK_BUILD_FLAGS instead XC_CHECK_USER_FLAGS.
+
+- Revert "configure: don't error out on variable confusions, just warn"
+
+ This reverts commit 6b27703b5f525eccdc0a8409f51de8595c75132a.
+
+- formadd: wrong pointer for file name when CURLFORM_BUFFERPTR used
+
+ The internal function that's used to detect known file extensions for
+ the default Content-Type got the the wrong pointer passed in when
+ CURLFORM_BUFFER + CURLFORM_BUFFERPTR were used. This had the effect that
+ strlen() would be used which could lead to an out-of-bounds read (and
+ thus segfault). In most cases it would only lead to it not finding or
+ using the correct default content-type.
+
+ It also showed that test 554 and test 587 were testing for the
+ previous/wrong behavior and now they're updated as well.
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1262
+ Reported-by: Konstantin Isakov
+
+Guenter Knauf (4 Aug 2013)
+- Skip more untrusted certificates.
+
+ Christian Heimes brought to our attention that the certdata.txt
+ format has recently changed [1], causing ca-bundle.crt created
+ with mk-ca-bundle.[pl|vbs] to include untrusted certs.
+
+ [1] http://lists.debian.org/debian-release/2012/11/msg00411.html
+
+Daniel Stenberg (4 Aug 2013)
+- configure: don't error out on variable confusions, just warn
+
+- configure: rephrase the notice in _XC_CHECK_VAR_*
+
+ Instead of claiming it is an error, we call it a "note" to reduce the
+ severity level. But the following text now says the [variable] "*should*
+ only be used to specify"... instead of previously having said "may".
+
+- multi: remove data->state.current_conn struct field
+
+ Not needed
+
+- multi: remove the one_easy struct field
+
+ Since the merge of SessionHandle with Curl_one_easy, this indirection
+ isn't used anymore.
+
+- multi: rename all Curl_one_easy to SessionHandle
+
+- multi: remove the multi_pos struct field
+
+ Since Curl_one_easy is really a SessionHandle now, this indirection
+ doesn't exist anymore.
+
+- multi: remove easy_handle struct field
+
+ It isn't needed anymore
+
+- multi: remove 'Curl_one_easy' struct, phase 1
+
+ The motivation for having a separate struct that keep track of an easy
+ handle when using the multi handle was removed when we switched to
+ always using the multi interface internally. Now they were just two
+ separate struct that was always allocated for each easy handle.
+
+ This first step just moves the Curl_one_easy struct members into the
+ SessionHandle struct and hides this somehow (== keeps the source code
+ changes to a minimum) by defining Curl_one_easy to SessionHandle
+
+ The biggest changes in this commit are:
+
+ 1 - the linked list of easy handles had to be changed somewhat due
+ to the new struct layout. This made the main linked list pointer
+ get renamed to 'easyp' and there's also a new pointer to the last
+ node, called easylp. It is no longer circular but ends with ->next
+ pointing to NULL. New nodes are still added last.
+
+ 2 - easy->state is now called easy->mstate to avoid name collision
+
+Steve Holme (2 Aug 2013)
+- Revert "DOCS: Added IMAP URL example for listing new messages"
+
+ This reverts commit 82ab5f1b0c7c3f as this was the wrong place to
+ document the complexity of IMAP URLs and Custom Requests.
+
+- DOCS: Added IMAP URL example for listing new messages
+
+ In addition to listing the folder contents, in the URL examples, added
+ an example to list the new messages waiting in the user's inbox.
+
+Yang Tse (1 Aug 2013)
+- packages/vms/Makefile.am: add latest file additions to EXTRA_DIST
+
+- [John Malmberg brought this change]
+
+ Add in the files needed to build libcurl shared images on VMS.
+
+ Update the packages/vms/readme file to be current.
+
+ Also some files for the GNV based build were either missing or needed an
+ update.
+
+ curl_crtl_init.c is a special file that is run before main() to
+ set up the proper C runtime behavior.
+
+ generate_vax_transfer.com generates the VAX transfer vector modules from
+ the gnv_libcurl_symbols.opt file.
+
+ gnv_conftest.c_first is a helper file needed for configure scripts to
+ come up with the expected answers on VMS.
+
+ gnv_libcurl_symbols.opt is the public symbols for the libcurl shared
+ image.
+
+ gnv_link_curl.com builds the shared libcurl image and rebuilds other
+ programs to use it.
+
+ macro32_exactcase.patch is a hack to make a local copy of the VMS Macro32
+ assembler case sensitive, which is needed to build the VAX transfer modules.
+
+ report_openssl_version.c is a tool for help verify that the libcurl
+ shared image is being built for a minium version of openssl.
+
+- curl: second follow-up for commit 5af2bfb9
+
+ Display progress-bar unconditionally on first call
+
+- curl: follow-up for commit 5af2bfb9
+
+ Use tvnow() and tvdiff() to avoid introducing new linkage issues
+
+Daniel Stenberg (31 Jul 2013)
+- curl: --progress-bar max update frequency now at 5Hz
+
+- curl: make --progress-bar update the line less frequently
+
+ Also, use memset() instead of a lame loop.
+
+ The previous logic that tried to avoid too many updates were very
+ ineffective for really fast transfers, as then it could easily end up
+ doing hundreds of updates per second that would make a significant
+ impact in transfer performance!
+
+ Bug: http://curl.haxx.se/mail/archive-2013-07/0031.html
+ Reported-by: Marc Doughty
+
+Nick Zitzmann (30 Jul 2013)
+- darwinssl: added LFs to some strings passed into infof()
+
+ (This doesn't need to appear in the release notes.) I noticed a few places
+ where infof() was called, and there should've been an LF at the end of the
+ string, but there wasn't.
+
+- darwinssl: fix build error in crypto authentication under Snow Leopard
+
+ It turns out Snow Leopard not only has SecItemCopyMatching() defined in
+ a header not included by the omnibus header, but it won't work for our
+ purposes, because searching for SecIdentityRef objects wasn't added
+ to that API until Lion. So we now use the old SecKeychainSearch API
+ instead if the user is building under, or running under, Snow Leopard.
+
+ Bug: http://sourceforge.net/p/curl/bugs/1255/
+ Reported by: Edward Rudd
+
+- md5 & metalink: use better build macros on Apple operating systems
+
+ Previously we used __MAC_10_X and __IPHONE_X to mark digest-generating
+ code that was specific to OS X and iOS. Now we use
+ __MAC_OS_X_VERSION_MAX_ALLOWED and __IPHONE_OS_VERSION_MAX_ALLOWED
+ instead of those macros.
+
+ Bug: http://sourceforge.net/p/curl/bugs/1255/
+ Reported by: Edward Rudd
+
+Yang Tse (29 Jul 2013)
+- tool_operhlp.c: fix add_file_name_to_url() OOM handling
+
+- tool_operate.c: fix brace placement for vi/emacs delimiter matching
+
+- tool_operate.c: move <fabdef.h> header inclusion location
+
+Daniel Stenberg (29 Jul 2013)
+- RELEASE-NOTES: synced with b5478a0e033e7
+
+- curl_easy_pause: on unpause, trigger mulit-socket handling
+
+ When the multi-socket API is used, we need the handle to be checked
+ again when it gets unpaused.
+
+ Bug: http://curl.haxx.se/mail/lib-2013-07/0239.html
+ Reported-by: Justin Karneges
+
+- [John E. Malmberg brought this change]
+
+ curl_formadd: fix file upload on VMS
+
+ For the standard VMS text file formats, VMS needs to read the file to
+ get the actual file size.
+
+ For the standard VMS binary file formats, VMS needs a special format of
+ fopen() call so that it stops reading at the logical end of file instead
+ of at the end of the blocks allocated to the file.
+
+ I structured the patch this way as I was not sure about changing the
+ structures or parameters to the routines, but would prefer to only call
+ the stat() function once and pass the information to where the fopen()
+ call is made.
+
+ Bug: https://sourceforge.net/p/curl/bugs/758/
+
+- formadd: CURLFORM_FILECONTENT wrongly rejected some option combos
+
+ The code for CURLFORM_FILECONTENT had its check for duplicate options
+ wrong so that it would reject CURLFORM_PTRNAME if used in combination
+ with it (but not CURLFORM_COPYNAME)! The flags field used for this
+ purpose cannot be interpreted that broadly.
+
+ Bug: http://curl.haxx.se/mail/lib-2013-07/0258.html
+ Reported-by: Byrial Jensen
+
+Yang Tse (25 Jul 2013)
+- packages/vms/Makefile.am: add latest file additions to EXTRA_DIST
+
+- [John E. Malmberg brought this change]
+
+ VMS: intial set of files to allow building using GNV toolkit.
+
+- string formatting: fix too many arguments for format
+
+- string formatting: fix zero-length printf format string
+
+- easy.c: curl_easy_getinfo() fix va_start/va_end matching
+
+- imap.c: imap_sendf() fix va_start/va_end matching
+
+- string formatting: fix 15+ printf-style format strings
+
+Patrick Monnerat (24 Jul 2013)
+- OS400: sync ILE/RPG binding with current curl.h
+
+Yang Tse (24 Jul 2013)
+- string formatting: fix 25+ printf-style format strings
+
+Daniel Stenberg (23 Jul 2013)
+- Makefile.am: use LDFLAGS as well when linking libcurl
+
+ Linking on Solaris 10 x86 with Sun Studio 12 failed when we upgraded
+ automake for the release builds.
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1217
+ Reported-by: Dagobert Michelsen
+
+- [Fabian Keil brought this change]
+
+ url.c: Fix dot file path cleanup when using an HTTP proxy
+
+ Previously the path was cleaned, but the URL wasn't properly updated.
+
+- [Fabian Keil brought this change]
+
+ tests: test1232 verifies dotdot removal from path with proxy
+
+- [Fabian Keil brought this change]
+
+ dotdot.c: Fix a RFC section number in a comment for Curl_dedotdotify()
+
+- [John E. Malmberg brought this change]
+
+ build_vms.com: fix debug and float options
+
+ In the reorganization of the build_vms.com the debug and float options
+ were not fixed up correctly.
+
+- [John E. Malmberg brought this change]
+
+ curl: fix upload of a zip file in OpenVMS
+
+ Two fixes:
+
+ 1. Force output file format to be stream-lf so that partial downloads
+ can be continued.
+
+ This should have minor impact as if the file does not exist, it was
+ created with stream-lf format. The only time this was an issue is if
+ there was already an existing file with a different format.
+
+ 2. Fix file uploads are now fixed.
+
+ a. VMS binary files such as ZIP archives are now uploaded
+ correctly.
+
+ b. VMS text files are read once to get the correct size
+ and then converted to line-feed terminated records as
+ they are read into curl.
+
+ The default VMS text formats do not contain either line-feed or
+ carriage-return terminated records. Those delimiters are added by the
+ operating system file read calls if the application requests them.
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=496
+
+Yang Tse (22 Jul 2013)
+- libtest: fix data type of some *_setopt() 'long' arguments
+
+- curl: fix symbolic names for CURL_NETRC_* enum in --libcurl output
+
+- curl: fix symbolic names for CURLUSESSL_* enum in --libcurl output
+
+- tool_operate.c: fix passing curl_easy_setopt long arg on some x64 ABIs
+
+ We no longer pass our 'bool' data type variables nor constants as
+ an argument to my_setopt(), instead we use proper 1L or 0L values.
+
+ This also fixes macro used to pass string argument for CURLOPT_SSLCERT,
+ CURLOPT_SSLKEY and CURLOPT_EGDSOCKET using my_setopt_str() instead of
+ my_setopt().
+
+ This also casts enum or int argument data types to long when passed to
+ my_setopt_enum().
+
+Daniel Stenberg (21 Jul 2013)
+- curl_multi_wait: fix revents
+
+ Commit 6d30f8ebed34e7276 didn't work properly. First, it used the wrong
+ array index, but this fix also:
+
+ 1 - only does the copying if indeed there was any activity
+
+ 2 - makes sure to properly translate between internal and external
+ bitfields, which are not guaranteed to match
+
+ Reported-by: Evgeny Turnaev
+
+- RELEASE-NOTES: synced with d529f3882b9bca
+
+- curl_easy_perform: gradually increase the delay time
+
+ Instead of going 50,100,150 etc millisecond delay time when nothing has
+ been found to do or wait for, we now start lower and double each loop as
+ in 4,8,16,32 etc.
+
+ This lowers the minimum wait without sacrifizing the longer wait too
+ much with unnecessary CPU cycles burnt.
+
+ Bug: http://curl.haxx.se/mail/lib-2013-07/0103.html
+ Reported-by: Andreas Malzahn
+
+- ftp_do_more: consider DO_MORE complete when server connects back
+
+ In the case of an active connection when ftp_do_more() detects that the
+ server has connected back, it must make sure to mark it as complete so
+ that the multi_runsingle() function will detect this and move on to the
+ next state.
+
+ Bug: http://curl.haxx.se/mail/lib-2013-07/0115.html
+ Reported-by: Clemens Gruber
+
+Yang Tse (19 Jul 2013)
+- Makefile.b32: Borland makefile adjustments. Tested with BCC 5.5.1
+
+- WIN32 MemoryTracking: require UNICODE for wide strdup code support
+
+Daniel Stenberg (18 Jul 2013)
+- CURLOPT_XFERINFOFUNCTION: introducing a new progress callback
+
+ CURLOPT_XFERINFOFUNCTION is now the preferred progress callback function
+ and CURLOPT_PROGRESSFUNCTION is considered deprecated.
+
+ This new callback uses pure 'curl_off_t' arguments to pass on full
+ resolution sizes. It otherwise retains the same characteristics: the
+ same call rate, the same meanings for the arguments and the return code
+ is used the same way.
+
+ The progressfunc.c example is updated to show how to use the new
+ callback for newer libcurls while supporting the older one if built with
+ an older libcurl or even built with a newer libcurl while running with
+ an older.
+
+Yang Tse (18 Jul 2013)
+- Reinstate "WIN32 MemoryTracking: track wcsdup() _wcsdup() and _tcsdup() usage".
+
+ This reverts commit 7ed25cc, reinstating commit 8ec2cb5.
+
+ As of 18-jul-2013 we still do have code in libcurl that makes use of these
+ memory functions. Commit 8ec2cb5 comment still applies and is yet valid.
+
+ These memory functions are solely used in Windows builds, so all related
+ code is protected with '#ifdef WIN32' preprocessor conditional compilation
+ directives.
+
+ Specifically, wcsdup() _wcsdup() are used when building a Windows target with
+ UNICODE and USE_WINDOWS_SSPI preprocessor symbols defined. This is the case
+ when building a Windows UNICODE target with Windows native SSL/TLS support
+ enabled.
+
+ Realizing that wcsdup() _wcsdup() are used is a bit tricky given that usage
+ of these is hidden behind _tcsdup() which is MS way of dealing with code
+ that must tolerate UNICODE and non-UNICODE compilation. Additionally, MS
+ header files and those compatible from other compilers use this preprocessor
+ conditional compilation directive in order to select at compilation time
+ whether 'wide' or 'ansi' MS API functions are used.
+
+ Without this code, Windows build targets with Windows native SSL/TLS support
+ enabled and MemoryTracking support enabled misbehave in tracking memory usage,
+ regardless of being a UNICODE enabled build or not.
+
+- xc-am-iface.m4: comments refinement
+
+- configure: fix 'subdir-objects' distclean related issue
+
+ See XC_AMEND_DISTCLEAN comments for details.
+
+Daniel Stenberg (18 Jul 2013)
+- [Evgeny Turnaev brought this change]
+
+ curl_multi_wait: set revents for extra fds
+
+ Pass back the revents that happened for the user-provided file
+ descriptors.
+
+- [Ben Greear brought this change]
+
+ asyn-ares: Don't blank ares servers if none configured.
+
+ Best to just let c-ares use it's defaults if none are configured
+ in (lib)curl.
+
+ Signed-off-by: Ben Greear <greearb@candelatech.com>
+
+- [Sergei Nikulov brought this change]
+
+ cmake: Fix for MSVC2010 project generation
+
+ Fixed issue with static build for MSVC2010.
+
+ After some investigation I've discovered known issue
+ http://public.kitware.com/Bug/view.php?id=11240 When .rc file is linked
+ to static lib it fails with following linker error
+
+ LINK : warning LNK4068: /MACHINE not specified; defaulting to X86
+ file.obj : fatal error LNK1112: module machine type 'x64' conflicts with
+ target machine type 'X86'
+
+ Fix add target property /MACHINE: for MSVC generation.
+
+ Also removed old workarounds - it caused errors during msvc build.
+
+ Bug: http://curl.haxx.se/mail/lib-2013-07/0046.html
+
+- mk-ca-bundle.1: point out certdata.txt format docs
+
+Yang Tse (16 Jul 2013)
+- slist.c: Curl_slist_append_nodup() OOM handling fix
+
+Daniel Stenberg (16 Jul 2013)
+- test1414: FTP PORT download without SIZE support
+
+Yang Tse (16 Jul 2013)
+- tests/Makefile.am: add configurehelp.pm to DISTCLEANFILES
+
+Patrick Monnerat (15 Jul 2013)
+- curl_slist_append(): fix error detection
+
+- slist.c: fix indentation
+
+- OS400: new SSL backend GSKit
+
+- OS400: add slist and certinfo EBCDIC support
+
+- config-os400.h: enable system strdup(), strcmpi(), etc.
+
+- x509asn1.c,x509asn1.h: new module to support ASN.1/X509 parsing & info extract
+ Use from qssl backend
+
+- ssluse.c,sslgen.c,sslgen.h: move certinfo support to generic SSL
+
+- Merge branch 'master' of github.com:bagder/curl
+
+ Merge for resync
+
+- slist.c, slist.h, cookie.c: new internal procedure Curl_slist_append_nodup()
+
+Yang Tse (15 Jul 2013)
+- sslgen.c: fix Curl_rand() compiler warning
+
+ Use simple seeding method upon RANDOM_FILE seeding method failure.
+
+- sslgen.c: fix unreleased Curl_rand() infinite recursion
+
+Daniel Stenberg (14 Jul 2013)
+- [Dave Reisner brought this change]
+
+ src/tool: allow timeouts to accept decimal values
+
+ Implement wrappers around strtod to convert the user argument to a
+ double with sane error checking. Use this to allow --max-time and
+ --connect-timeout to accept decimal values instead of strictly integers.
+
+ The manpage is updated to make mention of this feature and,
+ additionally, forewarn that the actual timeout of the operation can
+ vary in its precision (particularly as the value increases in its
+ decimal precision).
+
+- [Dave Reisner brought this change]
+
+ curl.1: fix long line, found by checksrc.pl
+
+- [Dave Reisner brought this change]
+
+ src/tool_paramhlp: try harder to catch negatives
+
+ strto* functions happily chomp off leading whitespace, so simply
+ checking for str[0] can lead to false negatives. Do the full parse and
+ check the out value instead.
+
+- [John E. Malmberg brought this change]
+
+ build_vms.com: detect and use zlib shared image
+
+ Update the build_vms.com to detect and use zlib shared image installed
+ by the ZLIB kit produced by Jean-Francois Pieronne, and the also the
+ future ZLIB 1.2.8 kit in addition to the older ZLIB kits.
+
+ Also fix the indentation to match one of the common standards used for
+ VMS DCL command files and removed the hard tab characters.
+
+ Tested on OpenVMS 8.4 Alpha and IA64, and OpenVMS 7.3 VAX.
+
+Yang Tse (14 Jul 2013)
+- url.c: fix parse_url_login() OOM handling
+
+- http_digest.c: SIGSEGV and OOM handling fixes
+
+- url.c: fix parse_login_details() OOM handling
+
+- [John E. Malmberg brought this change]
+
+ setup-vms.h: sk_pop symbol tweak
+
+ Newer versions of curl are referencing a sk_pop symbol while the HP
+ OpenSSL library has the symbol in uppercase only.
+
+- getinfo.c: fix enumerated type mixed with another type
+
+- test 1511: fix enumerated type mixed with another type
+
+- url.c: fix SIGSEGV
+
+- dotdot.c: fix global declaration shadowing
+
+- easy.c: fix global declaration shadowing
+
+Kamil Dudka (9 Jul 2013)
+- Revert "curl.1: document the --time-cond option in the man page"
+
+ This reverts commit 3a0e931fc715a80004958794a96b12cf90503f99 because
+ the documentation of --time-cond was duplicated by mistake.
+
+ Reported by: Dave Reisner
+
+- curl.1: document the --sasl-ir option in the man page
+
+- curl.1: document the --post303 option in the man page
+
+- curl.1: document the --time-cond option in the man page
+
+Yang Tse (9 Jul 2013)
+- configure: automake 1.14 compatibility tweak (use XC_AUTOMAKE)
+
+- xc-am-iface.m4: provide XC_AUTOMAKE macro
+
+Guenter Knauf (8 Jul 2013)
+- Added winssl-zlib target to VC builds.
+
+- Synced Makefile.vc6 with recent changes.
+
+ Issue posted to the list by malinowsky AT FTW DOT at.
+
+- Added libmetalink URL; added Android versions.
+
+Dan Fandrich (3 Jul 2013)
+- examples: Moved usercertinmem.c to COMPLICATED_EXAMPLES
+
+ This prevents it from being built during a "make check" since it
+ depends on OpenSSL.
+
+Nick Zitzmann (2 Jul 2013)
+- Merge branch 'master' of https://github.com/bagder/curl
+
+- darwinssl: SSLv2 connections are aborted if unsupported by the OS
+
+ I just noticed that OS X no longer supports SSLv2. Other TLS engines return
+ an error if the requested protocol isn't supported by the underlying
+ engine, so we do that now for SSLv2 if the framework returns an error
+ when trying to turn on SSLv2 support. (Note: As always, SSLv2 support is
+ only enabled in curl when starting the app with the -2 argument; it's off
+ by default. SSLv2 is really old and insecure.)
+
+Marc Hoersken (1 Jul 2013)
+- lib506.c: Fixed possible use of uninitialized variables
+
+Kamil Dudka (30 Jun 2013)
+- url: restore the functionality of 'curl -u :'
+
+ This commit fixes a regression introduced in
+ fddb7b44a79d78e05043e1c97e069308b6b85f79.
+
+ Reported by: Markus Moeller
+ Bug: http://curl.haxx.se/mail/archive-2013-06/0052.html
+
+Daniel Stenberg (25 Jun 2013)
+- digest: append the timer to the random for the nonce
+
+- digest: improve nonce generation
+
+ Use the new improved Curl_rand() to generate better random nonce for
+ Digest auth.
+
+- curl.1: fix typo in --xattr description
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1252
+ Reported-by: Jean-Noël Rouvignac
+
+- RELEASE-NOTES: synced with 365c5ba39591
+
+ The 10 first bug fixes for the pending release...
+
+- formpost: better random boundaries
+
+ When doing multi-part formposts, libcurl used a pseudo-random value that
+ was seeded with time(). This turns out to be bad for users who formpost
+ data that is provided with users who then can guess how the boundary
+ string will look like and then they can forge a different formpost part
+ and trick the receiver.
+
+ My advice to such implementors is (still even after this change) to not
+ rely on the boundary strings being cryptographically strong. Fix your
+ code and logic to not depend on them that much!
+
+ I moved the Curl_rand() function into the sslgen.c source file now to be
+ able to take advantage of the SSL library's random function if it
+ provides one. If not, try to use the RANDOM_FILE for seeding and as a
+ last resort keep the old logic, just modified to also add microseconds
+ which makes it harder to properly guess the exact seed.
+
+ The formboundary() function in formdata.c is now using 64 bit entropy
+ for the boundary and therefore the string of dashes was reduced by 4
+ letters and there are 16 hex digits following it. The total length is
+ thus still the same.
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1251
+ Reported-by: "Floris"
+
+- printf: make sure %x are treated unsigned
+
+ When using %x, the number must be treated as unsigned as otherwise it
+ would get sign-extended on for example 64bit machines and do wrong
+ output. This problem showed when doing printf("%08x", 0xffeeddcc) on a
+ 64bit host.
+
+- tests: add test1395 to the tarball
+
+- SIGPIPE: don't use 'data' in sigpipe restore
+
+ Follow-up fix from 7d80ed64e43515.
+
+ The SessionHandle may not be around to use when we restore the sigpipe
+ sighandler so we store the no_signal boolean in the local struct to know
+ if/how to restore.
+
+- TODO: 1.8 Modified buffer size approach
+
+ Thoughts around buffer sizes and what might be possible to do...
+
+- c-ares: improve error message on failed resolve
+
+ When the c-ares based resolver backend failed to resolve a name, it
+ tried to show the name that failed from existing structs. This caused
+ the wrong output and shown hostname when for example --interface
+ [hostname] was used and that name resolving failed.
+
+ Now we use the hostname used in the actual resolve attempt in the error
+ message as well.
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1191
+ Reported-by: Kim Vandry
+
+- ossl_recv: check for an OpenSSL error, don't assume
+
+ When we recently started to treat a zero return code from SSL_read() as
+ an error we also got false positives - which primarily looks to be
+ because the OpenSSL documentation is wrong and a zero return code is not
+ at all an error case in many situations.
+
+ Now ossl_recv() will check with ERR_get_error() to see if there is a
+ stored error and only then consider it to be a true error if SSL_read()
+ returned zero.
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1249
+ Reported-by: Nach M. S.
+ Patch-by: Nach M. S.
+
+Nick Zitzmann (22 Jun 2013)
+- Merge branch 'master' of https://github.com/bagder/curl
+
+- darwinssl: fix crash that started happening in Lion
+
+ Something (a recent security update maybe?) changed in Lion, and now it
+ has changed SSLCopyPeerTrust such that it may return noErr but also give
+ us a null trust, which caught us off guard and caused an eventual crash.
+
+Daniel Stenberg (22 Jun 2013)
+- SIGPIPE: ignored while inside the library
+
+ ... and restore the ordinary handling again when it returns. This is
+ done for curl_easy_perform() and curl_easy_cleanup() only for now - and
+ only when built to use OpenSSL as backend as this is the known culprit
+ for the spurious SIGPIPEs people have received.
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1180
+ Reported by: Lluís Batlle i Rossell
+
+- KNOWN_BUGS: #83 unable to load non-default openssl engines
+
+- test1396: invoke the correct test tool!
+
+ This erroneously run unit test 1310 instead of 1396!
+
+Kamil Dudka (22 Jun 2013)
+- test1230: avoid using hard-wired port number
+
+ ... to prevent failure when a non-default -b option is given
+
+- curl-config.in: replace tabs by spaces
+
+Nick Zitzmann (22 Jun 2013)
+- darwinssl: reform OS-specific #defines
+
+ This doesn't need to be in the release notes. I cleaned up a lot of the #if
+ lines in the code to use MAC_OS_X_VERSION_MIN_REQUIRED and
+ MAC_OS_X_VERSION_MAX_ALLOWED instead of checking for whether things like
+ __MAC_10_6 or whatever were defined, because for some SDKs Apple has released
+ they were defined out of place.
+
+Daniel Stenberg (22 Jun 2013)
+- [Alessandro Ghedini brought this change]
+
+ docs: fix typo in curl_easy_getinfo manpage
+
+- dotdot: introducing dot file path cleanup
+
+ RFC3986 details how a path part passed in as part of a URI should be
+ "cleaned" from dot sequences before getting used. The described
+ algorithm is now implemented in lib/dotdot.c with the accompanied test
+ case in test 1395.
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1200
+ Reported-by: Alex Vinnik
+
+- bump: start working towards what most likely will become 7.32.0
+
+- THANKS: added 24 new contributors from the 7.31.0 release
+
+Version 7.31.0 (22 Jun 2013)
+
+Daniel Stenberg (22 Jun 2013)
+- RELEASE-NOTES: synced with 0de7249bb39a2 - 7.31.0
+
+- unit1396: unit tests to verify curl_easy_(un)escape
+
+- Curl_urldecode: no peeking beyond end of input buffer
+
+ Security problem: CVE-2013-2174
+
+ If a program would give a string like "%FF" to curl_easy_unescape() but
+ ask for it to decode only the first byte, it would still parse and
+ decode the full hex sequence. The function then not only read beyond the
+ allowed buffer but it would also deduct the *unsigned* counter variable
+ for how many more bytes there's left to read in the buffer by two,
+ making the counter wrap. Continuing this, the function would go on
+ reading beyond the buffer and soon writing beyond the allocated target
+ buffer...
+
+ Bug: http://curl.haxx.se/docs/adv_20130622.html
+ Reported-by: Timo Sirainen
+
+Guenter Knauf (20 Jun 2013)
+- Use opened body.out file and write content to it.
+
+Daniel Stenberg (20 Jun 2013)
+- multi_socket: react on socket close immediately
+
+ As a remedy to the problem when a socket gets closed and a new one is
+ opened with the same file descriptor number and as a result
+ multi.c:singlesocket() doesn't detect the difference, the new function
+ Curl_multi_closed() gets told when a socket is closed so that it can be
+ removed from the socket hash. When the old one has been removed, a new
+ socket should be detected fine by the singlesocket() on next invoke.
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1248
+ Reported-by: Erik Johansson
+
+- RELEASE-NOTES: synced with e305f5ec715f
+
+- TODO: mention the DANE patch from March
+
+- CURLOPT_COOKIELIST: take cookie share lock
+
+ When performing COOKIELIST operations the cookie lock needs to be taken
+ for the cases where the cookies are shared among multiple handles!
+
+ Verified by Benjamin Gilbert's updated test 506
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1215
+ Reported-by: Benjamin Gilbert
+
+- [Benjamin Gilbert brought this change]
+
+ test506: verify that CURLOPT_COOKIELIST takes share lock
+
+ It doesn't right now: http://curl.haxx.se/bug/view.cgi?id=1215
+
+- TODO: HTTP2/SPDY support
+
+- curl_easy_setopt.3: clarify CURLOPT_PROGRESSFUNCTION frequency
+
+ Make it clearer that the CURLOPT_PROGRESSFUNCTION callback will be
+ called more frequently than once per second when things are happening.
+
+- RELEASE-NOTES: synced with 9c3e098259b82
+
+ Mention 7 recent bug fixes and their associated contributors
+
+- curl_multi_wait.3: clarify the numfds counter
+
+- curl_easy_perform: avoid busy-looping
+
+ When curl_multi_wait() finds no file descriptor to wait for, it returns
+ instantly and this must be handled gracefully within curl_easy_perform()
+ or cause a busy-loop. Starting now, repeated fast returns without any
+ file descriptors is detected and a gradually increasing sleep will be
+ used (up to a max of 1000 milliseconds) before continuing the loop.
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1238
+ Reported-by: Miguel Angel
+
+- [YAMADA Yasuharu brought this change]
+
+ cookies: follow-up fix for path checking
+
+ The initial fix to only compare full path names were done in commit
+ 04f52e9b4db0 but found out to be incomplete. This takes should make the
+ change more complete and there's now two additional tests to verify
+ (test 31 and 62).
+
+- [Sergei Nikulov brought this change]
+
+ lib1900: use tutil_tvnow instead of gettimeofday
+
+ Makes it build on windows
+
+- [Eric Hu brought this change]
+
+ axtls: now done non-blocking
+
+- [Eric Hu brought this change]
+
+ test2033: requires NTLM support
+
+- KNOWN_BUGS: #82 failed build with Borland compiler
+
+- Curl_output_digest: support auth-int for empty entity body
+
+ By always returning the md5 for an empty body when auth-int is asked
+ for, libcurl now at least sometimes does the right thing.
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1235
+ Patched-by: Nach M. S.
+
+- multi_socket: reduce timeout inaccuracy margin
+
+ Allow less room for "triggered too early" mistakes by applications /
+ timers on non-windows platforms. Starting now, we assume that a timeout
+ call is never made earlier than 3 milliseconds before the actual
+ timeout. This greatly improves timeout accuracy on Linux.
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1228
+ Reported-by: Hang Su
+
+- cert_stuff: avoid double free in the PKCS12 code
+
+ In the pkcs12 code, we get a list of x509 records returned from
+ PKCS12_parse but when iterating over the list and passing each to
+ SSL_CTX_add_extra_chain_cert() we didn't also properly remove them from
+ the "stack", which made them get freed twice (both in sk_X509_pop_free()
+ and then later in SSL_CTX_free).
+
+ This isn't really documented anywhere...
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1236
+ Reported-by: Nikaiw
+
+- cert_stuff: remove code duplication in the pkcs12 logic
+
+- [Aleksey Tulinov brought this change]
+
+ axtls: honor disabled VERIFYHOST
+
+ When VERIFYHOST == 0, libcurl should let invalid certificates to pass.
+
+- [Peter Gal brought this change]
+
+ curl_easy_setopt.3: HTTP header with no content
+
+ Update the documentation on how to specify a HTTP header with no
+ content.
+
+- RELEASE-NOTES: synced with 87cf677eca55
+
+ Added 11 bugs and 7 contributors
+
+- lib1500: remove bad check
+
+ After curl_multi_wait() returns, this test checked that we got exactly
+ one file descriptor told to read from, but we cannot be sure that is
+ true. curl_multi_wait() will sometimes return earlier without any file
+ descriptor to handle, just just because it is a suitable time to call
+ *perform().
+
+ This problem showed up with commit 29bf0598.
+
+ Bug: http://curl.haxx.se/mail/lib-2013-06/0029.html
+ Reported-by: Fabian Keil
+
+- tests/Makefile: typo in the perlcheck target
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1239
+ Reported-by: Christian Weisgerber
+
+- test1230: verify CONNECT to a numerical ipv6-address
+
+- sws: support extracting test number from CONNECT ipv6-address!
+
+ If an ipv6-address is provided to CONNECT, the last hexadecimal group in
+ the address will be used as the test number! For example the address
+ "[1234::ff]" would be treated as test case 255.
+
+- curl_multi_wait: only use internal timer if not -1
+
+ commit 29bf0598aad5 introduced a problem when the "internal" timeout is
+ prefered to the given if shorter, as it didn't consider the case where
+ -1 was returned. Now the internal timeout is only considered if not -1.
+
+ Reported-by: Tor Arntsen
+ Bug: http://curl.haxx.se/mail/lib-2013-06/0015.html
+
+Dan Fandrich (3 Jun 2013)
+- libcurl-tutorial.3: added a section on IPv6
+
+ Also added a (correctly-escaped) backslash to the autoexec.bat
+ example file and a new Windows character device name with
+ a colon as examples of other characters that are special
+ and potentially dangerous (this reverts and reworks commit
+ 7d8d2a54).
+
+Daniel Stenberg (3 Jun 2013)
+- curl_multi_wait: reduce timeout if the multi handle wants to
+
+ If the multi handle's pending timeout is less than what is passed into
+ this function, it will now opt to use the shorter time anyway since it
+ is a very good hint that the handle wants to process something in a
+ shorter time than what otherwise would happen.
+
+ curl_multi_wait.3 was updated accordingly to clarify
+
+ This is the reason for bug #1224
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1224
+ Reported-by: Andrii Moiseiev
+
+- multi_runsingle: switch an if() condition for readability
+
+ ... because there's an identical check right next to it so using the
+ operators in the check in the same order increases readability.
+
+Marc Hoersken (2 Jun 2013)
+- curl_schannel.c: Removed variable unused since 35874298e4
+
+- curl_setup.h: Fixed redefinition warning using mingw-w64
+
+Daniel Stenberg (30 May 2013)
+- multi_runsingle: add braces to clarify the code
+
+- libcurl-tutorial.3: remove incorrect backslash
+
+ A single backslash in the content is not legal nroff syntax.
+
+ Reported and fixed by: Eric S. Raymond
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1234
+
+- curl_formadd.3: fixed wrong "end-marker" syntax
+
+ Reported and fixed by: Eric S. Raymond
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1233
+
+- curl.1: clarify that --silent still outputs data
+
+- Digest auth: escape user names with \ or " in them
+
+ When sending the HTTP Authorization: header for digest, the user name
+ needs to be escaped if it contains a double-quote or backslash.
+
+ Test 1229 was added to verify
+
+ Reported and fixed by: Nach M. S
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1230
+
+- [Mike Giancola brought this change]
+
+ ossl_recv: SSL_read() returning 0 is an error too
+
+ SSL_read can return 0 for "not successful", according to the open SSL
+ documentation: http://www.openssl.org/docs/ssl/SSL_read.html
+
+- [Mike Giancola brought this change]
+
+ ossl_send: SSL_write() returning 0 is an error too
+
+ We found that in specific cases if the connection is abruptly closed,
+ the underlying socket is listed in a close_wait state. We continue to
+ call the curl_multi_perform, curl_mutli_fdset etc. None of these APIs
+ report the socket closed / connection finished. Since we have cases
+ where the multi connection is only used once, this can pose a problem
+ for us. I've read that if another connection was to come in, curl would
+ see the socket as bad and attempt to close it at that time -
+ unfortunately, this does not work for us.
+
+ I found that in specific situations, if SSL_write returns 0, curl did
+ not recognize the socket as closed (or errored out) and did not report
+ it to the application. I believe we need to change the code slightly, to
+ check if ssl_write returns 0. If so, treat it as an error - the same as
+ a negative return code.
+
+ For OpenSSL - the ssl_write documentation is here:
+ http://www.openssl.org/docs/ssl/SSL_write.html
+
+- KNOWN_BUGS: curl -OJC- fails to resume
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1169
+
+- Curl_cookie_add: handle IPv6 hosts
+
+ 1 - don't skip host names with a colon in them in an attempt to bail out
+ on HTTP headers in the cookie file parser. It was only a shortcut anyway
+ and trying to parse a file with HTTP headers will still be handled, only
+ slightly slower.
+
+ 2 - don't skip domain names based on number of dots. The original
+ netscape cookie spec had this oddity mentioned and while our code
+ decreased the check to only check for two, the existing cookie spec has
+ no such dot counting required.
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1221
+ Reported-by: Stefan Neis
+
+- curl_easy_setopt.3: expand the PROGRESSFUNCTION section
+
+ Explain the callback and its arguments better and with more descriptive
+ text.
+
+- tests: add test1394 file to the tarball
+
+- tarball: include the xmlstream example
+
+- [David Strauss brought this change]
+
+ xmlstream: XML stream parsing example source code
+
+ Add an XML stream parsing example using Expat. Add missing ignore for
+ the binary from an unrelated example.
+
+- [YAMADA Yasuharu brought this change]
+
+ cookies: only consider full path matches
+
+ I found a bug which cURL sends cookies to the path not to aim at.
+ For example:
+ - cURL sends a request to http://example.fake/hoge/
+ - server returns cookie which with path=/hoge;
+ the point is there is NOT the '/' end of path string.
+ - cURL sends a request to http://example.fake/hogege/ with the cookie.
+
+ The reason for this old "feature" is because that behavior is what is
+ described in the original netscape cookie spec:
+ http://curl.haxx.se/rfc/cookie_spec.html
+
+ The current cookie spec (RFC6265) clarifies the situation:
+ http://tools.ietf.org/html/rfc6265#section-5.2.4
+
+- [Eric Hu brought this change]
+
+ axtls: prevent memleaks on SSL handshake failures
+
+- Revert "WIN32 MemoryTracking: track wcsdup() _wcsdup() and _tcsdup() usage"
+
+ This reverts commit 8ec2cb5544b86306b702484ea785b6b9596562ab.
+
+ We don't have any code anywhere in libcurl (or the curl tool) that use
+ wcsdup so there's no such memory use to track. It seems to cause mild
+ problems with the Borland compiler though that we may avoid by reverting
+ this change again.
+
+ Bug: http://curl.haxx.se/mail/lib-2013-05/0070.html
+
+- RELEASE-NOTES: synced with ae26ee3489588f0
+
+Guenter Knauf (11 May 2013)
+- Updated zlib version in build files.
+
+Daniel Stenberg (9 May 2013)
+- [Renaud Guillard brought this change]
+
+ OS X framework: fix invalid symbolic link
+
+Kamil Dudka (9 May 2013)
+- [Daniel Stenberg brought this change]
+
+ nss: give PR_INTERVAL_NO_WAIT instead of -1 to PR_Recv/PR_Send
+
+ Reported by: David Strauss
+ Bug: http://curl.haxx.se/mail/lib-2013-05/0088.html
+
+Daniel Stenberg (8 May 2013)
+- libtest: gitignore more binary files
+
+- servercert: allow empty subject
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1220
+ Patch by: John Gardiner Myers
+
+- [Steve Holme brought this change]
+
+ tests: Added new SMTP tests to verify commit 99b40451836d
+
+- runtests.pl: support nonewline="yes" in client/stdin sections
+
+- build: fixed unit1394 for debug and metlink builds
+
+Kamil Dudka (6 May 2013)
+- unit1394.c: plug the curl tool unit test in
+
+- [Jared Jennings brought this change]
+
+ unit1394.c: basis of a unit test for parse_cert_parameter()
+
+- src/Makefile.am: build static lib for unit tests if enabled
+
+- tool_getparam: ensure string termination in parse_cert_parameter()
+
+- tool_getparam: fix memleak in handling the -E option
+
+- tool_getparam: describe what parse_cert_parameter() does
+
+ ... and de-duplicate the code initializing *passphrase
+
+- curl.1: document escape sequences recognized by -E
+
+- [Jared Jennings brought this change]
+
+ curl -E: allow to escape ':' in cert nickname
+
+Marc Hoersken (5 May 2013)
+- curl_schannel.c: Fixed invalid memory access during SSL shutdown
+
+Steve Holme (4 May 2013)
+- smtp: Fix trailing whitespace warning
+
+- smtp: Fix compilation warning
+
+ comparison between signed and unsigned integer expressions
+
+- RELEASE-NOTES: synced with 92ef5f19c801
+
+- smtp: Updated RFC-2821 references to RFC-5321
+
+- smtp: Fixed sending of double CRLF caused by first in EOB
+
+ If the mail sent during the transfer contains a terminating <CRLF> then
+ we should not send the first <CRLF> of the EOB as specified in RFC-5321.
+
+ Additionally don't send the <CRLF> if there is "no mail data" as the
+ DATA command already includes it.
+
+- tests: Corrected MAIL SIZE for CRLF line endings
+
+ ... which was missed in commit: f5c3d9538452
+
+- tests: Corrected infilesize for CRLF line endings
+
+ ... which was missed in commit: f5c3d9538452
+
+- tests: Corrected test1406 to be RFC2821 compliant
+
+- tests: Corrected test1320 to be RFC2821 compliant
+
+- tests: Corrected typo in test909
+
+ Introduced in commit: 514817669e9e
+
+- tests: Corrected test909 to be RFC2821 compliant
+
+- tests: Updated test references to 909 from 1411
+
+ ...and removed references to libcurl and test1406.
+
+- tests: Renamed test1411 to test909 as this is a main SMTP test
+
+Daniel Stenberg (1 May 2013)
+- [Lars Johannesen brought this change]
+
+ bindlocal: move brace out of #ifdef
+
+ The code within #ifdef HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID wrongly had two
+ closing braces when it should only have one, so builds without that
+ define would fail.
+
+ Bug: http://curl.haxx.se/mail/lib-2013-05/0000.html
+
+Steve Holme (30 Apr 2013)
+- smtp: Tidy up to move the eob counter to the per-request structure
+
+ Move the eob counter from the smtp_conn structure to the SMTP structure
+ as it is associated with a SMTP payload on a per-request basis.
+
+- TODO: Updated following the addition of CURLOPT_SASL_IR
+
+- smtp: Fixed unknown percentage complete in progress bar
+
+ The curl command line utility would display the the completed progress
+ bar with a percentage of zero as the progress routines didn't know the
+ size of the transfer.
+
+Daniel Stenberg (29 Apr 2013)
+- ftpserver: silence warnings
+
+ Fix regressions in commit b56e3d43e5d. Make @data local and filter off
+ non-numerical digits from $testno in STATUS_imap.
+
+Steve Holme (29 Apr 2013)
+- ftpserver.pl: Corrected the imap LOGIN response
+
+ ...to be more realistic and consistent with the other imap responses.
+
+- tests: Added imap STATUS command test
+
+- tests: Corrected the SMTP tests to be RFC2821 compliant
+
+ The emails that are sent to the server during these tests were
+ incorrectly formatted as they contained one or more LF terminated lines
+ rather than being CRLF terminated as per Section 2.3.7 of RFC-2821.
+
+ This wasn't a problem for the test suite as the <stdin> data matched the
+ <upload> data but anyone using these tests as reference would be sending
+ incorrect data to a server.
+
+- email: Tidy up of *_perform_authenticate()
+
+ Removed the hard returns from imap and pop3 by using the same style for
+ sending the authentication string as smtp. Moved the "Other mechanisms
+ not supported" check in smtp to match that of imap and pop3 to provide
+ consistency between the three email protocols.
+
+- smtp: Updated limit check to be more readable like the check in pop3
+
+- pop3: Added 255 octet limit check when sending initial response
+
+ Added 255 octet limit check as per Section 4. Paragraph 8 of RFC-5034.
+
+- DOCS: Corrected line length of recent Secure Transport changes
+
+Nick Zitzmann (27 Apr 2013)
+- darwinssl: add TLS crypto authentication
+
+ Users using the Secure Transport (darwinssl) back-end can now use a
+ certificate and private key to authenticate with a site using TLS. Because
+ Apple's security system is based around the keychain and does not have any
+ non-public function to create a SecIdentityRef data structure from data
+ loaded outside of the Keychain, the certificate and private key have to be
+ loaded into the Keychain first (using the certtool command line tool or
+ the Security framework's C API) before we can find it and use it.
+
+Steve Holme (27 Apr 2013)
+- Corrected version numbers after bump
+
+Daniel Stenberg (27 Apr 2013)
+- bump version
+
+ Since we're adding new stuff, the next release will bump the minor
+ version and we're looking forward to 7.31.0
+
+Steve Holme (27 Apr 2013)
+- RELEASE-NOTES: synced with f4e6e201b146
+
+- DOCS: Updated following the addition of CURLOPT_SASL_IR
+
+ Documented the the option in curl_easy_setopt() and added it to
+ symbols-in-versions.
+
+- tests: Corrected command line arguments in test907 and test908
+
+- tests: Added SMTP AUTH with initial response tests
+
+- tests: Updated SMTP tests to decouple client initial response
+
+ Updated test903 and test904 following the addition of CURLOPT_SASL_IR
+ as the default behaviour of SMTP AUTH responses is now to not include
+ the initial response. New tests with --sasl-ir support to follow.
+
+- imap: Added support for overriding the SASL initial response
+
+ In addition to checking for the SASL-IR capability the user can override
+ the sending of the client's initial response in the AUTHENTICATION
+ command with the use of CURLOPT_SASL_IR should the server erroneously
+ not report SASL-IR when it does support it.
+
+- smtp: Added support for disabling the SASL initial response
+
+ Updated the default behaviour of sending the client's initial response in the AUTH
+ command to not send it and added support for CURLOPT_SASL_IR to allow the user to
+ specify including the response.
+
+ Related Bug: http://curl.haxx.se/mail/lib-2012-03/0114.html
+ Reported-by: Gokhan Sengun
+
+- pop3: Added support for enabling the SASL initial response
+
+ Allowed the user to specify whether to send the client's intial response
+ in the AUTH command via CURLOPT_SASL_IR.
+
+- sasl-ir: Added --sasl-ir option to curl command line tool
+
+- sasl-ir: Added CURLOPT_SASL_IR to enable/disable the SASL initial response
+
+Daniel Stenberg (26 Apr 2013)
+- curl_easy_init: use less mallocs
+
+ By introducing an internal alternative to curl_multi_init() that accepts
+ parameters to set the hash sizes, easy handles will now use tiny socket
+ and connection hash tables since it will only ever add a single easy
+ handle to that multi handle.
+
+ This decreased the number mallocs in test 40 (which is a rather simple
+ and typical easy interface use case) from 1142 to 138. The maximum
+ amount of memory allocated used went down from 118969 to 78805.
+
+Steve Holme (26 Apr 2013)
+- ftpserver.pl: Fixed imap logout confirmation data
+
+ An IMAP server should response with the BYE continuation response before
+ confirming the LOGOUT command was successful.
+
+Daniel Stenberg (26 Apr 2013)
+- ftp_state_pasv_resp: connect through proxy also when set by env
+
+ When connecting back to an FTP server after having sent PASV/EPSV,
+ libcurl sometimes didn't use the proxy properly even though the proxy
+ was used for the initial connect.
+
+ The function wrongly checked for the CURLOPT_PROXY variable to be set,
+ which made it act wrongly if the proxy information was set with an
+ environment variable.
+
+ Added test case 711 to verify (based on 707 which uses --socks5). Also
+ added test712 to verify another variation of setting the proxy: with
+ --proxy socks5://
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1218
+ Reported-by: Zekun Ni
+
+Kamil Dudka (26 Apr 2013)
+- [Zdenek Pavlas brought this change]
+
+ url: initialize speed-check data for file:// protocol
+
+ ... in order to prevent an artificial timeout event based on stale
+ speed-check data from a previous network transfer. This commit fixes
+ a regression caused by 9dd85bced56f6951107f69e581c872c1e7e3e58e.
+
+ Bug: https://bugzilla.redhat.com/906031
+
+Daniel Stenberg (25 Apr 2013)
+- test709: clarify the test in the name
+
+- sshserver: disable StrictHostKeyChecking
+
+ I couldn't figure out why the host key logic isn't working, but having
+ it set to yes prevents my SSH-based test cases to run. I also don't see
+ a strong need to use strict host key checking on this test server.
+
+ So I disabled it.
+
+- runtests: log more commands in verbose mode
+
+ ... to aid tracking down failures
+
+Steve Holme (25 Apr 2013)
+- TODO: Corrected copy/paste typo
+
+- TODO: Added new ideas for future SMTP, POP3 and IMAP features
+
+- TODO: Updated following the addition of ;auth=<MECH> support
+
+- DOCS: Minor rewording / clarification of host name protocol detection
+
+- RELEASE-NOTES: synced with a8c92cb60890
+
+- DOCS: Added reference to IETF draft for SMTP URL Interface
+
+ ...when mentioning login options. Additional minor clarification of
+ "Windows builds" to be "Windows builds with SSPI"as a way of enabling
+ NTLM as Windows builds may be built with OpenSSL to enable NTLM or
+ without NTLM support altogether.
+
+Linus Nielsen Feltzing (23 Apr 2013)
+- HISTORY: Fix spelling error.
+
+Steve Holme (23 Apr 2013)
+- DOCS: Reworked the scheme calculation explanation under CURLOPT_URL
+
+- url: Added smtp and pop3 hostnames to the protocol detection list
+
+Daniel Stenberg (23 Apr 2013)
+- HISTORY: correct some years/dates
+
+ Thanks to archive.org's wayback machine I updated this document with
+ some facts from the early httpget/urlget web page:
+
+ http://web.archive.org/web/19980216125115/http://www.inf.ufrgs.br/~sagula/urlget.html
+
+- [Alessandro Ghedini brought this change]
+
+ tests: add test1511 to check timecond clean-up
+
+ Verifies the timecond fix in commit c49ed0b6c0f
+
+- [Alessandro Ghedini brought this change]
+
+ getinfo.c: reset timecond when clearing session-info variables
+
+ Bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=705783
+ Reported-by: Ludovico Cavedon <cavedon@debian.org>
+
+Steve Holme (22 Apr 2013)
+- DOCS: Added information about login options to CURLOPT_USERPWD
+
+- DOCS: Added information about login options in the URL
+
+- url: Fixed missing length check in parse_proxy()
+
+ Commit 11332577b3cb removed the length check that was performed by the
+ old scanf() code.
+
+- url: Fixed crash when no username or password supplied for proxy
+
+ Fixed an issue in parse_proxy(), introduced in commit 11332577b3cb,
+ where an empty username or password (For example: http://:@example.com)
+ would cause a crash.
+
+- url: Removed unused text length constants
+
+- url: Updated proxy URL parsing to use parse_login_details()
+
+- url: Tidy up of setstropt_userpwd() parameters
+
+ Updated the naming convention of the login parameters to match those of
+ other functions.
+
+- url: Tidy up of code and comments following recent changes
+
+ Tidy up of variable names and comments in setstropt_userpwd() and
+ parse_login_details().
+
+- url: Simplified setstropt_userpwd() following recent changes
+
+ There is no need to perform separate clearing of data if a NULL option
+ pointer is passed in. Instead this operation can be performed by simply
+ not calling parse_login_details() and letting the rest of the code do
+ the work.
+
+- url: Correction to scope of if statements when setting data
+
+- url: Fixed memory leak in setstropt_userpwd()
+
+ setstropt_userpwd() was calling setstropt() in commit fddb7b44a79d to
+ set each of the login details which would duplicate the strings and
+ subsequently cause a memory leak.
+
+- RELEASE-NOTES: synced with d535c4a2e1f7
+
+- url: Added overriding of URL login options from CURLOPT_USERPWD
+
+- tool_paramhlp: Fixed options being included in username
+
+ Fix to prevent the options from being displayed when curl requests the
+ user's password if the following command line is specified:
+
+ --user username;options
+
+- url: Added support for parsing login options from the CURLOPT_USERPWD
+
+ In addition to parsing the optional login options from the URL, added
+ support for parsing them from CURLOPT_USERPWD, to allow the following
+ supported command line:
+
+ --user username:password;options
+
+- url: Added bounds checking to parse_login_details()
+
+ Added bounds checking when searching for the separator characters within
+ the login string as this string may not be NULL terminated (For example
+ it is the login part of a URL). We do this in preference to allocating a
+ new string to copy the login details into which could then be passed to
+ parse_login_details() for performance reasons.
+
+- url: Added size_t cast to pointer based length calculations
+
+- url: Corrected minor typo in comment
+
+Daniel Stenberg (18 Apr 2013)
+- CURL_CHECK_CA_BUNDLE: don't check for paths when cross-compiling
+
+ When cross-compiling we can't scan and detect existing files or paths.
+
+ Bug: http://curl.haxx.se/mail/lib-2013-04/0294.html
+
+- [Ishan SinghLevett brought this change]
+
+ usercertinmem.c: add example showing user cert in memory
+
+ Relies on CURLOPT_SSL_CTX_FUNCTION, which is OpenSSL specific
+
+Steve Holme (18 Apr 2013)
+- url: Fix chksrc longer than 79 columns warning
+
+- url: Fix incorrect variable type for result code
+
+- url: Fix compiler warning
+
+ signed and unsigned type in conditional expression
+
+- url: Moved parsing of login details out of parse_url_login()
+
+ Separated the parsing of login details from the processing of them in
+ parse_url_login() ready for use by setstropt_userpwd().
+
+- url: Re-factored set_userpass() and parse_url_userpass()
+
+ Re-factored these functions to reflect their new behaviour following the
+ addition of login options.
+
+- url: Reworked URL parsing to allow overriding by CURLOPT_USERPWD
+
+Daniel Stenberg (18 Apr 2013)
+- maketgz: make bzip2 creation work with Parallel BZIP2 too
+
+ Apparently the previous usage didn't work with that implementation,
+ while this updated version works with at least both Parallel BZIP2
+ v1.1.8 and regular bzip "Version 1.0.6, 6-Sept-2010".
+
+Linus Nielsen Feltzing (18 Apr 2013)
+- Add tests/http_pipe.py to the tarball build
+
+Steve Holme (16 Apr 2013)
+- smtp: Re-factored all perform based functions
+
+ Standardised the naming of all perform based functions to be in the form
+ smtp_perform_something().
+
+- smtp: Added description comments to all perform based functions
+
+- smtp: Moved smtp_quit() to be with the other perform functions
+
+- smtp: Moved smtp_rcpt_to() to be with the other perform functions
+
+- smtp: Moved smtp_mail() to be with the other perform functions
+
+Daniel Stenberg (16 Apr 2013)
+- [Wouter Van Rooy brought this change]
+
+ curl-config: don't output static libs when they are disabled
+
+ Curl-config outputs static libraries even when they are disabled in
+ configure.
+
+ This causes problems with the build of pycurl.
+
+- [Dave Reisner brought this change]
+
+ docs/libcurl: fix formatting in manpage
+
+ Commit c3ea3eb6 introduced some minor cosmetic errors in
+ curl_mutli_socket_action(3).
+
+- [Paul Howarth brought this change]
+
+ Add extra libs for lib1900 and lib2033 test programs
+
+ These are needed in cases where clock_gettime is used, from librt.
+
+Dan Fandrich (15 Apr 2013)
+- FAQ: mention that the network connection can be monitored
+
+ Also note the prohibition on sharing handles across threads.
+
+Steve Holme (15 Apr 2013)
+- pop3: Added missing comment for pop3_state_apop_resp()
+
+- smtp: Updated the coding style of smtp_state_servergreet_resp()
+
+ Updated the coding style, in this function, to be consistant with other
+ response functions rather then performing a hard return on failure.
+
+- pop3: Updated the coding style of pop3_state_servergreet_resp()
+
+ Updated the coding style, in this function, to be consistent with other
+ response functions rather then performing a hard return on failure.
+
+- pop3: Re-factored all perform based functions
+
+ Standardised the naming of all perform based functions to be in the form
+ pop3_perform_something() following the changes made to IMAP.
+
+- pop3: Added description comments to all perform based functions
+
+- pop3: Moved pop3_quit() to be with the other perform functions
+
+- pop3: Moved pop3_command() to be with the other perform functions
+
+ Started to apply the same tidy up to the POP3 code as applied to the
+ IMAP code in the 7.30.0 release.
+
+- RELEASE-NOTES: Removed erroneous spaces
+
+- RELEASE-NOTES: synced with 8723cade21fb
+
+- smtp: Added support for ;auth=<mech> in the URL
+
+ Added support for specifying the preferred authentication mechanism in
+ the URL as per Internet-Draft 'draft-earhart-url-smtp-00'.
+
+- pop3: Reworked authentication type constants
+
+ ... to use left-shifted values, like those defined in curl.h, rather
+ than 16-bit hexadecimal values.
+
+- pop3: Small consistency tidy up
+
+- pop3: Added support for ;auth=<mech> in the URL
+
+ Added support for specifying the preferred authentication type and SASL
+ mechanism in the URL as per RFC-2384.
+
+- imap: Added support for ;auth=<mech> in the URL
+
+ Added support for specifying the preferred authentication mechanism in
+ the URL as per RFC-5092.
+
+- sasl: Reworked SASL mechanism constants
+
+ ... to use left-shifted values, like those defined in curl.h, rather
+ than 16-bit hexadecimal values.
+
+- sasl: Added predefined preferred mechanism values
+
+ In preparation for the upcoming changes to IMAP, POP3 and SMTP added
+ preferred mechanism values.
+
+- url: Added support for parsing login options from the URL
+
+ As well as parsing the username and password from the URL, added support
+ for parsing the optional options part from the login details, to allow
+ the following supported URL format:
+
+ schema://username:password;options@example.com/path?q=foobar
+
+ This will only be used by IMAP, POP3 and SMTP at present but any
+ protocol that may be given login options in the URL will be able to
+ add support for them.
+
+- smtp: Fix compiler warning
+
+ warning: unused variable 'smtp' introduced in commit 73cbd21b5ee6.
+
+- smtp: Moved parsing of url path into separate function
+
+Daniel Stenberg (12 Apr 2013)
+- FTP: handle a 230 welcome response
+
+ ...instead of the 220 we otherwise expect.
+
+ Made the ftpserver.pl support sending a custom "welcome" and then
+ created test 1219 to verify this fix with such a 230 welcome.
+
+ Bug: http://curl.haxx.se/mail/lib-2013-02/0102.html
+ Reported by: Anders Havn
+
+- configure: try pthread_create without -lpthread
+
+ For libc variants without a spearate pthread lib (like bionic), try
+ using pthreads without the pthreads lib first and only if that fails try
+ the -lpthread linker flag.
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1216
+ Reported by: Duncan
+
+- FTP: access files in root dir correctly
+
+ Accessing a file with an absolute path in the root dir but with no
+ directory specified was not handled correctly. This fix comes with four
+ new test cases that verify it.
+
+ Bug: http://curl.haxx.se/mail/lib-2013-04/0142.html
+ Reported by: Sam Deane
+
+Steve Holme (12 Apr 2013)
+- pop3: Reworked the function description for Curl_pop3_write()
+
+- pop3: Added function description to pop3_parse_custom_request()
+
+- pop3: Moved utility functions to end of pop3.c
+
+Nick Zitzmann (12 Apr 2013)
+- darwinssl: add TLS session resumption
+
+ This ought to speed up additional TLS handshakes, at least in theory.
+
+Steve Holme (12 Apr 2013)
+- imap: Added function description to imap_parse_custom_request()
+
+- imap: Moved utility functions to end of imap.c (Part 3/3)
+
+ Moved imap_is_bchar() be with the other utility based functions.
+
+- imap: Moved utility functions to end of imap.c (Part 2/3)
+
+ Moved imap_parse_url_path() and imap_parse_custom_request() to the end of the
+ file allowing all utility functions to be grouped together.
+
+- imap: Moved utility functions to end of imap.c (Part 1/3)
+
+ Moved imap_atom() and imap_sendf() to the end of the file allowing all
+ utility functions to be grouped together.
+
+- imap: Corrected function description for imap_connect()
+
+Kamil Dudka (12 Apr 2013)
+- tests: prevent test206, test1060, and test1061 from failing
+
+ ... in case runtests.pl is invoked with non-default -b option
+
+ Fixes a regression caused by 1e29d275c643ef6aab7948f0f55a7a9397e56b42.
+
+Daniel Stenberg (12 Apr 2013)
+- [David Strauss brought this change]
+
+ libcurl-share.3: update what it does and does not share.
+
+ Update sharing interface documentation to provide exhaustive list of
+ what it does and does not share.
+
+- THANKS: remove duplicated names
+
+- bump: start working towards next release
+
+- THANKS: added people from the 7.30.0 RELEASE-NOTES
+
+Version 7.30.0 (12 Apr 2013)
+
+Daniel Stenberg (12 Apr 2013)
+- RELEASE-NOTES: cleaned up for 7.30 (synced with 5c5e1a1cd20)
+
+ Most notable the security advisory:
+ http://curl.haxx.se/docs/adv_20130412.html
+
+- test1218: another cookie tailmatch test
+
+ ... and make 1216 also verify it with a file input
+
+ These tests verify commit 3604fde3d3c9b0d, the fix for the "cookie
+ domain tailmatch" vulnerability. See
+ http://curl.haxx.se/docs/adv_20130412.html
+
+- [YAMADA Yasuharu brought this change]
+
+ cookie: fix tailmatching to prevent cross-domain leakage
+
+ Cookies set for 'example.com' could accidentaly also be sent by libcurl
+ to the 'bexample.com' (ie with a prefix to the first domain name).
+
+ This is a security vulnerabilty, CVE-2013-1944.
+
+ Bug: http://curl.haxx.se/docs/adv_20130412.html
+
+Guenter Knauf (11 Apr 2013)
+- Enabled MinGW sync resolver builds.
+
+Yang Tse (10 Apr 2013)
+- if2ip.c: fix compiler warning
+
+Guenter Knauf (10 Apr 2013)
+- Fixed lost OpenSSL output with "-t" - followup.
+
+ The previously applied patch didnt work on Windows; we cant rely
+ on shell commands like 'echo' since they act diffently on each
+ platform and each shell.
+ In order to keep this script platform-independent the code must
+ only use pure Perl.
+
+Daniel Stenberg (9 Apr 2013)
+- test1217: verify parsing 257 responses with "rubbish" before path
+
+ Test 1217 verifies commit e0fb2d86c9f78, and without that change this
+ test fails.
+
+- [Bill Middlecamp brought this change]
+
+ FTP: handle "rubbish" in front of directory name in 257 responses
+
+ When doing PWD, there's a 257 response which apparently some servers
+ prefix with a comment before the path instead of after it as is
+ otherwise the norm.
+
+ Failing to parse this, several otherwise legitimate use cases break.
+
+ Bug: http://curl.haxx.se/mail/lib-2013-04/0113.html
+
+Guenter Knauf (9 Apr 2013)
+- Fixed ares-enabled builds with static makefiles.
+
+- Fixed lost OpenSSL output with "-t".
+
+ The OpenSSL pipe wrote to the final CA bundle file, but the encoded PEM
+ output wrote to a temporary file. Consequently, the OpenSSL output was
+ lost when the temp file was renamed to the final file at script finish
+ (overwriting the final file written earlier by openssl).
+ Patch posted to the list by Richard Michael (rmichael edgeofthenet org).
+
+Daniel Stenberg (9 Apr 2013)
+- test1216: test tailmatching cookie domains
+
+ This test is an attempt to repeat the problem YAMADA Yasuharu reported
+ at http://curl.haxx.se/mail/lib-2013-04/0108.html
+
+- RELEASe-NOTES: synced with 29fdb2700f797
+
+ added "tcpkeepalive on Mac OS X"
+
+Nick Zitzmann (8 Apr 2013)
+- darwinssl: disable insecure ciphers by default
+
+ I noticed that aria2's SecureTransport code disables insecure ciphers such
+ as NULL, anonymous, IDEA, and weak-key ciphers used by SSLv3 and later.
+ That's a good idea, and now we do the same thing in order to prevent curl
+ from accessing a "secure" site that only negotiates insecure ciphersuites.
+
+Daniel Stenberg (8 Apr 2013)
+- [Robert Wruck brought this change]
+
+ tcpkeepalive: Support CURLOPT_TCP_KEEPIDLE on OSX
+
+ MacOS X doesn't have TCP_KEEPIDLE/TCP_KEEPINTVL but only a single
+ TCP_KEEPALIVE (see
+ http://developer.apple.com/library/mac/#DOCUMENTATION/Darwin/Reference/ManPages/man4/tcp.4.html).
+ Here is a patch for CURLOPT_TCP_KEEPIDLE on OSX platforms.
+
+- configure: remove CURL_CHECK_FUNC_RECVFROM
+
+ 1 - We don't use the results from the test and we never did. recvfrom()
+ is only used by the TFTP code and it has not caused any problems.
+
+ 2 - the CURL_CHECK_FUNC_RECVFROM function is extremely slow
+
+Steve Holme (8 Apr 2013)
+- RELEASE-NOTES: Corrected duplicate NTLM memory leaks
+
+- RELEASE-NOTES: Removed trailing full stop
+
+Daniel Stenberg (8 Apr 2013)
+- [Fabian Keil brought this change]
+
+ proxy: make ConnectionExists() check credential of proxyconnections too
+
+ Previously it only compared credentials if the requested needle
+ connection wasn't using a proxy. This caused NTLM authentication
+ failures when using proxies as the authentication code wasn't send on
+ the connection where the challenge arrived.
+
+ Added test 1215 to verify: NTLM server authentication through a proxy
+ (This is a modified copy of test 67)
+
+- RELEASE-NOTES: sync with 704a5dfca9
+
+- TODO-RELEASE: cleaned up, not really maintained lately
+
+Marc Hoersken (7 Apr 2013)
+- if2ip.c: Fixed another warning: unused parameter 'remote_scope'
+
+Daniel Stenberg (7 Apr 2013)
+- [Marc Hoersken brought this change]
+
+ cookie.c: Made cookie sort function more deterministic
+
+ Since qsort implementations vary with regards to handling the order
+ of similiar elements, this change makes the internal sort function
+ more deterministic by comparing path length first, then domain length
+ and finally the cookie name. Spotted with testcase 62 on Windows.
+
+Marc Hoersken (7 Apr 2013)
+- curl_schannel.c: Follow up on memory leak fix ae4558d
+
+- Revert "getpart.pm: Strip carriage returns to fix Windows support"
+
+ This reverts commit e51b23c925a2721cf7c29b2b376d3d8903cfb067.
+ As discussed on the mailinglist, this was not the correct approach.
+
+- http_negotiate.c: Fixed passing argument from incompatible pointer type
+
+- ftp.c: Added missing brackets around ABOR command logic
+
+- sockfilt.c: Fixed detection of client-side connection close
+
+ WINSOCK only:
+ Since FD_CLOSE is only signaled once, it may trigger at the same
+ time as FD_READ. Data actually being available makes it impossible
+ to detect that the connection was closed by checking that recv returns
+ zero. Another recv attempt could block the connection if it was
+ not closed. This workaround abuses exceptfds in conjunction with
+ readfds to signal that the connection has actually closed.
+
+- curl_schannel.c: Fixed memory leak if connection was not successful
+
+- if2ip.c: Fixed warning: unused parameter 'remote_scope'
+
+- runtests.pl: Fixed --verbose parameter passed to http_pipe.py
+
+- sockfilt.c: Reduce CPU load while running under a Windows PIPE
+
+- tftpd.c: Apply sread timeout to the whole data transfer session
+
+- getpart.pm: Strip carriage returns to fix Windows support
+
+Daniel Stenberg (6 Apr 2013)
+- ftp tests: libcurl returns CURLE_FTP_ACCEPT_FAILED better now
+
+ Since commit 57aeabcc1a20f, it handles errors on the control connection
+ while waiting for the data connection better.
+
+ Test 591 and 592 are updated accordingly.
+
+- FTP: wait on both connections during active STOR state
+
+ When doing PORT and upload (STOR), this function needs to extract the
+ file descriptor for both connections so that it will respond immediately
+ when the server eventually connects back.
+
+ This flaw caused active connections to become unnecessary slow but they
+ would still often work due to the normal polling on a timeout. The bug
+ also would not occur if the server connected back very fast, like when
+ testing on local networks.
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1183
+ Reported by: Daniel Theron
+
+Marc Hoersken (6 Apr 2013)
+- tftpd.c: Follow up cleanup and restore of previous sockopt
+
+Daniel Stenberg (6 Apr 2013)
+- [Kim Vandry brought this change]
+
+ connect: treat an interface bindlocal() problem as a non-fatal error
+
+ I am using curl_easy_setopt(CURLOPT_INTERFACE, "if!something") to force
+ transfers to use a particular interface but the transfer fails with
+ CURLE_INTERFACE_FAILED, "Failed binding local connection end" if the
+ interface I specify has no IPv6 address. The cause is as follows:
+
+ The remote hostname resolves successfully and has an IPv6 address and an
+ IPv4 address.
+
+ cURL attempts to connect to the IPv6 address first.
+
+ bindlocal (in lib/connect.c) fails because Curl_if2ip cannot find an
+ IPv6 address on the interface.
+
+ This is a fatal error in singleipconnect()
+
+ This change will make cURL try the next IP address in the list.
+
+ Also included are two changes related to IPv6 address scope:
+
+ - Filter the choice of address in Curl_if2ip to only consider addresses
+ with the same scope ID as the connection address (mismatched scope for
+ local and remote address does not result in a working connection).
+
+ - bindlocal was ignoring the scope ID of addresses returned by
+ Curl_if2ip . Now it uses them.
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1189
+
+Marc Hoersken (6 Apr 2013)
+- tftpd.c: Fixed sread timeout on Windows by setting it manually
+
+- ftp.pm: Added tskill to support Windows XP Home
+
+- runtests.pl: Modularization of MinGW/Msys compatibility functions
+
+- ftp.pm: Made Perl testsuite able to handle Windows processes
+
+- util.c: Revert workaround eeefcdf, 6eb56e7 and e3787e8
+
+- ftp.pm: Made Perl testsuite able to kill Windows processes
+
+- util.c: Follow up cleanup on eeefcdf
+
+Daniel Stenberg (6 Apr 2013)
+- cpp: use #ifdef __MINGW32__ to avoid compiler complaints
+
+ ... instead of just #if
+
+Marc Hoersken (6 Apr 2013)
+- util.c: Made write_pidfile write the correct PID on MinGW/Msys
+
+ This workaround fixes an issue on MinGW/Msys regarding the Perl
+ testsuite scripts not being able to signal or control the server
+ processes. The MinGW Perl runtime only sees the Msys processes and
+ their corresponding PIDs, but sockfilt (and other servers) wrote the
+ Windows PID into their PID-files. Since this PID is useless to the
+ testsuite, the write_pidfile function was changed to search for the
+ Msys PID and write that into the PID-file.
+
+Daniel Stenberg (5 Apr 2013)
+- RELEASE-NOTES: synced with 5e722b2d09087
+
+ 3 more bug fixes, 6 more contributors
+
+Marc Hoersken (5 Apr 2013)
+- sockfilt.c: Fixed handling of multiple fds being signaled
+
+Kamil Dudka (5 Apr 2013)
+- curl_global_init.3: improve description of CURL_GLOBAL_ALL
+
+ Reported by: Tomas Mlcoch
+
+- examples/multi-single.c: fix the order of destructions
+
+ ... so that it adheres to the API documentation.
+
+ Reported by: Tomas Mlcoch
+
+Daniel Stenberg (5 Apr 2013)
+- Curl_open: restore default MAXCONNECTS to 5
+
+ At some point recently we lost the default value for the easy handle's
+ connection cache, and this change puts it back to 5 - which is the
+ former default value and it is documented in the curl_easy_setopt.3 man
+ page.
+
+Marc Hoersken (4 Apr 2013)
+- sockfilt.c: Added wrapper functions to fix Windows console issues
+
+ The new read and write wrapper functions support reading from stdin
+ and writing to stdout/stderr on Windows by using the appropriate
+ Windows API functions and data types.
+
+Yang Tse (4 Apr 2013)
+- lib1509.c: fix compiler warnings
+
+- easy.c: fix compiler warning
+
+Daniel Stenberg (4 Apr 2013)
+- --engine: spellfix the help message
+
+ Reported by: Fredrik Thulin
+
+Yang Tse (4 Apr 2013)
+- http_negotiate.c: follow-up for commit 3dcc1a9c
+
+Linus Nielsen Feltzing (4 Apr 2013)
+- easy: Fix the broken CURLOPT_MAXCONNECTS option
+
+ Copy the CURLOPT_MAXCONNECTS option to CURLMOPT_MAXCONNECTS in
+ curl_easy_perform().
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1212
+ Reported-by: Steven Gu
+
+Guenter Knauf (4 Apr 2013)
+- Updated copyright date.
+
+- Another small output fix for --help and --version.
+
+Yang Tse (4 Apr 2013)
+- http_negotiate.c: fix several SPNEGO memory handling issues
+
+Guenter Knauf (4 Apr 2013)
+- Added a cont to specify base64 line wrap.
+
+- Fixed version output.
+
+- Added support for --help and --version options.
+
+- Added option to specify length of base64 output.
+
+ Based on a patch posted to the list by Richard Michael.
+
+Daniel Stenberg (3 Apr 2013)
+- curl_easy_setopt.3: CURLOPT_HTTPGET disables CURLOPT_UPLOAD
+
+- [Yasuharu Yamada brought this change]
+
+ Curl_cookie_add: only increase numcookies for new cookies
+
+ Count up numcookies in Curl_cookie_add() only when cookie is new one
+
+- SO_SNDBUF: don't set SNDBUF for win32 versions vista or later
+
+ The Microsoft knowledge-base article
+ http://support.microsoft.com/kb/823764 describes how to use SNDBUF to
+ overcome a performance shortcoming in winsock, but it doesn't apply to
+ Windows Vista and later versions. If the described SNDBUF magic is
+ applied when running on those more recent Windows versions, it seems to
+ instead have the reversed effect in many cases and thus make libcurl
+ perform less good on those systems.
+
+ This fix thus adds a run-time version-check that does the SNDBUF magic
+ conditionally depending if it is deemed necessary or not.
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1188
+ Reported by: Andrew Kurushin
+ Tested by: Christian Hägele
+
+Nick Zitzmann (1 Apr 2013)
+- darwinssl: additional descriptive messages of SSL handshake errors
+
+ (This doesn't need to appear in the release notes.)
+
+Guenter Knauf (1 Apr 2013)
+- Added dns and connect time to output.
+
+Daniel Stenberg (1 Apr 2013)
+- RELEASE-NOTES: synced with 0614b902136
+
+- code-policed
+
+- tcpkeepalive: support TCP_KEEPIDLE/TCP_KEEPINTVL on win32
+
+ Patch by: Robert Wruck
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1209
+
+- BINDINGS: BBHTTP is a cocoa binding, Julia has a binding
+
+- ftp_sendquote: use PPSENDF, not FTPSENDF
+
+ The last remaining code piece that still used FTPSENDF now uses PPSENDF.
+ In the problematic case, a PREQUOTE series was done on a re-used
+ connection when Curl_pp_init() hadn't been called so it had messed up
+ pointers. The init call is done properly from Curl_pp_sendf() so this
+ change fixes this particular crash.
+
+ Bug: http://curl.haxx.se/mail/lib-2013-03/0319.html
+ Reported by: Sam Deane
+
+Steve Holme (27 Mar 2013)
+- RELEASE-NOTES: Corrected typo
+
+Daniel Stenberg (27 Mar 2013)
+- [Clemens Gruber brought this change]
+
+ multi-uv.c: remove unused variable
+
+- RELEASE-NOTES: add two references
+
+- test1509: verify proxy header response headers count
+
+ Modified sws to support and use custom CONNECT responses instead of the
+ previously naive hard-coded version. Made the HTTP test server able to
+ extract test case number from the host name in a CONNECT request by
+ finding the number after the last dot. It makes 'machine.moo.123' use
+ test case 123.
+
+ Adapted a larger amount of tests to the new <connect> style.
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1204
+ Reported by: Martin Jansen
+
+- [Clemens Gruber brought this change]
+
+ Added libuv example multi-uv.c
+
+Yang Tse (25 Mar 2013)
+- NTLM: fix several NTLM code paths memory leaks
+
+- WIN32 MemoryTracking: track wcsdup() _wcsdup() and _tcsdup() usage
+
+ As of 25-mar-2013 wcsdup() _wcsdup() and _tcsdup() are only used in
+ WIN32 specific code, so tracking of these has not been extended for
+ other build targets. Without this fix, memory tracking system on
+ WIN32 builds, when using these functions, would provide misleading
+ results.
+
+ In order to properly extend this support for all targets curl.h
+ would have to define curl_wcsdup_callback prototype and consequently
+ wchar_t should be visible before that in curl.h. IOW curl_wchar_t
+ defined in curlbuild.h and this pulling whatever system header is
+ required to get wchar_t definition.
+
+ Additionally a new curl_global_init_mem() function that also receives
+ user defined wcsdup() callback would be required.
+
+- curl_ntlm_msgs.c: revert commit 463082bea4
+
+ reverts unreleased invalid memory leak fix
+
+Daniel Stenberg (23 Mar 2013)
+- RELEASE-NOTES: synced with bc6037ed3ec02
+
+ More changes, bugfixes and contributors!
+
+- [Martin Jansen brought this change]
+
+ Curl_proxyCONNECT: count received headers
+
+ Proxy servers tend to add their own headers at the beginning of
+ responses. The size of these headers was not taken into account by
+ CURLINFO_HEADER_SIZE before this change.
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1204
+
+Steve Holme (21 Mar 2013)
+- sasl: Corrected a few violations of the curl coding standards
+
+ Corrected some incorrectly positioned pointer variable declarations to
+ be "char *" rather than "char* ".
+
+- multi.c: Corrected a couple of violations of the curl coding standards
+
+ Corrected some incorrectly positioned pointer variable declarations to
+ be "type *" rather than "type* ".
+
+- imap-tests: Added CRLF to reply data to be compliant with RFC-822
+
+ Updated the reply data in tests: 800, 801, 802, 804 and 1321 to possess
+ the CRLF as per RFC-822.
+
+- multi.c: Fix compilation warning
+
+ warning: an enumerated type is mixed with another type
+
+- multi.c: fix compilation error
+
+ warning: conversion from enumeration type to different enumeration type
+
+- lib1900.c: fix compilation warning
+
+ warning: declaration of 'time' shadows a global declaration
+
+Yang Tse (20 Mar 2013)
+- [John E. Malmberg brought this change]
+
+ build_vms.com: use existing curlbuild.h and parsing fix
+
+ This patch removes building curlbuild.h from the build_vms.com procedure
+ and uses the one in the daily or release tarball instead.
+
+ packages/vms/build_curlbuild_h.com is obsolete with this change.
+
+ Accessing the library module name "tool_main" needs different handling
+ when the optional extended parsing is enabled.
+
+ Tested on IA64/VMS 8.4 and VAX/VMS 7.3
+
+Nick Zitzmann (19 Mar 2013)
+- darwinssl: disable ECC ciphers under Mountain Lion by default
+
+ I found out that ECC doesn't work as of OS X 10.8.3, so those ciphers are
+ turned off until the next point release of OS X.
+
+Steve Holme (18 Mar 2013)
+- FEATURES: Small tidy up for constancy and grammar
+
+Daniel Stenberg (18 Mar 2013)
+- [Oliver Schindler brought this change]
+
+ Curl_proxyCONNECT: clear 'rewindaftersend' on success
+
+ After having done a POST over a CONNECT request, the 'rewindaftersend'
+ boolean could be holding the previous value which could lead to badness.
+
+ This should be tested for in a new test case!
+
+ Bug: https://groups.google.com/d/msg/msysgit/B31LNftR4BI/KhRTz0iuGmUJ
+
+Steve Holme (18 Mar 2013)
+- TODO: Reordered the protocol and security sections
+
+ Moved SMTP, POP3, IMAP and New Protocol sections to be listed after the
+ other protocols (FTP, HTTP and TELNET) and SASL to be after SSL and
+ GnuTLS as these are all security related.
+
+ Additionally fixed numbering of the SSL and GnuTLS sections as they
+ weren't consecutive.
+
+Yang Tse (18 Mar 2013)
+- tests: specify 'text' mode for some output files in verify section
+
+Steve Holme (17 Mar 2013)
+- imap: Fixed incorrect initial response generation for SASL AUTHENTICATE
+
+ Fixed incorrect initial response generation for the NTLM and LOGIN SASL
+ authentication mechanisms when the SASL-IR was detected.
+
+ Introduced in commit: 6da7dc026c14.
+
+- FEATURES: Expanded the supported enhanced IMAP command list
+
+- TODO: Corrected typo in TOC
+
+- TODO: Added IMAP section and removed unused Other protocols section
+
+- TODO: Added graceful base64 decoding failure to SMTP and POP3
+
+- TODO: Corrected typo on section 10.2 heading
+
+Yang Tse (16 Mar 2013)
+- tests: 96, 558, 1330: strip build subdirectory dependent leading path
+
+Steve Holme (15 Mar 2013)
+- TODO: Added section 10.2 Initial response to POP3 to do list
+
+- imap-tests: Corrected copy/paste error in test808 reply data
+
+Yang Tse (15 Mar 2013)
+- unit1330.c: fix date
+
+- tests: add #96 #558 and #1330
+
+ These verfy that the 'memory tracking' subsystem is actually doing its
+ job when using curl tool (#96), a test in libtest (#558) and also a unit
+ test (#1330), in order to prevent regressions in this functionallity.
+
+Steve Holme (15 Mar 2013)
+- imap-tests: Added test808 for custom EXAMINE command
+
+Daniel Stenberg (15 Mar 2013)
+- HTTP proxy: insert slash in URL if missing
+
+ curl has been accepting URLs using slightly wrong syntax for a long
+ time, such as when completely missing as slash "http://example.org" or
+ missing a slash when a query part is given
+ "http://example.org?q=foobar".
+
+ curl would translate these into a legitimate HTTP request to servers,
+ although as was shown in bug #1206 it was not adjusted properly in the
+ cases where a HTTP proxy was used.
+
+ Test 1213 and 1214 were added to the test suite to verify this fix.
+
+ The test HTTP server was adjusted to allow us to specify test number in
+ the host name only without using any slashes in a given URL.
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1206
+ Reported by: ScottJi
+
+Steve Holme (14 Mar 2013)
+- ftpserver.pl: Added EXAMINE_imap() for IMAP EXAMINE commands
+
+ Used hard coded data from RFC-3501 section 6.3.2.
+
+Yang Tse (14 Mar 2013)
+- curl_memory.h: introduce CURLX_NO_MEMORY_CALLBACKS usage possibility
+
+ This commit alone does not fix anything nor modifies existing
+ interfaces or behaviors, although it is a prerequisite for other
+ fixes.
+
+- Makefile.vc6: add missing files
+
+Linus Nielsen Feltzing (14 Mar 2013)
+- pipelining: Remove dead code.
+
+- Multiple pipelines and limiting the number of connections.
+
+ Introducing a number of options to the multi interface that
+ allows for multiple pipelines to the same host, in order to
+ optimize the balance between the penalty for opening new
+ connections and the potential pipelining latency.
+
+ Two new options for limiting the number of connections:
+
+ CURLMOPT_MAX_HOST_CONNECTIONS - Limits the number of running connections
+ to the same host. When adding a handle that exceeds this limit,
+ that handle will be put in a pending state until another handle is
+ finished, so we can reuse the connection.
+
+ CURLMOPT_MAX_TOTAL_CONNECTIONS - Limits the number of connections in total.
+ When adding a handle that exceeds this limit,
+ that handle will be put in a pending state until another handle is
+ finished. The free connection will then be reused, if possible, or
+ closed if the pending handle can't reuse it.
+
+ Several new options for pipelining:
+
+ CURLMOPT_MAX_PIPELINE_LENGTH - Limits the pipeling length. If a
+ pipeline is "full" when a connection is to be reused, a new connection
+ will be opened if the CURLMOPT_MAX_xxx_CONNECTIONS limits allow it.
+ If not, the handle will be put in a pending state until a connection is
+ ready (either free or a pipe got shorter).
+
+ CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE - A pipelined connection will not
+ be reused if it is currently processing a transfer with a content
+ length that is larger than this.
+
+ CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE - A pipelined connection will not
+ be reused if it is currently processing a chunk larger than this.
+
+ CURLMOPT_PIPELINING_SITE_BL - A blacklist of hosts that don't allow
+ pipelining.
+
+ CURLMOPT_PIPELINING_SERVER_BL - A blacklist of server types that don't allow
+ pipelining.
+
+ See the curl_multi_setopt() man page for details.
+
+Yang Tse (13 Mar 2013)
+- tool_main.c: remove redundant vms_show storage-class specifier
+
+ vms_show 'extern' storage-class specifier removed from tool_main.c due to...
+
+ - Advice from Tor Arntsen: http://curl.haxx.se/mail/lib-2013-03/0164.html
+
+ - HP OpenVMS docs stating that 'Extern is the default storage class for
+ variables declared outside a function.'
+ http://h71000.www7.hp.com/commercial/c/docs/dec_c_help_5.html
+ (Storage_Classes section)
+
+- test509: libcurl initialization with memory callbacks and actual usage
+
+Steve Holme (13 Mar 2013)
+- pop3: Removed unnecessary transfer cancellation
+
+ Following commit e450f66a02d8 and the changes in the multi interface
+ being used internally, from 7.29.0, the transfer cancellation in
+ pop3_dophase_done() is no longer required.
+
+Yang Tse (13 Mar 2013)
+- Makefile.am: add VMS files not being included in tarball
+
+- [Tom Grace brought this change]
+
+ build_vms.com: VMS build fixes
+
+ Added missing slash in cc_full_list.
+ Removed unwanted extra quotes inside symbol tool_main
+ for non-VAX architectures that triggered link failure.
+ Replaced curl_sys_inc with sys_inc.
+
+- [Tom Grace brought this change]
+
+ tool_main.c: fix VMS global variable storage-class specifier
+
+ An extern submits a psect and a global reference to the linker to point
+ to it. Using "extern int vms_show = 0" also creates a globaldef.
+
+ The use of the extern by itself does declare a psect but does not declare
+ a globalsymbol. It does declare a globalref. But the linker needs one and
+ only one globaldef or there is an error.
+
+Patrick Monnerat (12 Mar 2013)
+- OS400: synchronize RPG binding
+
+Steve Holme (12 Mar 2013)
+- pop3: Fixed continuous wait when using --ftp-list
+
+ Don't initiate a transfer when using --ftp-list.
+
+Kamil Dudka (12 Mar 2013)
+- [Zdenek Pavlas brought this change]
+
+ curl_global_init: accept the CURL_GLOBAL_ACK_EINTR flag
+
+ The flag can be used in pycurl-based applications where using the multi
+ interface would not be acceptable because of the performance lost caused
+ by implementing the select() loop in python.
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1168
+ Downstream Bug: https://bugzilla.redhat.com/919127
+
+- easy: do not ignore poll() failures other than EINTR
+
+Yang Tse (12 Mar 2013)
+- curl.h: stricter CURL_EXTERN linkage decorations logic
+
+ No API change involved.
+
+ Info: http://curl.haxx.se/mail/lib-2013-02/0234.html
+
+Daniel Stenberg (11 Mar 2013)
+- THANKS: Latin-1'ified Jiri's name
+
+Steve Holme (11 Mar 2013)
+- test806: Added CRLF to reply data to be compliant with RFC-822
+
+Daniel Stenberg (11 Mar 2013)
+- test805: added crlf newlines to make data size match
+
+ since mails sent are supposed to have CRLF line endings I added them and
+ now the data size after (\Seen) matches again properly
+
+- test: fix newline for the data check of 807
+
+Yang Tse (11 Mar 2013)
+- test801 to test807: fix protocol section line endings
+
+Steve Holme (10 Mar 2013)
+- Makefile.am: Corrected a couple of spurious tab characters
+
+ Corrected a couple of tab characters between test702 and test703, and
+ between test900 and test901 which should be spaces.
+
+- [Jiri Hruska brought this change]
+
+ imap: Added test807 for custom request functionality (STORE)
+
+- [Jiri Hruska brought this change]
+
+ imap: Added test806 for IMAP (folder) LIST command
+
+- [Jiri Hruska brought this change]
+
+ imap: Added test805 for APPEND functionality
+
+- [Jiri Hruska brought this change]
+
+ imap: Added test804 for skipping SELECT if in the same mailbox
+
+- [Jiri Hruska brought this change]
+
+ imap: Added test802 and test803 for UIDVALIDITY verification
+
+ Added one test for a request with matching UIDVALIDITY and one which is
+ a mismatched request that will fail.
+
+- [Jiri Hruska brought this change]
+
+ imap: Added test801 for UID and SECTION URL parameters
+
+- [Jiri Hruska brought this change]
+
+ imap-tests: Accept quoted parameters in ftpserver.pl
+
+ Any IMAP parameter can come in escaped and in double quotes. Added a
+ simple function to unquote the command parameters and applied it to
+ the IMAP command handlers.
+
+- [Jiri Hruska brought this change]
+
+ tests: Fix ftpserver.pl indentation
+
+ The whole of FETCH_imap() had one extra space of indentation, whilst
+ APPEND_imap() used indentation of 2 instead of 4 in places.
+
+- Makefile.am: Corrected end of line filler character
+
+ The majority of lines, that specify a test file for inclusion, end with
+ a tab character before the slash whilst some end with a space. Corrected
+ those that end with a space to end with a tab character as well.
+
+- email-tests: Updated the test data that corresponds to the test number
+
+ Finished segregating the email protocol tests, into their own protocol
+ based ranges, in preparation of adding more e-mail related tests to the
+ test suite.
+
+- email-tests: Renamed the IMAP test to be 800
+
+ Continued segregating the email protocol tests, into their own protocol
+ based ranges, in preparation of adding more e-mail related tests to the
+ test suite.
+
+- email-tests: Renamed the SMTP tests to be in the range 900-906
+
+ Continued segregating the email protocol tests, into their own protocol
+ based ranges, in preparation of adding more e-mail related tests to the
+ test suite.
+
+- email-tests: Renamed the POP3 tests to be in the range 850-857
+
+ Started segregating the email protocol tests, into their own protocol
+ based ranges, in preparation of adding more e-mail related tests to the
+ test suite.
+
+Daniel Stenberg (10 Mar 2013)
+- hiperfifo: updated to use current libevent API
+
+ Patch by: Myk Taylor
+
+Steve Holme (10 Mar 2013)
+- imap: Reworked some function descriptions
+
+- imap: Added some missing comments to imap_sendf()
+
+- email: Removed hard returns from init functions
+
+Daniel Stenberg (9 Mar 2013)
+- curl_multi_wait: avoid second loop if nothing to do
+
+ ... hopefully this will also make clang-analyzer stop warning on
+ potentional NULL dereferences (which were false positives anyway).
+
+- multi_runsingle: avoid NULL dereference
+
+ When Curl_do() returns failure, the connection pointer could be NULL so
+ the code path following needs to that that into account.
+
+ Bug: http://curl.haxx.se/mail/lib-2013-03/0062.html
+ Reported by: Eric Hu
+
+Steve Holme (9 Mar 2013)
+- imap: Re-factored all perform based functions
+
+ Standardised the naming of all perform based functions to be in the form
+ imap_perform_something().
+
+Daniel Stenberg (9 Mar 2013)
+- [Cédric Deltheil brought this change]
+
+ examples/getinmemory.c: abort the transfer if not enough memory
+
+ No more use exit(3) but instead tell libcurl that no byte has been
+ written to let it return a `CURLE_WRITE_ERROR`. In addition, check
+ curl easy handle return code.
+
+- RELEASE-NOTES: synced with ca3c0ed3a9c
+
+ 8 more bugfixes, one change and a bunch of contributors
+
+Yang Tse (9 Mar 2013)
+- Makefile.am: empty AM_LDFLAGS definition for automake 1.7 compatibility
+
+Steve Holme (9 Mar 2013)
+- imap: Added description comments to all perform based functions
+
+- imap: Removed the need for separate custom request functions
+
+ Moved the custom request processing into the LIST command as the logic
+ is the same.
+
+- imap: Corrected typo in comment
+
+Yang Tse (9 Mar 2013)
+- Makefile.am: empty AM_LDFLAGS definition for automake 1.7 compatibility
+
+Steve Holme (9 Mar 2013)
+- imap: Moved imap_logout() to be grouped with the other perform functions
+
+- email: Updated the function descriptions for the logout / quit functions
+
+ Updated the function description comments following commit 4838d196fdbf.
+
+- email: Simplified the logout / quit functions
+
+ Moved the blocking state machine to the disconnect functions so that the
+ logout / quit functions are only responsible for sending the actual
+ command needed to logout or quit.
+
+ Additionally removed the hard return on failure.
+
+- email: Tidied up the *_regular_transfer() functions
+
+ Added comments and simplified convoluted dophase_done comparison.
+
+- email: Simplified nesting of if statements in *_doing() functions
+
+Daniel Stenberg (8 Mar 2013)
+- RELEASE-NOTES: mention that krb4 is up for consideration
+
+Steve Holme (8 Mar 2013)
+- imap: Fixed handling of untagged responses for the STORE custom command
+
+ Added an exception, for the STORE command, to the untagged response
+ processor in imap_endofresp() as servers will back respones containing
+ the FETCH keyword instead.
+
+Yang Tse (8 Mar 2013)
+- curlbuild.h.dist: enhance non-configure GCC ABI detection logic
+
+ GCC specific adjustments:
+
+ - check __ILP32__ before 32 and 64bit processor architectures in
+ order to detect ILP32 programming model on 64 bit processors
+ which, of course, also support LP64 programming model, when using
+ gcc 4.7 or newer.
+
+ - keep 32bit processor architecture checks in order to support gcc
+ versions older than 4.7 which don't define __ILP32__
+
+ - check __LP64__ for gcc 3.3 and newer, while keeping 64bit processor
+ architecture checks for older versions which don't define __LP64__
+
+- curlbuild.h.dist: fix GCC build on ARM systems without configure script
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1205
+ Reported by: technion
+
+- [Gisle Vanem brought this change]
+
+ polarssl.c: fix header filename typo
+
+- configure: use XC_LIBTOOL for portability across libtool versions
+
+- xc-lt-iface.m4: provide XC_LIBTOOL macro
+
+Steve Holme (7 Mar 2013)
+- imap: Fixed SELECT not being performed for custom requests
+
+- email: Minor code tidy up following recent changes
+
+ Removed unwanted braces and added variable initialisation.
+
+- DOCS: Corrected the IMAP URL grammar of the UIDVALIDITY parameter
+
+- FEATURES: Provided a little clarity in some IMAP features
+
+- email: Optimised block_statemach() functions
+
+ Optimised the result test in each of the block_statemach() functions.
+
+- DOCS: Added the list command to the IMAP URL section
+
+ Added examples of the list command and clarified existing example URLs
+ following recent changes.
+
+- FEATURES: Updated for recent imap additions
+
+ Updated the imap features list, corrected a typo in the smtp features
+ and clarified a pop3 feature.
+
+Daniel Stenberg (7 Mar 2013)
+- version bump: the next release will be 7.30.0
+
+- checksrc: ban unsafe functions
+
+ The list of unsafe functions currently consists of sprintf, vsprintf,
+ strcat, strncat and gets.
+
+ Subsequently, some existing code needed updating to avoid warnings on
+ this.
+
+Steve Holme (7 Mar 2013)
+- RELEASE-NOTES: Added missing imap fixes and additions
+
+ With all the recent imap changes it wasn't clear what new features and
+ fixes should be included in the release notes.
+
+Nick Zitzmann (6 Mar 2013)
+- RELEASE-NOTES: brought this up-to-date with the latest changes
+
+Steve Holme (6 Mar 2013)
+- [Jiri Hruska brought this change]
+
+ imap: Fixed test801 and test1321 to specify a message UID
+
+ Just a folder list would be retrieved if UID was not specified now.
+
+- [Jiri Hruska brought this change]
+
+ imap: Fixed ftpserver.pl to allow verification even through LIST command
+
+ Commit 198012ee inadvertently broke LIST_imap().
+
+- imap: Tidied up the APPEND and final APPEND response functions
+
+ Removed unnecessary state changes on failure and setting of result codes
+ on success.
+
+- imap: Tidied up the final FETCH response function
+
+ Removed unnecessary state change on failure and setting of result code on
+ success.
+
+- imap: Tidied up the LIST response function
+
+ Reworked comments as they referenced custom commands, removed
+ unnecessary state change on failure and setting of result code on
+ success.
+
+- imap: Removed the custom request response function
+
+ Removed imap_state_custom_resp() as imap_state_list_resp() provides the
+ same functionality.
+
+- [Jiri Hruska brought this change]
+
+ imap: Updated ftpserver.pl to be more compliant, added new commands
+
+ Enriched IMAP capabilities of ftpserver.pl in order to be able to
+ add tests for the new IMAP features.
+
+ * Added support for APPEND - Saves uploaded data to log/upload.$testno
+ * Added support for LIST - Returns the contents of <reply/> section in
+ the current test, like e.g FETCH.
+ * Added support for STORE - Returns hardcoded updated flags
+ * Changed handling of SELECT - Returns much more information in the
+ usual set of untagged responses; uses hardcoded data from an example
+ in the IMAP RFC
+ * Changed handling of FETCH - Fixed response format
+
+- imap: Added check for empty UID in FETCH command
+
+ As the UID has to be specified by the user for the FETCH command to work
+ correctly, added a check to imap_fetch(), although strictly speaking it
+ is protected by the call from imap_perform().
+
+Kamil Dudka (6 Mar 2013)
+- nss: fix misplaced code enabling non-blocking socket mode
+
+ The option needs to be set on the SSL socket. Setting it on the model
+ takes no effect. Note that the non-blocking mode is still not enabled
+ for the handshake because the code is not yet ready for that.
+
+Daniel Stenberg (6 Mar 2013)
+- imap: fix compiler warning
+
+ imap.c:694:21: error: unused variable 'imapc' [-Werror=unused-variable]
+
+Steve Holme (5 Mar 2013)
+- imap: Added support for list command
+
+- imap: Added list perform and response handler functions
+
+- imap: Introduced IMAP_LIST state
+
+- imap: Small tidy up of imap_select() to match imap_append()
+
+ Updated the style of imap_select() before adding the LIST command.
+
+- imap: Moved mailbox check from the imap_do() function
+
+ In preparation for the addition of the LIST command, moved the mailbox
+ check from imap_do() to imap_select() and imap_append().
+
+- curl_setup.h: Added S_IRDIR() macro for compilers that don't support it
+
+ Commit 26eaa8383001 introduces the use of S_ISDIR() yet some compilers,
+ such as MSVC don't support it, so we must define a substitute using
+ file flags and mask.
+
+Daniel Stenberg (4 Mar 2013)
+- AddFormData: prevent only directories from being posted
+
+ Commit f4cc54cb4746ae5a6d (shipped as part of the 7.29.0 release) was a
+ bug fix that introduced a regression in that while trying to avoid
+ allowing directory names, it also forbade "special" files like character
+ devices and more. like "/dev/null" as was used by Oliver who reported
+ this regression.
+
+ Reported by: Oliver Gondža
+ Bug: http://curl.haxx.se/mail/archive-2013-02/0040.html
+
+Nick Zitzmann (3 Mar 2013)
+- darwinssl: fix infinite loop if server disconnected abruptly
+
+ If the server hung up the connection without sending a closure alert,
+ then we'd keep probing the socket for data even though it's dead. Now
+ we're ready for this situation.
+
+ Bug: http://curl.haxx.se/mail/lib-2013-03/0014.html
+ Reported by: Aki Koskinen
+
+Steve Holme (3 Mar 2013)
+- imap: Added comments to imap_append()
+
+- [Jiri Hruska brought this change]
+
+ imap: Added required mailbox check for FETCH and APPEND commands
+
+- pingpong.c: Fix enumerated type mixed with another type
+
+- smtp: Updated the coding style for state changes after a send operation
+
+ Some state changes would be performed after a failure test that
+ performed a hard return, whilst others would be performed within a test
+ for success. Updated the code, for consistency, so all instances are
+ performed within a success test.
+
+- pop3: Updated the coding style for state changes after a send operation
+
+ Some state changes would be performed after a failure test that
+ performed a hard return, whilst others would be performed within a test
+ for success. Updated the code, for consistency, so all instances are
+ performed within a success test.
+
+- imap: Fixed typo in variable assignment
+
+- [Jiri Hruska brought this change]
+
+ imap: Fixed custom request handling in imap_done()
+
+ Fixed imap_done() so that neither the FINAL states are not entered when
+ a custom command has been performed.
+
+- [Jiri Hruska brought this change]
+
+ imap: Enabled custom requests in imap_select_resp()
+
+ Changed imap_select_resp() to invoke imap_custom() instead of
+ imap_fetch() after the mailbox has been selected if a custom
+ command has been set.
+
+- [Jiri Hruska brought this change]
+
+ imap: Enabled custom requests in imap_perform()
+
+ Modified imap_perform() to start with the custom command instead of
+ SELECT when a custom command is to be performed and no mailbox has
+ been given.
+
+- [Jiri Hruska brought this change]
+
+ imap: Added custom request perform and response handler functions
+
+ Added imap_custom(), which initiates the custom command processing,
+ and an associated response handler imap_state_custom_resp(), which
+ handles any responses by sending them to the client as body data.
+
+ All untagged responses with the same name as the first word of the
+ custom request string are accepted, with the exception of SELECT and
+ EXAMINE which have responses that cannot be easily identified. An
+ extra check has been provided for them so that any untagged responses
+ are accepted for them.
+
+- pop3: Fixed unnecessary parent structure reference
+
+ Updated pop3 code following recent imap changes.
+
+- [Jiri Hruska brought this change]
+
+ imap: Added custom request parsing
+
+ Added imap_parse_custom_request() for parsing the CURLOPT_CUSTOMREQUEST
+ parameter which URL decodes the value and separates the request from
+ any parameters - This makes it easier to filter untagged responses
+ by the request command.
+
+- [Jiri Hruska brought this change]
+
+ imap: Introduced custom request parameters
+
+ Added custom request parameters to the per-request structure.
+
+- [Jiri Hruska brought this change]
+
+ imap: Introduced IMAP_CUSTOM state
+
+- imap: Minor code tidy up
+
+ Minor tidy up of code layout and comments following recent changes.
+
+- imap: Simplified the imap_state_append_resp() function
+
+ Introduced the result code variable to simplify the state changes and
+ remove the hard returns.
+
+- imap: Changed successful response logic in imap_state_append_resp()
+
+ For consistency changed the logic of the imap_state_append_resp()
+ function to test for an unsucessful continuation response rather than a
+ succesful one.
+
+- imap: Standardised imapcode condition tests
+
+ For consistency changed two if(constant != imapcode) tests to be
+ if(imapcode != constant).
+
+- imap: Moved imap_append() to be with the other perform functions
+
+- [Jiri Hruska brought this change]
+
+ imap: Enabled APPEND support in imap_perform()
+
+ Added logic in imap_perform() to perform an APPEND rather than SELECT
+ and FETCH if an upload has been specified.
+
+- [Jiri Hruska brought this change]
+
+ imap: Implemented APPEND final processing
+
+ The APPEND operation needs to be performed in several steps:
+ 1) We send "<tag> APPEND <mailbox> <flags> {<size>}\r\n"
+ 2) Server responds with continuation respose "+ ...\r\n"
+ 3) We start the transfer and send <size> bytes of data
+ 4) Only now we end the request command line by sending "\r\n"
+ 5) Server responds with "<tag> OK ...\r\n"
+
+ This commit performs steps 4 and 5, in the DONE phase, as more
+ processing is required after the transfer.
+
+- [Jiri Hruska brought this change]
+
+ imap: Added APPEND perform and response handler functions
+
+ Added imap_append() function to initiate upload and imap_append_resp()
+ to handle the continuation response and start the transfer.
+
+- [Jiri Hruska brought this change]
+
+ imap: Introduced IMAP_APPEND and IMAP_APPEND_FINAL states
+
+- [Jiri Hruska brought this change]
+
+ imap: Updated setting of transfer variables in imap_state_fetch_resp()
+
+ Add number of bytes retrieved from the PP cache to req.bytecount and set
+ req.maxdownload only when starting a proper download.
+
+- [Jiri Hruska brought this change]
+
+ imap: Improved FETCH response parsing
+
+ Added safer parsing of the untagged FETCH response line and the size of
+ continuation data.
+
+- imap: Fixed accidentally lossing the result code
+
+ Accidentally lost the result code in imap_state_capability() and
+ imap_state_login() with commit b06a78622609.
+
+- imap: Another minor comment addition / tidy up
+
+- imap: Updated the coding style for state changes after a send operation
+
+ Some state changes would be performed after a failure test that
+ performed a hard return, whilst others would be performed within a test
+ for success. Updated the code, for consistency, so all instances are
+ performed within a success test.
+
+- pop3 / smtp: Small comment tidy up
+
+ Small tidy up to keep some comments consistant across each of the email
+ protocols.
+
+- [Jiri Hruska brought this change]
+
+ imap: FETCH response handler cleanup before further changes
+
+ Removed superfluous NULL assignment after Curl_safefree() and rewrote
+ some comments and logging messages.
+
+- pop3: Small tidy up of function arguments
+
+- imap: Small tidy up of function arguments
+
+- smtp: Corrected debug message for POP3_AUTH_FINAL constant
+
+ Following commit ad3177da24b8 corrected the debug message in state()
+ from AUTH to AUTH_FINAL.
+
+- pop3: Corrected debug message for POP3_AUTH_FINAL constant
+
+ Following commit afad1ce753a1 corrected the debug message in state()
+ from AUTH to AUTH_FINAL.
+
+- imap: Corrected debug message for IMAP_AUTHENTICATE_FINAL constant
+
+ Following commit 13006f3de9ec corrected the debug message in state()
+ from AUTHENTICATE to AUTHENTICATE_FINAL.
+
+- [Jiri Hruska brought this change]
+
+ imap: Fixed error code returned for invalid FETCH response
+
+ If the FETCH command does not result in an untagged response the the
+ UID is probably invalid. As such do not return CURLE_OK.
+
+- [Jiri Hruska brought this change]
+
+ imap: Added processing of the final FETCH responses
+
+ Not processing the final FETCH responses was not optimal, not only
+ because the response code would be ignored but it would also leave data
+ unread on the socket which would prohibit connection reuse.
+
+- [Jiri Hruska brought this change]
+
+ imap: Introduced FETCH_FINAL state for processing final fetch responses
+
+ A typical FETCH response can be broken down into four parts:
+
+ 1) "* <uid> FETCH (<what> {<size>}\r\n", using continuation syntax
+ 2) <size> bytes of the actual message
+ 3) ")\r\n", finishing the untagged response
+ 4) "<tag> OK ...", finishing the command
+
+ Part 1 is read in imap_fetch_resp(), part 2 is consumed in the PERFORM
+ phase by the transfer subsystem, parts 3 and 4 are currently ignored.
+
+- imap: fix autobuild warning
+
+ Removed whitespace from imap_perform()
+
+- imap: fix compiler warning
+
+ error: declaration of 'imap' shadows a previous local
+
+- smtp: Re-factored the final SMTP_AUTH constant
+
+ Changed the final SMTP_AUTH constant to SMTP_AUTH_FINAL for consistency
+ with the response function.
+
+- pop3: Re-factored the final POP3_AUTH constant
+
+ Changed the final POP3_AUTH constant to POP3_AUTH_FINAL for consistency
+ with the response function.
+
+- imap: Re-factored final IMAP_AUTHENTICATE constant
+
+ Changed the final IMAP_AUTHENTICATE constant to IMAP_AUTHENTICATE_FINAL
+ for consistency with the response function.
+
+- imap: Updated the coding style of imap_state_servergreet_resp()
+
+ Updated the coding style, in this function, to be consistant with other
+ response functions rather then performing a hard return on failure.
+
+- imap: Reversed the logic of the (un)successful tagged SELECT response
+
+ Reversed the logic of the unsuccessful vs successful tagged SELECT
+ response in imap_state_select_resp() to be more logical to read.
+
+- imap: Reversed the logic of the (un)successful tagged CAPABILITY response
+
+ Reversed the logic of the unsuccessful vs successful tagged CAPABILITY
+ response in imap_state_capability_resp() to be more logical to read.
+
+- imap: Corrected char* references with char *
+
+ Corrected char* references made in commit: 709b3506cd9b.
+
+- [Jiri Hruska brought this change]
+
+ imap: Added processing of more than one response when sent in same packet
+
+ Added a loop to imap_statemach_act() in which Curl_pp_readresp() is
+ called until the cache is drained. Without this multiple responses
+ received in a single packet could result in a hang or delay.
+
+- [Jiri Hruska brought this change]
+
+ imap: Added skipping of SELECT command if already in the same mailbox
+
+ Added storage and checking of the last mailbox userd to prevent
+ unnecessary switching.
+
+- [Jiri Hruska brought this change]
+
+ imap: Introduced the mailbox variable
+
+ Added the mailbox variable to the per-connection structure in
+ preparation for checking for an already selected mailbox.
+
+- email: Slight reordering of connection based variables
+
+ Reordered the state and ssl_done variables in order to provide more
+ consistency between the email protocols as well as for for an upcoming
+ change.
+
+- imap: Tidied up comments for connection based variables
+
+- DOCS: Added the IMAP UIDVALIDITY property to the CURLOPT_URL section
+
+- [Jiri Hruska brought this change]
+
+ imap: Added verification of UIDVALIDITY mailbox attribute
+
+ Added support for checking the UIDVALIDITY, and aborting the request, if
+ it has been specified in the URL and the server response is different.
+
+- [Jiri Hruska brought this change]
+
+ imap: Added support for parsing the UIDVALIDITY property
+
+ Added support for parsing the UIDVALIDITY property from the SELECT
+ response and storing it in the per-connection structure.
+
+- [Jiri Hruska brought this change]
+
+ imap: Introduced the mailbox_uidvalidity variable
+
+ Added the mailbox_uidvalidity variable to the per-connection structure
+ in preparation for checking the UIDVALIDITY mailbox attribute.
+
+- imap: Corrected comment in imap_endofresp()
+
+- imap: Corrected whitespace
+
+- [Jiri Hruska brought this change]
+
+ imap: Added filtering of CAPABILITY and FETCH untagged responses
+
+ Only responses that contain "CAPABILITY" and "FETCH", respectively,
+ will be sent to their response handler.
+
+- [Jiri Hruska brought this change]
+
+ imap: Added a helper function for upcoming untagged response filtering
+
+ RFC 3501 states that "the client MUST be prepared to accept any response
+ at all times" yet we assume anything received with "* " at the beginning
+ is the untagged response we want.
+
+ Introduced a helper function that checks whether the input looks like a
+ response to specified command, so that we may filter the ones we are
+ interested in according to the current state.
+
+- [Jiri Hruska brought this change]
+
+ imap: Moved CAPABILITY response handling to imap_state_capability_resp()
+
+ Introduced similar handling to the FETCH responses, where even the
+ untagged data responses are handled by the response handler of the
+ individual state.
+
+Linus Nielsen Feltzing (26 Feb 2013)
+- Remove unused variable in smtp_state_data_resp()
+
+Steve Holme (25 Feb 2013)
+- email: Small tidy up following recent changes
+
+- smtp: Removed bytecountp from the per-request structure
+
+ Removed this pointer to a downloaded bytes counter because it was set in
+ smtp_init() to point to the same variable the transfer functions keep
+ the count in (k->bytecount), effectively making the code in transfer.c
+ "*k->bytecountp = k->bytecount" a no-op.
+
+- pop3: Removed bytecountp from the per-request structure
+
+ Removed this pointer to a downloaded bytes counter because it was set in
+ pop3_init() to point to the same variable the transfer functions keep
+ the count in (k->bytecount), effectively making the code in transfer.c
+ "*k->bytecountp = k->bytecount" a no-op.
+
+- [Jiri Hruska brought this change]
+
+ imap: Removed bytecountp from the per-request structure
+
+ Removed this pointer to a downloaded bytes counter because it was set in
+ imap_init() to point to the same variable the transfer functions keep
+ the count in (k->bytecount), effectively making the code in transfer.c
+ "*k->bytecountp = k->bytecount" a no-op.
+
+- [Jiri Hruska brought this change]
+
+ imap: Adjusted SELECT and FETCH function order
+
+ Moved imap_select() and imap_fetch() to be grouped with the other
+ perform functions.
+
+- [Jiri Hruska brought this change]
+
+ imap: Adjusted SELECT and FETCH state order in imap_statemach_act()
+
+ Exchanged the position of these states in the switch statements to
+ match the state enum, execution and function order.
+
+- imap: Minor tidy up of comments in imap_parse_url_path()
+
+ Tidy up of comments before next round of imap changes.
+
+- imap: Fixed incorrect comparison for STARTTLS in imap_endofresp()
+
+ Corrected the comparison type in addition to commit 1dac29fa83a9.
+
+- DOCS: Corrected IMAP URL examples according to RFC5092
+
+ URL examples that included the UID weren't technically correct although
+ would pass the curl parser.
+
+Nick Zitzmann (24 Feb 2013)
+- darwinssl: fix undefined $ssllib warning in runtests.pl
+
+ I also added --with-darwinssl to the list of SSL options in configure.
+
+Steve Holme (24 Feb 2013)
+- imap: Added check for new internal imap response code
+
+- imap: Changed the order of the response types in imap_endofresp()
+
+ From a maintenance point of view the code reads better to view tagged
+ responses, then untagged followed by continuation responses.
+
+ Additionally, this matches the order of responses in POP3.
+
+- [Jiri Hruska brought this change]
+
+ imap: Added stricter parsing of continuation responses
+
+ Enhanced the parsing to only allow continuation responses in some
+ states.
+
+- imap: Simplified memcmp() in tagged response parsing
+
+- [Jiri Hruska brought this change]
+
+ imap: Reworked the logic of untagged command responses
+
+- imap: Corrected spacing of trailing brace
+
+- [Jiri Hruska brought this change]
+
+ imap: Added stricter parsing of tagged command responses
+
+ Enhanced the parsing of tagged responses which must start with "OK",
+ "NO" or "BAD"
+
+- [Jiri Hruska brought this change]
+
+ imap: Simplified command response test in imap_endofresp()
+
+- [Jiri Hruska brought this change]
+
+ imap: Corrected comment in imap_endofresp()
+
+- DOCS: Corrected layout of POP3 and IMAP URL examples
+
+ Corrected layout issues with the POP3 and IMAP URL examples introduced
+ in commit cb3ae6894fb2.
+
+- DOCS: Updated CURLOPT_URL section following recent POP3 and IMAP changes
+
+ Updated the POP3 sub-section to refer to message ID rather than mailbox.
+
+ Added an IMAP sub-section with example URLs depicting the specification
+ of mailbox, uid and section.
+
+- pop3: Refactored the mailbox variable as it didn't reflect it's purpose
+
+ Updated the mailbox variable to correctly reflect it's purpose. The
+ name mailbox was a leftover from when IMAP and POP3 support was
+ initially added to curl.
+
+- FEATURES: Updated following recent IMAP changes
+
+- [Jiri Hruska brought this change]
+
+ imap: Added the ability to FETCH a specific UID and SECTION
+
+ Updated the FETCH command to send the UID and SECTION parsed from the
+ URL. By default the BODY specifier doesn't include a section, BODY[] is
+ now sent whereas BODY[TEXT] was previously sent. In my opinion
+ retrieving just the message text is rarely useful when dealing with
+ emails, as the headers are required for example, so that functionality
+ is not retained. In can however be simulated by adding SECTION=TEXT to
+ the URL.
+
+ Also updated test801 and test1321 due to the BODY change.
+
+- email: Additional tidy up of comments following recent changes
+
+- smtp: Removed some FTP heritage leftovers
+
+ Removed user and passwd from the SMTP struct as these cannot be set on
+ a per-request basis and are leftover from legacy FTP code.
+
+ Changed some comments still using FTP terminology.
+
+- smtp: Moved the per-request variables to the per-request data structure
+
+ Moved the rcpt variable from the per-connection struct smtp_conn to the
+ new per-request struct and fixed references accordingly.
+
+- pop3: Introduced a custom SMTP structure for per-request data
+
+ Created a new SMTP structure and changed the type of the smtp proto
+ variable in connectdata from FTP* to SMTP*.
+
+unknown (23 Feb 2013)
+- [Steve Holme brought this change]
+
+ imap: Minor correction of comments for max line length
+
+Daniel Stenberg (23 Feb 2013)
+- strcasestr: remove check for this unused function
+
+- pop3: fix compiler warning
+
+ error: declaration of 'pop3' shadows a previous local
+
+Steve Holme (23 Feb 2013)
+- [Jiri Hruska brought this change]
+
+ imap: Added URL parsing of new variables
+
+ Updated the imap_parse_url_path() function to parse uidvalidity, uid and
+ section parameters based on RFC-5092.
+
+- [Jiri Hruska brought this change]
+
+ imap: Introduced imap_is_bchar() function
+
+ Added imap_is_bchar() for testing if a given character is a valid bchar
+ or not.
+
+- [Jiri Hruska brought this change]
+
+ imap: Introduced new per-request veriables
+
+ Added uidvalidity, uid and section variables to the per-request IMAP
+ structure in preparation for upcoming URL parsing.
+
+- pingpong: Renamed curl_ftptransfer to curl_pp_transfer
+
+- pop3: Removed some FTP heritage leftovers
+
+ Removed user and passwd from the POP3 struct as these cannot be set on
+ a per-request basis and are leftover from legacy FTP code.
+
+ Changed some comments still using FTP terminology.
+
+- pop3: Moved the per-request variables to the per-request data structure
+
+ Moved the mailbox and custom request variables from the per-connection
+ struct pop3_conn to the new per-request struct and fixed references
+ accordingly.
+
+- pop3: Introduced a custom POP3 structure for per-request data
+
+ Created a new POP3 structure and changed the type of the pop3 proto
+ variable in connectdata from FTP* to POP*.
+
+- [Jiri Hruska brought this change]
+
+ imap: Fixed escaping of mailbox names
+
+ Used imap_atom() to escape mailbox names in imap_select().
+
+- pingpong: Moved curl_ftptransfer definition to pingpong.h
+
+ Moved the ftp transfer structure into pingpong.h so other protocols that
+ require it don't have to include ftp.h.
+
+- urldata.h: Fixed comment for opt_no_body variable
+
+ Corrected comment for opt_no_body variable to CURLOPT_NOBODY.
+
+- email: Minor tidy up following IMAP changes
+
+- [Jiri Hruska brought this change]
+
+ imap: Removed more FTP leftovers
+
+ Changed some variables and comments still using FTP terminology.
+
+- [Jiri Hruska brought this change]
+
+ imap: Removed some FTP heritage leftovers
+
+ Removed user and passwd from the IMAP struct as these cannot be set on
+ a per-request basis and are leftover from legacy FTP code.
+
+- [Jiri Hruska brought this change]
+
+ imap: Introduced a custom IMAP structure for per-request data
+
+ Created a new IMAP structure and changed the type of the imap proto
+ variable in connectdata from FTP* to the new IMAP*.
+
+ Moved the mailbox variable from the per-connection struct imap_conn to
+ the new per-request struct and fixed references accordingly.
+
+- pop3: Updated do phrase clean-up comment
+
+ Following commit 65644b833532 for the IMAP module updated the clean-up
+ comment in POP3.
+
+- imap: Fixed memory leak when performing multiple selects
+
+ Moved the clean-up of the mailbox variable from imap_disconnect() to
+ imap_done() as this variable is allocated in the do phase, yet would
+ have only been freed only once if multiple selects where preformed
+ on a single connection.
+
+Daniel Stenberg (22 Feb 2013)
+- [Alexander Klauer brought this change]
+
+ Documentation: Typo in docs/CONTRIBUTE
+
+ Fixes a typo get → git in docs/CONTRIBUTE.
+
+- [Alexander Klauer brought this change]
+
+ repository: ignore patch files generated by git
+
+ Ignores the patch files generated by the 'git format-patch' command.
+
+- [Alexander Klauer brought this change]
+
+ libcurl documentation: clarifications and typos
+
+ * Elaborates on default values of some curl_easy_setopt() options.
+ * Reminds the user to cast variadic arguments to curl_easy_setopt() to
+ 'void *' where curl internally interprets them as such.
+ * Clarifies the working of the CURLOPT_SEEKFUNCTION option for
+ curl_easy_setopt().
+ * Fixes typo 'forth' → 'fourth'.
+ * Elaborates on CURL_SOCKET_TIMEOUT.
+ * Adds some missing periods.
+ * Notes that the return value of curl_version() must not be passed to
+ free().
+
+- [Alexander Klauer brought this change]
+
+ lib/url.c: Generic read/write data pointers
+
+ Always interprets the pointer passed with the CURLOPT_WRITEDATA or
+ CURLOPT_READDATA options of curl_easy_setopt() as a void pointer in
+ order to avoid problems in environments where FILE and void pointers
+ have non-trivial conversion.
+
+- [Alexander Klauer brought this change]
+
+ libcurl documentation: updates HTML index
+
+ * Adds several links to documentation of library functions which were
+ missing.
+ * Marks documentation of deprecated library functions "(deprecated)".
+ * Removes spurious .html suffixes.
+
+- ossl_seed: avoid recursive seeding!
+
+Steve Holme (22 Feb 2013)
+- [Jiri Hruska brought this change]
+
+ Fixed checking the socket if there is data waiting in the cache
+
+ Use Curl_pp_moredata() in Curl_pp_multi_statemach() to check if there is
+ more data to be received, rather than the socket state, as a task could
+ hang waiting for more data from the socket itself.
+
+- imap.c: Fixed an incorrect variable reference
+
+ Fixed an incorrect variable reference which was introduced in commit
+ a1701eea289f as a result of a copy and paste from SMTP/POP3.
+
+- [Jiri Hruska brought this change]
+
+ pingpong: Introduce Curl_pp_moredata()
+
+ A simple function to test whether the PP is not sending and there are
+ still more data in its receiver cache. This will be later utilized to:
+
+ 1) Change Curl_pp_multi_statemach() and Curl_pp_easy_statemach() to
+ not test socket state and just call user's statemach_act() function
+ when there are more data to process, because otherwise the task would
+ just hang, waiting for more data from the socket.
+
+ 2) Allow PP users to read multiple responses by looping as long as there
+ are more data available and current phase is not finished.
+ (Currently needed for correct processing of IMAP SELECT responses.)
+
+Nick Zitzmann (19 Feb 2013)
+- FEATURES: why yes, we do support metalink
+
+ I just noticed Metalink support wasn't listed as a feature of the tool.
+
+- metalink: fix improbable crash parsing metalink filename
+
+ The this_url pointer wasn't being initialized, so if strdup() would return
+ null when copying the filename in a metalink file, then hilarity would
+ ensue during the cleanup phase. This change was brought to you by clang,
+ which noticed this and raised a warning.
+
+Yang Tse (19 Feb 2013)
+- smtp.c: fix enumerated type mixed with another type
+
+- polarssl threadlock cleanup
+
+Nick Zitzmann (18 Feb 2013)
+- docs: schannel and darwinssl documentation improvements
+
+ Schannel and darwinssl use the certificates built into the
+ OS to do vert verification instead of bundles. darwinssl
+ is thread-safe. Corrected typos in the NSS docs.
+
+Daniel Stenberg (18 Feb 2013)
+- resolver_error: remove wrong error message output
+
+ The attempt to use gai_strerror() or alternative function didn't work as
+ the 'sock_error' field didn't contain the proper error code. But since
+ this hasn't been reported and thus isn't really a big deal I decided to
+ just scrap the whole attempt to output the detailed resolver error and
+ instead remain with just stating that the resolving of the name failed.
+
+- [Kim Vandry brought this change]
+
+ Curl_resolver_is_resolved: show proper host name on failed resolve
+
+- Curl_resolver_is_resolved: fix compiler warning
+
+ conversion to 'int' from 'long int' may alter its value
+
+- compiler warning fix
+
+ follow-up to commit ed7174c6f66, rename 'wait' to 'block'
+
+- compiler warning fix: declaration of 'wait' shadows a global declaration
+
+ It seems older gcc installations (at least) will cause warnings if we
+ name a variable 'wait'. Now changed to 'block' instead.
+
+ Reported by: Jiří Hruška
+ Bug: http://curl.haxx.se/mail/lib-2013-02/0247.html
+
+Nick Zitzmann (17 Feb 2013)
+- MacOSX-Framework: Make script work in Xcode 4.0 and later
+
+ Apple made a number of changes to Xcode 4. The SDKs were moved, the entire
+ Developer folder was moved, and PowerPC support was removed. The script
+ will now adapt to those changes and should be future-proofed against
+ additional changes in case Apple moves the Developer folder ever again.
+ Also, the minimum OS X version compiler option was removed, so that the
+ framework can be built against the latest SDK but still run in older cats.
+
+Daniel Stenberg (17 Feb 2013)
+- docs: refer to CURLOPT_ACCEPT_ENCODING instead of the old name
+
+Steve Holme (16 Feb 2013)
+- email: Tidied up result code variables
+
+ Tidied up result variables to be consistent in name, declaration order
+ and default values.
+
+Nick Zitzmann (16 Feb 2013)
+- ntlm_core: fix compiler warning when building with clang
+
+ Fixed a 64-to-32 compiler warning raised when building with
+ clang and the --with-darwinssl option.
+
+Daniel Stenberg (16 Feb 2013)
+- Guile-curl: a new libcurl binding
+
+- polarsslthreadlock: #include the proper memory and debug includes
+
+ Pointed out by Steve Holme
+
+Steve Holme (16 Feb 2013)
+- email: Removed unnecessary forward declaration
+
+ Due to the reordering of functions in commit 586f5d361474 the forward
+ declaration to state_upgrade_tls() are no longer required.
+
+- pop3.c: Added reference to RFC-5034
+
+Daniel Stenberg (15 Feb 2013)
+- [Willem Sparreboom brought this change]
+
+ PolarSSL: Change to cURL coding style
+
+ Repaired all curl/lib/checksrc.pl warnings in the previous four patches
+
+- [Willem Sparreboom brought this change]
+
+ PolarSSL: WIN32 threading support for entropy
+
+ Added WIN32 threading support for PolarSSL entropy if
+ --enable-threaded-resolver config flag is set and process.h can be found.
+
+- [Willem Sparreboom brought this change]
+
+ PolarSSL: pthread support for entropy
+
+ Added pthread support for polarssl entropy if --enable-threaded-resolver
+ config flag is set and pthread.h can be found.
+
+- [Willem Sparreboom brought this change]
+
+ PolarSSL: changes to entropy/ctr_drbg/HAVEGE_RANDOM
+
+ Add non-threaded entropy and ctr_drbg and removed HAVEGE_RANDOM define
+
+- [Willem Sparreboom brought this change]
+
+ PolarSSL: added human readable error strings
+
+ Print out human readable error strings for PolarSSL related errors
+
+Steve Holme (15 Feb 2013)
+- pop3: Removed unnecessary state changes on failure
+
+- imap: Removed unnecessary state change on failure
+
+Daniel Stenberg (15 Feb 2013)
+- metalink_cleanup: yet another follow-up fix
+
+- metalink_cleanup: define it without argument
+
+ Since the function takes no argument, the macro shouldn't take one as
+ some compilers will error out on that.
+
+- rename "easy" statemachines: call them block instead
+
+ ... since they're not used by the easy interface really, I wanted to
+ remove the association. Also, I unified the pingpong statemachine driver
+ into a single function with a 'wait' argument: Curl_pp_statemach.
+
+Yang Tse (15 Feb 2013)
+- [Gisle Vanem brought this change]
+
+ curl_setup_once.h: definition of HAVE_CLOSE_S defines sclose() to close_s()
+
+- [Gisle Vanem brought this change]
+
+ config-dos.h: define HAVE_CLOSE_S for MSDOS/Watt-32
+
+- [Gisle Vanem brought this change]
+
+ config-dos.h: define strerror() to strerror_s_() for High-C
+
+- [Gisle Vanem brought this change]
+
+ config-dos.h: define HAVE_TERMIOS_H only for djgpp
+
+Steve Holme (14 Feb 2013)
+- smtp.c: Fixed a trailing whitespace
+
+ Remove tailing whitespace introduced in commit 7ed689d24a4e.
+
+- pop3: Fixed blocking SSL connect when connecting via POP3S
+
+ A call to Curl_ssl_connect() was accidentally left in when the SSL/TLS
+ connection layer was reworked in 7.29. Not only would this cause the
+ connection to block but had the additional overhead of calling the
+ non-blocking connect a little bit later.
+
+- smtp: Refactored the smtp_state_auth_resp() function
+
+ Renamed smtp_state_auth_resp() function to match the implementations in
+ IMAP and POP3.
+
+Daniel Stenberg (14 Feb 2013)
+- remove ifdefs
+
+ Clarify the code by reducing ifdefs
+
+- strlcat: remove function
+
+ This function was only used twice, both in places where performance
+ isn't crucial (socks + if2ip). Removing the use of this function removes
+ the need to have our private version for systems without it == reduced
+ amount of code.
+
+ Also, in the SOCKS case it is clearly better to fail gracefully rather
+ than to truncate the results.
+
+ This work was triggered by a bug report on the strcal prototype in
+ strequal.h.
+
+ strlcat was added in commit db70cd28 in February 2001!
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1192
+ Reported by: Jeremy Huddleston
+
+- Curl_FormBoundary: made static
+
+ As Curl_FormBoundary() is no longer used outside of this file (since
+ commit ad7291c1a9d), it is now renamed to formboundary() and is made
+ static.
+
+- ossl_seed: fix the last resort PRNG seeding
+
+ Instead of just abusing the pseudo-randomizer from Curl_FormBoundary(),
+ this now uses Curl_ossl_random() to get entropy.
+
+Steve Holme (13 Feb 2013)
+- email: Tidy up before additional IMAP work
+
+ Replaced two explicit comparisons of CURLE_OK with boolean alternatives.
+
+ General tidy up of comments.
+
+- smtp: Removed duplicate pingpong structure initialisation
+
+ The smtp_connect() function was setting the member variables of the
+ pingpong structure twice, once before calling Curl_pp_init() and once
+ after!
+
+Yang Tse (13 Feb 2013)
+- move msvc IDE related files to 'vs' directory tree
+
+ Use 'vs' directory tree given that 'vc' intended one clashes
+ with an already existing build target in file Makefile.dist.
+
+Daniel Stenberg (13 Feb 2013)
+- install-sh: updated to support multiple source files as arguments
+
+ Version 7.29.0 uses Makefiles generated with a newer version of the
+ autotools than the previous 7.28.1. These Makefiles try to install
+ e.g. header files by calling install-sh with multiple source files as
+ arguments. The bundled install-sh is to old and does not support this.
+
+ The problem only occurs, if install-sh is actually being used, ie. the
+ platform install executable is to old or not usable. Example: Solaris
+ 10.
+
+ The files install-sh and mkinstalldirs are now updated with the automake
+ 1.11.3 versions. A better fix might be to completely remove them from
+ git and force the files to be added/created during buildconf.
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1195
+ Reported by: Rainer Jung
+
+Yang Tse (13 Feb 2013)
+- move msvc IDE related files to 'vc' directory tree
+
+- msvc IDE 'vc' directory tree preparation
+
+Steve Holme (12 Feb 2013)
+- imap: Corrected a whitespace issue from previous commit
+
+ Fixed a small whitespace issue that crept in there in commit
+ 508cdf4da4d7.
+
+- email: Another post optimisation of endofresp() tidy up
+
+- sasl: Fixed null pointer reference when decoding empty digest challenge
+
+ Fixed a null pointer reference when an empty challenge is passed to the
+ Curl_sasl_create_digest_md5_message() function.
+
+ Bug: http://sourceforge.net/p/curl/bugs/1193/
+ Reported by: Saran Neti
+
+- email: Post optimisation of endofresp() tidy up
+
+ Removed unnecessary end of line check and return.
+
+Nick Zitzmann (12 Feb 2013)
+- darwinssl: Fix send glitchiness with data > 32 or so KB
+
+ An ambiguity in the SSLWrite() documentation lead to a bad inference in the
+ code where we assumed SSLWrite() returned the amount of bytes written to
+ the socket, when that is not actually true; it returns the amount of data
+ that is buffered for writing to the socket if it returns errSSLWouldBlock.
+ Now darwinssl_send() returns CURLE_AGAIN if data is buffered but not written.
+
+ Reference URL: http://curl.haxx.se/mail/lib-2013-02/0145.html
+
+Steve Holme (12 Feb 2013)
+- pingpong.h: Fixed line length over 78 characters from b56c9eb48e3c
+
+- pingpong: Optimised the endofresp() function
+
+ Reworked the pp->endofresp() function so that the conndata, line and
+ line length are passed down to it just as with Curl_client_write()
+ rather than each implementation of the function having to query
+ these values.
+
+ Additionally changed the int return type to bool as this is more
+ representative of the function's usage.
+
+- email: Post STARTLS capability code tidy up (Part Three)
+
+ Corrected the order of the upgrade_tls() functions and moved the handler
+ upgrade and getsock() functions out from the middle of the state related
+ functions.
+
+- email: Post STARTLS capability code tidy up (Part Two)
+
+ Corrected the order of the pop3_state_capa() / imap_state_capability()
+ and the pop3_state_capa_resp() / imap_state_capability_resp() functions
+ to match the execution order.
+
+Daniel Stenberg (11 Feb 2013)
+- [ulion brought this change]
+
+ SOCKS: fix socks proxy when noproxy matched
+
+ Test 1212 added to verify
+
+ Bug: http://curl.haxx.se/bug/view.cgi?id=1190
+
+Steve Holme (11 Feb 2013)
+- ntlm: Updated comments for the addition of SASL support to IMAP in v7.29
+
+- RELEASE-NOTES: Updated following the recent imap/pop3/smtp changes
+
+Linus Nielsen Feltzing (10 Feb 2013)
+- Fix NULL pointer reference when closing an unused multi handle.
+
+Steve Holme (10 Feb 2013)
+- email: Post STARTLS capability code tidy up (Part One)
+
+ Corrected the order of the CAPA / CAPABILITY state machine constants to
+ match the execution order.
+
+- imap: Fixed memory leak following commit f6010d9a0359
+
+- smtp: Added support for the STARTTLS capability (Part Two)
+
+ Added honoring of the tls_supported flag when starting a TLS upgrade
+ rather than unconditionally attempting it. If the use_ssl flag is set
+ to CURLUSESSL_TRY and the server doesn't support TLS upgrades then the
+ connection will continue to authenticate. If this flag is set to
+ CURLUSESSL_ALL then the connection will complete with a failure as it
+ did previously.
+
+- pop3: Added support for the STLS capability (Part Three)
+
+ Added honoring of the tls_supported flag when starting a TLS upgrade
+ rather than unconditionally attempting it. If the use_ssl flag is set
+ to CURLUSESSL_TRY and the server doesn't support TLS upgrades then the
+ connection will continue to authenticate. If this flag is set to
+ CURLUSESSL_ALL then the connection will complete with a failure as it
+ did previously.
+
+- imap: Added support for the STARTTLS capability (Part Three)
+
+ Added honoring of the tls_supported flag when starting a TLS upgrade
+ rather than unconditionally attempting it. If the use_ssl flag is set
+ to CURLUSESSL_TRY and the server doesn't support TLS upgrades then the
+ connection will continue to authenticate. If this flag is set to
+ CURLUSESSL_ALL then the connection will complete with a failure as it
+ did previously.
+
+Daniel Stenberg (10 Feb 2013)
+- [Alessandro Ghedini brought this change]
+
+ htmltitle: fix suggested build command
+
+Steve Holme (10 Feb 2013)
+- pop3: Added support for the STLS capability (Part Two)
+
+ Added sending of initial CAPA command before STLS is sent. This allows
+ for the detection of the capability before trying to upgrade the
+ connection.
+
+- imap: Added support for the STARTTLS capability (Part Two)
+
+ Added sending of initial CAPABILITY command before STARTTLS is sent.
+ This allows for the detection of the capability before trying to
+ upgrade the connection.
+
+- smtp: Added support for the STLS capability (Part One)
+
+ Introduced detection of the STARTTLS capability, in order to add support
+ for TLS upgrades without unconditionally sending the STARTTLS command.
+
+- pop3: Added support for the STLS capability (Part One)
+
+ Introduced detection of the STLS capability, in order to add support
+ for TLS upgrades without unconditionally sending the STLS command.
+
+- imap: Added support for the STARTTLS capability (Part One)
+
+ Introduced detection of the STARTTLS capability, in order to add support
+ for TLS upgrades without unconditionally sending the STARTTLS command.