diff options
author | jsing <> | 2017-01-23 14:35:42 +0000 |
---|---|---|
committer | jsing <> | 2017-01-23 14:35:42 +0000 |
commit | d43892e9652017c33ea2cf69639dc9a01090be5f (patch) | |
tree | 27eab6f3272b4b46f77e786896eae8e697800969 /src/lib/libssl/ssl_lib.c | |
parent | 0eff443f2ac1ae9043870f2d40d9dc0d57f236d6 (diff) | |
download | openbsd-d43892e9652017c33ea2cf69639dc9a01090be5f.tar.gz openbsd-d43892e9652017c33ea2cf69639dc9a01090be5f.tar.bz2 openbsd-d43892e9652017c33ea2cf69639dc9a01090be5f.zip |
Move options and mode from SSL_CTX and SSL to internal, since these can be
set and cleared via existing functions.
Diffstat (limited to 'src/lib/libssl/ssl_lib.c')
-rw-r--r-- | src/lib/libssl/ssl_lib.c | 46 |
1 files changed, 23 insertions, 23 deletions
diff --git a/src/lib/libssl/ssl_lib.c b/src/lib/libssl/ssl_lib.c index edcbe9d20a..20b671022d 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.139 2017/01/23 13:36:13 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_lib.c,v 1.140 2017/01/23 14:35:42 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 | * |
@@ -284,8 +284,8 @@ SSL_new(SSL_CTX *ctx) | |||
284 | return (NULL); | 284 | return (NULL); |
285 | } | 285 | } |
286 | 286 | ||
287 | s->options = ctx->options; | 287 | s->internal->options = ctx->internal->options; |
288 | s->mode = ctx->mode; | 288 | s->internal->mode = ctx->internal->mode; |
289 | s->internal->max_cert_list = ctx->internal->max_cert_list; | 289 | s->internal->max_cert_list = ctx->internal->max_cert_list; |
290 | 290 | ||
291 | if (ctx->internal->cert != NULL) { | 291 | if (ctx->internal->cert != NULL) { |
@@ -1059,13 +1059,13 @@ SSL_ctrl(SSL *s, int cmd, long larg, void *parg) | |||
1059 | return (1); | 1059 | return (1); |
1060 | 1060 | ||
1061 | case SSL_CTRL_OPTIONS: | 1061 | case SSL_CTRL_OPTIONS: |
1062 | return (s->options|=larg); | 1062 | return (s->internal->options|=larg); |
1063 | case SSL_CTRL_CLEAR_OPTIONS: | 1063 | case SSL_CTRL_CLEAR_OPTIONS: |
1064 | return (s->options&=~larg); | 1064 | return (s->internal->options&=~larg); |
1065 | case SSL_CTRL_MODE: | 1065 | case SSL_CTRL_MODE: |
1066 | return (s->mode|=larg); | 1066 | return (s->internal->mode|=larg); |
1067 | case SSL_CTRL_CLEAR_MODE: | 1067 | case SSL_CTRL_CLEAR_MODE: |
1068 | return (s->mode &=~larg); | 1068 | return (s->internal->mode &=~larg); |
1069 | case SSL_CTRL_GET_MAX_CERT_LIST: | 1069 | case SSL_CTRL_GET_MAX_CERT_LIST: |
1070 | return (s->internal->max_cert_list); | 1070 | return (s->internal->max_cert_list); |
1071 | case SSL_CTRL_SET_MAX_CERT_LIST: | 1071 | case SSL_CTRL_SET_MAX_CERT_LIST: |
@@ -1181,13 +1181,13 @@ SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg) | |||
1181 | case SSL_CTRL_SESS_CACHE_FULL: | 1181 | case SSL_CTRL_SESS_CACHE_FULL: |
1182 | return (ctx->internal->stats.sess_cache_full); | 1182 | return (ctx->internal->stats.sess_cache_full); |
1183 | case SSL_CTRL_OPTIONS: | 1183 | case SSL_CTRL_OPTIONS: |
1184 | return (ctx->options|=larg); | 1184 | return (ctx->internal->options|=larg); |
1185 | case SSL_CTRL_CLEAR_OPTIONS: | 1185 | case SSL_CTRL_CLEAR_OPTIONS: |
1186 | return (ctx->options&=~larg); | 1186 | return (ctx->internal->options&=~larg); |
1187 | case SSL_CTRL_MODE: | 1187 | case SSL_CTRL_MODE: |
1188 | return (ctx->mode|=larg); | 1188 | return (ctx->internal->mode|=larg); |
1189 | case SSL_CTRL_CLEAR_MODE: | 1189 | case SSL_CTRL_CLEAR_MODE: |
1190 | return (ctx->mode&=~larg); | 1190 | return (ctx->internal->mode&=~larg); |
1191 | case SSL_CTRL_SET_MAX_SEND_FRAGMENT: | 1191 | case SSL_CTRL_SET_MAX_SEND_FRAGMENT: |
1192 | if (larg < 512 || larg > SSL3_RT_MAX_PLAIN_LENGTH) | 1192 | if (larg < 512 || larg > SSL3_RT_MAX_PLAIN_LENGTH) |
1193 | return (0); | 1193 | return (0); |
@@ -1941,7 +1941,7 @@ SSL_CTX_new(const SSL_METHOD *meth) | |||
1941 | * Default is to connect to non-RI servers. When RI is more widely | 1941 | * Default is to connect to non-RI servers. When RI is more widely |
1942 | * deployed might change this. | 1942 | * deployed might change this. |
1943 | */ | 1943 | */ |
1944 | ret->options |= SSL_OP_LEGACY_SERVER_CONNECT; | 1944 | ret->internal->options |= SSL_OP_LEGACY_SERVER_CONNECT; |
1945 | 1945 | ||
1946 | return (ret); | 1946 | return (ret); |
1947 | err: | 1947 | err: |
@@ -2516,18 +2516,18 @@ ssl_enabled_version_range(SSL *s, uint16_t *min_ver, uint16_t *max_ver) | |||
2516 | min_version = 0; | 2516 | min_version = 0; |
2517 | max_version = TLS1_2_VERSION; | 2517 | max_version = TLS1_2_VERSION; |
2518 | 2518 | ||
2519 | if ((s->options & SSL_OP_NO_TLSv1) == 0) | 2519 | if ((s->internal->options & SSL_OP_NO_TLSv1) == 0) |
2520 | min_version = TLS1_VERSION; | 2520 | min_version = TLS1_VERSION; |
2521 | else if ((s->options & SSL_OP_NO_TLSv1_1) == 0) | 2521 | else if ((s->internal->options & SSL_OP_NO_TLSv1_1) == 0) |
2522 | min_version = TLS1_1_VERSION; | 2522 | min_version = TLS1_1_VERSION; |
2523 | else if ((s->options & SSL_OP_NO_TLSv1_2) == 0) | 2523 | else if ((s->internal->options & SSL_OP_NO_TLSv1_2) == 0) |
2524 | min_version = TLS1_2_VERSION; | 2524 | min_version = TLS1_2_VERSION; |
2525 | 2525 | ||
2526 | if ((s->options & SSL_OP_NO_TLSv1_2) && min_version < TLS1_2_VERSION) | 2526 | if ((s->internal->options & SSL_OP_NO_TLSv1_2) && min_version < TLS1_2_VERSION) |
2527 | max_version = TLS1_1_VERSION; | 2527 | max_version = TLS1_1_VERSION; |
2528 | if ((s->options & SSL_OP_NO_TLSv1_1) && min_version < TLS1_1_VERSION) | 2528 | if ((s->internal->options & SSL_OP_NO_TLSv1_1) && min_version < TLS1_1_VERSION) |
2529 | max_version = TLS1_VERSION; | 2529 | max_version = TLS1_VERSION; |
2530 | if ((s->options & SSL_OP_NO_TLSv1) && min_version < TLS1_VERSION) | 2530 | if ((s->internal->options & SSL_OP_NO_TLSv1) && min_version < TLS1_VERSION) |
2531 | max_version = 0; | 2531 | max_version = 0; |
2532 | 2532 | ||
2533 | /* Everything has been disabled... */ | 2533 | /* Everything has been disabled... */ |
@@ -2586,13 +2586,13 @@ ssl_max_server_version(SSL *s) | |||
2586 | if (SSL_IS_DTLS(s)) | 2586 | if (SSL_IS_DTLS(s)) |
2587 | return (DTLS1_VERSION); | 2587 | return (DTLS1_VERSION); |
2588 | 2588 | ||
2589 | if ((s->options & SSL_OP_NO_TLSv1_2) == 0 && | 2589 | if ((s->internal->options & SSL_OP_NO_TLSv1_2) == 0 && |
2590 | max_version >= TLS1_2_VERSION) | 2590 | max_version >= TLS1_2_VERSION) |
2591 | return (TLS1_2_VERSION); | 2591 | return (TLS1_2_VERSION); |
2592 | if ((s->options & SSL_OP_NO_TLSv1_1) == 0 && | 2592 | if ((s->internal->options & SSL_OP_NO_TLSv1_1) == 0 && |
2593 | max_version >= TLS1_1_VERSION) | 2593 | max_version >= TLS1_1_VERSION) |
2594 | return (TLS1_1_VERSION); | 2594 | return (TLS1_1_VERSION); |
2595 | if ((s->options & SSL_OP_NO_TLSv1) == 0 && | 2595 | if ((s->internal->options & SSL_OP_NO_TLSv1) == 0 && |
2596 | max_version >= TLS1_VERSION) | 2596 | max_version >= TLS1_VERSION) |
2597 | return (TLS1_VERSION); | 2597 | return (TLS1_VERSION); |
2598 | 2598 | ||
@@ -2642,8 +2642,8 @@ SSL_dup(SSL *s) | |||
2642 | s->sid_ctx, s->sid_ctx_length); | 2642 | s->sid_ctx, s->sid_ctx_length); |
2643 | } | 2643 | } |
2644 | 2644 | ||
2645 | ret->options = s->options; | 2645 | ret->internal->options = s->internal->options; |
2646 | ret->mode = s->mode; | 2646 | ret->internal->mode = s->internal->mode; |
2647 | SSL_set_max_cert_list(ret, SSL_get_max_cert_list(s)); | 2647 | SSL_set_max_cert_list(ret, SSL_get_max_cert_list(s)); |
2648 | SSL_set_read_ahead(ret, SSL_get_read_ahead(s)); | 2648 | SSL_set_read_ahead(ret, SSL_get_read_ahead(s)); |
2649 | ret->internal->msg_callback = s->internal->msg_callback; | 2649 | ret->internal->msg_callback = s->internal->msg_callback; |