Author: brane
Date: Thu Oct 25 15:05:20 2018
New Revision: 1844837

URL: http://svn.apache.org/viewvc?rev=1844837&view=rev
Log:
Fix test failures with OpenSSL 1.1 and later. The MockHTTPinC server must
also disable TLSv1.3 if the OpenSSL library enables it by default.

* test/MockHTTPinC/MockHTTP.h (mhSSLProtocol_t): Add mhProtoTLSv13.
* test/MockHTTPinC/MockHTTP_server.c
  (initSSLCtx): Handle TLSv1.3 in the context if OpenSSL supports it.
  (sslHandshake): Remove the quite useless printf() "fix".

Modified:
    serf/trunk/test/MockHTTPinC/MockHTTP.h
    serf/trunk/test/MockHTTPinC/MockHTTP_server.c

Modified: serf/trunk/test/MockHTTPinC/MockHTTP.h
URL: 
http://svn.apache.org/viewvc/serf/trunk/test/MockHTTPinC/MockHTTP.h?rev=1844837&r1=1844836&r2=1844837&view=diff
==============================================================================
--- serf/trunk/test/MockHTTPinC/MockHTTP.h (original)
+++ serf/trunk/test/MockHTTPinC/MockHTTP.h Thu Oct 25 15:05:20 2018
@@ -71,6 +71,7 @@ typedef enum mhSSLProtocol_t {
     mhProtoTLSv1  = 0x04,
     mhProtoTLSv11 = 0x08,
     mhProtoTLSv12 = 0x10,
+    mhProtoTLSv13 = 0x20,
 } mhSSLProtocol_t;
 
 typedef enum mhThreading_t {

Modified: serf/trunk/test/MockHTTPinC/MockHTTP_server.c
URL: 
http://svn.apache.org/viewvc/serf/trunk/test/MockHTTPinC/MockHTTP_server.c?rev=1844837&r1=1844836&r2=1844837&view=diff
==============================================================================
--- serf/trunk/test/MockHTTPinC/MockHTTP_server.c (original)
+++ serf/trunk/test/MockHTTPinC/MockHTTP_server.c Thu Oct 25 15:05:20 2018
@@ -2696,6 +2696,10 @@ static apr_status_t initSSLCtx(_mhClient
         if (! (cctx->protocols & mhProtoTLSv12))
             SSL_CTX_set_options(ssl_ctx->ctx, SSL_OP_NO_TLSv1_2);
 #endif
+#ifdef SSL_OP_NO_TLSv1_3
+        if (! (cctx->protocols & mhProtoTLSv13))
+            SSL_CTX_set_options(ssl_ctx->ctx, SSL_OP_NO_TLSv1_3);
+#endif
 
 #if OPENSSL_VERSION_NUMBER >= 0x10002000L /* >= 1.0.2 */
 #  ifndef OPENSSL_NO_TLSEXT
@@ -3045,11 +3049,6 @@ static apr_status_t sslHandshake(_mhClie
                         return APR_EAGAIN;
                     }
 
-                    /* XXX This is magic that makes the tests pass on macOS
-                           with OpenSSL 1.0.2n and later. Please don't ask
-                           for explanations; see above, re: "magic". */
-                    fprintf(stderr, "\n");
-
                     _mhLog(MH_VERBOSE, cctx->skt,
                            "SSL Error %d: Library=%d, Function=%d, Reason=%d",
                            ssl_err, lib, func, reason);


Reply via email to