diff options
| author | jsing <> | 2018-02-17 15:19:43 +0000 |
|---|---|---|
| committer | jsing <> | 2018-02-17 15:19:43 +0000 |
| commit | dca228d4c7fb5b8c93f28b41cdd3540c4603834c (patch) | |
| tree | 63fd9a99945effca38a3c75038ef2e4ad7351376 /src/lib/libssl | |
| parent | df22da3208de1f89c66f791b2823ddd23436b9e8 (diff) | |
| download | openbsd-dca228d4c7fb5b8c93f28b41cdd3540c4603834c.tar.gz openbsd-dca228d4c7fb5b8c93f28b41cdd3540c4603834c.tar.bz2 openbsd-dca228d4c7fb5b8c93f28b41cdd3540c4603834c.zip | |
Provide SSL_get_client_random() and SSL_get_server_random()
Diffstat (limited to '')
| -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 | { |
