Skip to content

SSL_R_SHORT_READ undefined in openssl-1.1 #599

@LocutusOfBorg

Description

@LocutusOfBorg

Hi, seems that variable disappeared from new openssl, and it makes websocketpp fail to build with the new one. I tried to understand the asio change chriskohlhoff/asio@7249bcc
but I probably failed.
Attached a patch that makes it build, but I honestly don't know what does it mean :)

--- websocketpp-0.7.0.orig/websocketpp/transport/asio/security/tls.hpp
+++ websocketpp-0.7.0/websocketpp/transport/asio/security/tls.hpp
@@ -355,8 +355,13 @@ protected:
     template <typename ErrorCodeType>
     lib::error_code translate_ec(ErrorCodeType ec) {
         if (ec.category() == lib::asio::error::get_ssl_category()) {
+#if defined SSL_R_SHORT_READ
             if (ERR_GET_REASON(ec.value()) == SSL_R_SHORT_READ) {
                 return make_error_code(transport::error::tls_short_read);
+#else
+            if (ERR_GET_REASON(ec.value()) == boost::asio::ssl::error::stream_truncated) {
+                return make_error_code(boost::asio::ssl::error::stream_truncated);
+#endif

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions