Subject: [Boost-bugs] [Boost C++ Libraries] #7209: Asio SSL overflow in constant
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-08-08 11:59:12
#7209: Asio SSL overflow in constant
-------------------------------------------+--------------------------------
Reporter: ramon.casellas@⦠| Owner: chris_kohlhoff
Type: Bugs | Status: new
Milestone: Boost 1.51.0 | Component: asio
Version: Boost 1.51.0 | Severity: Regression
Keywords: asio SSL options overflow int |
-------------------------------------------+--------------------------------
Dear Chris,
I am getting a warning about overflow in SSL context options.
Environment: Ubuntu Quantal (development)
boost trunk (also applies to 1.50 1.51, ...)
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro
4.7.1-6ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs
--enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-
suffix=-4.7 --enable-shared --enable-linker-build-id --with-system-zlib
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib --enable-nls
--with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-
libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-
objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-
checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu
--target=x86_64-linux-gnu
Thread model: posix
gcc version 4.7.1 (Ubuntu/Linaro 4.7.1-6ubuntu1)
{{{
In file included from
/adnet/boost-1.50.0/include/boost/asio/ssl/context.hpp:26:0,
from /adnet/boost-1.50.0/include/boost/asio/ssl.hpp:19,
from /adnet/src/cttc-pce-
trunk/apps/server/plugins/openflow/connection.cpp:12:
/adnet/boost-1.50.0/include/boost/asio/ssl/context_base.hpp:92:42:
warning: overflow in implicit constant conversion [-Woverflow]
}}}
In context_base.hpp
Note in
/usr/include/openssl/ssl.h:564:23019:
{{{
/* SSL_OP_ALL: various bug workarounds that should be rather harmless.
* This used to be 0x000FFFFFL before 0.9.7. */
#define SSL_OP_ALL 0x80000BFFL
}}}
the new value seems to overflow?
could you please consider something in the lines of:
{{{
--- /adnet/boost-trunk/boost/asio/ssl/context_base.hpp 2012-01-12
11:33:11.408503342 +0100
+++ /adnet/boost-1.50.0/include/boost/asio/ssl/context_base.hpp 2012-08-08
13:55:48.660086890 +0200
@@ -71,29 +71,29 @@
};
/// Bitmask type for SSL options.
- typedef int options;
+ typedef long options;
#if defined(GENERATING_DOCUMENTATION)
/// Implement various bug workarounds.
- static const int default_workarounds = implementation_defined;
+ static const long default_workarounds = implementation_defined;
/// Always create a new key when using tmp_dh parameters.
- static const int single_dh_use = implementation_defined;
+ static const long single_dh_use = implementation_defined;
/// Disable SSL v2.
- static const int no_sslv2 = implementation_defined;
+ static const long no_sslv2 = implementation_defined;
/// Disable SSL v3.
- static const int no_sslv3 = implementation_defined;
+ static const long no_sslv3 = implementation_defined;
/// Disable TLS v1.
- static const int no_tlsv1 = implementation_defined;
+ static const long no_tlsv1 = implementation_defined;
#else
- BOOST_STATIC_CONSTANT(int, default_workarounds = SSL_OP_ALL);
- BOOST_STATIC_CONSTANT(int, single_dh_use = SSL_OP_SINGLE_DH_USE);
- BOOST_STATIC_CONSTANT(int, no_sslv2 = SSL_OP_NO_SSLv2);
- BOOST_STATIC_CONSTANT(int, no_sslv3 = SSL_OP_NO_SSLv3);
- BOOST_STATIC_CONSTANT(int, no_tlsv1 = SSL_OP_NO_TLSv1);
+ BOOST_STATIC_CONSTANT(long, default_workarounds = SSL_OP_ALL);
+ BOOST_STATIC_CONSTANT(long, single_dh_use = SSL_OP_SINGLE_DH_USE);
+ BOOST_STATIC_CONSTANT(long, no_sslv2 = SSL_OP_NO_SSLv2);
+ BOOST_STATIC_CONSTANT(long, no_sslv3 = SSL_OP_NO_SSLv3);
+ BOOST_STATIC_CONSTANT(long, no_tlsv1 = SSL_OP_NO_TLSv1);
#endif
/// File format types.
}}}
or, if you do not consider that a bug, silence the warning?
note that SSL_CTX_set_options takes a long, if I am not mistaken
Thanks in advance,
Ramon
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/7209> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:10 UTC