Commit 4879ec7b authored by Geoff Thorpe's avatar Geoff Thorpe
Browse files

Session cache implementations shouldn't have to access SSL_SESSION

elements directly, so this missing functionality is required.

PR: 276
parent b653327d
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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
+7 −0
Original line number Diff line number Diff line
@@ -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