From 79db0ca7a6ec5c3f8474e5b1218dbd5325f4de03 Mon Sep 17 00:00:00 2001 From: Vinnie Falco Date: Fri, 12 Sep 2014 14:10:07 -0700 Subject: [PATCH] Add is_short_read() --- Builds/VisualStudio2013/RippleD.vcxproj | 5 --- .../VisualStudio2013/RippleD.vcxproj.filters | 6 --- src/beast/beast/asio/ssl.h | 41 +++++++++++++++++++ 3 files changed, 41 insertions(+), 11 deletions(-) create mode 100644 src/beast/beast/asio/ssl.h diff --git a/Builds/VisualStudio2013/RippleD.vcxproj b/Builds/VisualStudio2013/RippleD.vcxproj index da7eedc4ab..f881bcaf39 100644 --- a/Builds/VisualStudio2013/RippleD.vcxproj +++ b/Builds/VisualStudio2013/RippleD.vcxproj @@ -3292,8 +3292,6 @@ - - True @@ -3303,9 +3301,6 @@ True - - True - diff --git a/Builds/VisualStudio2013/RippleD.vcxproj.filters b/Builds/VisualStudio2013/RippleD.vcxproj.filters index 3b59524a14..889f8e807c 100644 --- a/Builds/VisualStudio2013/RippleD.vcxproj.filters +++ b/Builds/VisualStudio2013/RippleD.vcxproj.filters @@ -4560,9 +4560,6 @@ ripple\sslutil\api - - ripple\sslutil\api - ripple\sslutil\impl @@ -4572,9 +4569,6 @@ ripple\sslutil\impl - - ripple\sslutil\impl - ripple\testoverlay\api diff --git a/src/beast/beast/asio/ssl.h b/src/beast/beast/asio/ssl.h new file mode 100644 index 0000000000..b9cff3fad4 --- /dev/null +++ b/src/beast/beast/asio/ssl.h @@ -0,0 +1,41 @@ +//------------------------------------------------------------------------------ +/* + This file is part of Beast: https://github.com/vinniefalco/Beast + Copyright 2013, Vinnie Falco + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +*/ +//============================================================================== + +#ifndef BEAST_ASIO_SSL_H_INCLUDED +#define BEAST_ASIO_SSL_H_INCLUDED + +#include +#include + +namespace beast { +namespace asio { + +/** Returns `true` if the error code is a SSL "short read." */ +inline +bool +is_short_read (boost::system::error_code const& ec) +{ + return (ec.category() == boost::asio::error::get_ssl_category()) + && (ERR_GET_REASON(ec.value()) == SSL_R_SHORT_READ); +} + +} +} + +#endif