diff options
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/libssl/Symbols.list | 1 | ||||
-rw-r--r-- | src/lib/libssl/ssl.h | 5 | ||||
-rw-r--r-- | src/lib/libssl/ssl_sess.c | 9 |
3 files changed, 12 insertions, 3 deletions
diff --git a/src/lib/libssl/Symbols.list b/src/lib/libssl/Symbols.list index ed7f9f6e64..60e56396bf 100644 --- a/src/lib/libssl/Symbols.list +++ b/src/lib/libssl/Symbols.list | |||
@@ -145,6 +145,7 @@ SSL_SESSION_set1_id_context | |||
145 | SSL_SESSION_set_ex_data | 145 | SSL_SESSION_set_ex_data |
146 | SSL_SESSION_set_time | 146 | SSL_SESSION_set_time |
147 | SSL_SESSION_set_timeout | 147 | SSL_SESSION_set_timeout |
148 | SSL_SESSION_up_ref | ||
148 | SSL_accept | 149 | SSL_accept |
149 | SSL_add_client_CA | 150 | SSL_add_client_CA |
150 | SSL_add_dir_cert_subjects_to_stack | 151 | SSL_add_dir_cert_subjects_to_stack |
diff --git a/src/lib/libssl/ssl.h b/src/lib/libssl/ssl.h index 47c90fb39d..c24c729bb2 100644 --- a/src/lib/libssl/ssl.h +++ b/src/lib/libssl/ssl.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssl.h,v 1.141 2018/02/20 18:07:11 tb Exp $ */ | 1 | /* $OpenBSD: ssl.h,v 1.142 2018/02/22 17:25:18 jsing Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -1290,12 +1290,13 @@ int SSL_SESSION_set1_id_context(SSL_SESSION *s, | |||
1290 | const unsigned char *sid_ctx, unsigned int sid_ctx_len); | 1290 | const unsigned char *sid_ctx, unsigned int sid_ctx_len); |
1291 | 1291 | ||
1292 | SSL_SESSION *SSL_SESSION_new(void); | 1292 | SSL_SESSION *SSL_SESSION_new(void); |
1293 | void SSL_SESSION_free(SSL_SESSION *ses); | ||
1294 | int SSL_SESSION_up_ref(SSL_SESSION *ss); | ||
1293 | const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *s, | 1295 | const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *s, |
1294 | unsigned int *len); | 1296 | unsigned int *len); |
1295 | unsigned int SSL_SESSION_get_compress_id(const SSL_SESSION *s); | 1297 | unsigned int SSL_SESSION_get_compress_id(const SSL_SESSION *s); |
1296 | int SSL_SESSION_print_fp(FILE *fp, const SSL_SESSION *ses); | 1298 | int SSL_SESSION_print_fp(FILE *fp, const SSL_SESSION *ses); |
1297 | int SSL_SESSION_print(BIO *fp, const SSL_SESSION *ses); | 1299 | int SSL_SESSION_print(BIO *fp, const SSL_SESSION *ses); |
1298 | void SSL_SESSION_free(SSL_SESSION *ses); | ||
1299 | int i2d_SSL_SESSION(SSL_SESSION *in, unsigned char **pp); | 1300 | int i2d_SSL_SESSION(SSL_SESSION *in, unsigned char **pp); |
1300 | int SSL_set_session(SSL *to, SSL_SESSION *session); | 1301 | int SSL_set_session(SSL *to, SSL_SESSION *session); |
1301 | int SSL_CTX_add_session(SSL_CTX *s, SSL_SESSION *c); | 1302 | int SSL_CTX_add_session(SSL_CTX *s, SSL_SESSION *c); |
diff --git a/src/lib/libssl/ssl_sess.c b/src/lib/libssl/ssl_sess.c index 54e39183f5..37a0238004 100644 --- a/src/lib/libssl/ssl_sess.c +++ b/src/lib/libssl/ssl_sess.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssl_sess.c,v 1.73 2018/02/20 18:07:11 tb Exp $ */ | 1 | /* $OpenBSD: ssl_sess.c,v 1.74 2018/02/22 17:25:18 jsing Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -710,6 +710,13 @@ SSL_SESSION_free(SSL_SESSION *ss) | |||
710 | } | 710 | } |
711 | 711 | ||
712 | int | 712 | int |
713 | SSL_SESSION_up_ref(SSL_SESSION *ss) | ||
714 | { | ||
715 | int refs = CRYPTO_add(&ss->references, 1, CRYPTO_LOCK_SSL_SESSION); | ||
716 | return (refs > 1) ? 1 : 0; | ||
717 | } | ||
718 | |||
719 | int | ||
713 | SSL_set_session(SSL *s, SSL_SESSION *session) | 720 | SSL_set_session(SSL *s, SSL_SESSION *session) |
714 | { | 721 | { |
715 | int ret = 0; | 722 | int ret = 0; |