forked from premiere/premiere-libtorrent
fix openssl build with boost-1.46
This commit is contained in:
parent
3ef9190b01
commit
b5bf19c07b
2
Jamfile
2
Jamfile
|
@ -73,7 +73,7 @@ rule linking ( properties * )
|
||||||
}
|
}
|
||||||
|
|
||||||
# gcrypt libraries, if enabled
|
# gcrypt libraries, if enabled
|
||||||
if <encryption>gcrypt in $(properties) || <encryption>openssl in $(properties)
|
if <encryption>gcrypt in $(properties)
|
||||||
{
|
{
|
||||||
# on mac os x, adding the /opt/local/include path
|
# on mac os x, adding the /opt/local/include path
|
||||||
# would include openssl headers incompatible with
|
# would include openssl headers incompatible with
|
||||||
|
|
|
@ -69,7 +69,9 @@ public:
|
||||||
void set_verify_callback(T const& fun, error_code& ec)
|
void set_verify_callback(T const& fun, error_code& ec)
|
||||||
{ m_sock.set_verify_callback(fun, ec); }
|
{ m_sock.set_verify_callback(fun, ec); }
|
||||||
|
|
||||||
|
#if BOOST_VERSION > 104600
|
||||||
SSL* native_handle() { return m_sock.native_handle(); }
|
SSL* native_handle() { return m_sock.native_handle(); }
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef boost::function<void(error_code const&)> handler_type;
|
typedef boost::function<void(error_code const&)> handler_type;
|
||||||
|
|
||||||
|
|
|
@ -42,7 +42,7 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
#include "libtorrent/debug.hpp"
|
#include "libtorrent/debug.hpp"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef TORRENT_USE_OPENSSL
|
#if defined TORRENT_USE_OPENSSL && BOOST_VERSION > 104600
|
||||||
#include <boost/asio/ssl/rfc2818_verification.hpp>
|
#include <boost/asio/ssl/rfc2818_verification.hpp>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -340,7 +340,7 @@ void http_connection::start(std::string const& hostname, std::string const& port
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef TORRENT_USE_OPENSSL
|
#if defined TORRENT_USE_OPENSSL && BOOST_VERSION > 104600
|
||||||
// for SSL connections, make sure to authenticate the hostname
|
// for SSL connections, make sure to authenticate the hostname
|
||||||
// of the certificate
|
// of the certificate
|
||||||
#define CASE(t) case socket_type_int_impl<ssl_stream<t> >::value: \
|
#define CASE(t) case socket_type_int_impl<ssl_stream<t> >::value: \
|
||||||
|
@ -361,6 +361,8 @@ void http_connection::start(std::string const& hostname, std::string const& port
|
||||||
, me, ec, (char*)0, 0));
|
, me, ec, (char*)0, 0));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
#undef CASE
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if TORRENT_USE_I2P
|
#if TORRENT_USE_I2P
|
||||||
|
|
|
@ -537,7 +537,7 @@ namespace aux {
|
||||||
int session_impl::logging_allocator::allocated_bytes = 0;
|
int session_impl::logging_allocator::allocated_bytes = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef TORRENT_USE_OPENSSL
|
#if defined TORRENT_USE_OPENSSL && BOOST_VERSION > 104600
|
||||||
// when running bittorrent over SSL, the SNI (server name indication)
|
// when running bittorrent over SSL, the SNI (server name indication)
|
||||||
// extension is used to know which torrent the incoming connection is
|
// extension is used to know which torrent the incoming connection is
|
||||||
// trying to connect to. The 40 first bytes in the name is expected to
|
// trying to connect to. The 40 first bytes in the name is expected to
|
||||||
|
@ -684,8 +684,10 @@ namespace aux {
|
||||||
error_code ec;
|
error_code ec;
|
||||||
#ifdef TORRENT_USE_OPENSSL
|
#ifdef TORRENT_USE_OPENSSL
|
||||||
m_ssl_ctx.set_verify_mode(asio::ssl::context::verify_none, ec);
|
m_ssl_ctx.set_verify_mode(asio::ssl::context::verify_none, ec);
|
||||||
|
#if BOOST_VERSION > 104600
|
||||||
SSL_CTX_set_tlsext_servername_callback(m_ssl_ctx.native_handle(), servername_callback);
|
SSL_CTX_set_tlsext_servername_callback(m_ssl_ctx.native_handle(), servername_callback);
|
||||||
SSL_CTX_set_tlsext_servername_arg(m_ssl_ctx.native_handle(), this);
|
SSL_CTX_set_tlsext_servername_arg(m_ssl_ctx.native_handle(), this);
|
||||||
|
#endif // BOOST_VERSION
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef TORRENT_DISABLE_DHT
|
#ifndef TORRENT_DISABLE_DHT
|
||||||
|
|
|
@ -1477,7 +1477,7 @@ namespace libtorrent
|
||||||
// tell the client we need a cert for this torrent
|
// tell the client we need a cert for this torrent
|
||||||
alerts().post_alert(torrent_need_cert_alert(get_handle()));
|
alerts().post_alert(torrent_need_cert_alert(get_handle()));
|
||||||
#else
|
#else
|
||||||
set_error(asio::error::not_supported, "x.509 certificate");
|
set_error(asio::error::operation_not_supported, "x.509 certificate");
|
||||||
pause();
|
pause();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -4606,7 +4606,7 @@ namespace libtorrent
|
||||||
str->set_dst_name(hostname);
|
str->set_dst_name(hostname);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef TORRENT_USE_OPENSSL
|
#if defined TORRENT_USE_OPENSSL && BOOST_VERSION > 104600
|
||||||
// for SSL connections, make sure to authenticate the hostname
|
// for SSL connections, make sure to authenticate the hostname
|
||||||
// of the certificate
|
// of the certificate
|
||||||
#define CASE(t) case socket_type_int_impl<ssl_stream<t> >::value: \
|
#define CASE(t) case socket_type_int_impl<ssl_stream<t> >::value: \
|
||||||
|
@ -4626,6 +4626,7 @@ namespace libtorrent
|
||||||
m_ses.m_alerts.post_alert(url_seed_alert(get_handle(), web->url, ec));
|
m_ses.m_alerts.post_alert(url_seed_alert(get_handle(), web->url, ec));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
#undef CASE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
boost::intrusive_ptr<peer_connection> c;
|
boost::intrusive_ptr<peer_connection> c;
|
||||||
|
@ -5494,7 +5495,7 @@ namespace libtorrent
|
||||||
(void)ret;
|
(void)ret;
|
||||||
TORRENT_ASSERT(ret);
|
TORRENT_ASSERT(ret);
|
||||||
|
|
||||||
#ifdef TORRENT_USE_OPENSSL
|
#if defined TORRENT_USE_OPENSSL && BOOST_VERSION > 104600
|
||||||
if (is_ssl_torrent())
|
if (is_ssl_torrent())
|
||||||
{
|
{
|
||||||
// for ssl sockets, set the hostname
|
// for ssl sockets, set the hostname
|
||||||
|
@ -5512,6 +5513,7 @@ namespace libtorrent
|
||||||
default: break;
|
default: break;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
#undef CASE
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5644,6 +5646,7 @@ namespace libtorrent
|
||||||
// INVARIANT_CHECK;
|
// INVARIANT_CHECK;
|
||||||
|
|
||||||
#ifdef TORRENT_USE_OPENSSL
|
#ifdef TORRENT_USE_OPENSSL
|
||||||
|
#if BOOST_VERSION > 104600
|
||||||
if (is_ssl_torrent())
|
if (is_ssl_torrent())
|
||||||
{
|
{
|
||||||
// if this is an SSL torrent, don't allow non SSL peers on it
|
// if this is an SSL torrent, don't allow non SSL peers on it
|
||||||
|
@ -5684,6 +5687,13 @@ namespace libtorrent
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#else // BOOST_VERSION
|
||||||
|
if (is_ssl_torrent())
|
||||||
|
{
|
||||||
|
p->disconnect(asio::error::operation_not_supported);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
#endif // TORRENT_USE_OPENSSL
|
#endif // TORRENT_USE_OPENSSL
|
||||||
|
|
||||||
TORRENT_ASSERT(p != 0);
|
TORRENT_ASSERT(p != 0);
|
||||||
|
|
Loading…
Reference in New Issue