Session cache implementations shouldn't have to access SSL_SESSION

elements directly, so this missing functionality is required.

PR: 276
This commit is contained in:
Geoff Thorpe 2003-02-15 20:38:57 +00:00
parent b653327d47
commit 4879ec7bf3
2 changed files with 8 additions and 0 deletions

View file

@ -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

View 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