Copy min/max_proto_version from SSL_CTX to SSL only for the same method types
authorTomas Mraz <tomas@openssl.org>
Fri, 21 Apr 2023 15:21:21 +0000 (17:21 +0200)
committerTomas Mraz <tomas@openssl.org>
Tue, 2 May 2023 07:51:23 +0000 (09:51 +0200)
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Todd Short <todd.short@me.com>
(Merged from https://github.com/openssl/openssl/pull/20764)

ssl/ssl_lib.c

index eac7fd659e4be1152fac99d52bfdeb0123542306..9b54357630266a023c427d6447c76c975ed91cd4 100644 (file)
@@ -747,8 +747,10 @@ SSL *ossl_ssl_connection_new_int(SSL_CTX *ctx, const SSL_METHOD *method)
 
     s->options = ctx->options;
     s->dane.flags = ctx->dane.flags;
-    s->min_proto_version = ctx->min_proto_version;
-    s->max_proto_version = ctx->max_proto_version;
+    if (method->version == ctx->method->version) {
+        s->min_proto_version = ctx->min_proto_version;
+        s->max_proto_version = ctx->max_proto_version;
+    }
     s->mode = ctx->mode;
     s->max_cert_list = ctx->max_cert_list;
     s->max_early_data = ctx->max_early_data;