From 4879ec7bf3dc684e33f330d8b5b9eed5f4a2c344 Mon Sep 17 00:00:00 2001 From: Geoff Thorpe Date: Sat, 15 Feb 2003 20:38:57 +0000 Subject: Session cache implementations shouldn't have to access SSL_SESSION elements directly, so this missing functionality is required. PR: 276 --- ssl/ssl.h | 1 + ssl/ssl_sess.c | 7 +++++++ 2 files changed, 8 insertions(+) (limited to 'ssl') diff --git a/ssl/ssl.h b/ssl/ssl.h index 97b313f..7cd7ece 100644 --- a/ssl/ssl.h +++ b/ssl/ssl.h @@ -1266,6 +1266,7 @@ void SSL_copy_session_id(SSL *to,SSL *from); SSL_SESSION *SSL_SESSION_new(void); unsigned long SSL_SESSION_hash(SSL_SESSION *a); int SSL_SESSION_cmp(SSL_SESSION *a,SSL_SESSION *b); +const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *s, unsigned int *len); #ifndef OPENSSL_NO_FP_API int SSL_SESSION_print_fp(FILE *fp,SSL_SESSION *ses); #endif diff --git a/ssl/ssl_sess.c b/ssl/ssl_sess.c index fbc30b9..b4fb904 100644 --- a/ssl/ssl_sess.c +++ b/ssl/ssl_sess.c @@ -127,6 +127,13 @@ SSL_SESSION *SSL_SESSION_new(void) return(ss); } +const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *s, unsigned int *len) + { + if(len) + *len = s->session_id_length; + return s->session_id; + } + /* Even with SSLv2, we have 16 bytes (128 bits) of session ID space. SSLv3/TLSv1 * has 32 bytes (256 bits). As such, filling the ID with random gunk repeatedly * until we have no conflict is going to complete in one iteration pretty much -- cgit v1.1