Session cache implementations shouldn't have to access SSL_SESSION
authorGeoff Thorpe <geoff@openssl.org>
Sat, 15 Feb 2003 20:38:57 +0000 (20:38 +0000)
committerGeoff Thorpe <geoff@openssl.org>
Sat, 15 Feb 2003 20:38:57 +0000 (20:38 +0000)
elements directly, so this missing functionality is required.

PR: 276

ssl/ssl.h
ssl/ssl_sess.c

index 97b313fd8762284144ee88433590ad9303a8657c..7cd7ece4cd2c77464fe593d8df866a89e59e74bb 100644 (file)
--- 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
index fbc30b94e63b62b2148f6f474751af6667951dd2..b4fb90448f8183aa278d4f69f03d8d86dca831c7 100644 (file)
@@ -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