diff --git a/lib/ssl/ssl.h b/lib/ssl/ssl.h index 48fa018..0983b5f 100644 --- a/lib/ssl/ssl.h +++ b/lib/ssl/ssl.h @@ -1117,6 +1117,9 @@ SSL_IMPORT SECStatus SSL_HandshakeNegotiatedExtension(PRFileDesc * socket, SSLExtensionType extId, PRBool *yes); +SSL_IMPORT SECStatus SSL_HandshakeResumedSession(PRFileDesc *fd, + PRBool *last_handshake_resumed); + /* ** How long should we wait before retransmitting the next flight of ** the DTLS handshake? Returns SECFailure if not DTLS or not in a diff --git a/lib/ssl/sslsock.c b/lib/ssl/sslsock.c index 21754d6..b73f8f6 100644 --- a/lib/ssl/sslsock.c +++ b/lib/ssl/sslsock.c @@ -2151,6 +2151,20 @@ SSL_PeerStapledOCSPResponses(PRFileDesc *fd) return &ss->sec.ci.sid->peerCertStatus; } +SECStatus +SSL_HandshakeResumedSession(PRFileDesc *fd, PRBool *handshake_resumed) { + sslSocket *ss = ssl_FindSocket(fd); + + if (!ss) { + SSL_DBG(("%d: SSL[%d]: bad socket in SSL_HandshakeResumedSession", + SSL_GETPID(), fd)); + return SECFailure; + } + + *handshake_resumed = ss->ssl3.hs.isResuming; + return SECSuccess; +} + /************************************************************************/ /* The following functions are the TOP LEVEL SSL functions. ** They all get called through the NSPRIOMethods table below.