From 98f6ae16ca6a918fe6d5652841f7c4e9421a058d Mon Sep 17 00:00:00 2001 From: Takashi Kojo Date: Thu, 2 Aug 2018 04:48:39 +0900 Subject: [PATCH] copy cbioFlag from ctx to ssl --- src/internal.c | 1 + src/ssl.c | 10 ++-------- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/src/internal.c b/src/internal.c index 38017ee06..f26a65270 100644 --- a/src/internal.c +++ b/src/internal.c @@ -4625,6 +4625,7 @@ int InitSSL(WOLFSSL* ssl, WOLFSSL_CTX* ctx, int writeDup) /* copy over application session context ID */ ssl->sessionCtxSz = ctx->sessionCtxSz; XMEMCPY(ssl->sessionCtx, ctx->sessionCtx, ctx->sessionCtxSz); + ssl->cbioFlag = ctx->cbioFlag; #endif InitCiphers(ssl); diff --git a/src/ssl.c b/src/ssl.c index a85c40240..a725689b6 100644 --- a/src/ssl.c +++ b/src/ssl.c @@ -11060,17 +11060,11 @@ int wolfSSL_set_compression(WOLFSSL* ssl) ssl->biowr = wr; /* set SSL to use BIO callbacks instead */ - if ( - #ifdef OPENSSL_EXTRA - ((ssl->cbioFlag & WOLFSSL_CBIO_RECV) != 0) && - #endif + if (((ssl->cbioFlag & WOLFSSL_CBIO_RECV) != 0) && (rd != NULL && rd->type != WOLFSSL_BIO_SOCKET)) { ssl->CBIORecv = BioReceive; } - if ( - #ifdef OPENSSL_EXTRA - ((ssl->cbioFlag & WOLFSSL_CBIO_SEND) != 0) && - #endif + if (((ssl->cbioFlag & WOLFSSL_CBIO_SEND) != 0) && (wr != NULL && wr->type != WOLFSSL_BIO_SOCKET)) { ssl->CBIOSend = BioSend; }