diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h index 13dd59c833d5ffe4e89ebe52bcadf5d34cfd744e..0f75509827a5a6f5ff464c4081d49333d4f60e5a 100644 --- a/include/openssl/ssl.h +++ b/include/openssl/ssl.h @@ -1506,6 +1506,8 @@ __owur long SSL_SESSION_set_time(SSL_SESSION *s, long t); __owur long SSL_SESSION_get_timeout(const SSL_SESSION *s); __owur long SSL_SESSION_set_timeout(SSL_SESSION *s, long t); __owur int SSL_SESSION_get_protocol_version(const SSL_SESSION *s); +__owur int SSL_SESSION_set_protocol_version(SSL_SESSION *s, int version); + __owur const char *SSL_SESSION_get0_hostname(const SSL_SESSION *s); __owur const SSL_CIPHER *SSL_SESSION_get0_cipher(const SSL_SESSION *s); __owur int SSL_SESSION_set_cipher(SSL_SESSION *s, const SSL_CIPHER *cipher); diff --git a/ssl/ssl_sess.c b/ssl/ssl_sess.c index 2b3d2f770ac74f54c7dde304b67650aaaa7cd7dd..df992bd2f3c9f50f27da5b7dd6fea5022f32ef87 100644 --- a/ssl/ssl_sess.c +++ b/ssl/ssl_sess.c @@ -858,6 +858,12 @@ int SSL_SESSION_get_protocol_version(const SSL_SESSION *s) return s->ssl_version; } +int SSL_SESSION_set_protocol_version(SSL_SESSION *s, int version) +{ + s->ssl_version = version; + return 1; +} + const SSL_CIPHER *SSL_SESSION_get0_cipher(const SSL_SESSION *s) { return s->cipher; diff --git a/util/libssl.num b/util/libssl.num index db5de71995e3f3dc8612e491e74148efeab33ea8..ae16d136246f1ad45ddbdc30c8674087a2278dcf 100644 --- a/util/libssl.num +++ b/util/libssl.num @@ -458,3 +458,4 @@ SSL_CTX_set_psk_find_session_callback 458 1_1_1 EXIST::FUNCTION: SSL_CIPHER_get_handshake_digest 459 1_1_1 EXIST::FUNCTION: SSL_SESSION_set1_master_key 460 1_1_1 EXIST::FUNCTION: SSL_SESSION_set_cipher 461 1_1_1 EXIST::FUNCTION: +SSL_SESSION_set_protocol_version 462 1_1_1 EXIST::FUNCTION: