Remove the obsolete misleading comment and code related to it.
authorLingmo Zhu <zlm2006@gmail.com>
Tue, 25 Jul 2017 10:00:44 +0000 (18:00 +0800)
committerMatt Caswell <matt@openssl.org>
Thu, 3 Aug 2017 09:23:07 +0000 (10:23 +0100)
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 <paul.dale@oracle.com>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/4014)

(cherry picked from commit e29bb83479cc567b4bb414dc55148ec06a30a115)

ssl/ssl_sess.c

index 92ba599566052859c9bf54b81d228f520f0e2d59..8fd5f396aa82658414e8563306eea09cc98127d4 100644 (file)
@@ -531,11 +531,14 @@ int ssl_get_prev_session(SSL *s, const PACKET *ext, const PACKET *session_id)
                 (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
             }
         }
     }