| diff --git a/ssl/ssl.h b/ssl/ssl.h |
| index 4e7d52e..34142fc 100644 |
| --- a/ssl/ssl.h |
| +++ b/ssl/ssl.h |
| @@ -1007,6 +1007,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/ssl/sslsock.c b/ssl/sslsock.c |
| index fccc664..688f399 100644 |
| --- a/ssl/sslsock.c |
| +++ b/ssl/sslsock.c |
| @@ -1897,6 +1897,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. |