diff options
author | jsing <> | 2018-02-17 15:19:43 +0000 |
---|---|---|
committer | jsing <> | 2018-02-17 15:19:43 +0000 |
commit | a282693fc8d0a233890a16d0b7cecfc5916b414a (patch) | |
tree | 63fd9a99945effca38a3c75038ef2e4ad7351376 /src/lib | |
parent | fa2d9de703f0090c30f45cb99f79591dad4ed787 (diff) | |
download | openbsd-a282693fc8d0a233890a16d0b7cecfc5916b414a.tar.gz openbsd-a282693fc8d0a233890a16d0b7cecfc5916b414a.tar.bz2 openbsd-a282693fc8d0a233890a16d0b7cecfc5916b414a.zip |
Provide SSL_get_client_random() and SSL_get_server_random()
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/libssl/Symbols.list | 2 | ||||
-rw-r--r-- | src/lib/libssl/ssl.h | 5 | ||||
-rw-r--r-- | src/lib/libssl/ssl_lib.c | 37 |
3 files changed, 41 insertions, 3 deletions
diff --git a/src/lib/libssl/Symbols.list b/src/lib/libssl/Symbols.list index f24c7fc9b6..90e73becd7 100644 --- a/src/lib/libssl/Symbols.list +++ b/src/lib/libssl/Symbols.list | |||
@@ -172,6 +172,7 @@ SSL_get_certificate | |||
172 | SSL_get_cipher_list | 172 | SSL_get_cipher_list |
173 | SSL_get_ciphers | 173 | SSL_get_ciphers |
174 | SSL_get_client_CA_list | 174 | SSL_get_client_CA_list |
175 | SSL_get_client_random | ||
175 | SSL_get_current_cipher | 176 | SSL_get_current_cipher |
176 | SSL_get_current_compression | 177 | SSL_get_current_compression |
177 | SSL_get_current_expansion | 178 | SSL_get_current_expansion |
@@ -192,6 +193,7 @@ SSL_get_rbio | |||
192 | SSL_get_read_ahead | 193 | SSL_get_read_ahead |
193 | SSL_get_rfd | 194 | SSL_get_rfd |
194 | SSL_get_selected_srtp_profile | 195 | SSL_get_selected_srtp_profile |
196 | SSL_get_server_random | ||
195 | SSL_get_servername | 197 | SSL_get_servername |
196 | SSL_get_servername_type | 198 | SSL_get_servername_type |
197 | SSL_get_session | 199 | SSL_get_session |
diff --git a/src/lib/libssl/ssl.h b/src/lib/libssl/ssl.h index 0784ce1ef7..692bd1a395 100644 --- a/src/lib/libssl/ssl.h +++ b/src/lib/libssl/ssl.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssl.h,v 1.138 2018/02/17 15:13:12 jsing Exp $ */ | 1 | /* $OpenBSD: ssl.h,v 1.139 2018/02/17 15:19:43 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 | * |
@@ -1510,6 +1510,9 @@ void SSL_CTX_set_tmp_ecdh_callback(SSL_CTX *ctx, | |||
1510 | void SSL_set_tmp_ecdh_callback(SSL *ssl, | 1510 | void SSL_set_tmp_ecdh_callback(SSL *ssl, |
1511 | EC_KEY *(*ecdh)(SSL *ssl, int is_export, int keylength)); | 1511 | EC_KEY *(*ecdh)(SSL *ssl, int is_export, int keylength)); |
1512 | 1512 | ||
1513 | size_t SSL_get_client_random(const SSL *s, unsigned char *out, size_t max_out); | ||
1514 | size_t SSL_get_server_random(const SSL *s, unsigned char *out, size_t max_out); | ||
1515 | |||
1513 | const void *SSL_get_current_compression(SSL *s); | 1516 | const void *SSL_get_current_compression(SSL *s); |
1514 | const void *SSL_get_current_expansion(SSL *s); | 1517 | const void *SSL_get_current_expansion(SSL *s); |
1515 | 1518 | ||
diff --git a/src/lib/libssl/ssl_lib.c b/src/lib/libssl/ssl_lib.c index 79021d7e0b..e910d85914 100644 --- a/src/lib/libssl/ssl_lib.c +++ b/src/lib/libssl/ssl_lib.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssl_lib.c,v 1.175 2018/02/17 15:13:12 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_lib.c,v 1.176 2018/02/17 15:19:43 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 | * |
@@ -758,7 +758,8 @@ SSL_CTX_get_verify_depth(const SSL_CTX *ctx) | |||
758 | return (X509_VERIFY_PARAM_get_depth(ctx->param)); | 758 | return (X509_VERIFY_PARAM_get_depth(ctx->param)); |
759 | } | 759 | } |
760 | 760 | ||
761 | int (*SSL_CTX_get_verify_callback(const SSL_CTX *ctx))(int, X509_STORE_CTX *) | 761 | int |
762 | (*SSL_CTX_get_verify_callback(const SSL_CTX *ctx))(int, X509_STORE_CTX *) | ||
762 | { | 763 | { |
763 | return (ctx->internal->default_verify_callback); | 764 | return (ctx->internal->default_verify_callback); |
764 | } | 765 | } |
@@ -2645,6 +2646,38 @@ SSL_get_current_expansion(SSL *s) | |||
2645 | return (NULL); | 2646 | return (NULL); |
2646 | } | 2647 | } |
2647 | 2648 | ||
2649 | size_t | ||
2650 | SSL_get_client_random(const SSL *s, unsigned char *out, size_t max_out) | ||
2651 | { | ||
2652 | size_t len = sizeof(s->s3->client_random); | ||
2653 | |||
2654 | if (out == NULL) | ||
2655 | return len; | ||
2656 | |||
2657 | if (len > max_out) | ||
2658 | len = max_out; | ||
2659 | |||
2660 | memcpy(out, s->s3->client_random, len); | ||
2661 | |||
2662 | return len; | ||
2663 | } | ||
2664 | |||
2665 | size_t | ||
2666 | SSL_get_server_random(const SSL *s, unsigned char *out, size_t max_out) | ||
2667 | { | ||
2668 | size_t len = sizeof(s->s3->server_random); | ||
2669 | |||
2670 | if (out == NULL) | ||
2671 | return len; | ||
2672 | |||
2673 | if (len > max_out) | ||
2674 | len = max_out; | ||
2675 | |||
2676 | memcpy(out, s->s3->server_random, len); | ||
2677 | |||
2678 | return len; | ||
2679 | } | ||
2680 | |||
2648 | int | 2681 | int |
2649 | ssl_init_wbio_buffer(SSL *s, int push) | 2682 | ssl_init_wbio_buffer(SSL *s, int push) |
2650 | { | 2683 | { |