diff options
Diffstat (limited to 'src/lib/libssl/ssl_both.c')
-rw-r--r-- | src/lib/libssl/ssl_both.c | 84 |
1 files changed, 42 insertions, 42 deletions
diff --git a/src/lib/libssl/ssl_both.c b/src/lib/libssl/ssl_both.c index 801b5bea29..93f7384762 100644 --- a/src/lib/libssl/ssl_both.c +++ b/src/lib/libssl/ssl_both.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssl_both.c,v 1.43 2022/10/01 16:23:15 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_both.c,v 1.44 2022/10/02 16:36:41 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 | * |
@@ -128,7 +128,7 @@ | |||
128 | #include "ssl_locl.h" | 128 | #include "ssl_locl.h" |
129 | 129 | ||
130 | /* | 130 | /* |
131 | * Send s->internal->init_buf in records of type 'type' (SSL3_RT_HANDSHAKE or | 131 | * Send s->init_buf in records of type 'type' (SSL3_RT_HANDSHAKE or |
132 | * SSL3_RT_CHANGE_CIPHER_SPEC). | 132 | * SSL3_RT_CHANGE_CIPHER_SPEC). |
133 | */ | 133 | */ |
134 | int | 134 | int |
@@ -136,8 +136,8 @@ ssl3_do_write(SSL *s, int type) | |||
136 | { | 136 | { |
137 | int ret; | 137 | int ret; |
138 | 138 | ||
139 | ret = ssl3_write_bytes(s, type, &s->internal->init_buf->data[s->internal->init_off], | 139 | ret = ssl3_write_bytes(s, type, &s->init_buf->data[s->init_off], |
140 | s->internal->init_num); | 140 | s->init_num); |
141 | if (ret < 0) | 141 | if (ret < 0) |
142 | return (-1); | 142 | return (-1); |
143 | 143 | ||
@@ -147,16 +147,16 @@ ssl3_do_write(SSL *s, int type) | |||
147 | * we'll ignore the result anyway. | 147 | * we'll ignore the result anyway. |
148 | */ | 148 | */ |
149 | tls1_transcript_record(s, | 149 | tls1_transcript_record(s, |
150 | (unsigned char *)&s->internal->init_buf->data[s->internal->init_off], ret); | 150 | (unsigned char *)&s->init_buf->data[s->init_off], ret); |
151 | 151 | ||
152 | if (ret == s->internal->init_num) { | 152 | if (ret == s->init_num) { |
153 | ssl_msg_callback(s, 1, type, s->internal->init_buf->data, | 153 | ssl_msg_callback(s, 1, type, s->init_buf->data, |
154 | (size_t)(s->internal->init_off + s->internal->init_num)); | 154 | (size_t)(s->init_off + s->init_num)); |
155 | return (1); | 155 | return (1); |
156 | } | 156 | } |
157 | 157 | ||
158 | s->internal->init_off += ret; | 158 | s->init_off += ret; |
159 | s->internal->init_num -= ret; | 159 | s->init_num -= ret; |
160 | 160 | ||
161 | return (0); | 161 | return (0); |
162 | } | 162 | } |
@@ -207,7 +207,7 @@ ssl3_output_cert_chain(SSL *s, CBB *cbb, SSL_CERT_PKEY *cpk) | |||
207 | if ((chain = cpk->chain) == NULL) | 207 | if ((chain = cpk->chain) == NULL) |
208 | chain = s->ctx->extra_certs; | 208 | chain = s->ctx->extra_certs; |
209 | 209 | ||
210 | if (chain != NULL || (s->internal->mode & SSL_MODE_NO_AUTO_CHAIN)) { | 210 | if (chain != NULL || (s->mode & SSL_MODE_NO_AUTO_CHAIN)) { |
211 | if (!ssl3_add_cert(&cert_list, cpk->x509)) | 211 | if (!ssl3_add_cert(&cert_list, cpk->x509)) |
212 | goto err; | 212 | goto err; |
213 | } else { | 213 | } else { |
@@ -269,27 +269,27 @@ ssl3_get_message(SSL *s, int st1, int stn, int mt, long max) | |||
269 | SSLerror(s, SSL_R_UNEXPECTED_MESSAGE); | 269 | SSLerror(s, SSL_R_UNEXPECTED_MESSAGE); |
270 | goto fatal_err; | 270 | goto fatal_err; |
271 | } | 271 | } |
272 | s->internal->init_msg = s->internal->init_buf->data + | 272 | s->init_msg = s->init_buf->data + |
273 | SSL3_HM_HEADER_LENGTH; | 273 | SSL3_HM_HEADER_LENGTH; |
274 | s->internal->init_num = (int)s->s3->hs.tls12.message_size; | 274 | s->init_num = (int)s->s3->hs.tls12.message_size; |
275 | return 1; | 275 | return 1; |
276 | } | 276 | } |
277 | 277 | ||
278 | p = (unsigned char *)s->internal->init_buf->data; | 278 | p = (unsigned char *)s->init_buf->data; |
279 | 279 | ||
280 | if (s->s3->hs.state == st1) { | 280 | if (s->s3->hs.state == st1) { |
281 | int skip_message; | 281 | int skip_message; |
282 | 282 | ||
283 | do { | 283 | do { |
284 | while (s->internal->init_num < SSL3_HM_HEADER_LENGTH) { | 284 | while (s->init_num < SSL3_HM_HEADER_LENGTH) { |
285 | i = s->method->ssl_read_bytes(s, | 285 | i = s->method->ssl_read_bytes(s, |
286 | SSL3_RT_HANDSHAKE, &p[s->internal->init_num], | 286 | SSL3_RT_HANDSHAKE, &p[s->init_num], |
287 | SSL3_HM_HEADER_LENGTH - s->internal->init_num, 0); | 287 | SSL3_HM_HEADER_LENGTH - s->init_num, 0); |
288 | if (i <= 0) { | 288 | if (i <= 0) { |
289 | s->internal->rwstate = SSL_READING; | 289 | s->rwstate = SSL_READING; |
290 | return i; | 290 | return i; |
291 | } | 291 | } |
292 | s->internal->init_num += i; | 292 | s->init_num += i; |
293 | } | 293 | } |
294 | 294 | ||
295 | skip_message = 0; | 295 | skip_message = 0; |
@@ -301,7 +301,7 @@ ssl3_get_message(SSL *s, int st1, int stn, int mt, long max) | |||
301 | * correct. Does not count for 'Finished' MAC. | 301 | * correct. Does not count for 'Finished' MAC. |
302 | */ | 302 | */ |
303 | if (p[1] == 0 && p[2] == 0 &&p[3] == 0) { | 303 | if (p[1] == 0 && p[2] == 0 &&p[3] == 0) { |
304 | s->internal->init_num = 0; | 304 | s->init_num = 0; |
305 | skip_message = 1; | 305 | skip_message = 1; |
306 | 306 | ||
307 | ssl_msg_callback(s, 0, | 307 | ssl_msg_callback(s, 0, |
@@ -330,7 +330,7 @@ ssl3_get_message(SSL *s, int st1, int stn, int mt, long max) | |||
330 | SSLerror(s, SSL_R_EXCESSIVE_MESSAGE_SIZE); | 330 | SSLerror(s, SSL_R_EXCESSIVE_MESSAGE_SIZE); |
331 | goto fatal_err; | 331 | goto fatal_err; |
332 | } | 332 | } |
333 | if (l && !BUF_MEM_grow_clean(s->internal->init_buf, | 333 | if (l && !BUF_MEM_grow_clean(s->init_buf, |
334 | l + SSL3_HM_HEADER_LENGTH)) { | 334 | l + SSL3_HM_HEADER_LENGTH)) { |
335 | SSLerror(s, ERR_R_BUF_LIB); | 335 | SSLerror(s, ERR_R_BUF_LIB); |
336 | goto err; | 336 | goto err; |
@@ -338,33 +338,33 @@ ssl3_get_message(SSL *s, int st1, int stn, int mt, long max) | |||
338 | s->s3->hs.tls12.message_size = l; | 338 | s->s3->hs.tls12.message_size = l; |
339 | s->s3->hs.state = stn; | 339 | s->s3->hs.state = stn; |
340 | 340 | ||
341 | s->internal->init_msg = s->internal->init_buf->data + | 341 | s->init_msg = s->init_buf->data + |
342 | SSL3_HM_HEADER_LENGTH; | 342 | SSL3_HM_HEADER_LENGTH; |
343 | s->internal->init_num = 0; | 343 | s->init_num = 0; |
344 | } | 344 | } |
345 | 345 | ||
346 | /* next state (stn) */ | 346 | /* next state (stn) */ |
347 | p = s->internal->init_msg; | 347 | p = s->init_msg; |
348 | n = s->s3->hs.tls12.message_size - s->internal->init_num; | 348 | n = s->s3->hs.tls12.message_size - s->init_num; |
349 | while (n > 0) { | 349 | while (n > 0) { |
350 | i = s->method->ssl_read_bytes(s, SSL3_RT_HANDSHAKE, | 350 | i = s->method->ssl_read_bytes(s, SSL3_RT_HANDSHAKE, |
351 | &p[s->internal->init_num], n, 0); | 351 | &p[s->init_num], n, 0); |
352 | if (i <= 0) { | 352 | if (i <= 0) { |
353 | s->internal->rwstate = SSL_READING; | 353 | s->rwstate = SSL_READING; |
354 | return i; | 354 | return i; |
355 | } | 355 | } |
356 | s->internal->init_num += i; | 356 | s->init_num += i; |
357 | n -= i; | 357 | n -= i; |
358 | } | 358 | } |
359 | 359 | ||
360 | /* Feed this message into MAC computation. */ | 360 | /* Feed this message into MAC computation. */ |
361 | if (s->internal->mac_packet) { | 361 | if (s->mac_packet) { |
362 | tls1_transcript_record(s, (unsigned char *)s->internal->init_buf->data, | 362 | tls1_transcript_record(s, (unsigned char *)s->init_buf->data, |
363 | s->internal->init_num + SSL3_HM_HEADER_LENGTH); | 363 | s->init_num + SSL3_HM_HEADER_LENGTH); |
364 | 364 | ||
365 | ssl_msg_callback(s, 0, SSL3_RT_HANDSHAKE, | 365 | ssl_msg_callback(s, 0, SSL3_RT_HANDSHAKE, |
366 | s->internal->init_buf->data, | 366 | s->init_buf->data, |
367 | (size_t)s->internal->init_num + SSL3_HM_HEADER_LENGTH); | 367 | (size_t)s->init_num + SSL3_HM_HEADER_LENGTH); |
368 | } | 368 | } |
369 | 369 | ||
370 | return 1; | 370 | return 1; |
@@ -459,7 +459,7 @@ ssl3_setup_init_buffer(SSL *s) | |||
459 | { | 459 | { |
460 | BUF_MEM *buf = NULL; | 460 | BUF_MEM *buf = NULL; |
461 | 461 | ||
462 | if (s->internal->init_buf != NULL) | 462 | if (s->init_buf != NULL) |
463 | return (1); | 463 | return (1); |
464 | 464 | ||
465 | if ((buf = BUF_MEM_new()) == NULL) | 465 | if ((buf = BUF_MEM_new()) == NULL) |
@@ -467,7 +467,7 @@ ssl3_setup_init_buffer(SSL *s) | |||
467 | if (!BUF_MEM_grow(buf, SSL3_RT_MAX_PLAIN_LENGTH)) | 467 | if (!BUF_MEM_grow(buf, SSL3_RT_MAX_PLAIN_LENGTH)) |
468 | goto err; | 468 | goto err; |
469 | 469 | ||
470 | s->internal->init_buf = buf; | 470 | s->init_buf = buf; |
471 | return (1); | 471 | return (1); |
472 | 472 | ||
473 | err: | 473 | err: |
@@ -478,11 +478,11 @@ ssl3_setup_init_buffer(SSL *s) | |||
478 | void | 478 | void |
479 | ssl3_release_init_buffer(SSL *s) | 479 | ssl3_release_init_buffer(SSL *s) |
480 | { | 480 | { |
481 | BUF_MEM_free(s->internal->init_buf); | 481 | BUF_MEM_free(s->init_buf); |
482 | s->internal->init_buf = NULL; | 482 | s->init_buf = NULL; |
483 | s->internal->init_msg = NULL; | 483 | s->init_msg = NULL; |
484 | s->internal->init_num = 0; | 484 | s->init_num = 0; |
485 | s->internal->init_off = 0; | 485 | s->init_off = 0; |
486 | } | 486 | } |
487 | 487 | ||
488 | int | 488 | int |
@@ -507,7 +507,7 @@ ssl3_setup_read_buffer(SSL *s) | |||
507 | s->s3->rbuf.len = len; | 507 | s->s3->rbuf.len = len; |
508 | } | 508 | } |
509 | 509 | ||
510 | s->internal->packet = s->s3->rbuf.buf; | 510 | s->packet = s->s3->rbuf.buf; |
511 | return 1; | 511 | return 1; |
512 | 512 | ||
513 | err: | 513 | err: |
@@ -531,7 +531,7 @@ ssl3_setup_write_buffer(SSL *s) | |||
531 | if (s->s3->wbuf.buf == NULL) { | 531 | if (s->s3->wbuf.buf == NULL) { |
532 | len = s->max_send_fragment + | 532 | len = s->max_send_fragment + |
533 | SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD + headerlen + align; | 533 | SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD + headerlen + align; |
534 | if (!(s->internal->options & SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS)) | 534 | if (!(s->options & SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS)) |
535 | len += headerlen + align + | 535 | len += headerlen + align + |
536 | SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD; | 536 | SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD; |
537 | 537 | ||