summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjsing <>2018-04-07 17:02:34 +0000
committerjsing <>2018-04-07 17:02:34 +0000
commit20095d522d85113925c98ca9206e9867b765a970 (patch)
tree7dad172a833b50763ee0fa206b4db9fe55ed5bb7
parent0f219ed58669d704f7d68056ec8b402987e32858 (diff)
downloadopenbsd-20095d522d85113925c98ca9206e9867b765a970.tar.gz
openbsd-20095d522d85113925c98ca9206e9867b765a970.tar.bz2
openbsd-20095d522d85113925c98ca9206e9867b765a970.zip
Remove function pointers for ssl_{read,write,peek}.
Now that everything goes through the same code path, we can remove a layer of indirection and just call ssl3_{read,write,peek} directly. ok beck@ inoguchi@
-rw-r--r--src/lib/libssl/d1_clnt.c5
-rw-r--r--src/lib/libssl/d1_meth.c5
-rw-r--r--src/lib/libssl/d1_srvr.c5
-rw-r--r--src/lib/libssl/ssl_lib.c8
-rw-r--r--src/lib/libssl/ssl_locl.h5
-rw-r--r--src/lib/libssl/t1_clnt.c14
-rw-r--r--src/lib/libssl/t1_meth.c14
-rw-r--r--src/lib/libssl/t1_srvr.c14
8 files changed, 11 insertions, 59 deletions
diff --git a/src/lib/libssl/d1_clnt.c b/src/lib/libssl/d1_clnt.c
index f3a7e5ff22..ee0e620ad8 100644
--- a/src/lib/libssl/d1_clnt.c
+++ b/src/lib/libssl/d1_clnt.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: d1_clnt.c,v 1.79 2017/10/10 15:13:26 jsing Exp $ */ 1/* $OpenBSD: d1_clnt.c,v 1.80 2018/04/07 17:02:34 jsing Exp $ */
2/* 2/*
3 * DTLS implementation written by Nagendra Modadugu 3 * DTLS implementation written by Nagendra Modadugu
4 * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. 4 * (nagendra@cs.stanford.edu) for the OpenSSL project 2005.
@@ -136,9 +136,6 @@ static const SSL_METHOD_INTERNAL DTLSv1_client_method_internal_data = {
136 .ssl_free = dtls1_free, 136 .ssl_free = dtls1_free,
137 .ssl_accept = ssl_undefined_function, 137 .ssl_accept = ssl_undefined_function,
138 .ssl_connect = ssl3_connect, 138 .ssl_connect = ssl3_connect,
139 .ssl_read = ssl3_read,
140 .ssl_peek = ssl3_peek,
141 .ssl_write = ssl3_write,
142 .ssl_shutdown = dtls1_shutdown, 139 .ssl_shutdown = dtls1_shutdown,
143 .ssl_pending = ssl3_pending, 140 .ssl_pending = ssl3_pending,
144 .get_ssl_method = dtls1_get_client_method, 141 .get_ssl_method = dtls1_get_client_method,
diff --git a/src/lib/libssl/d1_meth.c b/src/lib/libssl/d1_meth.c
index 9ecca0027c..d2e8a3be60 100644
--- a/src/lib/libssl/d1_meth.c
+++ b/src/lib/libssl/d1_meth.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: d1_meth.c,v 1.15 2017/10/12 15:52:50 jsing Exp $ */ 1/* $OpenBSD: d1_meth.c,v 1.16 2018/04/07 17:02:34 jsing Exp $ */
2/* 2/*
3 * DTLS implementation written by Nagendra Modadugu 3 * DTLS implementation written by Nagendra Modadugu
4 * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. 4 * (nagendra@cs.stanford.edu) for the OpenSSL project 2005.
@@ -74,9 +74,6 @@ static const SSL_METHOD_INTERNAL DTLSv1_method_internal_data = {
74 .ssl_free = dtls1_free, 74 .ssl_free = dtls1_free,
75 .ssl_accept = ssl3_accept, 75 .ssl_accept = ssl3_accept,
76 .ssl_connect = ssl3_connect, 76 .ssl_connect = ssl3_connect,
77 .ssl_read = ssl3_read,
78 .ssl_peek = ssl3_peek,
79 .ssl_write = ssl3_write,
80 .ssl_shutdown = dtls1_shutdown, 77 .ssl_shutdown = dtls1_shutdown,
81 .ssl_pending = ssl3_pending, 78 .ssl_pending = ssl3_pending,
82 .get_ssl_method = dtls1_get_method, 79 .get_ssl_method = dtls1_get_method,
diff --git a/src/lib/libssl/d1_srvr.c b/src/lib/libssl/d1_srvr.c
index 57b8ea0e24..3de0a72f27 100644
--- a/src/lib/libssl/d1_srvr.c
+++ b/src/lib/libssl/d1_srvr.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: d1_srvr.c,v 1.91 2017/10/12 15:52:50 jsing Exp $ */ 1/* $OpenBSD: d1_srvr.c,v 1.92 2018/04/07 17:02:34 jsing Exp $ */
2/* 2/*
3 * DTLS implementation written by Nagendra Modadugu 3 * DTLS implementation written by Nagendra Modadugu
4 * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. 4 * (nagendra@cs.stanford.edu) for the OpenSSL project 2005.
@@ -134,9 +134,6 @@ static const SSL_METHOD_INTERNAL DTLSv1_server_method_internal_data = {
134 .ssl_free = dtls1_free, 134 .ssl_free = dtls1_free,
135 .ssl_accept = ssl3_accept, 135 .ssl_accept = ssl3_accept,
136 .ssl_connect = ssl_undefined_function, 136 .ssl_connect = ssl_undefined_function,
137 .ssl_read = ssl3_read,
138 .ssl_peek = ssl3_peek,
139 .ssl_write = ssl3_write,
140 .ssl_shutdown = dtls1_shutdown, 137 .ssl_shutdown = dtls1_shutdown,
141 .ssl_pending = ssl3_pending, 138 .ssl_pending = ssl3_pending,
142 .get_ssl_method = dtls1_get_server_method, 139 .get_ssl_method = dtls1_get_server_method,
diff --git a/src/lib/libssl/ssl_lib.c b/src/lib/libssl/ssl_lib.c
index 573e63c934..30aea263f6 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.182 2018/03/17 16:20:01 beck Exp $ */ 1/* $OpenBSD: ssl_lib.c,v 1.183 2018/04/07 17:02:34 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 *
@@ -964,7 +964,7 @@ SSL_read(SSL *s, void *buf, int num)
964 s->internal->rwstate = SSL_NOTHING; 964 s->internal->rwstate = SSL_NOTHING;
965 return (0); 965 return (0);
966 } 966 }
967 return (s->method->internal->ssl_read(s, buf, num)); 967 return ssl3_read(s, buf, num);
968} 968}
969 969
970int 970int
@@ -978,7 +978,7 @@ SSL_peek(SSL *s, void *buf, int num)
978 if (s->internal->shutdown & SSL_RECEIVED_SHUTDOWN) { 978 if (s->internal->shutdown & SSL_RECEIVED_SHUTDOWN) {
979 return (0); 979 return (0);
980 } 980 }
981 return (s->method->internal->ssl_peek(s, buf, num)); 981 return ssl3_peek(s, buf, num);
982} 982}
983 983
984int 984int
@@ -994,7 +994,7 @@ SSL_write(SSL *s, const void *buf, int num)
994 SSLerror(s, SSL_R_PROTOCOL_IS_SHUTDOWN); 994 SSLerror(s, SSL_R_PROTOCOL_IS_SHUTDOWN);
995 return (-1); 995 return (-1);
996 } 996 }
997 return (s->method->internal->ssl_write(s, buf, num)); 997 return ssl3_write(s, buf, num);
998} 998}
999 999
1000int 1000int
diff --git a/src/lib/libssl/ssl_locl.h b/src/lib/libssl/ssl_locl.h
index 64c68e324f..1677377c64 100644
--- a/src/lib/libssl/ssl_locl.h
+++ b/src/lib/libssl/ssl_locl.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl_locl.h,v 1.203 2018/04/07 16:55:13 jsing Exp $ */ 1/* $OpenBSD: ssl_locl.h,v 1.204 2018/04/07 17:02:34 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 *
@@ -385,9 +385,6 @@ typedef struct ssl_method_internal_st {
385 385
386 int (*ssl_accept)(SSL *s); 386 int (*ssl_accept)(SSL *s);
387 int (*ssl_connect)(SSL *s); 387 int (*ssl_connect)(SSL *s);
388 int (*ssl_read)(SSL *s, void *buf, int len);
389 int (*ssl_peek)(SSL *s, void *buf, int len);
390 int (*ssl_write)(SSL *s, const void *buf, int len);
391 int (*ssl_shutdown)(SSL *s); 388 int (*ssl_shutdown)(SSL *s);
392 389
393 int (*ssl_renegotiate)(SSL *s); 390 int (*ssl_renegotiate)(SSL *s);
diff --git a/src/lib/libssl/t1_clnt.c b/src/lib/libssl/t1_clnt.c
index 92b5efb11a..90188e0ec3 100644
--- a/src/lib/libssl/t1_clnt.c
+++ b/src/lib/libssl/t1_clnt.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: t1_clnt.c,v 1.24 2017/01/26 05:31:25 jsing Exp $ */ 1/* $OpenBSD: t1_clnt.c,v 1.25 2018/04/07 17:02:34 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 *
@@ -73,9 +73,6 @@ static const SSL_METHOD_INTERNAL TLS_client_method_internal_data = {
73 .ssl_free = tls1_free, 73 .ssl_free = tls1_free,
74 .ssl_accept = ssl_undefined_function, 74 .ssl_accept = ssl_undefined_function,
75 .ssl_connect = ssl3_connect, 75 .ssl_connect = ssl3_connect,
76 .ssl_read = ssl3_read,
77 .ssl_peek = ssl3_peek,
78 .ssl_write = ssl3_write,
79 .ssl_shutdown = ssl3_shutdown, 76 .ssl_shutdown = ssl3_shutdown,
80 .ssl_pending = ssl3_pending, 77 .ssl_pending = ssl3_pending,
81 .get_ssl_method = tls1_get_client_method, 78 .get_ssl_method = tls1_get_client_method,
@@ -107,9 +104,6 @@ static const SSL_METHOD_INTERNAL TLSv1_client_method_internal_data = {
107 .ssl_free = tls1_free, 104 .ssl_free = tls1_free,
108 .ssl_accept = ssl_undefined_function, 105 .ssl_accept = ssl_undefined_function,
109 .ssl_connect = ssl3_connect, 106 .ssl_connect = ssl3_connect,
110 .ssl_read = ssl3_read,
111 .ssl_peek = ssl3_peek,
112 .ssl_write = ssl3_write,
113 .ssl_shutdown = ssl3_shutdown, 107 .ssl_shutdown = ssl3_shutdown,
114 .ssl_pending = ssl3_pending, 108 .ssl_pending = ssl3_pending,
115 .get_ssl_method = tls1_get_client_method, 109 .get_ssl_method = tls1_get_client_method,
@@ -141,9 +135,6 @@ static const SSL_METHOD_INTERNAL TLSv1_1_client_method_internal_data = {
141 .ssl_free = tls1_free, 135 .ssl_free = tls1_free,
142 .ssl_accept = ssl_undefined_function, 136 .ssl_accept = ssl_undefined_function,
143 .ssl_connect = ssl3_connect, 137 .ssl_connect = ssl3_connect,
144 .ssl_read = ssl3_read,
145 .ssl_peek = ssl3_peek,
146 .ssl_write = ssl3_write,
147 .ssl_shutdown = ssl3_shutdown, 138 .ssl_shutdown = ssl3_shutdown,
148 .ssl_pending = ssl3_pending, 139 .ssl_pending = ssl3_pending,
149 .get_ssl_method = tls1_get_client_method, 140 .get_ssl_method = tls1_get_client_method,
@@ -175,9 +166,6 @@ static const SSL_METHOD_INTERNAL TLSv1_2_client_method_internal_data = {
175 .ssl_free = tls1_free, 166 .ssl_free = tls1_free,
176 .ssl_accept = ssl_undefined_function, 167 .ssl_accept = ssl_undefined_function,
177 .ssl_connect = ssl3_connect, 168 .ssl_connect = ssl3_connect,
178 .ssl_read = ssl3_read,
179 .ssl_peek = ssl3_peek,
180 .ssl_write = ssl3_write,
181 .ssl_shutdown = ssl3_shutdown, 169 .ssl_shutdown = ssl3_shutdown,
182 .ssl_pending = ssl3_pending, 170 .ssl_pending = ssl3_pending,
183 .get_ssl_method = tls1_get_client_method, 171 .get_ssl_method = tls1_get_client_method,
diff --git a/src/lib/libssl/t1_meth.c b/src/lib/libssl/t1_meth.c
index 6a4a243b9d..2e76c09e5c 100644
--- a/src/lib/libssl/t1_meth.c
+++ b/src/lib/libssl/t1_meth.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: t1_meth.c,v 1.23 2017/01/26 05:31:25 jsing Exp $ */ 1/* $OpenBSD: t1_meth.c,v 1.24 2018/04/07 17:02:34 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 *
@@ -73,9 +73,6 @@ static const SSL_METHOD_INTERNAL TLS_method_internal_data = {
73 .ssl_free = tls1_free, 73 .ssl_free = tls1_free,
74 .ssl_accept = ssl3_accept, 74 .ssl_accept = ssl3_accept,
75 .ssl_connect = ssl3_connect, 75 .ssl_connect = ssl3_connect,
76 .ssl_read = ssl3_read,
77 .ssl_peek = ssl3_peek,
78 .ssl_write = ssl3_write,
79 .ssl_shutdown = ssl3_shutdown, 76 .ssl_shutdown = ssl3_shutdown,
80 .ssl_pending = ssl3_pending, 77 .ssl_pending = ssl3_pending,
81 .get_ssl_method = tls1_get_method, 78 .get_ssl_method = tls1_get_method,
@@ -107,9 +104,6 @@ static const SSL_METHOD_INTERNAL TLSv1_method_internal_data = {
107 .ssl_free = tls1_free, 104 .ssl_free = tls1_free,
108 .ssl_accept = ssl3_accept, 105 .ssl_accept = ssl3_accept,
109 .ssl_connect = ssl3_connect, 106 .ssl_connect = ssl3_connect,
110 .ssl_read = ssl3_read,
111 .ssl_peek = ssl3_peek,
112 .ssl_write = ssl3_write,
113 .ssl_shutdown = ssl3_shutdown, 107 .ssl_shutdown = ssl3_shutdown,
114 .ssl_pending = ssl3_pending, 108 .ssl_pending = ssl3_pending,
115 .get_ssl_method = tls1_get_method, 109 .get_ssl_method = tls1_get_method,
@@ -141,9 +135,6 @@ static const SSL_METHOD_INTERNAL TLSv1_1_method_internal_data = {
141 .ssl_free = tls1_free, 135 .ssl_free = tls1_free,
142 .ssl_accept = ssl3_accept, 136 .ssl_accept = ssl3_accept,
143 .ssl_connect = ssl3_connect, 137 .ssl_connect = ssl3_connect,
144 .ssl_read = ssl3_read,
145 .ssl_peek = ssl3_peek,
146 .ssl_write = ssl3_write,
147 .ssl_shutdown = ssl3_shutdown, 138 .ssl_shutdown = ssl3_shutdown,
148 .ssl_pending = ssl3_pending, 139 .ssl_pending = ssl3_pending,
149 .get_ssl_method = tls1_get_method, 140 .get_ssl_method = tls1_get_method,
@@ -175,9 +166,6 @@ static const SSL_METHOD_INTERNAL TLSv1_2_method_internal_data = {
175 .ssl_free = tls1_free, 166 .ssl_free = tls1_free,
176 .ssl_accept = ssl3_accept, 167 .ssl_accept = ssl3_accept,
177 .ssl_connect = ssl3_connect, 168 .ssl_connect = ssl3_connect,
178 .ssl_read = ssl3_read,
179 .ssl_peek = ssl3_peek,
180 .ssl_write = ssl3_write,
181 .ssl_shutdown = ssl3_shutdown, 169 .ssl_shutdown = ssl3_shutdown,
182 .ssl_pending = ssl3_pending, 170 .ssl_pending = ssl3_pending,
183 .get_ssl_method = tls1_get_method, 171 .get_ssl_method = tls1_get_method,
diff --git a/src/lib/libssl/t1_srvr.c b/src/lib/libssl/t1_srvr.c
index 1fc0ebe6f7..c8b65086dc 100644
--- a/src/lib/libssl/t1_srvr.c
+++ b/src/lib/libssl/t1_srvr.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: t1_srvr.c,v 1.25 2017/01/26 05:31:25 jsing Exp $ */ 1/* $OpenBSD: t1_srvr.c,v 1.26 2018/04/07 17:02:34 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 *
@@ -74,9 +74,6 @@ static const SSL_METHOD_INTERNAL TLS_server_method_internal_data = {
74 .ssl_free = tls1_free, 74 .ssl_free = tls1_free,
75 .ssl_accept = ssl3_accept, 75 .ssl_accept = ssl3_accept,
76 .ssl_connect = ssl_undefined_function, 76 .ssl_connect = ssl_undefined_function,
77 .ssl_read = ssl3_read,
78 .ssl_peek = ssl3_peek,
79 .ssl_write = ssl3_write,
80 .ssl_shutdown = ssl3_shutdown, 77 .ssl_shutdown = ssl3_shutdown,
81 .ssl_pending = ssl3_pending, 78 .ssl_pending = ssl3_pending,
82 .get_ssl_method = tls1_get_server_method, 79 .get_ssl_method = tls1_get_server_method,
@@ -108,9 +105,6 @@ static const SSL_METHOD_INTERNAL TLSv1_server_method_internal_data = {
108 .ssl_free = tls1_free, 105 .ssl_free = tls1_free,
109 .ssl_accept = ssl3_accept, 106 .ssl_accept = ssl3_accept,
110 .ssl_connect = ssl_undefined_function, 107 .ssl_connect = ssl_undefined_function,
111 .ssl_read = ssl3_read,
112 .ssl_peek = ssl3_peek,
113 .ssl_write = ssl3_write,
114 .ssl_shutdown = ssl3_shutdown, 108 .ssl_shutdown = ssl3_shutdown,
115 .ssl_pending = ssl3_pending, 109 .ssl_pending = ssl3_pending,
116 .get_ssl_method = tls1_get_server_method, 110 .get_ssl_method = tls1_get_server_method,
@@ -142,9 +136,6 @@ static const SSL_METHOD_INTERNAL TLSv1_1_server_method_internal_data = {
142 .ssl_free = tls1_free, 136 .ssl_free = tls1_free,
143 .ssl_accept = ssl3_accept, 137 .ssl_accept = ssl3_accept,
144 .ssl_connect = ssl_undefined_function, 138 .ssl_connect = ssl_undefined_function,
145 .ssl_read = ssl3_read,
146 .ssl_peek = ssl3_peek,
147 .ssl_write = ssl3_write,
148 .ssl_shutdown = ssl3_shutdown, 139 .ssl_shutdown = ssl3_shutdown,
149 .ssl_pending = ssl3_pending, 140 .ssl_pending = ssl3_pending,
150 .get_ssl_method = tls1_get_server_method, 141 .get_ssl_method = tls1_get_server_method,
@@ -176,9 +167,6 @@ static const SSL_METHOD_INTERNAL TLSv1_2_server_method_internal_data = {
176 .ssl_free = tls1_free, 167 .ssl_free = tls1_free,
177 .ssl_accept = ssl3_accept, 168 .ssl_accept = ssl3_accept,
178 .ssl_connect = ssl_undefined_function, 169 .ssl_connect = ssl_undefined_function,
179 .ssl_read = ssl3_read,
180 .ssl_peek = ssl3_peek,
181 .ssl_write = ssl3_write,
182 .ssl_shutdown = ssl3_shutdown, 170 .ssl_shutdown = ssl3_shutdown,
183 .ssl_pending = ssl3_pending, 171 .ssl_pending = ssl3_pending,
184 .get_ssl_method = tls1_get_server_method, 172 .get_ssl_method = tls1_get_server_method,