From 034e1f9018bedb7d71df3286551c19fa5bd18c07 Mon Sep 17 00:00:00 2001 From: jsing <> Date: Mon, 23 Jan 2017 10:22:06 +0000 Subject: Remove ssl_ctrl, ssl_ctx_ctrl, ssl_callback_ctrl and ssl_ctx_callback_ctrl from SSL_METHOD, replacing usage with direct calls to the appropriate functions. ok beck@ --- src/lib/libssl/d1_clnt.c | 6 +----- src/lib/libssl/d1_meth.c | 6 +----- src/lib/libssl/d1_srvr.c | 6 +----- src/lib/libssl/ssl.h | 6 +----- src/lib/libssl/ssl_lib.c | 12 +++++++----- src/lib/libssl/t1_clnt.c | 18 +----------------- src/lib/libssl/t1_meth.c | 18 +----------------- src/lib/libssl/t1_srvr.c | 18 +----------------- 8 files changed, 14 insertions(+), 76 deletions(-) (limited to 'src/lib') diff --git a/src/lib/libssl/d1_clnt.c b/src/lib/libssl/d1_clnt.c index 9319794a66..503a1f7fc6 100644 --- a/src/lib/libssl/d1_clnt.c +++ b/src/lib/libssl/d1_clnt.c @@ -1,4 +1,4 @@ -/* $OpenBSD: d1_clnt.c,v 1.67 2017/01/23 08:48:44 beck Exp $ */ +/* $OpenBSD: d1_clnt.c,v 1.68 2017/01/23 10:22:06 jsing Exp $ */ /* * DTLS implementation written by Nagendra Modadugu * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. @@ -149,8 +149,6 @@ static const SSL_METHOD DTLSv1_client_method_data = { .ssl_read_bytes = dtls1_read_bytes, .ssl_write_bytes = dtls1_write_app_data_bytes, .ssl_dispatch_alert = dtls1_dispatch_alert, - .ssl_ctrl = dtls1_ctrl, - .ssl_ctx_ctrl = ssl3_ctx_ctrl, .get_cipher_by_char = ssl3_get_cipher_by_char, .put_cipher_by_char = ssl3_put_cipher_by_char, .ssl_pending = ssl3_pending, @@ -160,8 +158,6 @@ static const SSL_METHOD DTLSv1_client_method_data = { .get_timeout = dtls1_default_timeout, .ssl3_enc = &DTLSv1_enc_data, .ssl_version = ssl_undefined_void_function, - .ssl_callback_ctrl = ssl3_callback_ctrl, - .ssl_ctx_callback_ctrl = ssl3_ctx_callback_ctrl, }; const SSL_METHOD * diff --git a/src/lib/libssl/d1_meth.c b/src/lib/libssl/d1_meth.c index c7604863fa..4493aa180b 100644 --- a/src/lib/libssl/d1_meth.c +++ b/src/lib/libssl/d1_meth.c @@ -1,4 +1,4 @@ -/* $OpenBSD: d1_meth.c,v 1.11 2017/01/21 06:50:02 jsing Exp $ */ +/* $OpenBSD: d1_meth.c,v 1.12 2017/01/23 10:22:06 jsing Exp $ */ /* * DTLS implementation written by Nagendra Modadugu * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. @@ -84,8 +84,6 @@ static const SSL_METHOD DTLSv1_method_data = { .ssl_read_bytes = dtls1_read_bytes, .ssl_write_bytes = dtls1_write_app_data_bytes, .ssl_dispatch_alert = dtls1_dispatch_alert, - .ssl_ctrl = dtls1_ctrl, - .ssl_ctx_ctrl = ssl3_ctx_ctrl, .get_cipher_by_char = ssl3_get_cipher_by_char, .put_cipher_by_char = ssl3_put_cipher_by_char, .ssl_pending = ssl3_pending, @@ -95,8 +93,6 @@ static const SSL_METHOD DTLSv1_method_data = { .get_timeout = dtls1_default_timeout, .ssl3_enc = &DTLSv1_enc_data, .ssl_version = ssl_undefined_void_function, - .ssl_callback_ctrl = ssl3_callback_ctrl, - .ssl_ctx_callback_ctrl = ssl3_ctx_callback_ctrl, }; const SSL_METHOD * diff --git a/src/lib/libssl/d1_srvr.c b/src/lib/libssl/d1_srvr.c index 81a05eb30e..2a68483169 100644 --- a/src/lib/libssl/d1_srvr.c +++ b/src/lib/libssl/d1_srvr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: d1_srvr.c,v 1.77 2017/01/23 08:48:44 beck Exp $ */ +/* $OpenBSD: d1_srvr.c,v 1.78 2017/01/23 10:22:06 jsing Exp $ */ /* * DTLS implementation written by Nagendra Modadugu * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. @@ -147,8 +147,6 @@ static const SSL_METHOD DTLSv1_server_method_data = { .ssl_read_bytes = dtls1_read_bytes, .ssl_write_bytes = dtls1_write_app_data_bytes, .ssl_dispatch_alert = dtls1_dispatch_alert, - .ssl_ctrl = dtls1_ctrl, - .ssl_ctx_ctrl = ssl3_ctx_ctrl, .get_cipher_by_char = ssl3_get_cipher_by_char, .put_cipher_by_char = ssl3_put_cipher_by_char, .ssl_pending = ssl3_pending, @@ -158,8 +156,6 @@ static const SSL_METHOD DTLSv1_server_method_data = { .get_timeout = dtls1_default_timeout, .ssl3_enc = &DTLSv1_enc_data, .ssl_version = ssl_undefined_void_function, - .ssl_callback_ctrl = ssl3_callback_ctrl, - .ssl_ctx_callback_ctrl = ssl3_ctx_callback_ctrl, }; const SSL_METHOD * diff --git a/src/lib/libssl/ssl.h b/src/lib/libssl/ssl.h index f29626dc03..87237fcc9b 100644 --- a/src/lib/libssl/ssl.h +++ b/src/lib/libssl/ssl.h @@ -1,4 +1,4 @@ -/* $OpenBSD: ssl.h,v 1.116 2017/01/23 08:48:44 beck Exp $ */ +/* $OpenBSD: ssl.h,v 1.117 2017/01/23 10:22:06 jsing Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -417,8 +417,6 @@ struct ssl_method_st { int len, int peek); int (*ssl_write_bytes)(SSL *s, int type, const void *buf_, int len); int (*ssl_dispatch_alert)(SSL *s); - long (*ssl_ctrl)(SSL *s, int cmd, long larg, void *parg); - long (*ssl_ctx_ctrl)(SSL_CTX *ctx, int cmd, long larg, void *parg); const SSL_CIPHER *(*get_cipher_by_char)(const unsigned char *ptr); int (*put_cipher_by_char)(const SSL_CIPHER *cipher, unsigned char *ptr); int (*ssl_pending)(const SSL *s); @@ -428,8 +426,6 @@ struct ssl_method_st { long (*get_timeout)(void); struct ssl3_enc_method *ssl3_enc; /* Extra SSLv3/TLS stuff */ int (*ssl_version)(void); - long (*ssl_callback_ctrl)(SSL *s, int cb_id, void (*fp)(void)); - long (*ssl_ctx_callback_ctrl)(SSL_CTX *s, int cb_id, void (*fp)(void)); }; /* Lets make this into an ASN.1 type structure as follows diff --git a/src/lib/libssl/ssl_lib.c b/src/lib/libssl/ssl_lib.c index 571ecee509..7592249dcb 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.137 2017/01/23 08:48:44 beck Exp $ */ +/* $OpenBSD: ssl_lib.c,v 1.138 2017/01/23 10:22:06 jsing Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -1092,7 +1092,9 @@ SSL_ctrl(SSL *s, int cmd, long larg, void *parg) return (S3I(s)->send_connection_binding); else return (0); default: - return (s->method->ssl_ctrl(s, cmd, larg, parg)); + if (SSL_IS_DTLS(s)) + return dtls1_ctrl(s, cmd, larg, parg); + return ssl3_ctrl(s, cmd, larg, parg); } } @@ -1107,7 +1109,7 @@ SSL_callback_ctrl(SSL *s, int cmd, void (*fp)(void)) return (1); default: - return (s->method->ssl_callback_ctrl(s, cmd, fp)); + return (ssl3_callback_ctrl(s, cmd, fp)); } } @@ -1192,7 +1194,7 @@ SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg) ctx->internal->max_send_fragment = larg; return (1); default: - return (ctx->method->ssl_ctx_ctrl(ctx, cmd, larg, parg)); + return (ssl3_ctx_ctrl(ctx, cmd, larg, parg)); } } @@ -1207,7 +1209,7 @@ SSL_CTX_callback_ctrl(SSL_CTX *ctx, int cmd, void (*fp)(void)) return (1); default: - return (ctx->method->ssl_ctx_callback_ctrl(ctx, cmd, fp)); + return (ssl3_ctx_callback_ctrl(ctx, cmd, fp)); } } diff --git a/src/lib/libssl/t1_clnt.c b/src/lib/libssl/t1_clnt.c index d643d5db13..d07e54d9f7 100644 --- a/src/lib/libssl/t1_clnt.c +++ b/src/lib/libssl/t1_clnt.c @@ -1,4 +1,4 @@ -/* $OpenBSD: t1_clnt.c,v 1.20 2017/01/21 06:50:02 jsing Exp $ */ +/* $OpenBSD: t1_clnt.c,v 1.21 2017/01/23 10:22:06 jsing Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -85,8 +85,6 @@ static const SSL_METHOD TLS_client_method_data = { .ssl_read_bytes = ssl3_read_bytes, .ssl_write_bytes = ssl3_write_bytes, .ssl_dispatch_alert = ssl3_dispatch_alert, - .ssl_ctrl = ssl3_ctrl, - .ssl_ctx_ctrl = ssl3_ctx_ctrl, .get_cipher_by_char = ssl3_get_cipher_by_char, .put_cipher_by_char = ssl3_put_cipher_by_char, .ssl_pending = ssl_undefined_const_function, @@ -96,8 +94,6 @@ static const SSL_METHOD TLS_client_method_data = { .get_timeout = ssl23_default_timeout, .ssl3_enc = &ssl3_undef_enc_method, .ssl_version = ssl_undefined_void_function, - .ssl_callback_ctrl = ssl3_callback_ctrl, - .ssl_ctx_callback_ctrl = ssl3_ctx_callback_ctrl, }; static const SSL_METHOD TLSv1_client_method_data = { @@ -119,8 +115,6 @@ static const SSL_METHOD TLSv1_client_method_data = { .ssl_read_bytes = ssl3_read_bytes, .ssl_write_bytes = ssl3_write_bytes, .ssl_dispatch_alert = ssl3_dispatch_alert, - .ssl_ctrl = ssl3_ctrl, - .ssl_ctx_ctrl = ssl3_ctx_ctrl, .get_cipher_by_char = ssl3_get_cipher_by_char, .put_cipher_by_char = ssl3_put_cipher_by_char, .ssl_pending = ssl3_pending, @@ -130,8 +124,6 @@ static const SSL_METHOD TLSv1_client_method_data = { .get_timeout = tls1_default_timeout, .ssl3_enc = &TLSv1_enc_data, .ssl_version = ssl_undefined_void_function, - .ssl_callback_ctrl = ssl3_callback_ctrl, - .ssl_ctx_callback_ctrl = ssl3_ctx_callback_ctrl, }; static const SSL_METHOD TLSv1_1_client_method_data = { @@ -153,8 +145,6 @@ static const SSL_METHOD TLSv1_1_client_method_data = { .ssl_read_bytes = ssl3_read_bytes, .ssl_write_bytes = ssl3_write_bytes, .ssl_dispatch_alert = ssl3_dispatch_alert, - .ssl_ctrl = ssl3_ctrl, - .ssl_ctx_ctrl = ssl3_ctx_ctrl, .get_cipher_by_char = ssl3_get_cipher_by_char, .put_cipher_by_char = ssl3_put_cipher_by_char, .ssl_pending = ssl3_pending, @@ -164,8 +154,6 @@ static const SSL_METHOD TLSv1_1_client_method_data = { .get_timeout = tls1_default_timeout, .ssl3_enc = &TLSv1_1_enc_data, .ssl_version = ssl_undefined_void_function, - .ssl_callback_ctrl = ssl3_callback_ctrl, - .ssl_ctx_callback_ctrl = ssl3_ctx_callback_ctrl, }; static const SSL_METHOD TLSv1_2_client_method_data = { @@ -187,8 +175,6 @@ static const SSL_METHOD TLSv1_2_client_method_data = { .ssl_read_bytes = ssl3_read_bytes, .ssl_write_bytes = ssl3_write_bytes, .ssl_dispatch_alert = ssl3_dispatch_alert, - .ssl_ctrl = ssl3_ctrl, - .ssl_ctx_ctrl = ssl3_ctx_ctrl, .get_cipher_by_char = ssl3_get_cipher_by_char, .put_cipher_by_char = ssl3_put_cipher_by_char, .ssl_pending = ssl3_pending, @@ -198,8 +184,6 @@ static const SSL_METHOD TLSv1_2_client_method_data = { .get_timeout = tls1_default_timeout, .ssl3_enc = &TLSv1_2_enc_data, .ssl_version = ssl_undefined_void_function, - .ssl_callback_ctrl = ssl3_callback_ctrl, - .ssl_ctx_callback_ctrl = ssl3_ctx_callback_ctrl, }; static const SSL_METHOD * diff --git a/src/lib/libssl/t1_meth.c b/src/lib/libssl/t1_meth.c index 5c37142ab3..521839184c 100644 --- a/src/lib/libssl/t1_meth.c +++ b/src/lib/libssl/t1_meth.c @@ -1,4 +1,4 @@ -/* $OpenBSD: t1_meth.c,v 1.19 2017/01/21 06:50:02 jsing Exp $ */ +/* $OpenBSD: t1_meth.c,v 1.20 2017/01/23 10:22:06 jsing Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -83,8 +83,6 @@ static const SSL_METHOD TLS_method_data = { .ssl_read_bytes = ssl3_read_bytes, .ssl_write_bytes = ssl3_write_bytes, .ssl_dispatch_alert = ssl3_dispatch_alert, - .ssl_ctrl = ssl3_ctrl, - .ssl_ctx_ctrl = ssl3_ctx_ctrl, .get_cipher_by_char = ssl3_get_cipher_by_char, .put_cipher_by_char = ssl3_put_cipher_by_char, .ssl_pending = ssl_undefined_const_function, @@ -94,8 +92,6 @@ static const SSL_METHOD TLS_method_data = { .get_timeout = ssl23_default_timeout, .ssl3_enc = &ssl3_undef_enc_method, .ssl_version = ssl_undefined_void_function, - .ssl_callback_ctrl = ssl3_callback_ctrl, - .ssl_ctx_callback_ctrl = ssl3_ctx_callback_ctrl, }; static const SSL_METHOD TLSv1_method_data = { @@ -117,8 +113,6 @@ static const SSL_METHOD TLSv1_method_data = { .ssl_read_bytes = ssl3_read_bytes, .ssl_write_bytes = ssl3_write_bytes, .ssl_dispatch_alert = ssl3_dispatch_alert, - .ssl_ctrl = ssl3_ctrl, - .ssl_ctx_ctrl = ssl3_ctx_ctrl, .get_cipher_by_char = ssl3_get_cipher_by_char, .put_cipher_by_char = ssl3_put_cipher_by_char, .ssl_pending = ssl3_pending, @@ -128,8 +122,6 @@ static const SSL_METHOD TLSv1_method_data = { .get_timeout = tls1_default_timeout, .ssl3_enc = &TLSv1_enc_data, .ssl_version = ssl_undefined_void_function, - .ssl_callback_ctrl = ssl3_callback_ctrl, - .ssl_ctx_callback_ctrl = ssl3_ctx_callback_ctrl, }; static const SSL_METHOD TLSv1_1_method_data = { @@ -151,8 +143,6 @@ static const SSL_METHOD TLSv1_1_method_data = { .ssl_read_bytes = ssl3_read_bytes, .ssl_write_bytes = ssl3_write_bytes, .ssl_dispatch_alert = ssl3_dispatch_alert, - .ssl_ctrl = ssl3_ctrl, - .ssl_ctx_ctrl = ssl3_ctx_ctrl, .get_cipher_by_char = ssl3_get_cipher_by_char, .put_cipher_by_char = ssl3_put_cipher_by_char, .ssl_pending = ssl3_pending, @@ -162,8 +152,6 @@ static const SSL_METHOD TLSv1_1_method_data = { .get_timeout = tls1_default_timeout, .ssl3_enc = &TLSv1_1_enc_data, .ssl_version = ssl_undefined_void_function, - .ssl_callback_ctrl = ssl3_callback_ctrl, - .ssl_ctx_callback_ctrl = ssl3_ctx_callback_ctrl, }; static const SSL_METHOD TLSv1_2_method_data = { @@ -185,8 +173,6 @@ static const SSL_METHOD TLSv1_2_method_data = { .ssl_read_bytes = ssl3_read_bytes, .ssl_write_bytes = ssl3_write_bytes, .ssl_dispatch_alert = ssl3_dispatch_alert, - .ssl_ctrl = ssl3_ctrl, - .ssl_ctx_ctrl = ssl3_ctx_ctrl, .get_cipher_by_char = ssl3_get_cipher_by_char, .put_cipher_by_char = ssl3_put_cipher_by_char, .ssl_pending = ssl3_pending, @@ -196,8 +182,6 @@ static const SSL_METHOD TLSv1_2_method_data = { .get_timeout = tls1_default_timeout, .ssl3_enc = &TLSv1_2_enc_data, .ssl_version = ssl_undefined_void_function, - .ssl_callback_ctrl = ssl3_callback_ctrl, - .ssl_ctx_callback_ctrl = ssl3_ctx_callback_ctrl, }; static const SSL_METHOD * diff --git a/src/lib/libssl/t1_srvr.c b/src/lib/libssl/t1_srvr.c index 84ed66c7ed..e0b247441a 100644 --- a/src/lib/libssl/t1_srvr.c +++ b/src/lib/libssl/t1_srvr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: t1_srvr.c,v 1.21 2017/01/21 06:50:02 jsing Exp $ */ +/* $OpenBSD: t1_srvr.c,v 1.22 2017/01/23 10:22:06 jsing Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -86,8 +86,6 @@ static const SSL_METHOD TLS_server_method_data = { .ssl_read_bytes = ssl3_read_bytes, .ssl_write_bytes = ssl3_write_bytes, .ssl_dispatch_alert = ssl3_dispatch_alert, - .ssl_ctrl = ssl3_ctrl, - .ssl_ctx_ctrl = ssl3_ctx_ctrl, .get_cipher_by_char = ssl3_get_cipher_by_char, .put_cipher_by_char = ssl3_put_cipher_by_char, .ssl_pending = ssl_undefined_const_function, @@ -97,8 +95,6 @@ static const SSL_METHOD TLS_server_method_data = { .get_timeout = ssl23_default_timeout, .ssl3_enc = &ssl3_undef_enc_method, .ssl_version = ssl_undefined_void_function, - .ssl_callback_ctrl = ssl3_callback_ctrl, - .ssl_ctx_callback_ctrl = ssl3_ctx_callback_ctrl, }; static const SSL_METHOD TLSv1_server_method_data = { @@ -120,8 +116,6 @@ static const SSL_METHOD TLSv1_server_method_data = { .ssl_read_bytes = ssl3_read_bytes, .ssl_write_bytes = ssl3_write_bytes, .ssl_dispatch_alert = ssl3_dispatch_alert, - .ssl_ctrl = ssl3_ctrl, - .ssl_ctx_ctrl = ssl3_ctx_ctrl, .get_cipher_by_char = ssl3_get_cipher_by_char, .put_cipher_by_char = ssl3_put_cipher_by_char, .ssl_pending = ssl3_pending, @@ -131,8 +125,6 @@ static const SSL_METHOD TLSv1_server_method_data = { .get_timeout = tls1_default_timeout, .ssl3_enc = &TLSv1_enc_data, .ssl_version = ssl_undefined_void_function, - .ssl_callback_ctrl = ssl3_callback_ctrl, - .ssl_ctx_callback_ctrl = ssl3_ctx_callback_ctrl, }; static const SSL_METHOD TLSv1_1_server_method_data = { @@ -154,8 +146,6 @@ static const SSL_METHOD TLSv1_1_server_method_data = { .ssl_read_bytes = ssl3_read_bytes, .ssl_write_bytes = ssl3_write_bytes, .ssl_dispatch_alert = ssl3_dispatch_alert, - .ssl_ctrl = ssl3_ctrl, - .ssl_ctx_ctrl = ssl3_ctx_ctrl, .get_cipher_by_char = ssl3_get_cipher_by_char, .put_cipher_by_char = ssl3_put_cipher_by_char, .ssl_pending = ssl3_pending, @@ -165,8 +155,6 @@ static const SSL_METHOD TLSv1_1_server_method_data = { .get_timeout = tls1_default_timeout, .ssl3_enc = &TLSv1_1_enc_data, .ssl_version = ssl_undefined_void_function, - .ssl_callback_ctrl = ssl3_callback_ctrl, - .ssl_ctx_callback_ctrl = ssl3_ctx_callback_ctrl, }; static const SSL_METHOD TLSv1_2_server_method_data = { @@ -188,8 +176,6 @@ static const SSL_METHOD TLSv1_2_server_method_data = { .ssl_read_bytes = ssl3_read_bytes, .ssl_write_bytes = ssl3_write_bytes, .ssl_dispatch_alert = ssl3_dispatch_alert, - .ssl_ctrl = ssl3_ctrl, - .ssl_ctx_ctrl = ssl3_ctx_ctrl, .get_cipher_by_char = ssl3_get_cipher_by_char, .put_cipher_by_char = ssl3_put_cipher_by_char, .ssl_pending = ssl3_pending, @@ -199,8 +185,6 @@ static const SSL_METHOD TLSv1_2_server_method_data = { .get_timeout = tls1_default_timeout, .ssl3_enc = &TLSv1_2_enc_data, .ssl_version = ssl_undefined_void_function, - .ssl_callback_ctrl = ssl3_callback_ctrl, - .ssl_ctx_callback_ctrl = ssl3_ctx_callback_ctrl, }; static const SSL_METHOD * -- cgit v1.2.3-55-g6feb