From e29bb83479cc567b4bb414dc55148ec06a30a115 Mon Sep 17 00:00:00 2001 From: Lingmo Zhu Date: Tue, 25 Jul 2017 18:00:44 +0800 Subject: [PATCH] Remove the obsolete misleading comment and code related to it. The comment "The following should not return 1, otherwise, things are very strange" is from the very first commit of OpenSSL. The really meaning of the comment is if the identical session can be found from internal cache after calling get_session_cb but not found before calling get_session_cb, it is just strange. The value 1 was originated from the old doc of SSLeay, reversed from the actual return value of SSL_CTX_add_session(). Anyway either return value of SSL_CTX_add_session() should not interrupt the session resumption process. So the checking of return value of SSL_CTX_add_session() is not necessary. Reviewed-by: Paul Dale Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/4014) --- ssl/ssl_sess.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/ssl/ssl_sess.c b/ssl/ssl_sess.c index a1d2013187..a291ead92a 100644 --- a/ssl/ssl_sess.c +++ b/ssl/ssl_sess.c @@ -545,11 +545,14 @@ int ssl_get_prev_session(SSL *s, CLIENTHELLO_MSG *hello, int *al) (s->session_ctx->session_cache_mode & SSL_SESS_CACHE_NO_INTERNAL_STORE)) { /* - * The following should not return 1, otherwise, things are - * very strange + * Either return value of SSL_CTX_add_session should not + * interrupt the session resumption process. The return + * value is intentionally ignored. */ - if (SSL_CTX_add_session(s->session_ctx, ret)) - goto err; +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-result" + SSL_CTX_add_session(s->session_ctx, ret); +#pragma GCC diagnostic pop } } } -- 2.34.1