summaryrefslogtreecommitdiff
path: root/src/lib/libssl/t1_meth.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libssl/t1_meth.c')
-rw-r--r--src/lib/libssl/t1_meth.c125
1 files changed, 116 insertions, 9 deletions
diff --git a/src/lib/libssl/t1_meth.c b/src/lib/libssl/t1_meth.c
index 49fe9624a2..b39303b369 100644
--- a/src/lib/libssl/t1_meth.c
+++ b/src/lib/libssl/t1_meth.c
@@ -60,6 +60,122 @@
60#include <openssl/objects.h> 60#include <openssl/objects.h>
61#include "ssl_locl.h" 61#include "ssl_locl.h"
62 62
63static const SSL_METHOD *tls1_get_method(int ver);
64
65const SSL_METHOD TLSv1_method_data = {
66 .version = TLS1_VERSION,
67 .ssl_new = tls1_new,
68 .ssl_clear = tls1_clear,
69 .ssl_free = tls1_free,
70 .ssl_accept = ssl3_accept,
71 .ssl_connect = ssl3_connect,
72 .ssl_read = ssl3_read,
73 .ssl_peek = ssl3_peek,
74 .ssl_write = ssl3_write,
75 .ssl_shutdown = ssl3_shutdown,
76 .ssl_renegotiate = ssl3_renegotiate,
77 .ssl_renegotiate_check = ssl3_renegotiate_check,
78 .ssl_get_message = ssl3_get_message,
79 .ssl_read_bytes = ssl3_read_bytes,
80 .ssl_write_bytes = ssl3_write_bytes,
81 .ssl_dispatch_alert = ssl3_dispatch_alert,
82 .ssl_ctrl = ssl3_ctrl,
83 .ssl_ctx_ctrl = ssl3_ctx_ctrl,
84 .get_cipher_by_char = ssl3_get_cipher_by_char,
85 .put_cipher_by_char = ssl3_put_cipher_by_char,
86 .ssl_pending = ssl3_pending,
87 .num_ciphers = ssl3_num_ciphers,
88 .get_cipher = ssl3_get_cipher,
89 .get_ssl_method = tls1_get_method,
90 .get_timeout = tls1_default_timeout,
91 .ssl3_enc = &TLSv1_enc_data,
92 .ssl_version = ssl_undefined_void_function,
93 .ssl_callback_ctrl = ssl3_callback_ctrl,
94 .ssl_ctx_callback_ctrl = ssl3_ctx_callback_ctrl,
95};
96
97const SSL_METHOD TLSv1_1_method_data = {
98 .version = TLS1_1_VERSION,
99 .ssl_new = tls1_new,
100 .ssl_clear = tls1_clear,
101 .ssl_free = tls1_free,
102 .ssl_accept = ssl3_accept,
103 .ssl_connect = ssl3_connect,
104 .ssl_read = ssl3_read,
105 .ssl_peek = ssl3_peek,
106 .ssl_write = ssl3_write,
107 .ssl_shutdown = ssl3_shutdown,
108 .ssl_renegotiate = ssl3_renegotiate,
109 .ssl_renegotiate_check = ssl3_renegotiate_check,
110 .ssl_get_message = ssl3_get_message,
111 .ssl_read_bytes = ssl3_read_bytes,
112 .ssl_write_bytes = ssl3_write_bytes,
113 .ssl_dispatch_alert = ssl3_dispatch_alert,
114 .ssl_ctrl = ssl3_ctrl,
115 .ssl_ctx_ctrl = ssl3_ctx_ctrl,
116 .get_cipher_by_char = ssl3_get_cipher_by_char,
117 .put_cipher_by_char = ssl3_put_cipher_by_char,
118 .ssl_pending = ssl3_pending,
119 .num_ciphers = ssl3_num_ciphers,
120 .get_cipher = ssl3_get_cipher,
121 .get_ssl_method = tls1_get_method,
122 .get_timeout = tls1_default_timeout,
123 .ssl3_enc = &TLSv1_enc_data,
124 .ssl_version = ssl_undefined_void_function,
125 .ssl_callback_ctrl = ssl3_callback_ctrl,
126 .ssl_ctx_callback_ctrl = ssl3_ctx_callback_ctrl,
127};
128
129const SSL_METHOD TLSv1_2_method_data = {
130 .version = TLS1_2_VERSION,
131 .ssl_new = tls1_new,
132 .ssl_clear = tls1_clear,
133 .ssl_free = tls1_free,
134 .ssl_accept = ssl3_accept,
135 .ssl_connect = ssl3_connect,
136 .ssl_read = ssl3_read,
137 .ssl_peek = ssl3_peek,
138 .ssl_write = ssl3_write,
139 .ssl_shutdown = ssl3_shutdown,
140 .ssl_renegotiate = ssl3_renegotiate,
141 .ssl_renegotiate_check = ssl3_renegotiate_check,
142 .ssl_get_message = ssl3_get_message,
143 .ssl_read_bytes = ssl3_read_bytes,
144 .ssl_write_bytes = ssl3_write_bytes,
145 .ssl_dispatch_alert = ssl3_dispatch_alert,
146 .ssl_ctrl = ssl3_ctrl,
147 .ssl_ctx_ctrl = ssl3_ctx_ctrl,
148 .get_cipher_by_char = ssl3_get_cipher_by_char,
149 .put_cipher_by_char = ssl3_put_cipher_by_char,
150 .ssl_pending = ssl3_pending,
151 .num_ciphers = ssl3_num_ciphers,
152 .get_cipher = ssl3_get_cipher,
153 .get_ssl_method = tls1_get_method,
154 .get_timeout = tls1_default_timeout,
155 .ssl3_enc = &TLSv1_enc_data,
156 .ssl_version = ssl_undefined_void_function,
157 .ssl_callback_ctrl = ssl3_callback_ctrl,
158 .ssl_ctx_callback_ctrl = ssl3_ctx_callback_ctrl,
159};
160
161const SSL_METHOD *
162TLSv1_method(void)
163{
164 return &TLSv1_method_data;
165}
166
167const SSL_METHOD *
168TLSv1_1_method(void)
169{
170 return &TLSv1_1_method_data;
171}
172
173const SSL_METHOD *
174TLSv1_2_method(void)
175{
176 return &TLSv1_2_method_data;
177}
178
63static const SSL_METHOD * 179static const SSL_METHOD *
64tls1_get_method(int ver) 180tls1_get_method(int ver)
65{ 181{
@@ -71,12 +187,3 @@ tls1_get_method(int ver)
71 return (TLSv1_method()); 187 return (TLSv1_method());
72 return (NULL); 188 return (NULL);
73} 189}
74
75IMPLEMENT_tls_meth_func(TLS1_2_VERSION, TLSv1_2_method,
76 ssl3_accept, ssl3_connect, tls1_get_method)
77
78IMPLEMENT_tls_meth_func(TLS1_1_VERSION, TLSv1_1_method,
79 ssl3_accept, ssl3_connect, tls1_get_method)
80
81IMPLEMENT_tls_meth_func(TLS1_VERSION, TLSv1_method,
82 ssl3_accept, ssl3_connect, tls1_get_method)