diff options
author | jsing <> | 2015-02-06 08:30:23 +0000 |
---|---|---|
committer | jsing <> | 2015-02-06 08:30:23 +0000 |
commit | 04f5c3dd2b47368b601e30fea9b329d7e90e5233 (patch) | |
tree | 3d9e90980fb8319df5be140e688f4782d92d6aa1 | |
parent | d9fc2c3367b4d3680c1f1fa9d18253a4ba0f42cc (diff) | |
download | openbsd-04f5c3dd2b47368b601e30fea9b329d7e90e5233.tar.gz openbsd-04f5c3dd2b47368b601e30fea9b329d7e90e5233.tar.bz2 openbsd-04f5c3dd2b47368b601e30fea9b329d7e90e5233.zip |
Bring back the horrible API that is get_cipher_by_char/put_cipher_by_char.
This API was intended to be an internal only, however like many things in
OpenSSL, it is exposed externally and parts of the software ecosystem are
now using it since there is no real alternative within the public API.
ok doug@, tedu@ and reluctantly miod@
28 files changed, 176 insertions, 30 deletions
diff --git a/src/lib/libssl/d1_clnt.c b/src/lib/libssl/d1_clnt.c index 3687f5917c..c344c1bcdc 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.41 2014/12/14 16:19:38 jsing Exp $ */ | 1 | /* $OpenBSD: d1_clnt.c,v 1.42 2015/02/06 08:30:23 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. |
@@ -146,6 +146,8 @@ const SSL_METHOD DTLSv1_client_method_data = { | |||
146 | .ssl_dispatch_alert = dtls1_dispatch_alert, | 146 | .ssl_dispatch_alert = dtls1_dispatch_alert, |
147 | .ssl_ctrl = dtls1_ctrl, | 147 | .ssl_ctrl = dtls1_ctrl, |
148 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 148 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
149 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
150 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
149 | .ssl_pending = ssl3_pending, | 151 | .ssl_pending = ssl3_pending, |
150 | .num_ciphers = ssl3_num_ciphers, | 152 | .num_ciphers = ssl3_num_ciphers, |
151 | .get_cipher = dtls1_get_cipher, | 153 | .get_cipher = dtls1_get_cipher, |
diff --git a/src/lib/libssl/d1_meth.c b/src/lib/libssl/d1_meth.c index 527b47e98a..7f279a4f50 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.8 2014/12/14 15:30:50 jsing Exp $ */ | 1 | /* $OpenBSD: d1_meth.c,v 1.9 2015/02/06 08:30:23 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. |
@@ -84,6 +84,8 @@ const SSL_METHOD DTLSv1_method_data = { | |||
84 | .ssl_dispatch_alert = dtls1_dispatch_alert, | 84 | .ssl_dispatch_alert = dtls1_dispatch_alert, |
85 | .ssl_ctrl = dtls1_ctrl, | 85 | .ssl_ctrl = dtls1_ctrl, |
86 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 86 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
87 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
88 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
87 | .ssl_pending = ssl3_pending, | 89 | .ssl_pending = ssl3_pending, |
88 | .num_ciphers = ssl3_num_ciphers, | 90 | .num_ciphers = ssl3_num_ciphers, |
89 | .get_cipher = dtls1_get_cipher, | 91 | .get_cipher = dtls1_get_cipher, |
diff --git a/src/lib/libssl/d1_srvr.c b/src/lib/libssl/d1_srvr.c index 057d92109c..82f846d236 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.46 2014/12/15 00:46:53 doug Exp $ */ | 1 | /* $OpenBSD: d1_srvr.c,v 1.47 2015/02/06 08:30:23 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. |
@@ -147,6 +147,8 @@ const SSL_METHOD DTLSv1_server_method_data = { | |||
147 | .ssl_dispatch_alert = dtls1_dispatch_alert, | 147 | .ssl_dispatch_alert = dtls1_dispatch_alert, |
148 | .ssl_ctrl = dtls1_ctrl, | 148 | .ssl_ctrl = dtls1_ctrl, |
149 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 149 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
150 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
151 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
150 | .ssl_pending = ssl3_pending, | 152 | .ssl_pending = ssl3_pending, |
151 | .num_ciphers = ssl3_num_ciphers, | 153 | .num_ciphers = ssl3_num_ciphers, |
152 | .get_cipher = dtls1_get_cipher, | 154 | .get_cipher = dtls1_get_cipher, |
diff --git a/src/lib/libssl/s23_clnt.c b/src/lib/libssl/s23_clnt.c index 28ea24c173..4159ae0580 100644 --- a/src/lib/libssl/s23_clnt.c +++ b/src/lib/libssl/s23_clnt.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: s23_clnt.c,v 1.35 2014/12/10 15:43:31 jsing Exp $ */ | 1 | /* $OpenBSD: s23_clnt.c,v 1.36 2015/02/06 08:30:23 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 | * |
@@ -140,6 +140,8 @@ const SSL_METHOD SSLv23_client_method_data = { | |||
140 | .ssl_dispatch_alert = ssl3_dispatch_alert, | 140 | .ssl_dispatch_alert = ssl3_dispatch_alert, |
141 | .ssl_ctrl = ssl3_ctrl, | 141 | .ssl_ctrl = ssl3_ctrl, |
142 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 142 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
143 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
144 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
143 | .ssl_pending = ssl_undefined_const_function, | 145 | .ssl_pending = ssl_undefined_const_function, |
144 | .num_ciphers = ssl3_num_ciphers, | 146 | .num_ciphers = ssl3_num_ciphers, |
145 | .get_cipher = ssl3_get_cipher, | 147 | .get_cipher = ssl3_get_cipher, |
diff --git a/src/lib/libssl/s23_srvr.c b/src/lib/libssl/s23_srvr.c index a7686c3f40..9e0ee453db 100644 --- a/src/lib/libssl/s23_srvr.c +++ b/src/lib/libssl/s23_srvr.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: s23_srvr.c,v 1.37 2014/12/10 15:43:31 jsing Exp $ */ | 1 | /* $OpenBSD: s23_srvr.c,v 1.38 2015/02/06 08:30:23 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 | * |
@@ -139,6 +139,8 @@ const SSL_METHOD SSLv23_server_method_data = { | |||
139 | .ssl_dispatch_alert = ssl3_dispatch_alert, | 139 | .ssl_dispatch_alert = ssl3_dispatch_alert, |
140 | .ssl_ctrl = ssl3_ctrl, | 140 | .ssl_ctrl = ssl3_ctrl, |
141 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 141 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
142 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
143 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
142 | .ssl_pending = ssl_undefined_const_function, | 144 | .ssl_pending = ssl_undefined_const_function, |
143 | .num_ciphers = ssl3_num_ciphers, | 145 | .num_ciphers = ssl3_num_ciphers, |
144 | .get_cipher = ssl3_get_cipher, | 146 | .get_cipher = ssl3_get_cipher, |
diff --git a/src/lib/libssl/s3_clnt.c b/src/lib/libssl/s3_clnt.c index b1c8ffb200..1a64a7e5f2 100644 --- a/src/lib/libssl/s3_clnt.c +++ b/src/lib/libssl/s3_clnt.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: s3_clnt.c,v 1.104 2015/01/23 14:40:59 jsing Exp $ */ | 1 | /* $OpenBSD: s3_clnt.c,v 1.105 2015/02/06 08:30:23 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 | * |
@@ -188,6 +188,8 @@ const SSL_METHOD SSLv3_client_method_data = { | |||
188 | .ssl_dispatch_alert = ssl3_dispatch_alert, | 188 | .ssl_dispatch_alert = ssl3_dispatch_alert, |
189 | .ssl_ctrl = ssl3_ctrl, | 189 | .ssl_ctrl = ssl3_ctrl, |
190 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 190 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
191 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
192 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
191 | .ssl_pending = ssl3_pending, | 193 | .ssl_pending = ssl3_pending, |
192 | .num_ciphers = ssl3_num_ciphers, | 194 | .num_ciphers = ssl3_num_ciphers, |
193 | .get_cipher = ssl3_get_cipher, | 195 | .get_cipher = ssl3_get_cipher, |
diff --git a/src/lib/libssl/s3_lib.c b/src/lib/libssl/s3_lib.c index 98eff97131..c7731b3cf4 100644 --- a/src/lib/libssl/s3_lib.c +++ b/src/lib/libssl/s3_lib.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: s3_lib.c,v 1.91 2014/12/16 05:47:28 miod Exp $ */ | 1 | /* $OpenBSD: s3_lib.c,v 1.92 2015/02/06 08:30:23 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 | * |
@@ -2519,7 +2519,42 @@ ssl3_ctx_callback_ctrl(SSL_CTX *ctx, int cmd, void (*fp)(void)) | |||
2519 | return (1); | 2519 | return (1); |
2520 | } | 2520 | } |
2521 | 2521 | ||
2522 | SSL_CIPHER *ssl3_choose_cipher(SSL *s, STACK_OF(SSL_CIPHER) *clnt, | 2522 | /* |
2523 | * This function needs to check if the ciphers required are actually available. | ||
2524 | */ | ||
2525 | const SSL_CIPHER * | ||
2526 | ssl3_get_cipher_by_char(const unsigned char *p) | ||
2527 | { | ||
2528 | const SSL_CIPHER *cp; | ||
2529 | unsigned long id; | ||
2530 | SSL_CIPHER c; | ||
2531 | |||
2532 | id = 0x03000000L | ((unsigned long)p[0] << 8L) | (unsigned long)p[1]; | ||
2533 | c.id = id; | ||
2534 | cp = OBJ_bsearch_ssl_cipher_id(&c, ssl3_ciphers, SSL3_NUM_CIPHERS); | ||
2535 | if (cp == NULL || cp->valid == 0) | ||
2536 | return NULL; | ||
2537 | else | ||
2538 | return cp; | ||
2539 | } | ||
2540 | |||
2541 | int | ||
2542 | ssl3_put_cipher_by_char(const SSL_CIPHER *c, unsigned char *p) | ||
2543 | { | ||
2544 | long l; | ||
2545 | |||
2546 | if (p != NULL) { | ||
2547 | l = c->id; | ||
2548 | if ((l & 0xff000000) != 0x03000000) | ||
2549 | return (0); | ||
2550 | p[0] = ((unsigned char)(l >> 8L)) & 0xFF; | ||
2551 | p[1] = ((unsigned char)(l)) & 0xFF; | ||
2552 | } | ||
2553 | return (2); | ||
2554 | } | ||
2555 | |||
2556 | SSL_CIPHER * | ||
2557 | ssl3_choose_cipher(SSL *s, STACK_OF(SSL_CIPHER) *clnt, | ||
2523 | STACK_OF(SSL_CIPHER) *srvr) | 2558 | STACK_OF(SSL_CIPHER) *srvr) |
2524 | { | 2559 | { |
2525 | unsigned long alg_k, alg_a, mask_k, mask_a; | 2560 | unsigned long alg_k, alg_a, mask_k, mask_a; |
diff --git a/src/lib/libssl/s3_srvr.c b/src/lib/libssl/s3_srvr.c index fd8f9aabab..e16eb6f5d0 100644 --- a/src/lib/libssl/s3_srvr.c +++ b/src/lib/libssl/s3_srvr.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: s3_srvr.c,v 1.96 2014/12/29 16:12:59 tedu Exp $ */ | 1 | /* $OpenBSD: s3_srvr.c,v 1.97 2015/02/06 08:30:23 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 | * |
@@ -188,6 +188,8 @@ const SSL_METHOD SSLv3_server_method_data = { | |||
188 | .ssl_dispatch_alert = ssl3_dispatch_alert, | 188 | .ssl_dispatch_alert = ssl3_dispatch_alert, |
189 | .ssl_ctrl = ssl3_ctrl, | 189 | .ssl_ctrl = ssl3_ctrl, |
190 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 190 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
191 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
192 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
191 | .ssl_pending = ssl3_pending, | 193 | .ssl_pending = ssl3_pending, |
192 | .num_ciphers = ssl3_num_ciphers, | 194 | .num_ciphers = ssl3_num_ciphers, |
193 | .get_cipher = ssl3_get_cipher, | 195 | .get_cipher = ssl3_get_cipher, |
diff --git a/src/lib/libssl/src/ssl/d1_clnt.c b/src/lib/libssl/src/ssl/d1_clnt.c index 3687f5917c..c344c1bcdc 100644 --- a/src/lib/libssl/src/ssl/d1_clnt.c +++ b/src/lib/libssl/src/ssl/d1_clnt.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: d1_clnt.c,v 1.41 2014/12/14 16:19:38 jsing Exp $ */ | 1 | /* $OpenBSD: d1_clnt.c,v 1.42 2015/02/06 08:30:23 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. |
@@ -146,6 +146,8 @@ const SSL_METHOD DTLSv1_client_method_data = { | |||
146 | .ssl_dispatch_alert = dtls1_dispatch_alert, | 146 | .ssl_dispatch_alert = dtls1_dispatch_alert, |
147 | .ssl_ctrl = dtls1_ctrl, | 147 | .ssl_ctrl = dtls1_ctrl, |
148 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 148 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
149 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
150 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
149 | .ssl_pending = ssl3_pending, | 151 | .ssl_pending = ssl3_pending, |
150 | .num_ciphers = ssl3_num_ciphers, | 152 | .num_ciphers = ssl3_num_ciphers, |
151 | .get_cipher = dtls1_get_cipher, | 153 | .get_cipher = dtls1_get_cipher, |
diff --git a/src/lib/libssl/src/ssl/d1_meth.c b/src/lib/libssl/src/ssl/d1_meth.c index 527b47e98a..7f279a4f50 100644 --- a/src/lib/libssl/src/ssl/d1_meth.c +++ b/src/lib/libssl/src/ssl/d1_meth.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: d1_meth.c,v 1.8 2014/12/14 15:30:50 jsing Exp $ */ | 1 | /* $OpenBSD: d1_meth.c,v 1.9 2015/02/06 08:30:23 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. |
@@ -84,6 +84,8 @@ const SSL_METHOD DTLSv1_method_data = { | |||
84 | .ssl_dispatch_alert = dtls1_dispatch_alert, | 84 | .ssl_dispatch_alert = dtls1_dispatch_alert, |
85 | .ssl_ctrl = dtls1_ctrl, | 85 | .ssl_ctrl = dtls1_ctrl, |
86 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 86 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
87 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
88 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
87 | .ssl_pending = ssl3_pending, | 89 | .ssl_pending = ssl3_pending, |
88 | .num_ciphers = ssl3_num_ciphers, | 90 | .num_ciphers = ssl3_num_ciphers, |
89 | .get_cipher = dtls1_get_cipher, | 91 | .get_cipher = dtls1_get_cipher, |
diff --git a/src/lib/libssl/src/ssl/d1_srvr.c b/src/lib/libssl/src/ssl/d1_srvr.c index 057d92109c..82f846d236 100644 --- a/src/lib/libssl/src/ssl/d1_srvr.c +++ b/src/lib/libssl/src/ssl/d1_srvr.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: d1_srvr.c,v 1.46 2014/12/15 00:46:53 doug Exp $ */ | 1 | /* $OpenBSD: d1_srvr.c,v 1.47 2015/02/06 08:30:23 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. |
@@ -147,6 +147,8 @@ const SSL_METHOD DTLSv1_server_method_data = { | |||
147 | .ssl_dispatch_alert = dtls1_dispatch_alert, | 147 | .ssl_dispatch_alert = dtls1_dispatch_alert, |
148 | .ssl_ctrl = dtls1_ctrl, | 148 | .ssl_ctrl = dtls1_ctrl, |
149 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 149 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
150 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
151 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
150 | .ssl_pending = ssl3_pending, | 152 | .ssl_pending = ssl3_pending, |
151 | .num_ciphers = ssl3_num_ciphers, | 153 | .num_ciphers = ssl3_num_ciphers, |
152 | .get_cipher = dtls1_get_cipher, | 154 | .get_cipher = dtls1_get_cipher, |
diff --git a/src/lib/libssl/src/ssl/s23_clnt.c b/src/lib/libssl/src/ssl/s23_clnt.c index 28ea24c173..4159ae0580 100644 --- a/src/lib/libssl/src/ssl/s23_clnt.c +++ b/src/lib/libssl/src/ssl/s23_clnt.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: s23_clnt.c,v 1.35 2014/12/10 15:43:31 jsing Exp $ */ | 1 | /* $OpenBSD: s23_clnt.c,v 1.36 2015/02/06 08:30:23 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 | * |
@@ -140,6 +140,8 @@ const SSL_METHOD SSLv23_client_method_data = { | |||
140 | .ssl_dispatch_alert = ssl3_dispatch_alert, | 140 | .ssl_dispatch_alert = ssl3_dispatch_alert, |
141 | .ssl_ctrl = ssl3_ctrl, | 141 | .ssl_ctrl = ssl3_ctrl, |
142 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 142 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
143 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
144 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
143 | .ssl_pending = ssl_undefined_const_function, | 145 | .ssl_pending = ssl_undefined_const_function, |
144 | .num_ciphers = ssl3_num_ciphers, | 146 | .num_ciphers = ssl3_num_ciphers, |
145 | .get_cipher = ssl3_get_cipher, | 147 | .get_cipher = ssl3_get_cipher, |
diff --git a/src/lib/libssl/src/ssl/s23_meth.c b/src/lib/libssl/src/ssl/s23_meth.c index e5382ff38d..164604001e 100644 --- a/src/lib/libssl/src/ssl/s23_meth.c +++ b/src/lib/libssl/src/ssl/s23_meth.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: s23_meth.c,v 1.16 2014/11/16 14:12:47 jsing Exp $ */ | 1 | /* $OpenBSD: s23_meth.c,v 1.17 2015/02/06 08:30:23 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 | * |
@@ -83,6 +83,8 @@ const SSL_METHOD SSLv23_method_data = { | |||
83 | .ssl_dispatch_alert = ssl3_dispatch_alert, | 83 | .ssl_dispatch_alert = ssl3_dispatch_alert, |
84 | .ssl_ctrl = ssl3_ctrl, | 84 | .ssl_ctrl = ssl3_ctrl, |
85 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 85 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
86 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
87 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
86 | .ssl_pending = ssl_undefined_const_function, | 88 | .ssl_pending = ssl_undefined_const_function, |
87 | .num_ciphers = ssl3_num_ciphers, | 89 | .num_ciphers = ssl3_num_ciphers, |
88 | .get_cipher = ssl3_get_cipher, | 90 | .get_cipher = ssl3_get_cipher, |
diff --git a/src/lib/libssl/src/ssl/s23_srvr.c b/src/lib/libssl/src/ssl/s23_srvr.c index a7686c3f40..9e0ee453db 100644 --- a/src/lib/libssl/src/ssl/s23_srvr.c +++ b/src/lib/libssl/src/ssl/s23_srvr.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: s23_srvr.c,v 1.37 2014/12/10 15:43:31 jsing Exp $ */ | 1 | /* $OpenBSD: s23_srvr.c,v 1.38 2015/02/06 08:30:23 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 | * |
@@ -139,6 +139,8 @@ const SSL_METHOD SSLv23_server_method_data = { | |||
139 | .ssl_dispatch_alert = ssl3_dispatch_alert, | 139 | .ssl_dispatch_alert = ssl3_dispatch_alert, |
140 | .ssl_ctrl = ssl3_ctrl, | 140 | .ssl_ctrl = ssl3_ctrl, |
141 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 141 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
142 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
143 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
142 | .ssl_pending = ssl_undefined_const_function, | 144 | .ssl_pending = ssl_undefined_const_function, |
143 | .num_ciphers = ssl3_num_ciphers, | 145 | .num_ciphers = ssl3_num_ciphers, |
144 | .get_cipher = ssl3_get_cipher, | 146 | .get_cipher = ssl3_get_cipher, |
diff --git a/src/lib/libssl/src/ssl/s3_clnt.c b/src/lib/libssl/src/ssl/s3_clnt.c index b1c8ffb200..1a64a7e5f2 100644 --- a/src/lib/libssl/src/ssl/s3_clnt.c +++ b/src/lib/libssl/src/ssl/s3_clnt.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: s3_clnt.c,v 1.104 2015/01/23 14:40:59 jsing Exp $ */ | 1 | /* $OpenBSD: s3_clnt.c,v 1.105 2015/02/06 08:30:23 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 | * |
@@ -188,6 +188,8 @@ const SSL_METHOD SSLv3_client_method_data = { | |||
188 | .ssl_dispatch_alert = ssl3_dispatch_alert, | 188 | .ssl_dispatch_alert = ssl3_dispatch_alert, |
189 | .ssl_ctrl = ssl3_ctrl, | 189 | .ssl_ctrl = ssl3_ctrl, |
190 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 190 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
191 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
192 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
191 | .ssl_pending = ssl3_pending, | 193 | .ssl_pending = ssl3_pending, |
192 | .num_ciphers = ssl3_num_ciphers, | 194 | .num_ciphers = ssl3_num_ciphers, |
193 | .get_cipher = ssl3_get_cipher, | 195 | .get_cipher = ssl3_get_cipher, |
diff --git a/src/lib/libssl/src/ssl/s3_lib.c b/src/lib/libssl/src/ssl/s3_lib.c index 98eff97131..c7731b3cf4 100644 --- a/src/lib/libssl/src/ssl/s3_lib.c +++ b/src/lib/libssl/src/ssl/s3_lib.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: s3_lib.c,v 1.91 2014/12/16 05:47:28 miod Exp $ */ | 1 | /* $OpenBSD: s3_lib.c,v 1.92 2015/02/06 08:30:23 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 | * |
@@ -2519,7 +2519,42 @@ ssl3_ctx_callback_ctrl(SSL_CTX *ctx, int cmd, void (*fp)(void)) | |||
2519 | return (1); | 2519 | return (1); |
2520 | } | 2520 | } |
2521 | 2521 | ||
2522 | SSL_CIPHER *ssl3_choose_cipher(SSL *s, STACK_OF(SSL_CIPHER) *clnt, | 2522 | /* |
2523 | * This function needs to check if the ciphers required are actually available. | ||
2524 | */ | ||
2525 | const SSL_CIPHER * | ||
2526 | ssl3_get_cipher_by_char(const unsigned char *p) | ||
2527 | { | ||
2528 | const SSL_CIPHER *cp; | ||
2529 | unsigned long id; | ||
2530 | SSL_CIPHER c; | ||
2531 | |||
2532 | id = 0x03000000L | ((unsigned long)p[0] << 8L) | (unsigned long)p[1]; | ||
2533 | c.id = id; | ||
2534 | cp = OBJ_bsearch_ssl_cipher_id(&c, ssl3_ciphers, SSL3_NUM_CIPHERS); | ||
2535 | if (cp == NULL || cp->valid == 0) | ||
2536 | return NULL; | ||
2537 | else | ||
2538 | return cp; | ||
2539 | } | ||
2540 | |||
2541 | int | ||
2542 | ssl3_put_cipher_by_char(const SSL_CIPHER *c, unsigned char *p) | ||
2543 | { | ||
2544 | long l; | ||
2545 | |||
2546 | if (p != NULL) { | ||
2547 | l = c->id; | ||
2548 | if ((l & 0xff000000) != 0x03000000) | ||
2549 | return (0); | ||
2550 | p[0] = ((unsigned char)(l >> 8L)) & 0xFF; | ||
2551 | p[1] = ((unsigned char)(l)) & 0xFF; | ||
2552 | } | ||
2553 | return (2); | ||
2554 | } | ||
2555 | |||
2556 | SSL_CIPHER * | ||
2557 | ssl3_choose_cipher(SSL *s, STACK_OF(SSL_CIPHER) *clnt, | ||
2523 | STACK_OF(SSL_CIPHER) *srvr) | 2558 | STACK_OF(SSL_CIPHER) *srvr) |
2524 | { | 2559 | { |
2525 | unsigned long alg_k, alg_a, mask_k, mask_a; | 2560 | unsigned long alg_k, alg_a, mask_k, mask_a; |
diff --git a/src/lib/libssl/src/ssl/s3_meth.c b/src/lib/libssl/src/ssl/s3_meth.c index 3435e529d9..8ad4efa7a8 100644 --- a/src/lib/libssl/src/ssl/s3_meth.c +++ b/src/lib/libssl/src/ssl/s3_meth.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: s3_meth.c,v 1.12 2014/12/14 15:30:50 jsing Exp $ */ | 1 | /* $OpenBSD: s3_meth.c,v 1.13 2015/02/06 08:30:23 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 | * |
@@ -83,6 +83,8 @@ const SSL_METHOD SSLv3_method_data = { | |||
83 | .ssl_dispatch_alert = ssl3_dispatch_alert, | 83 | .ssl_dispatch_alert = ssl3_dispatch_alert, |
84 | .ssl_ctrl = ssl3_ctrl, | 84 | .ssl_ctrl = ssl3_ctrl, |
85 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 85 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
86 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
87 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
86 | .ssl_pending = ssl3_pending, | 88 | .ssl_pending = ssl3_pending, |
87 | .num_ciphers = ssl3_num_ciphers, | 89 | .num_ciphers = ssl3_num_ciphers, |
88 | .get_cipher = ssl3_get_cipher, | 90 | .get_cipher = ssl3_get_cipher, |
diff --git a/src/lib/libssl/src/ssl/s3_srvr.c b/src/lib/libssl/src/ssl/s3_srvr.c index fd8f9aabab..e16eb6f5d0 100644 --- a/src/lib/libssl/src/ssl/s3_srvr.c +++ b/src/lib/libssl/src/ssl/s3_srvr.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: s3_srvr.c,v 1.96 2014/12/29 16:12:59 tedu Exp $ */ | 1 | /* $OpenBSD: s3_srvr.c,v 1.97 2015/02/06 08:30:23 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 | * |
@@ -188,6 +188,8 @@ const SSL_METHOD SSLv3_server_method_data = { | |||
188 | .ssl_dispatch_alert = ssl3_dispatch_alert, | 188 | .ssl_dispatch_alert = ssl3_dispatch_alert, |
189 | .ssl_ctrl = ssl3_ctrl, | 189 | .ssl_ctrl = ssl3_ctrl, |
190 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 190 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
191 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
192 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
191 | .ssl_pending = ssl3_pending, | 193 | .ssl_pending = ssl3_pending, |
192 | .num_ciphers = ssl3_num_ciphers, | 194 | .num_ciphers = ssl3_num_ciphers, |
193 | .get_cipher = ssl3_get_cipher, | 195 | .get_cipher = ssl3_get_cipher, |
diff --git a/src/lib/libssl/src/ssl/ssl.h b/src/lib/libssl/src/ssl/ssl.h index 275743a6a0..571786dcf6 100644 --- a/src/lib/libssl/src/ssl/ssl.h +++ b/src/lib/libssl/src/ssl/ssl.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssl.h,v 1.79 2015/02/06 01:37:11 reyk Exp $ */ | 1 | /* $OpenBSD: ssl.h,v 1.80 2015/02/06 08:30:23 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 | * |
@@ -418,6 +418,8 @@ struct ssl_method_st { | |||
418 | int (*ssl_dispatch_alert)(SSL *s); | 418 | int (*ssl_dispatch_alert)(SSL *s); |
419 | long (*ssl_ctrl)(SSL *s, int cmd, long larg, void *parg); | 419 | long (*ssl_ctrl)(SSL *s, int cmd, long larg, void *parg); |
420 | long (*ssl_ctx_ctrl)(SSL_CTX *ctx, int cmd, long larg, void *parg); | 420 | long (*ssl_ctx_ctrl)(SSL_CTX *ctx, int cmd, long larg, void *parg); |
421 | const SSL_CIPHER *(*get_cipher_by_char)(const unsigned char *ptr); | ||
422 | int (*put_cipher_by_char)(const SSL_CIPHER *cipher, unsigned char *ptr); | ||
421 | int (*ssl_pending)(const SSL *s); | 423 | int (*ssl_pending)(const SSL *s); |
422 | int (*num_ciphers)(void); | 424 | int (*num_ciphers)(void); |
423 | const SSL_CIPHER *(*get_cipher)(unsigned ncipher); | 425 | const SSL_CIPHER *(*get_cipher)(unsigned ncipher); |
diff --git a/src/lib/libssl/src/ssl/ssl_locl.h b/src/lib/libssl/src/ssl/ssl_locl.h index 3312aebaad..94c0d4a83d 100644 --- a/src/lib/libssl/src/ssl/ssl_locl.h +++ b/src/lib/libssl/src/ssl/ssl_locl.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssl_locl.h,v 1.84 2014/12/15 00:46:53 doug Exp $ */ | 1 | /* $OpenBSD: ssl_locl.h,v 1.85 2015/02/06 08:30:23 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 | * |
@@ -595,6 +595,8 @@ STACK_OF(SSL_CIPHER) *ssl_get_ciphers_by_id(SSL *s); | |||
595 | int ssl_verify_alarm_type(long type); | 595 | int ssl_verify_alarm_type(long type); |
596 | void ssl_load_ciphers(void); | 596 | void ssl_load_ciphers(void); |
597 | 597 | ||
598 | const SSL_CIPHER *ssl3_get_cipher_by_char(const unsigned char *p); | ||
599 | int ssl3_put_cipher_by_char(const SSL_CIPHER *c, unsigned char *p); | ||
598 | int ssl3_init_finished_mac(SSL *s); | 600 | int ssl3_init_finished_mac(SSL *s); |
599 | int ssl3_send_server_certificate(SSL *s); | 601 | int ssl3_send_server_certificate(SSL *s); |
600 | int ssl3_send_newsession_ticket(SSL *s); | 602 | int ssl3_send_newsession_ticket(SSL *s); |
diff --git a/src/lib/libssl/src/ssl/t1_clnt.c b/src/lib/libssl/src/ssl/t1_clnt.c index b2adbaee73..0dc41af5b3 100644 --- a/src/lib/libssl/src/ssl/t1_clnt.c +++ b/src/lib/libssl/src/ssl/t1_clnt.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: t1_clnt.c,v 1.16 2014/11/16 14:12:47 jsing Exp $ */ | 1 | /* $OpenBSD: t1_clnt.c,v 1.17 2015/02/06 08:30:23 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 | * |
@@ -85,6 +85,8 @@ const SSL_METHOD TLSv1_client_method_data = { | |||
85 | .ssl_dispatch_alert = ssl3_dispatch_alert, | 85 | .ssl_dispatch_alert = ssl3_dispatch_alert, |
86 | .ssl_ctrl = ssl3_ctrl, | 86 | .ssl_ctrl = ssl3_ctrl, |
87 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 87 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
88 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
89 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
88 | .ssl_pending = ssl3_pending, | 90 | .ssl_pending = ssl3_pending, |
89 | .num_ciphers = ssl3_num_ciphers, | 91 | .num_ciphers = ssl3_num_ciphers, |
90 | .get_cipher = ssl3_get_cipher, | 92 | .get_cipher = ssl3_get_cipher, |
@@ -115,6 +117,8 @@ const SSL_METHOD TLSv1_1_client_method_data = { | |||
115 | .ssl_dispatch_alert = ssl3_dispatch_alert, | 117 | .ssl_dispatch_alert = ssl3_dispatch_alert, |
116 | .ssl_ctrl = ssl3_ctrl, | 118 | .ssl_ctrl = ssl3_ctrl, |
117 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 119 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
120 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
121 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
118 | .ssl_pending = ssl3_pending, | 122 | .ssl_pending = ssl3_pending, |
119 | .num_ciphers = ssl3_num_ciphers, | 123 | .num_ciphers = ssl3_num_ciphers, |
120 | .get_cipher = ssl3_get_cipher, | 124 | .get_cipher = ssl3_get_cipher, |
@@ -145,6 +149,8 @@ const SSL_METHOD TLSv1_2_client_method_data = { | |||
145 | .ssl_dispatch_alert = ssl3_dispatch_alert, | 149 | .ssl_dispatch_alert = ssl3_dispatch_alert, |
146 | .ssl_ctrl = ssl3_ctrl, | 150 | .ssl_ctrl = ssl3_ctrl, |
147 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 151 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
152 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
153 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
148 | .ssl_pending = ssl3_pending, | 154 | .ssl_pending = ssl3_pending, |
149 | .num_ciphers = ssl3_num_ciphers, | 155 | .num_ciphers = ssl3_num_ciphers, |
150 | .get_cipher = ssl3_get_cipher, | 156 | .get_cipher = ssl3_get_cipher, |
diff --git a/src/lib/libssl/src/ssl/t1_meth.c b/src/lib/libssl/src/ssl/t1_meth.c index 71d957fca9..48341525d8 100644 --- a/src/lib/libssl/src/ssl/t1_meth.c +++ b/src/lib/libssl/src/ssl/t1_meth.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: t1_meth.c,v 1.15 2014/12/14 15:30:50 jsing Exp $ */ | 1 | /* $OpenBSD: t1_meth.c,v 1.16 2015/02/06 08:30:23 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 | * |
@@ -83,6 +83,8 @@ const SSL_METHOD TLSv1_method_data = { | |||
83 | .ssl_dispatch_alert = ssl3_dispatch_alert, | 83 | .ssl_dispatch_alert = ssl3_dispatch_alert, |
84 | .ssl_ctrl = ssl3_ctrl, | 84 | .ssl_ctrl = ssl3_ctrl, |
85 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 85 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
86 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
87 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
86 | .ssl_pending = ssl3_pending, | 88 | .ssl_pending = ssl3_pending, |
87 | .num_ciphers = ssl3_num_ciphers, | 89 | .num_ciphers = ssl3_num_ciphers, |
88 | .get_cipher = ssl3_get_cipher, | 90 | .get_cipher = ssl3_get_cipher, |
@@ -113,6 +115,8 @@ const SSL_METHOD TLSv1_1_method_data = { | |||
113 | .ssl_dispatch_alert = ssl3_dispatch_alert, | 115 | .ssl_dispatch_alert = ssl3_dispatch_alert, |
114 | .ssl_ctrl = ssl3_ctrl, | 116 | .ssl_ctrl = ssl3_ctrl, |
115 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 117 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
118 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
119 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
116 | .ssl_pending = ssl3_pending, | 120 | .ssl_pending = ssl3_pending, |
117 | .num_ciphers = ssl3_num_ciphers, | 121 | .num_ciphers = ssl3_num_ciphers, |
118 | .get_cipher = ssl3_get_cipher, | 122 | .get_cipher = ssl3_get_cipher, |
@@ -143,6 +147,8 @@ const SSL_METHOD TLSv1_2_method_data = { | |||
143 | .ssl_dispatch_alert = ssl3_dispatch_alert, | 147 | .ssl_dispatch_alert = ssl3_dispatch_alert, |
144 | .ssl_ctrl = ssl3_ctrl, | 148 | .ssl_ctrl = ssl3_ctrl, |
145 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 149 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
150 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
151 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
146 | .ssl_pending = ssl3_pending, | 152 | .ssl_pending = ssl3_pending, |
147 | .num_ciphers = ssl3_num_ciphers, | 153 | .num_ciphers = ssl3_num_ciphers, |
148 | .get_cipher = ssl3_get_cipher, | 154 | .get_cipher = ssl3_get_cipher, |
diff --git a/src/lib/libssl/src/ssl/t1_srvr.c b/src/lib/libssl/src/ssl/t1_srvr.c index 4dedc727e2..3c6ac541f8 100644 --- a/src/lib/libssl/src/ssl/t1_srvr.c +++ b/src/lib/libssl/src/ssl/t1_srvr.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: t1_srvr.c,v 1.17 2014/12/14 15:30:50 jsing Exp $ */ | 1 | /* $OpenBSD: t1_srvr.c,v 1.18 2015/02/06 08:30:23 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 | * |
@@ -86,6 +86,8 @@ const SSL_METHOD TLSv1_server_method_data = { | |||
86 | .ssl_dispatch_alert = ssl3_dispatch_alert, | 86 | .ssl_dispatch_alert = ssl3_dispatch_alert, |
87 | .ssl_ctrl = ssl3_ctrl, | 87 | .ssl_ctrl = ssl3_ctrl, |
88 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 88 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
89 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
90 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
89 | .ssl_pending = ssl3_pending, | 91 | .ssl_pending = ssl3_pending, |
90 | .num_ciphers = ssl3_num_ciphers, | 92 | .num_ciphers = ssl3_num_ciphers, |
91 | .get_cipher = ssl3_get_cipher, | 93 | .get_cipher = ssl3_get_cipher, |
@@ -116,6 +118,8 @@ const SSL_METHOD TLSv1_1_server_method_data = { | |||
116 | .ssl_dispatch_alert = ssl3_dispatch_alert, | 118 | .ssl_dispatch_alert = ssl3_dispatch_alert, |
117 | .ssl_ctrl = ssl3_ctrl, | 119 | .ssl_ctrl = ssl3_ctrl, |
118 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 120 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
121 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
122 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
119 | .ssl_pending = ssl3_pending, | 123 | .ssl_pending = ssl3_pending, |
120 | .num_ciphers = ssl3_num_ciphers, | 124 | .num_ciphers = ssl3_num_ciphers, |
121 | .get_cipher = ssl3_get_cipher, | 125 | .get_cipher = ssl3_get_cipher, |
@@ -146,6 +150,8 @@ const SSL_METHOD TLSv1_2_server_method_data = { | |||
146 | .ssl_dispatch_alert = ssl3_dispatch_alert, | 150 | .ssl_dispatch_alert = ssl3_dispatch_alert, |
147 | .ssl_ctrl = ssl3_ctrl, | 151 | .ssl_ctrl = ssl3_ctrl, |
148 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 152 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
153 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
154 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
149 | .ssl_pending = ssl3_pending, | 155 | .ssl_pending = ssl3_pending, |
150 | .num_ciphers = ssl3_num_ciphers, | 156 | .num_ciphers = ssl3_num_ciphers, |
151 | .get_cipher = ssl3_get_cipher, | 157 | .get_cipher = ssl3_get_cipher, |
diff --git a/src/lib/libssl/ssl.h b/src/lib/libssl/ssl.h index 275743a6a0..571786dcf6 100644 --- a/src/lib/libssl/ssl.h +++ b/src/lib/libssl/ssl.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssl.h,v 1.79 2015/02/06 01:37:11 reyk Exp $ */ | 1 | /* $OpenBSD: ssl.h,v 1.80 2015/02/06 08:30:23 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 | * |
@@ -418,6 +418,8 @@ struct ssl_method_st { | |||
418 | int (*ssl_dispatch_alert)(SSL *s); | 418 | int (*ssl_dispatch_alert)(SSL *s); |
419 | long (*ssl_ctrl)(SSL *s, int cmd, long larg, void *parg); | 419 | long (*ssl_ctrl)(SSL *s, int cmd, long larg, void *parg); |
420 | long (*ssl_ctx_ctrl)(SSL_CTX *ctx, int cmd, long larg, void *parg); | 420 | long (*ssl_ctx_ctrl)(SSL_CTX *ctx, int cmd, long larg, void *parg); |
421 | const SSL_CIPHER *(*get_cipher_by_char)(const unsigned char *ptr); | ||
422 | int (*put_cipher_by_char)(const SSL_CIPHER *cipher, unsigned char *ptr); | ||
421 | int (*ssl_pending)(const SSL *s); | 423 | int (*ssl_pending)(const SSL *s); |
422 | int (*num_ciphers)(void); | 424 | int (*num_ciphers)(void); |
423 | const SSL_CIPHER *(*get_cipher)(unsigned ncipher); | 425 | const SSL_CIPHER *(*get_cipher)(unsigned ncipher); |
diff --git a/src/lib/libssl/ssl_locl.h b/src/lib/libssl/ssl_locl.h index 3312aebaad..94c0d4a83d 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.84 2014/12/15 00:46:53 doug Exp $ */ | 1 | /* $OpenBSD: ssl_locl.h,v 1.85 2015/02/06 08:30:23 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 | * |
@@ -595,6 +595,8 @@ STACK_OF(SSL_CIPHER) *ssl_get_ciphers_by_id(SSL *s); | |||
595 | int ssl_verify_alarm_type(long type); | 595 | int ssl_verify_alarm_type(long type); |
596 | void ssl_load_ciphers(void); | 596 | void ssl_load_ciphers(void); |
597 | 597 | ||
598 | const SSL_CIPHER *ssl3_get_cipher_by_char(const unsigned char *p); | ||
599 | int ssl3_put_cipher_by_char(const SSL_CIPHER *c, unsigned char *p); | ||
598 | int ssl3_init_finished_mac(SSL *s); | 600 | int ssl3_init_finished_mac(SSL *s); |
599 | int ssl3_send_server_certificate(SSL *s); | 601 | int ssl3_send_server_certificate(SSL *s); |
600 | int ssl3_send_newsession_ticket(SSL *s); | 602 | int ssl3_send_newsession_ticket(SSL *s); |
diff --git a/src/lib/libssl/t1_clnt.c b/src/lib/libssl/t1_clnt.c index b2adbaee73..0dc41af5b3 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.16 2014/11/16 14:12:47 jsing Exp $ */ | 1 | /* $OpenBSD: t1_clnt.c,v 1.17 2015/02/06 08:30:23 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 | * |
@@ -85,6 +85,8 @@ const SSL_METHOD TLSv1_client_method_data = { | |||
85 | .ssl_dispatch_alert = ssl3_dispatch_alert, | 85 | .ssl_dispatch_alert = ssl3_dispatch_alert, |
86 | .ssl_ctrl = ssl3_ctrl, | 86 | .ssl_ctrl = ssl3_ctrl, |
87 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 87 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
88 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
89 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
88 | .ssl_pending = ssl3_pending, | 90 | .ssl_pending = ssl3_pending, |
89 | .num_ciphers = ssl3_num_ciphers, | 91 | .num_ciphers = ssl3_num_ciphers, |
90 | .get_cipher = ssl3_get_cipher, | 92 | .get_cipher = ssl3_get_cipher, |
@@ -115,6 +117,8 @@ const SSL_METHOD TLSv1_1_client_method_data = { | |||
115 | .ssl_dispatch_alert = ssl3_dispatch_alert, | 117 | .ssl_dispatch_alert = ssl3_dispatch_alert, |
116 | .ssl_ctrl = ssl3_ctrl, | 118 | .ssl_ctrl = ssl3_ctrl, |
117 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 119 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
120 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
121 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
118 | .ssl_pending = ssl3_pending, | 122 | .ssl_pending = ssl3_pending, |
119 | .num_ciphers = ssl3_num_ciphers, | 123 | .num_ciphers = ssl3_num_ciphers, |
120 | .get_cipher = ssl3_get_cipher, | 124 | .get_cipher = ssl3_get_cipher, |
@@ -145,6 +149,8 @@ const SSL_METHOD TLSv1_2_client_method_data = { | |||
145 | .ssl_dispatch_alert = ssl3_dispatch_alert, | 149 | .ssl_dispatch_alert = ssl3_dispatch_alert, |
146 | .ssl_ctrl = ssl3_ctrl, | 150 | .ssl_ctrl = ssl3_ctrl, |
147 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 151 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
152 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
153 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
148 | .ssl_pending = ssl3_pending, | 154 | .ssl_pending = ssl3_pending, |
149 | .num_ciphers = ssl3_num_ciphers, | 155 | .num_ciphers = ssl3_num_ciphers, |
150 | .get_cipher = ssl3_get_cipher, | 156 | .get_cipher = ssl3_get_cipher, |
diff --git a/src/lib/libssl/t1_meth.c b/src/lib/libssl/t1_meth.c index 71d957fca9..48341525d8 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.15 2014/12/14 15:30:50 jsing Exp $ */ | 1 | /* $OpenBSD: t1_meth.c,v 1.16 2015/02/06 08:30:23 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 | * |
@@ -83,6 +83,8 @@ const SSL_METHOD TLSv1_method_data = { | |||
83 | .ssl_dispatch_alert = ssl3_dispatch_alert, | 83 | .ssl_dispatch_alert = ssl3_dispatch_alert, |
84 | .ssl_ctrl = ssl3_ctrl, | 84 | .ssl_ctrl = ssl3_ctrl, |
85 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 85 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
86 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
87 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
86 | .ssl_pending = ssl3_pending, | 88 | .ssl_pending = ssl3_pending, |
87 | .num_ciphers = ssl3_num_ciphers, | 89 | .num_ciphers = ssl3_num_ciphers, |
88 | .get_cipher = ssl3_get_cipher, | 90 | .get_cipher = ssl3_get_cipher, |
@@ -113,6 +115,8 @@ const SSL_METHOD TLSv1_1_method_data = { | |||
113 | .ssl_dispatch_alert = ssl3_dispatch_alert, | 115 | .ssl_dispatch_alert = ssl3_dispatch_alert, |
114 | .ssl_ctrl = ssl3_ctrl, | 116 | .ssl_ctrl = ssl3_ctrl, |
115 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 117 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
118 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
119 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
116 | .ssl_pending = ssl3_pending, | 120 | .ssl_pending = ssl3_pending, |
117 | .num_ciphers = ssl3_num_ciphers, | 121 | .num_ciphers = ssl3_num_ciphers, |
118 | .get_cipher = ssl3_get_cipher, | 122 | .get_cipher = ssl3_get_cipher, |
@@ -143,6 +147,8 @@ const SSL_METHOD TLSv1_2_method_data = { | |||
143 | .ssl_dispatch_alert = ssl3_dispatch_alert, | 147 | .ssl_dispatch_alert = ssl3_dispatch_alert, |
144 | .ssl_ctrl = ssl3_ctrl, | 148 | .ssl_ctrl = ssl3_ctrl, |
145 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 149 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
150 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
151 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
146 | .ssl_pending = ssl3_pending, | 152 | .ssl_pending = ssl3_pending, |
147 | .num_ciphers = ssl3_num_ciphers, | 153 | .num_ciphers = ssl3_num_ciphers, |
148 | .get_cipher = ssl3_get_cipher, | 154 | .get_cipher = ssl3_get_cipher, |
diff --git a/src/lib/libssl/t1_srvr.c b/src/lib/libssl/t1_srvr.c index 4dedc727e2..3c6ac541f8 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.17 2014/12/14 15:30:50 jsing Exp $ */ | 1 | /* $OpenBSD: t1_srvr.c,v 1.18 2015/02/06 08:30:23 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 | * |
@@ -86,6 +86,8 @@ const SSL_METHOD TLSv1_server_method_data = { | |||
86 | .ssl_dispatch_alert = ssl3_dispatch_alert, | 86 | .ssl_dispatch_alert = ssl3_dispatch_alert, |
87 | .ssl_ctrl = ssl3_ctrl, | 87 | .ssl_ctrl = ssl3_ctrl, |
88 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 88 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
89 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
90 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
89 | .ssl_pending = ssl3_pending, | 91 | .ssl_pending = ssl3_pending, |
90 | .num_ciphers = ssl3_num_ciphers, | 92 | .num_ciphers = ssl3_num_ciphers, |
91 | .get_cipher = ssl3_get_cipher, | 93 | .get_cipher = ssl3_get_cipher, |
@@ -116,6 +118,8 @@ const SSL_METHOD TLSv1_1_server_method_data = { | |||
116 | .ssl_dispatch_alert = ssl3_dispatch_alert, | 118 | .ssl_dispatch_alert = ssl3_dispatch_alert, |
117 | .ssl_ctrl = ssl3_ctrl, | 119 | .ssl_ctrl = ssl3_ctrl, |
118 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 120 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
121 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
122 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
119 | .ssl_pending = ssl3_pending, | 123 | .ssl_pending = ssl3_pending, |
120 | .num_ciphers = ssl3_num_ciphers, | 124 | .num_ciphers = ssl3_num_ciphers, |
121 | .get_cipher = ssl3_get_cipher, | 125 | .get_cipher = ssl3_get_cipher, |
@@ -146,6 +150,8 @@ const SSL_METHOD TLSv1_2_server_method_data = { | |||
146 | .ssl_dispatch_alert = ssl3_dispatch_alert, | 150 | .ssl_dispatch_alert = ssl3_dispatch_alert, |
147 | .ssl_ctrl = ssl3_ctrl, | 151 | .ssl_ctrl = ssl3_ctrl, |
148 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, | 152 | .ssl_ctx_ctrl = ssl3_ctx_ctrl, |
153 | .get_cipher_by_char = ssl3_get_cipher_by_char, | ||
154 | .put_cipher_by_char = ssl3_put_cipher_by_char, | ||
149 | .ssl_pending = ssl3_pending, | 155 | .ssl_pending = ssl3_pending, |
150 | .num_ciphers = ssl3_num_ciphers, | 156 | .num_ciphers = ssl3_num_ciphers, |
151 | .get_cipher = ssl3_get_cipher, | 157 | .get_cipher = ssl3_get_cipher, |