|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r72847 - in branches/release: boost/asio/detail boost/asio/ssl/detail/impl boost/asio/ssl/impl libs/asio/doc/overview
From: chris_at_[hidden]
Date: 2011-07-02 05:18:42
Author: chris_kohlhoff
Date: 2011-07-02 05:18:41 EDT (Sat, 02 Jul 2011)
New Revision: 72847
URL: http://svn.boost.org/trac/boost/changeset/72847
Log:
Merge fixes from trunk:
* Fix bullet list.
* Fix include guard.
* Zero-length reads and writes need to complete immediately.
* Fix for static mutex initialisation.
Authorized by Beman
Text files modified:
branches/release/boost/asio/detail/win_static_mutex.hpp | 6 +++++-
branches/release/boost/asio/ssl/detail/impl/engine.ipp | 12 ++++++++++++
branches/release/boost/asio/ssl/impl/src.hpp | 6 +++---
branches/release/libs/asio/doc/overview/ssl.qbk | 14 +++++++-------
4 files changed, 27 insertions(+), 11 deletions(-)
Modified: branches/release/boost/asio/detail/win_static_mutex.hpp
==============================================================================
--- branches/release/boost/asio/detail/win_static_mutex.hpp (original)
+++ branches/release/boost/asio/detail/win_static_mutex.hpp 2011-07-02 05:18:41 EDT (Sat, 02 Jul 2011)
@@ -55,7 +55,11 @@
::CRITICAL_SECTION crit_section_;
};
-#define BOOST_ASIO_WIN_STATIC_MUTEX_INIT { false, { 0, 0, 0, 0, 0, 0 } }
+#if defined(UNDER_CE)
+# define BOOST_ASIO_WIN_STATIC_MUTEX_INIT { false, { 0, 0, 0, 0, 0 } }
+#else // defined(UNDER_CE)
+# define BOOST_ASIO_WIN_STATIC_MUTEX_INIT { false, { 0, 0, 0, 0, 0, 0 } }
+#endif // defined(UNDER_CE)
} // namespace detail
} // namespace asio
Modified: branches/release/boost/asio/ssl/detail/impl/engine.ipp
==============================================================================
--- branches/release/boost/asio/ssl/detail/impl/engine.ipp (original)
+++ branches/release/boost/asio/ssl/detail/impl/engine.ipp 2011-07-02 05:18:41 EDT (Sat, 02 Jul 2011)
@@ -126,6 +126,12 @@
engine::want engine::write(const boost::asio::const_buffer& data,
boost::system::error_code& ec, std::size_t& bytes_transferred)
{
+ if (boost::asio::buffer_size(data) == 0)
+ {
+ ec = boost::system::error_code();
+ return engine::want_nothing;
+ }
+
return perform(&engine::do_write,
const_cast<void*>(boost::asio::buffer_cast<const void*>(data)),
boost::asio::buffer_size(data), ec, &bytes_transferred);
@@ -134,6 +140,12 @@
engine::want engine::read(const boost::asio::mutable_buffer& data,
boost::system::error_code& ec, std::size_t& bytes_transferred)
{
+ if (boost::asio::buffer_size(data) == 0)
+ {
+ ec = boost::system::error_code();
+ return engine::want_nothing;
+ }
+
return perform(&engine::do_read,
boost::asio::buffer_cast<void*>(data),
boost::asio::buffer_size(data), ec, &bytes_transferred);
Modified: branches/release/boost/asio/ssl/impl/src.hpp
==============================================================================
--- branches/release/boost/asio/ssl/impl/src.hpp (original)
+++ branches/release/boost/asio/ssl/impl/src.hpp 2011-07-02 05:18:41 EDT (Sat, 02 Jul 2011)
@@ -8,8 +8,8 @@
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
-#ifndef BOOST_ASIO_IMPL_SRC_HPP
-#define BOOST_ASIO_IMPL_SRC_HPP
+#ifndef BOOST_ASIO_SSL_IMPL_SRC_HPP
+#define BOOST_ASIO_SSL_IMPL_SRC_HPP
#define BOOST_ASIO_SOURCE
@@ -25,4 +25,4 @@
#include <boost/asio/ssl/detail/impl/openssl_init.ipp>
#include <boost/asio/ssl/impl/rfc2818_verification.ipp>
-#endif // BOOST_ASIO_IMPL_SRC_HPP
+#endif // BOOST_ASIO_SSL_IMPL_SRC_HPP
Modified: branches/release/libs/asio/doc/overview/ssl.qbk
==============================================================================
--- branches/release/libs/asio/doc/overview/ssl.qbk (original)
+++ branches/release/libs/asio/doc/overview/ssl.qbk 2011-07-02 05:18:41 EDT (Sat, 02 Jul 2011)
@@ -56,18 +56,18 @@
Boost.Asio provides various methods for configuring the way SSL certificates are
verified:
- * [link boost_asio.reference.ssl__context.set_default_verify_paths ssl::context::set_default_verify_paths()]
- * [link boost_asio.reference.ssl__context.set_verify_mode ssl::context::set_verify_mode()]
- * [link boost_asio.reference.ssl__context.set_verify_callback ssl::context::set_verify_callback()]
- * [link boost_asio.reference.ssl__context.load_verify_file ssl::context::load_verify_file()]
- * [link boost_asio.reference.ssl__stream.set_verify_mode ssl::stream::set_verify_mode()]
- * [link boost_asio.reference.ssl__stream.set_verify_callback ssl::stream::set_verify_callback()]
+* [link boost_asio.reference.ssl__context.set_default_verify_paths ssl::context::set_default_verify_paths()]
+* [link boost_asio.reference.ssl__context.set_verify_mode ssl::context::set_verify_mode()]
+* [link boost_asio.reference.ssl__context.set_verify_callback ssl::context::set_verify_callback()]
+* [link boost_asio.reference.ssl__context.load_verify_file ssl::context::load_verify_file()]
+* [link boost_asio.reference.ssl__stream.set_verify_mode ssl::stream::set_verify_mode()]
+* [link boost_asio.reference.ssl__stream.set_verify_callback ssl::stream::set_verify_callback()]
To simplify use cases where certificates are verified according to the rules in
RFC 2818 (certificate verification for HTTPS), Boost.Asio provides a reusable
verification callback as a function object:
- * [link boost_asio.reference.ssl__rfc2818_verification ssl::rfc2818_verification]
+* [link boost_asio.reference.ssl__rfc2818_verification ssl::rfc2818_verification]
The following example shows verification of a remote host's certificate
according to the rules used by HTTPS:
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk