From fbb23402e63e54d6d2231406a88302014f0c6ca6 Mon Sep 17 00:00:00 2001 From: jsing <> Date: Tue, 7 Jul 2020 19:31:11 +0000 Subject: Remove some unnecessary function pointers from SSL_METHOD_INTERNAL. ssl_version is completely unused and get_timeout is the same everywhere. ok beck@ inoguchi@ tb@ --- src/lib/libssl/d1_lib.c | 10 +--------- src/lib/libssl/ssl_lib.c | 16 +++++++++++++--- src/lib/libssl/ssl_locl.h | 7 +------ src/lib/libssl/ssl_methods.c | 38 +------------------------------------- src/lib/libssl/t1_lib.c | 10 +--------- 5 files changed, 17 insertions(+), 64 deletions(-) diff --git a/src/lib/libssl/d1_lib.c b/src/lib/libssl/d1_lib.c index b7ba6b1092..1f818307d1 100644 --- a/src/lib/libssl/d1_lib.c +++ b/src/lib/libssl/d1_lib.c @@ -1,4 +1,4 @@ -/* $OpenBSD: d1_lib.c,v 1.45 2020/03/12 17:01:53 jsing Exp $ */ +/* $OpenBSD: d1_lib.c,v 1.46 2020/07/07 19:31:11 jsing Exp $ */ /* * DTLS implementation written by Nagendra Modadugu * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. @@ -76,14 +76,6 @@ SSL3_ENC_METHOD DTLSv1_enc_data = { .enc_flags = SSL_ENC_FLAG_EXPLICIT_IV, }; -long -dtls1_default_timeout(void) -{ - /* 2 hours, the 24 hours mentioned in the DTLSv1 spec - * is way too long for http, the cache would over fill */ - return (60*60*2); -} - int dtls1_new(SSL *s) { diff --git a/src/lib/libssl/ssl_lib.c b/src/lib/libssl/ssl_lib.c index 6ef2083f52..b93a851507 100644 --- a/src/lib/libssl/ssl_lib.c +++ b/src/lib/libssl/ssl_lib.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssl_lib.c,v 1.217 2020/05/23 12:14:52 jsing Exp $ */ +/* $OpenBSD: ssl_lib.c,v 1.218 2020/07/07 19:31:11 jsing Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -942,10 +942,20 @@ SSL_is_server(const SSL *s) return s->server; } +static long +ssl_get_default_timeout() +{ + /* + * 2 hours, the 24 hours mentioned in the TLSv1 spec + * is way too long for http, the cache would over fill. + */ + return (2 * 60 * 60); +} + long SSL_get_default_timeout(const SSL *s) { - return (s->method->internal->get_timeout()); + return (ssl_get_default_timeout()); } int @@ -1752,7 +1762,7 @@ SSL_CTX_new(const SSL_METHOD *meth) ret->internal->session_cache_tail = NULL; /* We take the system default */ - ret->session_timeout = meth->internal->get_timeout(); + ret->session_timeout = ssl_get_default_timeout(); ret->internal->new_session_cb = 0; ret->internal->remove_session_cb = 0; diff --git a/src/lib/libssl/ssl_locl.h b/src/lib/libssl/ssl_locl.h index f7a8b0786d..4faf0f245f 100644 --- a/src/lib/libssl/ssl_locl.h +++ b/src/lib/libssl/ssl_locl.h @@ -1,4 +1,4 @@ -/* $OpenBSD: ssl_locl.h,v 1.281 2020/07/07 19:24:23 jsing Exp $ */ +/* $OpenBSD: ssl_locl.h,v 1.282 2020/07/07 19:31:11 jsing Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -385,9 +385,6 @@ typedef struct ssl_method_internal_st { const struct ssl_method_st *(*get_ssl_method)(int version); - long (*get_timeout)(void); - int (*ssl_version)(void); - struct ssl3_enc_method *ssl3_enc; /* Extra SSLv3/TLS stuff */ } SSL_METHOD_INTERNAL; @@ -1226,7 +1223,6 @@ int ssl3_record_write(SSL *s, int type); void tls1_record_sequence_increment(unsigned char *seq); int ssl3_do_change_cipher_spec(SSL *ssl); -long tls1_default_timeout(void); int dtls1_do_write(SSL *s, int type); int ssl3_packet_read(SSL *s, int plen); int ssl3_packet_extend(SSL *s, int plen); @@ -1256,7 +1252,6 @@ void dtls1_get_ccs_header(unsigned char *data, struct ccs_header_st *ccs_hdr); void dtls1_reset_seq_numbers(SSL *s, int rw); void dtls1_build_sequence_number(unsigned char *dst, unsigned char *seq, unsigned short epoch); -long dtls1_default_timeout(void); struct timeval* dtls1_get_timeout(SSL *s, struct timeval* timeleft); int dtls1_check_timeout_num(SSL *s); int dtls1_handle_timeout(SSL *s); diff --git a/src/lib/libssl/ssl_methods.c b/src/lib/libssl/ssl_methods.c index d679e3242f..5866e30f67 100644 --- a/src/lib/libssl/ssl_methods.c +++ b/src/lib/libssl/ssl_methods.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssl_methods.c,v 1.13 2020/07/07 19:24:23 jsing Exp $ */ +/* $OpenBSD: ssl_methods.c,v 1.14 2020/07/07 19:31:11 jsing Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -70,8 +70,6 @@ static const SSL_METHOD_INTERNAL DTLSv1_client_method_internal_data = { .ssl_connect = ssl3_connect, .ssl_shutdown = ssl3_shutdown, .get_ssl_method = dtls1_get_client_method, - .get_timeout = dtls1_default_timeout, - .ssl_version = ssl_undefined_void_function, .ssl_renegotiate = ssl3_renegotiate, .ssl_renegotiate_check = ssl3_renegotiate_check, .ssl_pending = ssl3_pending, @@ -122,8 +120,6 @@ static const SSL_METHOD_INTERNAL DTLSv1_method_internal_data = { .ssl_connect = ssl3_connect, .ssl_shutdown = ssl3_shutdown, .get_ssl_method = dtls1_get_method, - .get_timeout = dtls1_default_timeout, - .ssl_version = ssl_undefined_void_function, .ssl_renegotiate = ssl3_renegotiate, .ssl_renegotiate_check = ssl3_renegotiate_check, .ssl_pending = ssl3_pending, @@ -172,8 +168,6 @@ static const SSL_METHOD_INTERNAL DTLSv1_server_method_internal_data = { .ssl_connect = ssl_undefined_function, .ssl_shutdown = ssl3_shutdown, .get_ssl_method = dtls1_get_server_method, - .get_timeout = dtls1_default_timeout, - .ssl_version = ssl_undefined_void_function, .ssl_renegotiate = ssl3_renegotiate, .ssl_renegotiate_check = ssl3_renegotiate_check, .ssl_pending = ssl3_pending, @@ -223,8 +217,6 @@ static const SSL_METHOD_INTERNAL TLS_client_method_internal_data = { .ssl_connect = tls13_legacy_connect, .ssl_shutdown = tls13_legacy_shutdown, .get_ssl_method = tls1_get_client_method, - .get_timeout = tls1_default_timeout, - .ssl_version = ssl_undefined_void_function, .ssl_renegotiate = ssl_undefined_function, .ssl_renegotiate_check = ssl_ok, .ssl_pending = tls13_legacy_pending, @@ -254,8 +246,6 @@ static const SSL_METHOD_INTERNAL TLS_legacy_client_method_internal_data = { .ssl_connect = ssl3_connect, .ssl_shutdown = ssl3_shutdown, .get_ssl_method = tls1_get_client_method, - .get_timeout = tls1_default_timeout, - .ssl_version = ssl_undefined_void_function, .ssl_renegotiate = ssl_undefined_function, .ssl_renegotiate_check = ssl_ok, .ssl_pending = ssl3_pending, @@ -284,8 +274,6 @@ static const SSL_METHOD_INTERNAL TLSv1_client_method_internal_data = { .ssl_connect = ssl3_connect, .ssl_shutdown = ssl3_shutdown, .get_ssl_method = tls1_get_client_method, - .get_timeout = tls1_default_timeout, - .ssl_version = ssl_undefined_void_function, .ssl_renegotiate = ssl3_renegotiate, .ssl_renegotiate_check = ssl3_renegotiate_check, .ssl_pending = ssl3_pending, @@ -314,8 +302,6 @@ static const SSL_METHOD_INTERNAL TLSv1_1_client_method_internal_data = { .ssl_connect = ssl3_connect, .ssl_shutdown = ssl3_shutdown, .get_ssl_method = tls1_get_client_method, - .get_timeout = tls1_default_timeout, - .ssl_version = ssl_undefined_void_function, .ssl_renegotiate = ssl3_renegotiate, .ssl_renegotiate_check = ssl3_renegotiate_check, .ssl_pending = ssl3_pending, @@ -344,8 +330,6 @@ static const SSL_METHOD_INTERNAL TLSv1_2_client_method_internal_data = { .ssl_connect = ssl3_connect, .ssl_shutdown = ssl3_shutdown, .get_ssl_method = tls1_get_client_method, - .get_timeout = tls1_default_timeout, - .ssl_version = ssl_undefined_void_function, .ssl_renegotiate = ssl3_renegotiate, .ssl_renegotiate_check = ssl3_renegotiate_check, .ssl_pending = ssl3_pending, @@ -433,8 +417,6 @@ static const SSL_METHOD_INTERNAL TLS_method_internal_data = { .ssl_connect = tls13_legacy_connect, .ssl_shutdown = tls13_legacy_shutdown, .get_ssl_method = tls1_get_client_method, - .get_timeout = tls1_default_timeout, - .ssl_version = ssl_undefined_void_function, .ssl_renegotiate = ssl_undefined_function, .ssl_renegotiate_check = ssl_ok, .ssl_pending = tls13_legacy_pending, @@ -464,8 +446,6 @@ static const SSL_METHOD_INTERNAL TLS_legacy_method_internal_data = { .ssl_connect = ssl3_connect, .ssl_shutdown = ssl3_shutdown, .get_ssl_method = tls1_get_method, - .get_timeout = tls1_default_timeout, - .ssl_version = ssl_undefined_void_function, .ssl_renegotiate = ssl_undefined_function, .ssl_renegotiate_check = ssl_ok, .ssl_pending = ssl3_pending, @@ -494,8 +474,6 @@ static const SSL_METHOD_INTERNAL TLSv1_method_internal_data = { .ssl_connect = ssl3_connect, .ssl_shutdown = ssl3_shutdown, .get_ssl_method = tls1_get_method, - .get_timeout = tls1_default_timeout, - .ssl_version = ssl_undefined_void_function, .ssl_renegotiate = ssl3_renegotiate, .ssl_renegotiate_check = ssl3_renegotiate_check, .ssl_pending = ssl3_pending, @@ -524,8 +502,6 @@ static const SSL_METHOD_INTERNAL TLSv1_1_method_internal_data = { .ssl_connect = ssl3_connect, .ssl_shutdown = ssl3_shutdown, .get_ssl_method = tls1_get_method, - .get_timeout = tls1_default_timeout, - .ssl_version = ssl_undefined_void_function, .ssl_renegotiate = ssl3_renegotiate, .ssl_renegotiate_check = ssl3_renegotiate_check, .ssl_pending = ssl3_pending, @@ -554,8 +530,6 @@ static const SSL_METHOD_INTERNAL TLSv1_2_method_internal_data = { .ssl_connect = ssl3_connect, .ssl_shutdown = ssl3_shutdown, .get_ssl_method = tls1_get_method, - .get_timeout = tls1_default_timeout, - .ssl_version = ssl_undefined_void_function, .ssl_renegotiate = ssl3_renegotiate, .ssl_renegotiate_check = ssl3_renegotiate_check, .ssl_pending = ssl3_pending, @@ -641,8 +615,6 @@ static const SSL_METHOD_INTERNAL TLS_server_method_internal_data = { .ssl_connect = ssl_undefined_function, .ssl_shutdown = tls13_legacy_shutdown, .get_ssl_method = tls1_get_server_method, - .get_timeout = tls1_default_timeout, - .ssl_version = ssl_undefined_void_function, .ssl_renegotiate = ssl_undefined_function, .ssl_renegotiate_check = ssl_ok, .ssl_pending = tls13_legacy_pending, @@ -672,8 +644,6 @@ static const SSL_METHOD_INTERNAL TLS_legacy_server_method_internal_data = { .ssl_connect = ssl_undefined_function, .ssl_shutdown = ssl3_shutdown, .get_ssl_method = tls1_get_server_method, - .get_timeout = tls1_default_timeout, - .ssl_version = ssl_undefined_void_function, .ssl_renegotiate = ssl_undefined_function, .ssl_renegotiate_check = ssl_ok, .ssl_pending = ssl3_pending, @@ -702,8 +672,6 @@ static const SSL_METHOD_INTERNAL TLSv1_server_method_internal_data = { .ssl_connect = ssl_undefined_function, .ssl_shutdown = ssl3_shutdown, .get_ssl_method = tls1_get_server_method, - .get_timeout = tls1_default_timeout, - .ssl_version = ssl_undefined_void_function, .ssl_renegotiate = ssl3_renegotiate, .ssl_renegotiate_check = ssl3_renegotiate_check, .ssl_pending = ssl3_pending, @@ -732,8 +700,6 @@ static const SSL_METHOD_INTERNAL TLSv1_1_server_method_internal_data = { .ssl_connect = ssl_undefined_function, .ssl_shutdown = ssl3_shutdown, .get_ssl_method = tls1_get_server_method, - .get_timeout = tls1_default_timeout, - .ssl_version = ssl_undefined_void_function, .ssl_renegotiate = ssl3_renegotiate, .ssl_renegotiate_check = ssl3_renegotiate_check, .ssl_pending = ssl3_pending, @@ -762,8 +728,6 @@ static const SSL_METHOD_INTERNAL TLSv1_2_server_method_internal_data = { .ssl_connect = ssl_undefined_function, .ssl_shutdown = ssl3_shutdown, .get_ssl_method = tls1_get_server_method, - .get_timeout = tls1_default_timeout, - .ssl_version = ssl_undefined_void_function, .ssl_renegotiate = ssl3_renegotiate, .ssl_renegotiate_check = ssl3_renegotiate_check, .ssl_pending = ssl3_pending, diff --git a/src/lib/libssl/t1_lib.c b/src/lib/libssl/t1_lib.c index 580ae4b19b..6a2b082d02 100644 --- a/src/lib/libssl/t1_lib.c +++ b/src/lib/libssl/t1_lib.c @@ -1,4 +1,4 @@ -/* $OpenBSD: t1_lib.c,v 1.167 2020/05/29 17:39:42 jsing Exp $ */ +/* $OpenBSD: t1_lib.c,v 1.168 2020/07/07 19:31:11 jsing Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -138,14 +138,6 @@ SSL3_ENC_METHOD TLSv1_2_enc_data = { SSL_ENC_FLAG_SHA256_PRF|SSL_ENC_FLAG_TLS1_2_CIPHERS, }; -long -tls1_default_timeout(void) -{ - /* 2 hours, the 24 hours mentioned in the TLSv1 spec - * is way too long for http, the cache would over fill */ - return (60 * 60 * 2); -} - int tls1_new(SSL *s) { -- cgit v1.2.3-55-g6feb