X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=ssl%2Fssl_sess.c;h=849908141d76e43a01ef53d10d81b7ad290338d4;hb=dd9d233e2aa493fa1398b527afbf6aa5cdb23f23;hp=d6755801cc6540443fecd25eac4c0bd8f20bb2bd;hpb=45fd4dbb845a17b0ab18619162b54c7d1352a6b7;p=oweals%2Fopenssl.git diff --git a/ssl/ssl_sess.c b/ssl/ssl_sess.c index d6755801cc..849908141d 100644 --- a/ssl/ssl_sess.c +++ b/ssl/ssl_sess.c @@ -65,7 +65,7 @@ static void SSL_SESSION_list_remove(SSL_CTX *ctx, SSL_SESSION *s); static void SSL_SESSION_list_add(SSL_CTX *ctx,SSL_SESSION *s); static int remove_session_lock(SSL_CTX *ctx, SSL_SESSION *c, int lck); static int ssl_session_num=0; -static STACK *ssl_session_meth=NULL; +static STACK_OF(CRYPTO_EX_DATA_FUNCS) *ssl_session_meth=NULL; #if 1 /* traditional SSLeay behaviour */ SSL_SESSION *SSL_get_session(SSL *ssl) @@ -94,8 +94,8 @@ SSL_SESSION *SSL_get_session(SSL *ssl) } #endif -int SSL_SESSION_get_ex_new_index(long argl, char *argp, int (*new_func)(), - int (*dup_func)(), void (*free_func)()) +int SSL_SESSION_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func) { ssl_session_num++; return(CRYPTO_get_ex_new_index(ssl_session_num-1, @@ -132,7 +132,7 @@ SSL_SESSION *SSL_SESSION_new(void) ss->prev=NULL; ss->next=NULL; ss->compress_meth=0; - CRYPTO_new_ex_data(ssl_session_meth,(char *)ss,&ss->ex_data); + CRYPTO_new_ex_data(ssl_session_meth,ss,&ss->ex_data); return(ss); } @@ -184,7 +184,7 @@ int ssl_get_new_session(SSL *s, int session) { SSL_SESSION *r; - RAND_bytes(ss->session_id,ss->session_id_length); + RAND_pseudo_bytes(ss->session_id,ss->session_id_length); CRYPTO_r_lock(CRYPTO_LOCK_SSL_CTX); r=(SSL_SESSION *)lh_retrieve(s->ctx->sessions, (char *)ss); @@ -472,7 +472,7 @@ void SSL_SESSION_free(SSL_SESSION *ss) } #endif - CRYPTO_free_ex_data(ssl_session_meth,(char *)ss,&ss->ex_data); + CRYPTO_free_ex_data(ssl_session_meth,ss,&ss->ex_data); memset(ss->key_arg,0,SSL_MAX_KEY_ARG_LENGTH); memset(ss->master_key,0,SSL_MAX_MASTER_KEY_LENGTH);