summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/libssl/Symbols.list1
-rw-r--r--src/lib/libssl/ssl.h4
-rw-r--r--src/lib/libssl/ssl_sess.c19
3 files changed, 22 insertions, 2 deletions
diff --git a/src/lib/libssl/Symbols.list b/src/lib/libssl/Symbols.list
index 90e73becd7..b20f29a328 100644
--- a/src/lib/libssl/Symbols.list
+++ b/src/lib/libssl/Symbols.list
@@ -134,6 +134,7 @@ SSL_SESSION_get_compress_id
134SSL_SESSION_get_ex_data 134SSL_SESSION_get_ex_data
135SSL_SESSION_get_ex_new_index 135SSL_SESSION_get_ex_new_index
136SSL_SESSION_get_id 136SSL_SESSION_get_id
137SSL_SESSION_get_master_key
137SSL_SESSION_get_time 138SSL_SESSION_get_time
138SSL_SESSION_get_timeout 139SSL_SESSION_get_timeout
139SSL_SESSION_new 140SSL_SESSION_new
diff --git a/src/lib/libssl/ssl.h b/src/lib/libssl/ssl.h
index 692bd1a395..1b7a3fbeba 100644
--- a/src/lib/libssl/ssl.h
+++ b/src/lib/libssl/ssl.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl.h,v 1.139 2018/02/17 15:19:43 jsing Exp $ */ 1/* $OpenBSD: ssl.h,v 1.140 2018/02/17 15:32:20 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 *
@@ -1277,6 +1277,8 @@ const char *SSL_state_string(const SSL *s);
1277const char *SSL_rstate_string(const SSL *s); 1277const char *SSL_rstate_string(const SSL *s);
1278const char *SSL_state_string_long(const SSL *s); 1278const char *SSL_state_string_long(const SSL *s);
1279const char *SSL_rstate_string_long(const SSL *s); 1279const char *SSL_rstate_string_long(const SSL *s);
1280size_t SSL_SESSION_get_master_key(const SSL_SESSION *ss,
1281 unsigned char *out, size_t max_out);
1280long SSL_SESSION_get_time(const SSL_SESSION *s); 1282long SSL_SESSION_get_time(const SSL_SESSION *s);
1281long SSL_SESSION_set_time(SSL_SESSION *s, long t); 1283long SSL_SESSION_set_time(SSL_SESSION *s, long t);
1282long SSL_SESSION_get_timeout(const SSL_SESSION *s); 1284long SSL_SESSION_get_timeout(const SSL_SESSION *s);
diff --git a/src/lib/libssl/ssl_sess.c b/src/lib/libssl/ssl_sess.c
index 59d7d9ec24..70c6daa22d 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.71 2017/04/10 17:27:33 jsing Exp $ */ 1/* $OpenBSD: ssl_sess.c,v 1.72 2018/02/17 15:32:20 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 *
@@ -753,6 +753,23 @@ SSL_set_session(SSL *s, SSL_SESSION *session)
753 return (ret); 753 return (ret);
754} 754}
755 755
756size_t
757SSL_SESSION_get_master_key(const SSL_SESSION *ss, unsigned char *out,
758 size_t max_out)
759{
760 size_t len = ss->master_key_length;
761
762 if (out == NULL)
763 return len;
764
765 if (len > max_out)
766 len = max_out;
767
768 memcpy(out, ss->master_key, len);
769
770 return len;
771}
772
756long 773long
757SSL_SESSION_set_timeout(SSL_SESSION *s, long t) 774SSL_SESSION_set_timeout(SSL_SESSION *s, long t)
758{ 775{