diff options
Diffstat (limited to 'src/lib/libssl/ssl_srvr.c')
-rw-r--r-- | src/lib/libssl/ssl_srvr.c | 118 |
1 files changed, 59 insertions, 59 deletions
diff --git a/src/lib/libssl/ssl_srvr.c b/src/lib/libssl/ssl_srvr.c index 35a9ace527..730d4ed1ad 100644 --- a/src/lib/libssl/ssl_srvr.c +++ b/src/lib/libssl/ssl_srvr.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssl_srvr.c,v 1.16 2017/05/06 22:24:58 beck Exp $ */ | 1 | /* $OpenBSD: ssl_srvr.c,v 1.17 2017/05/07 04:22:24 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 | * |
@@ -195,12 +195,12 @@ ssl3_accept(SSL *s) | |||
195 | } | 195 | } |
196 | 196 | ||
197 | for (;;) { | 197 | for (;;) { |
198 | state = s->internal->state; | 198 | state = S3I(s)->hs.state; |
199 | 199 | ||
200 | switch (s->internal->state) { | 200 | switch (S3I(s)->hs.state) { |
201 | case SSL_ST_RENEGOTIATE: | 201 | case SSL_ST_RENEGOTIATE: |
202 | s->internal->renegotiate = 1; | 202 | s->internal->renegotiate = 1; |
203 | /* s->internal->state=SSL_ST_ACCEPT; */ | 203 | /* S3I(s)->hs.state=SSL_ST_ACCEPT; */ |
204 | 204 | ||
205 | case SSL_ST_BEFORE: | 205 | case SSL_ST_BEFORE: |
206 | case SSL_ST_ACCEPT: | 206 | case SSL_ST_ACCEPT: |
@@ -229,7 +229,7 @@ ssl3_accept(SSL *s) | |||
229 | 229 | ||
230 | s->internal->init_num = 0; | 230 | s->internal->init_num = 0; |
231 | 231 | ||
232 | if (s->internal->state != SSL_ST_RENEGOTIATE) { | 232 | if (S3I(s)->hs.state != SSL_ST_RENEGOTIATE) { |
233 | /* | 233 | /* |
234 | * Ok, we now need to push on a buffering BIO | 234 | * Ok, we now need to push on a buffering BIO |
235 | * so that the output is sent in a way that | 235 | * so that the output is sent in a way that |
@@ -245,7 +245,7 @@ ssl3_accept(SSL *s) | |||
245 | goto end; | 245 | goto end; |
246 | } | 246 | } |
247 | 247 | ||
248 | s->internal->state = SSL3_ST_SR_CLNT_HELLO_A; | 248 | S3I(s)->hs.state = SSL3_ST_SR_CLNT_HELLO_A; |
249 | s->ctx->internal->stats.sess_accept++; | 249 | s->ctx->internal->stats.sess_accept++; |
250 | } else if (!S3I(s)->send_connection_binding) { | 250 | } else if (!S3I(s)->send_connection_binding) { |
251 | /* | 251 | /* |
@@ -260,11 +260,11 @@ ssl3_accept(SSL *s) | |||
260 | goto end; | 260 | goto end; |
261 | } else { | 261 | } else { |
262 | /* | 262 | /* |
263 | * s->internal->state == SSL_ST_RENEGOTIATE, | 263 | * S3I(s)->hs.state == SSL_ST_RENEGOTIATE, |
264 | * we will just send a HelloRequest | 264 | * we will just send a HelloRequest |
265 | */ | 265 | */ |
266 | s->ctx->internal->stats.sess_accept_renegotiate++; | 266 | s->ctx->internal->stats.sess_accept_renegotiate++; |
267 | s->internal->state = SSL3_ST_SW_HELLO_REQ_A; | 267 | S3I(s)->hs.state = SSL3_ST_SW_HELLO_REQ_A; |
268 | } | 268 | } |
269 | break; | 269 | break; |
270 | 270 | ||
@@ -276,7 +276,7 @@ ssl3_accept(SSL *s) | |||
276 | if (ret <= 0) | 276 | if (ret <= 0) |
277 | goto end; | 277 | goto end; |
278 | S3I(s)->hs.next_state = SSL3_ST_SW_HELLO_REQ_C; | 278 | S3I(s)->hs.next_state = SSL3_ST_SW_HELLO_REQ_C; |
279 | s->internal->state = SSL3_ST_SW_FLUSH; | 279 | S3I(s)->hs.state = SSL3_ST_SW_FLUSH; |
280 | s->internal->init_num = 0; | 280 | s->internal->init_num = 0; |
281 | 281 | ||
282 | if (!tls1_init_finished_mac(s)) { | 282 | if (!tls1_init_finished_mac(s)) { |
@@ -286,7 +286,7 @@ ssl3_accept(SSL *s) | |||
286 | break; | 286 | break; |
287 | 287 | ||
288 | case SSL3_ST_SW_HELLO_REQ_C: | 288 | case SSL3_ST_SW_HELLO_REQ_C: |
289 | s->internal->state = SSL_ST_OK; | 289 | S3I(s)->hs.state = SSL_ST_OK; |
290 | break; | 290 | break; |
291 | 291 | ||
292 | case SSL3_ST_SR_CLNT_HELLO_A: | 292 | case SSL3_ST_SR_CLNT_HELLO_A: |
@@ -301,7 +301,7 @@ ssl3_accept(SSL *s) | |||
301 | } | 301 | } |
302 | 302 | ||
303 | s->internal->renegotiate = 2; | 303 | s->internal->renegotiate = 2; |
304 | s->internal->state = SSL3_ST_SW_SRVR_HELLO_A; | 304 | S3I(s)->hs.state = SSL3_ST_SW_SRVR_HELLO_A; |
305 | s->internal->init_num = 0; | 305 | s->internal->init_num = 0; |
306 | break; | 306 | break; |
307 | 307 | ||
@@ -312,12 +312,12 @@ ssl3_accept(SSL *s) | |||
312 | goto end; | 312 | goto end; |
313 | if (s->internal->hit) { | 313 | if (s->internal->hit) { |
314 | if (s->internal->tlsext_ticket_expected) | 314 | if (s->internal->tlsext_ticket_expected) |
315 | s->internal->state = SSL3_ST_SW_SESSION_TICKET_A; | 315 | S3I(s)->hs.state = SSL3_ST_SW_SESSION_TICKET_A; |
316 | else | 316 | else |
317 | s->internal->state = SSL3_ST_SW_CHANGE_A; | 317 | S3I(s)->hs.state = SSL3_ST_SW_CHANGE_A; |
318 | } | 318 | } |
319 | else | 319 | else |
320 | s->internal->state = SSL3_ST_SW_CERT_A; | 320 | S3I(s)->hs.state = SSL3_ST_SW_CERT_A; |
321 | s->internal->init_num = 0; | 321 | s->internal->init_num = 0; |
322 | break; | 322 | break; |
323 | 323 | ||
@@ -330,12 +330,12 @@ ssl3_accept(SSL *s) | |||
330 | if (ret <= 0) | 330 | if (ret <= 0) |
331 | goto end; | 331 | goto end; |
332 | if (s->internal->tlsext_status_expected) | 332 | if (s->internal->tlsext_status_expected) |
333 | s->internal->state = SSL3_ST_SW_CERT_STATUS_A; | 333 | S3I(s)->hs.state = SSL3_ST_SW_CERT_STATUS_A; |
334 | else | 334 | else |
335 | s->internal->state = SSL3_ST_SW_KEY_EXCH_A; | 335 | S3I(s)->hs.state = SSL3_ST_SW_KEY_EXCH_A; |
336 | } else { | 336 | } else { |
337 | skip = 1; | 337 | skip = 1; |
338 | s->internal->state = SSL3_ST_SW_KEY_EXCH_A; | 338 | S3I(s)->hs.state = SSL3_ST_SW_KEY_EXCH_A; |
339 | } | 339 | } |
340 | s->internal->init_num = 0; | 340 | s->internal->init_num = 0; |
341 | break; | 341 | break; |
@@ -359,7 +359,7 @@ ssl3_accept(SSL *s) | |||
359 | } else | 359 | } else |
360 | skip = 1; | 360 | skip = 1; |
361 | 361 | ||
362 | s->internal->state = SSL3_ST_SW_CERT_REQ_A; | 362 | S3I(s)->hs.state = SSL3_ST_SW_CERT_REQ_A; |
363 | s->internal->init_num = 0; | 363 | s->internal->init_num = 0; |
364 | break; | 364 | break; |
365 | 365 | ||
@@ -391,7 +391,7 @@ ssl3_accept(SSL *s) | |||
391 | /* No cert request */ | 391 | /* No cert request */ |
392 | skip = 1; | 392 | skip = 1; |
393 | S3I(s)->tmp.cert_request = 0; | 393 | S3I(s)->tmp.cert_request = 0; |
394 | s->internal->state = SSL3_ST_SW_SRVR_DONE_A; | 394 | S3I(s)->hs.state = SSL3_ST_SW_SRVR_DONE_A; |
395 | if (S3I(s)->handshake_buffer) { | 395 | if (S3I(s)->handshake_buffer) { |
396 | if (!tls1_digest_cached_records(s)) { | 396 | if (!tls1_digest_cached_records(s)) { |
397 | ret = -1; | 397 | ret = -1; |
@@ -403,7 +403,7 @@ ssl3_accept(SSL *s) | |||
403 | ret = ssl3_send_certificate_request(s); | 403 | ret = ssl3_send_certificate_request(s); |
404 | if (ret <= 0) | 404 | if (ret <= 0) |
405 | goto end; | 405 | goto end; |
406 | s->internal->state = SSL3_ST_SW_SRVR_DONE_A; | 406 | S3I(s)->hs.state = SSL3_ST_SW_SRVR_DONE_A; |
407 | s->internal->init_num = 0; | 407 | s->internal->init_num = 0; |
408 | } | 408 | } |
409 | break; | 409 | break; |
@@ -414,7 +414,7 @@ ssl3_accept(SSL *s) | |||
414 | if (ret <= 0) | 414 | if (ret <= 0) |
415 | goto end; | 415 | goto end; |
416 | S3I(s)->hs.next_state = SSL3_ST_SR_CERT_A; | 416 | S3I(s)->hs.next_state = SSL3_ST_SR_CERT_A; |
417 | s->internal->state = SSL3_ST_SW_FLUSH; | 417 | S3I(s)->hs.state = SSL3_ST_SW_FLUSH; |
418 | s->internal->init_num = 0; | 418 | s->internal->init_num = 0; |
419 | break; | 419 | break; |
420 | 420 | ||
@@ -438,7 +438,7 @@ ssl3_accept(SSL *s) | |||
438 | } | 438 | } |
439 | s->internal->rwstate = SSL_NOTHING; | 439 | s->internal->rwstate = SSL_NOTHING; |
440 | 440 | ||
441 | s->internal->state = S3I(s)->hs.next_state; | 441 | S3I(s)->hs.state = S3I(s)->hs.next_state; |
442 | break; | 442 | break; |
443 | 443 | ||
444 | case SSL3_ST_SR_CERT_A: | 444 | case SSL3_ST_SR_CERT_A: |
@@ -449,7 +449,7 @@ ssl3_accept(SSL *s) | |||
449 | goto end; | 449 | goto end; |
450 | } | 450 | } |
451 | s->internal->init_num = 0; | 451 | s->internal->init_num = 0; |
452 | s->internal->state = SSL3_ST_SR_KEY_EXCH_A; | 452 | S3I(s)->hs.state = SSL3_ST_SR_KEY_EXCH_A; |
453 | break; | 453 | break; |
454 | 454 | ||
455 | case SSL3_ST_SR_KEY_EXCH_A: | 455 | case SSL3_ST_SR_KEY_EXCH_A: |
@@ -469,12 +469,12 @@ ssl3_accept(SSL *s) | |||
469 | * for key exchange. | 469 | * for key exchange. |
470 | */ | 470 | */ |
471 | if (S3I(s)->next_proto_neg_seen) | 471 | if (S3I(s)->next_proto_neg_seen) |
472 | s->internal->state = SSL3_ST_SR_NEXT_PROTO_A; | 472 | S3I(s)->hs.state = SSL3_ST_SR_NEXT_PROTO_A; |
473 | else | 473 | else |
474 | s->internal->state = SSL3_ST_SR_FINISHED_A; | 474 | S3I(s)->hs.state = SSL3_ST_SR_FINISHED_A; |
475 | s->internal->init_num = 0; | 475 | s->internal->init_num = 0; |
476 | } else if (SSL_USE_SIGALGS(s) || (alg_k & SSL_kGOST)) { | 476 | } else if (SSL_USE_SIGALGS(s) || (alg_k & SSL_kGOST)) { |
477 | s->internal->state = SSL3_ST_SR_CERT_VRFY_A; | 477 | S3I(s)->hs.state = SSL3_ST_SR_CERT_VRFY_A; |
478 | s->internal->init_num = 0; | 478 | s->internal->init_num = 0; |
479 | if (!s->session->peer) | 479 | if (!s->session->peer) |
480 | break; | 480 | break; |
@@ -493,7 +493,7 @@ ssl3_accept(SSL *s) | |||
493 | goto end; | 493 | goto end; |
494 | } | 494 | } |
495 | } else { | 495 | } else { |
496 | s->internal->state = SSL3_ST_SR_CERT_VRFY_A; | 496 | S3I(s)->hs.state = SSL3_ST_SR_CERT_VRFY_A; |
497 | s->internal->init_num = 0; | 497 | s->internal->init_num = 0; |
498 | 498 | ||
499 | /* | 499 | /* |
@@ -526,9 +526,9 @@ ssl3_accept(SSL *s) | |||
526 | goto end; | 526 | goto end; |
527 | 527 | ||
528 | if (S3I(s)->next_proto_neg_seen) | 528 | if (S3I(s)->next_proto_neg_seen) |
529 | s->internal->state = SSL3_ST_SR_NEXT_PROTO_A; | 529 | S3I(s)->hs.state = SSL3_ST_SR_NEXT_PROTO_A; |
530 | else | 530 | else |
531 | s->internal->state = SSL3_ST_SR_FINISHED_A; | 531 | S3I(s)->hs.state = SSL3_ST_SR_FINISHED_A; |
532 | s->internal->init_num = 0; | 532 | s->internal->init_num = 0; |
533 | break; | 533 | break; |
534 | 534 | ||
@@ -538,7 +538,7 @@ ssl3_accept(SSL *s) | |||
538 | if (ret <= 0) | 538 | if (ret <= 0) |
539 | goto end; | 539 | goto end; |
540 | s->internal->init_num = 0; | 540 | s->internal->init_num = 0; |
541 | s->internal->state = SSL3_ST_SR_FINISHED_A; | 541 | S3I(s)->hs.state = SSL3_ST_SR_FINISHED_A; |
542 | break; | 542 | break; |
543 | 543 | ||
544 | case SSL3_ST_SR_FINISHED_A: | 544 | case SSL3_ST_SR_FINISHED_A: |
@@ -549,11 +549,11 @@ ssl3_accept(SSL *s) | |||
549 | if (ret <= 0) | 549 | if (ret <= 0) |
550 | goto end; | 550 | goto end; |
551 | if (s->internal->hit) | 551 | if (s->internal->hit) |
552 | s->internal->state = SSL_ST_OK; | 552 | S3I(s)->hs.state = SSL_ST_OK; |
553 | else if (s->internal->tlsext_ticket_expected) | 553 | else if (s->internal->tlsext_ticket_expected) |
554 | s->internal->state = SSL3_ST_SW_SESSION_TICKET_A; | 554 | S3I(s)->hs.state = SSL3_ST_SW_SESSION_TICKET_A; |
555 | else | 555 | else |
556 | s->internal->state = SSL3_ST_SW_CHANGE_A; | 556 | S3I(s)->hs.state = SSL3_ST_SW_CHANGE_A; |
557 | s->internal->init_num = 0; | 557 | s->internal->init_num = 0; |
558 | break; | 558 | break; |
559 | 559 | ||
@@ -562,7 +562,7 @@ ssl3_accept(SSL *s) | |||
562 | ret = ssl3_send_newsession_ticket(s); | 562 | ret = ssl3_send_newsession_ticket(s); |
563 | if (ret <= 0) | 563 | if (ret <= 0) |
564 | goto end; | 564 | goto end; |
565 | s->internal->state = SSL3_ST_SW_CHANGE_A; | 565 | S3I(s)->hs.state = SSL3_ST_SW_CHANGE_A; |
566 | s->internal->init_num = 0; | 566 | s->internal->init_num = 0; |
567 | break; | 567 | break; |
568 | 568 | ||
@@ -571,7 +571,7 @@ ssl3_accept(SSL *s) | |||
571 | ret = ssl3_send_cert_status(s); | 571 | ret = ssl3_send_cert_status(s); |
572 | if (ret <= 0) | 572 | if (ret <= 0) |
573 | goto end; | 573 | goto end; |
574 | s->internal->state = SSL3_ST_SW_KEY_EXCH_A; | 574 | S3I(s)->hs.state = SSL3_ST_SW_KEY_EXCH_A; |
575 | s->internal->init_num = 0; | 575 | s->internal->init_num = 0; |
576 | break; | 576 | break; |
577 | 577 | ||
@@ -590,7 +590,7 @@ ssl3_accept(SSL *s) | |||
590 | 590 | ||
591 | if (ret <= 0) | 591 | if (ret <= 0) |
592 | goto end; | 592 | goto end; |
593 | s->internal->state = SSL3_ST_SW_FINISHED_A; | 593 | S3I(s)->hs.state = SSL3_ST_SW_FINISHED_A; |
594 | s->internal->init_num = 0; | 594 | s->internal->init_num = 0; |
595 | 595 | ||
596 | if (!tls1_change_cipher_state( | 596 | if (!tls1_change_cipher_state( |
@@ -609,7 +609,7 @@ ssl3_accept(SSL *s) | |||
609 | TLS_MD_SERVER_FINISH_CONST_SIZE); | 609 | TLS_MD_SERVER_FINISH_CONST_SIZE); |
610 | if (ret <= 0) | 610 | if (ret <= 0) |
611 | goto end; | 611 | goto end; |
612 | s->internal->state = SSL3_ST_SW_FLUSH; | 612 | S3I(s)->hs.state = SSL3_ST_SW_FLUSH; |
613 | if (s->internal->hit) { | 613 | if (s->internal->hit) { |
614 | if (S3I(s)->next_proto_neg_seen) { | 614 | if (S3I(s)->next_proto_neg_seen) { |
615 | s->s3->flags |= SSL3_FLAGS_CCS_OK; | 615 | s->s3->flags |= SSL3_FLAGS_CCS_OK; |
@@ -668,11 +668,11 @@ ssl3_accept(SSL *s) | |||
668 | } | 668 | } |
669 | 669 | ||
670 | 670 | ||
671 | if ((cb != NULL) && (s->internal->state != state)) { | 671 | if ((cb != NULL) && (S3I(s)->hs.state != state)) { |
672 | new_state = s->internal->state; | 672 | new_state = S3I(s)->hs.state; |
673 | s->internal->state = state; | 673 | S3I(s)->hs.state = state; |
674 | cb(s, SSL_CB_ACCEPT_LOOP, 1); | 674 | cb(s, SSL_CB_ACCEPT_LOOP, 1); |
675 | s->internal->state = new_state; | 675 | S3I(s)->hs.state = new_state; |
676 | } | 676 | } |
677 | } | 677 | } |
678 | skip = 0; | 678 | skip = 0; |
@@ -693,14 +693,14 @@ ssl3_send_hello_request(SSL *s) | |||
693 | 693 | ||
694 | memset(&cbb, 0, sizeof(cbb)); | 694 | memset(&cbb, 0, sizeof(cbb)); |
695 | 695 | ||
696 | if (s->internal->state == SSL3_ST_SW_HELLO_REQ_A) { | 696 | if (S3I(s)->hs.state == SSL3_ST_SW_HELLO_REQ_A) { |
697 | if (!ssl3_handshake_msg_start_cbb(s, &cbb, &hello, | 697 | if (!ssl3_handshake_msg_start_cbb(s, &cbb, &hello, |
698 | SSL3_MT_HELLO_REQUEST)) | 698 | SSL3_MT_HELLO_REQUEST)) |
699 | goto err; | 699 | goto err; |
700 | if (!ssl3_handshake_msg_finish_cbb(s, &cbb)) | 700 | if (!ssl3_handshake_msg_finish_cbb(s, &cbb)) |
701 | goto err; | 701 | goto err; |
702 | 702 | ||
703 | s->internal->state = SSL3_ST_SW_HELLO_REQ_B; | 703 | S3I(s)->hs.state = SSL3_ST_SW_HELLO_REQ_B; |
704 | } | 704 | } |
705 | 705 | ||
706 | /* SSL3_ST_SW_HELLO_REQ_B */ | 706 | /* SSL3_ST_SW_HELLO_REQ_B */ |
@@ -738,8 +738,8 @@ ssl3_get_client_hello(SSL *s) | |||
738 | * If we are SSLv3, we will respond with SSLv3, even if prompted with | 738 | * If we are SSLv3, we will respond with SSLv3, even if prompted with |
739 | * TLSv1. | 739 | * TLSv1. |
740 | */ | 740 | */ |
741 | if (s->internal->state == SSL3_ST_SR_CLNT_HELLO_A) { | 741 | if (S3I(s)->hs.state == SSL3_ST_SR_CLNT_HELLO_A) { |
742 | s->internal->state = SSL3_ST_SR_CLNT_HELLO_B; | 742 | S3I(s)->hs.state = SSL3_ST_SR_CLNT_HELLO_B; |
743 | } | 743 | } |
744 | 744 | ||
745 | s->internal->first_packet = 1; | 745 | s->internal->first_packet = 1; |
@@ -1087,7 +1087,7 @@ ssl3_send_server_hello(SSL *s) | |||
1087 | 1087 | ||
1088 | bufend = (unsigned char *)s->internal->init_buf->data + SSL3_RT_MAX_PLAIN_LENGTH; | 1088 | bufend = (unsigned char *)s->internal->init_buf->data + SSL3_RT_MAX_PLAIN_LENGTH; |
1089 | 1089 | ||
1090 | if (s->internal->state == SSL3_ST_SW_SRVR_HELLO_A) { | 1090 | if (S3I(s)->hs.state == SSL3_ST_SW_SRVR_HELLO_A) { |
1091 | d = p = ssl3_handshake_msg_start(s, SSL3_MT_SERVER_HELLO); | 1091 | d = p = ssl3_handshake_msg_start(s, SSL3_MT_SERVER_HELLO); |
1092 | 1092 | ||
1093 | if (!CBB_init_fixed(&cbb, p, bufend - p)) | 1093 | if (!CBB_init_fixed(&cbb, p, bufend - p)) |
@@ -1169,14 +1169,14 @@ ssl3_send_server_done(SSL *s) | |||
1169 | 1169 | ||
1170 | memset(&cbb, 0, sizeof(cbb)); | 1170 | memset(&cbb, 0, sizeof(cbb)); |
1171 | 1171 | ||
1172 | if (s->internal->state == SSL3_ST_SW_SRVR_DONE_A) { | 1172 | if (S3I(s)->hs.state == SSL3_ST_SW_SRVR_DONE_A) { |
1173 | if (!ssl3_handshake_msg_start_cbb(s, &cbb, &done, | 1173 | if (!ssl3_handshake_msg_start_cbb(s, &cbb, &done, |
1174 | SSL3_MT_SERVER_DONE)) | 1174 | SSL3_MT_SERVER_DONE)) |
1175 | goto err; | 1175 | goto err; |
1176 | if (!ssl3_handshake_msg_finish_cbb(s, &cbb)) | 1176 | if (!ssl3_handshake_msg_finish_cbb(s, &cbb)) |
1177 | goto err; | 1177 | goto err; |
1178 | 1178 | ||
1179 | s->internal->state = SSL3_ST_SW_SRVR_DONE_B; | 1179 | S3I(s)->hs.state = SSL3_ST_SW_SRVR_DONE_B; |
1180 | } | 1180 | } |
1181 | 1181 | ||
1182 | /* SSL3_ST_SW_SRVR_DONE_B */ | 1182 | /* SSL3_ST_SW_SRVR_DONE_B */ |
@@ -1457,7 +1457,7 @@ ssl3_send_server_key_exchange(SSL *s) | |||
1457 | memset(&cbb, 0, sizeof(cbb)); | 1457 | memset(&cbb, 0, sizeof(cbb)); |
1458 | 1458 | ||
1459 | EVP_MD_CTX_init(&md_ctx); | 1459 | EVP_MD_CTX_init(&md_ctx); |
1460 | if (s->internal->state == SSL3_ST_SW_KEY_EXCH_A) { | 1460 | if (S3I(s)->hs.state == SSL3_ST_SW_KEY_EXCH_A) { |
1461 | type = S3I(s)->hs.new_cipher->algorithm_mkey; | 1461 | type = S3I(s)->hs.new_cipher->algorithm_mkey; |
1462 | 1462 | ||
1463 | buf = s->internal->init_buf; | 1463 | buf = s->internal->init_buf; |
@@ -1576,7 +1576,7 @@ ssl3_send_server_key_exchange(SSL *s) | |||
1576 | ssl3_handshake_msg_finish(s, n); | 1576 | ssl3_handshake_msg_finish(s, n); |
1577 | } | 1577 | } |
1578 | 1578 | ||
1579 | s->internal->state = SSL3_ST_SW_KEY_EXCH_B; | 1579 | S3I(s)->hs.state = SSL3_ST_SW_KEY_EXCH_B; |
1580 | 1580 | ||
1581 | EVP_MD_CTX_cleanup(&md_ctx); | 1581 | EVP_MD_CTX_cleanup(&md_ctx); |
1582 | 1582 | ||
@@ -1601,7 +1601,7 @@ ssl3_send_certificate_request(SSL *s) | |||
1601 | X509_NAME *name; | 1601 | X509_NAME *name; |
1602 | BUF_MEM *buf; | 1602 | BUF_MEM *buf; |
1603 | 1603 | ||
1604 | if (s->internal->state == SSL3_ST_SW_CERT_REQ_A) { | 1604 | if (S3I(s)->hs.state == SSL3_ST_SW_CERT_REQ_A) { |
1605 | buf = s->internal->init_buf; | 1605 | buf = s->internal->init_buf; |
1606 | 1606 | ||
1607 | d = p = ssl3_handshake_msg_start(s, | 1607 | d = p = ssl3_handshake_msg_start(s, |
@@ -1652,7 +1652,7 @@ ssl3_send_certificate_request(SSL *s) | |||
1652 | 1652 | ||
1653 | ssl3_handshake_msg_finish(s, n); | 1653 | ssl3_handshake_msg_finish(s, n); |
1654 | 1654 | ||
1655 | s->internal->state = SSL3_ST_SW_CERT_REQ_B; | 1655 | S3I(s)->hs.state = SSL3_ST_SW_CERT_REQ_B; |
1656 | } | 1656 | } |
1657 | 1657 | ||
1658 | /* SSL3_ST_SW_CERT_REQ_B */ | 1658 | /* SSL3_ST_SW_CERT_REQ_B */ |
@@ -2539,7 +2539,7 @@ ssl3_send_server_certificate(SSL *s) | |||
2539 | 2539 | ||
2540 | memset(&cbb, 0, sizeof(cbb)); | 2540 | memset(&cbb, 0, sizeof(cbb)); |
2541 | 2541 | ||
2542 | if (s->internal->state == SSL3_ST_SW_CERT_A) { | 2542 | if (S3I(s)->hs.state == SSL3_ST_SW_CERT_A) { |
2543 | if ((x = ssl_get_server_send_cert(s)) == NULL) { | 2543 | if ((x = ssl_get_server_send_cert(s)) == NULL) { |
2544 | SSLerror(s, ERR_R_INTERNAL_ERROR); | 2544 | SSLerror(s, ERR_R_INTERNAL_ERROR); |
2545 | return (0); | 2545 | return (0); |
@@ -2553,7 +2553,7 @@ ssl3_send_server_certificate(SSL *s) | |||
2553 | if (!ssl3_handshake_msg_finish_cbb(s, &cbb)) | 2553 | if (!ssl3_handshake_msg_finish_cbb(s, &cbb)) |
2554 | goto err; | 2554 | goto err; |
2555 | 2555 | ||
2556 | s->internal->state = SSL3_ST_SW_CERT_B; | 2556 | S3I(s)->hs.state = SSL3_ST_SW_CERT_B; |
2557 | } | 2557 | } |
2558 | 2558 | ||
2559 | /* SSL3_ST_SW_CERT_B */ | 2559 | /* SSL3_ST_SW_CERT_B */ |
@@ -2581,7 +2581,7 @@ ssl3_send_newsession_ticket(SSL *s) | |||
2581 | unsigned char iv[EVP_MAX_IV_LENGTH]; | 2581 | unsigned char iv[EVP_MAX_IV_LENGTH]; |
2582 | unsigned char key_name[16]; | 2582 | unsigned char key_name[16]; |
2583 | 2583 | ||
2584 | if (s->internal->state == SSL3_ST_SW_SESSION_TICKET_A) { | 2584 | if (S3I(s)->hs.state == SSL3_ST_SW_SESSION_TICKET_A) { |
2585 | /* get session encoding length */ | 2585 | /* get session encoding length */ |
2586 | slen_full = i2d_SSL_SESSION(s->session, NULL); | 2586 | slen_full = i2d_SSL_SESSION(s->session, NULL); |
2587 | /* | 2587 | /* |
@@ -2694,7 +2694,7 @@ ssl3_send_newsession_ticket(SSL *s) | |||
2694 | 2694 | ||
2695 | ssl3_handshake_msg_finish(s, len); | 2695 | ssl3_handshake_msg_finish(s, len); |
2696 | 2696 | ||
2697 | s->internal->state = SSL3_ST_SW_SESSION_TICKET_B; | 2697 | S3I(s)->hs.state = SSL3_ST_SW_SESSION_TICKET_B; |
2698 | 2698 | ||
2699 | freezero(senc, slen_full); | 2699 | freezero(senc, slen_full); |
2700 | } | 2700 | } |
@@ -2715,7 +2715,7 @@ ssl3_send_cert_status(SSL *s) | |||
2715 | 2715 | ||
2716 | memset(&cbb, 0, sizeof(cbb)); | 2716 | memset(&cbb, 0, sizeof(cbb)); |
2717 | 2717 | ||
2718 | if (s->internal->state == SSL3_ST_SW_CERT_STATUS_A) { | 2718 | if (S3I(s)->hs.state == SSL3_ST_SW_CERT_STATUS_A) { |
2719 | if (!ssl3_handshake_msg_start_cbb(s, &cbb, &certstatus, | 2719 | if (!ssl3_handshake_msg_start_cbb(s, &cbb, &certstatus, |
2720 | SSL3_MT_CERTIFICATE_STATUS)) | 2720 | SSL3_MT_CERTIFICATE_STATUS)) |
2721 | goto err; | 2721 | goto err; |
@@ -2729,7 +2729,7 @@ ssl3_send_cert_status(SSL *s) | |||
2729 | if (!ssl3_handshake_msg_finish_cbb(s, &cbb)) | 2729 | if (!ssl3_handshake_msg_finish_cbb(s, &cbb)) |
2730 | goto err; | 2730 | goto err; |
2731 | 2731 | ||
2732 | s->internal->state = SSL3_ST_SW_CERT_STATUS_B; | 2732 | S3I(s)->hs.state = SSL3_ST_SW_CERT_STATUS_B; |
2733 | } | 2733 | } |
2734 | 2734 | ||
2735 | /* SSL3_ST_SW_CERT_STATUS_B */ | 2735 | /* SSL3_ST_SW_CERT_STATUS_B */ |
@@ -2769,7 +2769,7 @@ ssl3_get_next_proto(SSL *s) | |||
2769 | return ((int)n); | 2769 | return ((int)n); |
2770 | 2770 | ||
2771 | /* | 2771 | /* |
2772 | * s->internal->state doesn't reflect whether ChangeCipherSpec has been received | 2772 | * S3I(s)->hs.state doesn't reflect whether ChangeCipherSpec has been received |
2773 | * in this handshake, but S3I(s)->change_cipher_spec does (will be reset | 2773 | * in this handshake, but S3I(s)->change_cipher_spec does (will be reset |
2774 | * by ssl3_get_finished). | 2774 | * by ssl3_get_finished). |
2775 | */ | 2775 | */ |