Hi,

I'm attaching a patch which should fix the FTBFS. It is adapted from
#621402 but with minor modifications.

Thanks,
--
Cristian Greco
GPG key ID: 0xCF4D32E4
Description: Enable building when OpenSSL has disabled SSLv2
 Throw exception if SSLv2 connection requested but OPENSSL_NO_SSL2 defined.
 Fall back to returning invalid state if exceptions are disabled.
Author: Luboš Doležel <lu...@dolezel.info>
Bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=622068
Forwarded: no

--- a/include/asio/ssl/detail/openssl_context_service.hpp
+++ b/include/asio/ssl/detail/openssl_context_service.hpp
@@ -21,6 +21,7 @@
 #include "asio/detail/push_options.hpp"
 #include <cstring>
 #include <string>
+#include <stdexcept>
 #include <boost/function.hpp>
 #include "asio/detail/pop_options.hpp"
 
@@ -66,9 +67,16 @@
   // Create a new context implementation.
   void create(impl_type& impl, context_base::method m)
   {
-    ::SSL_METHOD* ssl_method = 0;
+    const ::SSL_METHOD* ssl_method = 0;
     switch (m)
     {
+#if defined(OPENSSL_NO_SSL2)
+    case context_base::sslv2:
+    case context_base::sslv2_client:
+    case context_base::sslv2_server:
+      boost::throw_exception(std::runtime_error("SSLv2 is not supported in your OpenSSL"));
+      break;
+#else
     case context_base::sslv2:
       ssl_method = ::SSLv2_method();
       break;
@@ -78,6 +86,7 @@
     case context_base::sslv2_server:
       ssl_method = ::SSLv2_server_method();
       break;
+#endif
     case context_base::sslv3:
       ssl_method = ::SSLv3_method();
       break;

Attachment: signature.asc
Description: PGP signature

Reply via email to