summaryrefslogtreecommitdiffstats
path: root/ssl/ssl_sess.c
diff options
context:
space:
mode:
Diffstat (limited to 'ssl/ssl_sess.c')
-rw-r--r--ssl/ssl_sess.c19
1 files changed, 4 insertions, 15 deletions
diff --git a/ssl/ssl_sess.c b/ssl/ssl_sess.c
index 3f030a76eb..70e2683ee4 100644
--- a/ssl/ssl_sess.c
+++ b/ssl/ssl_sess.c
@@ -872,19 +872,9 @@ int SSL_SESSION_up_ref(SSL_SESSION *ss)
int SSL_set_session(SSL *s, SSL_SESSION *session)
{
int ret = 0;
- const SSL_METHOD *meth;
-
if (session != NULL) {
- meth = s->ctx->method->get_ssl_method(session->ssl_version);
- if (meth == NULL)
- meth = s->method->get_ssl_method(session->ssl_version);
- if (meth == NULL) {
- SSLerr(SSL_F_SSL_SET_SESSION, SSL_R_UNABLE_TO_FIND_SSL_METHOD);
- return (0);
- }
-
- if (meth != s->method) {
- if (!SSL_set_ssl_method(s, meth))
+ if (s->ctx->method != s->method) {
+ if (!SSL_set_ssl_method(s, s->ctx->method))
return (0);
}
@@ -896,9 +886,8 @@ int SSL_set_session(SSL *s, SSL_SESSION *session)
} else {
SSL_SESSION_free(s->session);
s->session = NULL;
- meth = s->ctx->method;
- if (meth != s->method) {
- if (!SSL_set_ssl_method(s, meth))
+ if (s->ctx->method != s->method) {
+ if (!SSL_set_ssl_method(s, s->ctx->method))
return (0);
}
ret = 1;