[openssl] openssl-3.0 update

Matt Caswell matt at openssl.org
Mon Nov 15 14:54:21 UTC 2021


The branch openssl-3.0 has been updated
       via  5c09b61b8931e076ddbe0e186c87984cb3c071d9 (commit)
      from  f6c418af502e11c88a3ecb6db1816ce27de0210a (commit)


- Log -----------------------------------------------------------------
commit 5c09b61b8931e076ddbe0e186c87984cb3c071d9
Author: Matt Caswell <matt at openssl.org>
Date:   Thu Nov 11 16:59:43 2021 +0000

    Reset the rwstate before calling ASYNC_start_job()
    
    If an async job pauses while processing a TLS connection then the
    rwstate gets set to SSL_ASYNC_PAUSED. When resuming the job we should
    reset the rwstate back to SSL_NOTHING. In fact we can do this
    unconditionally since if we're about to call ASYNC_start_job() then either
    we are about to start the async job for the first time (in which case the
    rwstate should already by SSL_NOTHING), or we are restarting it after a
    pause (in which case reseting it to SSL_NOTHING is the correct action).
    
    Fixes #16809
    
    Reviewed-by: Paul Dale <pauli at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/17013)
    
    (cherry picked from commit 07f620e3acf0dd76a3a03ada9911c544aa483aa7)

-----------------------------------------------------------------------

Summary of changes:
 ssl/ssl_lib.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c
index 501977f02c..f497d83ecd 100644
--- a/ssl/ssl_lib.c
+++ b/ssl/ssl_lib.c
@@ -1770,6 +1770,8 @@ static int ssl_start_async_job(SSL *s, struct ssl_async_args *args,
                  (s->waitctx, ssl_async_wait_ctx_cb, s))
             return -1;
     }
+
+    s->rwstate = SSL_NOTHING;
     switch (ASYNC_start_job(&s->job, s->waitctx, &ret, func, args,
                             sizeof(struct ssl_async_args))) {
     case ASYNC_ERR:


More information about the openssl-commits mailing list