Index: configure.ac ================================================================== --- configure.ac +++ configure.ac @@ -1816,10 +1816,15 @@ tls_support="OpenSSL" TLS_LIBS="-l$ssl -l$crypto $TLS_LIBS" AC_SUBST(OF_OPENSSL_TLS_STREAM_M, "OFOpenSSLTLSStream.m") + + old_LIBS="$LIBS" + LIBS="$TLS_LIBS $LIBS" + AC_CHECK_FUNCS(SSL_has_pending) + LIBS="$old_LIBS" ]) ], [], [-l$crypto]) ]) AS_IF([test x"$with_tls" = x"gnutls" \ Index: src/tls/OFOpenSSLTLSStream.m ================================================================== --- src/tls/OFOpenSSLTLSStream.m +++ src/tls/OFOpenSSLTLSStream.m @@ -196,12 +196,17 @@ return bytesWritten; } - (bool)lowlevelHasDataInReadBuffer { +#ifdef HAVE_SSL_HAS_PENDING return (_underlyingStream.hasDataInReadBuffer || SSL_has_pending(_SSL) || BIO_ctrl_pending(_readBIO) > 0); +#else + return (_underlyingStream.hasDataInReadBuffer || + SSL_pending(_SSL) > 0 || BIO_ctrl_pending(_readBIO) > 0); +#endif } - (void)asyncPerformClientHandshakeWithHost: (OFString *)host runLoopMode: (OFRunLoopMode)runLoopMode {