diff options
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libssl/t1_reneg.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/lib/libssl/t1_reneg.c b/src/lib/libssl/t1_reneg.c index 596b96edd3..4e194dd5df 100644 --- a/src/lib/libssl/t1_reneg.c +++ b/src/lib/libssl/t1_reneg.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: t1_reneg.c,v 1.14 2017/01/26 12:16:13 beck Exp $ */ | 1 | /* $OpenBSD: t1_reneg.c,v 1.15 2017/02/07 02:08:38 beck 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 | * |
| @@ -123,7 +123,7 @@ ssl_add_clienthello_renegotiate_ext(SSL *s, unsigned char *p, int *len, | |||
| 123 | { | 123 | { |
| 124 | if (p) { | 124 | if (p) { |
| 125 | if ((S3I(s)->previous_client_finished_len + 1) > maxlen) { | 125 | if ((S3I(s)->previous_client_finished_len + 1) > maxlen) { |
| 126 | SSLerror(SSL_R_RENEGOTIATE_EXT_TOO_LONG); | 126 | SSLerror(s, SSL_R_RENEGOTIATE_EXT_TOO_LONG); |
| 127 | return 0; | 127 | return 0; |
| 128 | } | 128 | } |
| 129 | 129 | ||
| @@ -150,7 +150,7 @@ ssl_parse_clienthello_renegotiate_ext(SSL *s, const unsigned char *d, int len, | |||
| 150 | CBS cbs, reneg; | 150 | CBS cbs, reneg; |
| 151 | 151 | ||
| 152 | if (len < 0) { | 152 | if (len < 0) { |
| 153 | SSLerror(SSL_R_RENEGOTIATION_ENCODING_ERR); | 153 | SSLerror(s, SSL_R_RENEGOTIATION_ENCODING_ERR); |
| 154 | *al = SSL_AD_ILLEGAL_PARAMETER; | 154 | *al = SSL_AD_ILLEGAL_PARAMETER; |
| 155 | return 0; | 155 | return 0; |
| 156 | } | 156 | } |
| @@ -159,21 +159,21 @@ ssl_parse_clienthello_renegotiate_ext(SSL *s, const unsigned char *d, int len, | |||
| 159 | if (!CBS_get_u8_length_prefixed(&cbs, &reneg) || | 159 | if (!CBS_get_u8_length_prefixed(&cbs, &reneg) || |
| 160 | /* Consistency check */ | 160 | /* Consistency check */ |
| 161 | CBS_len(&cbs) != 0) { | 161 | CBS_len(&cbs) != 0) { |
| 162 | SSLerror(SSL_R_RENEGOTIATION_ENCODING_ERR); | 162 | SSLerror(s, SSL_R_RENEGOTIATION_ENCODING_ERR); |
| 163 | *al = SSL_AD_ILLEGAL_PARAMETER; | 163 | *al = SSL_AD_ILLEGAL_PARAMETER; |
| 164 | return 0; | 164 | return 0; |
| 165 | } | 165 | } |
| 166 | 166 | ||
| 167 | /* Check that the extension matches */ | 167 | /* Check that the extension matches */ |
| 168 | if (CBS_len(&reneg) != S3I(s)->previous_client_finished_len) { | 168 | if (CBS_len(&reneg) != S3I(s)->previous_client_finished_len) { |
| 169 | SSLerror(SSL_R_RENEGOTIATION_MISMATCH); | 169 | SSLerror(s, SSL_R_RENEGOTIATION_MISMATCH); |
| 170 | *al = SSL_AD_HANDSHAKE_FAILURE; | 170 | *al = SSL_AD_HANDSHAKE_FAILURE; |
| 171 | return 0; | 171 | return 0; |
| 172 | } | 172 | } |
| 173 | 173 | ||
| 174 | if (!CBS_mem_equal(&reneg, S3I(s)->previous_client_finished, | 174 | if (!CBS_mem_equal(&reneg, S3I(s)->previous_client_finished, |
| 175 | S3I(s)->previous_client_finished_len)) { | 175 | S3I(s)->previous_client_finished_len)) { |
| 176 | SSLerror(SSL_R_RENEGOTIATION_MISMATCH); | 176 | SSLerror(s, SSL_R_RENEGOTIATION_MISMATCH); |
| 177 | *al = SSL_AD_HANDSHAKE_FAILURE; | 177 | *al = SSL_AD_HANDSHAKE_FAILURE; |
| 178 | return 0; | 178 | return 0; |
| 179 | } | 179 | } |
| @@ -191,7 +191,7 @@ ssl_add_serverhello_renegotiate_ext(SSL *s, unsigned char *p, int *len, | |||
| 191 | if (p) { | 191 | if (p) { |
| 192 | if ((S3I(s)->previous_client_finished_len + | 192 | if ((S3I(s)->previous_client_finished_len + |
| 193 | S3I(s)->previous_server_finished_len + 1) > maxlen) { | 193 | S3I(s)->previous_server_finished_len + 1) > maxlen) { |
| 194 | SSLerror(SSL_R_RENEGOTIATE_EXT_TOO_LONG); | 194 | SSLerror(s, SSL_R_RENEGOTIATE_EXT_TOO_LONG); |
| 195 | return 0; | 195 | return 0; |
| 196 | } | 196 | } |
| 197 | 197 | ||
| @@ -229,7 +229,7 @@ ssl_parse_serverhello_renegotiate_ext(SSL *s, const unsigned char *d, int len, i | |||
| 229 | OPENSSL_assert(!expected_len || S3I(s)->previous_server_finished_len); | 229 | OPENSSL_assert(!expected_len || S3I(s)->previous_server_finished_len); |
| 230 | 230 | ||
| 231 | if (len < 0) { | 231 | if (len < 0) { |
| 232 | SSLerror(SSL_R_RENEGOTIATION_ENCODING_ERR); | 232 | SSLerror(s, SSL_R_RENEGOTIATION_ENCODING_ERR); |
| 233 | *al = SSL_AD_ILLEGAL_PARAMETER; | 233 | *al = SSL_AD_ILLEGAL_PARAMETER; |
| 234 | return 0; | 234 | return 0; |
| 235 | } | 235 | } |
| @@ -239,7 +239,7 @@ ssl_parse_serverhello_renegotiate_ext(SSL *s, const unsigned char *d, int len, i | |||
| 239 | if (!CBS_get_u8_length_prefixed(&cbs, &reneg) || | 239 | if (!CBS_get_u8_length_prefixed(&cbs, &reneg) || |
| 240 | /* Consistency check */ | 240 | /* Consistency check */ |
| 241 | CBS_len(&cbs) != 0) { | 241 | CBS_len(&cbs) != 0) { |
| 242 | SSLerror(SSL_R_RENEGOTIATION_ENCODING_ERR); | 242 | SSLerror(s, SSL_R_RENEGOTIATION_ENCODING_ERR); |
| 243 | *al = SSL_AD_ILLEGAL_PARAMETER; | 243 | *al = SSL_AD_ILLEGAL_PARAMETER; |
| 244 | return 0; | 244 | return 0; |
| 245 | } | 245 | } |
| @@ -251,20 +251,20 @@ ssl_parse_serverhello_renegotiate_ext(SSL *s, const unsigned char *d, int len, i | |||
| 251 | !CBS_get_bytes(&reneg, &previous_server, | 251 | !CBS_get_bytes(&reneg, &previous_server, |
| 252 | S3I(s)->previous_server_finished_len) || | 252 | S3I(s)->previous_server_finished_len) || |
| 253 | CBS_len(&reneg) != 0) { | 253 | CBS_len(&reneg) != 0) { |
| 254 | SSLerror(SSL_R_RENEGOTIATION_MISMATCH); | 254 | SSLerror(s, SSL_R_RENEGOTIATION_MISMATCH); |
| 255 | *al = SSL_AD_HANDSHAKE_FAILURE; | 255 | *al = SSL_AD_HANDSHAKE_FAILURE; |
| 256 | return 0; | 256 | return 0; |
| 257 | } | 257 | } |
| 258 | 258 | ||
| 259 | if (!CBS_mem_equal(&previous_client, S3I(s)->previous_client_finished, | 259 | if (!CBS_mem_equal(&previous_client, S3I(s)->previous_client_finished, |
| 260 | CBS_len(&previous_client))) { | 260 | CBS_len(&previous_client))) { |
| 261 | SSLerror(SSL_R_RENEGOTIATION_MISMATCH); | 261 | SSLerror(s, SSL_R_RENEGOTIATION_MISMATCH); |
| 262 | *al = SSL_AD_HANDSHAKE_FAILURE; | 262 | *al = SSL_AD_HANDSHAKE_FAILURE; |
| 263 | return 0; | 263 | return 0; |
| 264 | } | 264 | } |
| 265 | if (!CBS_mem_equal(&previous_server, S3I(s)->previous_server_finished, | 265 | if (!CBS_mem_equal(&previous_server, S3I(s)->previous_server_finished, |
| 266 | CBS_len(&previous_server))) { | 266 | CBS_len(&previous_server))) { |
| 267 | SSLerror(SSL_R_RENEGOTIATION_MISMATCH); | 267 | SSLerror(s, SSL_R_RENEGOTIATION_MISMATCH); |
| 268 | *al = SSL_AD_ILLEGAL_PARAMETER; | 268 | *al = SSL_AD_ILLEGAL_PARAMETER; |
| 269 | return 0; | 269 | return 0; |
| 270 | } | 270 | } |
