diff options
author | beck <> | 2017-01-23 08:48:45 +0000 |
---|---|---|
committer | beck <> | 2017-01-23 08:48:45 +0000 |
commit | 61af17199189570a4400f2757a9e8dab4bb76d2a (patch) | |
tree | e1f210556179334ded73129e6e0733758fe22365 /src/lib/libssl/s3_srvr.c | |
parent | c85967e4f9c3e1f3b3217545939f1d44ddf9f103 (diff) | |
download | openbsd-61af17199189570a4400f2757a9e8dab4bb76d2a.tar.gz openbsd-61af17199189570a4400f2757a9e8dab4bb76d2a.tar.bz2 openbsd-61af17199189570a4400f2757a9e8dab4bb76d2a.zip |
send state and rstate from ssl_st into internal. There are accessors
so these should not be diddled with directly
ok jsing@
Diffstat (limited to 'src/lib/libssl/s3_srvr.c')
-rw-r--r-- | src/lib/libssl/s3_srvr.c | 118 |
1 files changed, 59 insertions, 59 deletions
diff --git a/src/lib/libssl/s3_srvr.c b/src/lib/libssl/s3_srvr.c index 31860eb049..fa958d96f8 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.147 2017/01/23 06:45:30 beck Exp $ */ | 1 | /* $OpenBSD: s3_srvr.c,v 1.148 2017/01/23 08:48:44 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->state; | 198 | state = s->internal->state; |
199 | 199 | ||
200 | switch (s->state) { | 200 | switch (s->internal->state) { |
201 | case SSL_ST_RENEGOTIATE: | 201 | case SSL_ST_RENEGOTIATE: |
202 | s->internal->renegotiate = 1; | 202 | s->internal->renegotiate = 1; |
203 | /* s->state=SSL_ST_ACCEPT; */ | 203 | /* s->internal->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->state != SSL_ST_RENEGOTIATE) { | 232 | if (s->internal->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->state = SSL3_ST_SR_CLNT_HELLO_A; | 248 | s->internal->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 | /* |
@@ -261,11 +261,11 @@ ssl3_accept(SSL *s) | |||
261 | goto end; | 261 | goto end; |
262 | } else { | 262 | } else { |
263 | /* | 263 | /* |
264 | * s->state == SSL_ST_RENEGOTIATE, | 264 | * s->internal->state == SSL_ST_RENEGOTIATE, |
265 | * we will just send a HelloRequest | 265 | * we will just send a HelloRequest |
266 | */ | 266 | */ |
267 | s->ctx->internal->stats.sess_accept_renegotiate++; | 267 | s->ctx->internal->stats.sess_accept_renegotiate++; |
268 | s->state = SSL3_ST_SW_HELLO_REQ_A; | 268 | s->internal->state = SSL3_ST_SW_HELLO_REQ_A; |
269 | } | 269 | } |
270 | break; | 270 | break; |
271 | 271 | ||
@@ -277,7 +277,7 @@ ssl3_accept(SSL *s) | |||
277 | if (ret <= 0) | 277 | if (ret <= 0) |
278 | goto end; | 278 | goto end; |
279 | S3I(s)->tmp.next_state = SSL3_ST_SW_HELLO_REQ_C; | 279 | S3I(s)->tmp.next_state = SSL3_ST_SW_HELLO_REQ_C; |
280 | s->state = SSL3_ST_SW_FLUSH; | 280 | s->internal->state = SSL3_ST_SW_FLUSH; |
281 | s->internal->init_num = 0; | 281 | s->internal->init_num = 0; |
282 | 282 | ||
283 | if (!tls1_init_finished_mac(s)) { | 283 | if (!tls1_init_finished_mac(s)) { |
@@ -287,7 +287,7 @@ ssl3_accept(SSL *s) | |||
287 | break; | 287 | break; |
288 | 288 | ||
289 | case SSL3_ST_SW_HELLO_REQ_C: | 289 | case SSL3_ST_SW_HELLO_REQ_C: |
290 | s->state = SSL_ST_OK; | 290 | s->internal->state = SSL_ST_OK; |
291 | break; | 291 | break; |
292 | 292 | ||
293 | case SSL3_ST_SR_CLNT_HELLO_A: | 293 | case SSL3_ST_SR_CLNT_HELLO_A: |
@@ -302,7 +302,7 @@ ssl3_accept(SSL *s) | |||
302 | } | 302 | } |
303 | 303 | ||
304 | s->internal->renegotiate = 2; | 304 | s->internal->renegotiate = 2; |
305 | s->state = SSL3_ST_SW_SRVR_HELLO_A; | 305 | s->internal->state = SSL3_ST_SW_SRVR_HELLO_A; |
306 | s->internal->init_num = 0; | 306 | s->internal->init_num = 0; |
307 | break; | 307 | break; |
308 | 308 | ||
@@ -313,12 +313,12 @@ ssl3_accept(SSL *s) | |||
313 | goto end; | 313 | goto end; |
314 | if (s->internal->hit) { | 314 | if (s->internal->hit) { |
315 | if (s->internal->tlsext_ticket_expected) | 315 | if (s->internal->tlsext_ticket_expected) |
316 | s->state = SSL3_ST_SW_SESSION_TICKET_A; | 316 | s->internal->state = SSL3_ST_SW_SESSION_TICKET_A; |
317 | else | 317 | else |
318 | s->state = SSL3_ST_SW_CHANGE_A; | 318 | s->internal->state = SSL3_ST_SW_CHANGE_A; |
319 | } | 319 | } |
320 | else | 320 | else |
321 | s->state = SSL3_ST_SW_CERT_A; | 321 | s->internal->state = SSL3_ST_SW_CERT_A; |
322 | s->internal->init_num = 0; | 322 | s->internal->init_num = 0; |
323 | break; | 323 | break; |
324 | 324 | ||
@@ -331,12 +331,12 @@ ssl3_accept(SSL *s) | |||
331 | if (ret <= 0) | 331 | if (ret <= 0) |
332 | goto end; | 332 | goto end; |
333 | if (s->internal->tlsext_status_expected) | 333 | if (s->internal->tlsext_status_expected) |
334 | s->state = SSL3_ST_SW_CERT_STATUS_A; | 334 | s->internal->state = SSL3_ST_SW_CERT_STATUS_A; |
335 | else | 335 | else |
336 | s->state = SSL3_ST_SW_KEY_EXCH_A; | 336 | s->internal->state = SSL3_ST_SW_KEY_EXCH_A; |
337 | } else { | 337 | } else { |
338 | skip = 1; | 338 | skip = 1; |
339 | s->state = SSL3_ST_SW_KEY_EXCH_A; | 339 | s->internal->state = SSL3_ST_SW_KEY_EXCH_A; |
340 | } | 340 | } |
341 | s->internal->init_num = 0; | 341 | s->internal->init_num = 0; |
342 | break; | 342 | break; |
@@ -360,7 +360,7 @@ ssl3_accept(SSL *s) | |||
360 | } else | 360 | } else |
361 | skip = 1; | 361 | skip = 1; |
362 | 362 | ||
363 | s->state = SSL3_ST_SW_CERT_REQ_A; | 363 | s->internal->state = SSL3_ST_SW_CERT_REQ_A; |
364 | s->internal->init_num = 0; | 364 | s->internal->init_num = 0; |
365 | break; | 365 | break; |
366 | 366 | ||
@@ -392,7 +392,7 @@ ssl3_accept(SSL *s) | |||
392 | /* No cert request */ | 392 | /* No cert request */ |
393 | skip = 1; | 393 | skip = 1; |
394 | S3I(s)->tmp.cert_request = 0; | 394 | S3I(s)->tmp.cert_request = 0; |
395 | s->state = SSL3_ST_SW_SRVR_DONE_A; | 395 | s->internal->state = SSL3_ST_SW_SRVR_DONE_A; |
396 | if (S3I(s)->handshake_buffer) { | 396 | if (S3I(s)->handshake_buffer) { |
397 | if (!tls1_digest_cached_records(s)) { | 397 | if (!tls1_digest_cached_records(s)) { |
398 | ret = -1; | 398 | ret = -1; |
@@ -404,7 +404,7 @@ ssl3_accept(SSL *s) | |||
404 | ret = ssl3_send_certificate_request(s); | 404 | ret = ssl3_send_certificate_request(s); |
405 | if (ret <= 0) | 405 | if (ret <= 0) |
406 | goto end; | 406 | goto end; |
407 | s->state = SSL3_ST_SW_SRVR_DONE_A; | 407 | s->internal->state = SSL3_ST_SW_SRVR_DONE_A; |
408 | s->internal->init_num = 0; | 408 | s->internal->init_num = 0; |
409 | } | 409 | } |
410 | break; | 410 | break; |
@@ -415,7 +415,7 @@ ssl3_accept(SSL *s) | |||
415 | if (ret <= 0) | 415 | if (ret <= 0) |
416 | goto end; | 416 | goto end; |
417 | S3I(s)->tmp.next_state = SSL3_ST_SR_CERT_A; | 417 | S3I(s)->tmp.next_state = SSL3_ST_SR_CERT_A; |
418 | s->state = SSL3_ST_SW_FLUSH; | 418 | s->internal->state = SSL3_ST_SW_FLUSH; |
419 | s->internal->init_num = 0; | 419 | s->internal->init_num = 0; |
420 | break; | 420 | break; |
421 | 421 | ||
@@ -439,7 +439,7 @@ ssl3_accept(SSL *s) | |||
439 | } | 439 | } |
440 | s->internal->rwstate = SSL_NOTHING; | 440 | s->internal->rwstate = SSL_NOTHING; |
441 | 441 | ||
442 | s->state = S3I(s)->tmp.next_state; | 442 | s->internal->state = S3I(s)->tmp.next_state; |
443 | break; | 443 | break; |
444 | 444 | ||
445 | case SSL3_ST_SR_CERT_A: | 445 | case SSL3_ST_SR_CERT_A: |
@@ -450,7 +450,7 @@ ssl3_accept(SSL *s) | |||
450 | goto end; | 450 | goto end; |
451 | } | 451 | } |
452 | s->internal->init_num = 0; | 452 | s->internal->init_num = 0; |
453 | s->state = SSL3_ST_SR_KEY_EXCH_A; | 453 | s->internal->state = SSL3_ST_SR_KEY_EXCH_A; |
454 | break; | 454 | break; |
455 | 455 | ||
456 | case SSL3_ST_SR_KEY_EXCH_A: | 456 | case SSL3_ST_SR_KEY_EXCH_A: |
@@ -470,12 +470,12 @@ ssl3_accept(SSL *s) | |||
470 | * for key exchange. | 470 | * for key exchange. |
471 | */ | 471 | */ |
472 | if (S3I(s)->next_proto_neg_seen) | 472 | if (S3I(s)->next_proto_neg_seen) |
473 | s->state = SSL3_ST_SR_NEXT_PROTO_A; | 473 | s->internal->state = SSL3_ST_SR_NEXT_PROTO_A; |
474 | else | 474 | else |
475 | s->state = SSL3_ST_SR_FINISHED_A; | 475 | s->internal->state = SSL3_ST_SR_FINISHED_A; |
476 | s->internal->init_num = 0; | 476 | s->internal->init_num = 0; |
477 | } else if (SSL_USE_SIGALGS(s) || (alg_k & SSL_kGOST)) { | 477 | } else if (SSL_USE_SIGALGS(s) || (alg_k & SSL_kGOST)) { |
478 | s->state = SSL3_ST_SR_CERT_VRFY_A; | 478 | s->internal->state = SSL3_ST_SR_CERT_VRFY_A; |
479 | s->internal->init_num = 0; | 479 | s->internal->init_num = 0; |
480 | if (!s->session->peer) | 480 | if (!s->session->peer) |
481 | break; | 481 | break; |
@@ -498,7 +498,7 @@ ssl3_accept(SSL *s) | |||
498 | int offset = 0; | 498 | int offset = 0; |
499 | int dgst_num; | 499 | int dgst_num; |
500 | 500 | ||
501 | s->state = SSL3_ST_SR_CERT_VRFY_A; | 501 | s->internal->state = SSL3_ST_SR_CERT_VRFY_A; |
502 | s->internal->init_num = 0; | 502 | s->internal->init_num = 0; |
503 | 503 | ||
504 | /* | 504 | /* |
@@ -544,9 +544,9 @@ ssl3_accept(SSL *s) | |||
544 | goto end; | 544 | goto end; |
545 | 545 | ||
546 | if (S3I(s)->next_proto_neg_seen) | 546 | if (S3I(s)->next_proto_neg_seen) |
547 | s->state = SSL3_ST_SR_NEXT_PROTO_A; | 547 | s->internal->state = SSL3_ST_SR_NEXT_PROTO_A; |
548 | else | 548 | else |
549 | s->state = SSL3_ST_SR_FINISHED_A; | 549 | s->internal->state = SSL3_ST_SR_FINISHED_A; |
550 | s->internal->init_num = 0; | 550 | s->internal->init_num = 0; |
551 | break; | 551 | break; |
552 | 552 | ||
@@ -556,7 +556,7 @@ ssl3_accept(SSL *s) | |||
556 | if (ret <= 0) | 556 | if (ret <= 0) |
557 | goto end; | 557 | goto end; |
558 | s->internal->init_num = 0; | 558 | s->internal->init_num = 0; |
559 | s->state = SSL3_ST_SR_FINISHED_A; | 559 | s->internal->state = SSL3_ST_SR_FINISHED_A; |
560 | break; | 560 | break; |
561 | 561 | ||
562 | case SSL3_ST_SR_FINISHED_A: | 562 | case SSL3_ST_SR_FINISHED_A: |
@@ -567,11 +567,11 @@ ssl3_accept(SSL *s) | |||
567 | if (ret <= 0) | 567 | if (ret <= 0) |
568 | goto end; | 568 | goto end; |
569 | if (s->internal->hit) | 569 | if (s->internal->hit) |
570 | s->state = SSL_ST_OK; | 570 | s->internal->state = SSL_ST_OK; |
571 | else if (s->internal->tlsext_ticket_expected) | 571 | else if (s->internal->tlsext_ticket_expected) |
572 | s->state = SSL3_ST_SW_SESSION_TICKET_A; | 572 | s->internal->state = SSL3_ST_SW_SESSION_TICKET_A; |
573 | else | 573 | else |
574 | s->state = SSL3_ST_SW_CHANGE_A; | 574 | s->internal->state = SSL3_ST_SW_CHANGE_A; |
575 | s->internal->init_num = 0; | 575 | s->internal->init_num = 0; |
576 | break; | 576 | break; |
577 | 577 | ||
@@ -580,7 +580,7 @@ ssl3_accept(SSL *s) | |||
580 | ret = ssl3_send_newsession_ticket(s); | 580 | ret = ssl3_send_newsession_ticket(s); |
581 | if (ret <= 0) | 581 | if (ret <= 0) |
582 | goto end; | 582 | goto end; |
583 | s->state = SSL3_ST_SW_CHANGE_A; | 583 | s->internal->state = SSL3_ST_SW_CHANGE_A; |
584 | s->internal->init_num = 0; | 584 | s->internal->init_num = 0; |
585 | break; | 585 | break; |
586 | 586 | ||
@@ -589,7 +589,7 @@ ssl3_accept(SSL *s) | |||
589 | ret = ssl3_send_cert_status(s); | 589 | ret = ssl3_send_cert_status(s); |
590 | if (ret <= 0) | 590 | if (ret <= 0) |
591 | goto end; | 591 | goto end; |
592 | s->state = SSL3_ST_SW_KEY_EXCH_A; | 592 | s->internal->state = SSL3_ST_SW_KEY_EXCH_A; |
593 | s->internal->init_num = 0; | 593 | s->internal->init_num = 0; |
594 | break; | 594 | break; |
595 | 595 | ||
@@ -608,7 +608,7 @@ ssl3_accept(SSL *s) | |||
608 | 608 | ||
609 | if (ret <= 0) | 609 | if (ret <= 0) |
610 | goto end; | 610 | goto end; |
611 | s->state = SSL3_ST_SW_FINISHED_A; | 611 | s->internal->state = SSL3_ST_SW_FINISHED_A; |
612 | s->internal->init_num = 0; | 612 | s->internal->init_num = 0; |
613 | 613 | ||
614 | if (!s->method->ssl3_enc->change_cipher_state( | 614 | if (!s->method->ssl3_enc->change_cipher_state( |
@@ -627,7 +627,7 @@ ssl3_accept(SSL *s) | |||
627 | s->method->ssl3_enc->server_finished_label_len); | 627 | s->method->ssl3_enc->server_finished_label_len); |
628 | if (ret <= 0) | 628 | if (ret <= 0) |
629 | goto end; | 629 | goto end; |
630 | s->state = SSL3_ST_SW_FLUSH; | 630 | s->internal->state = SSL3_ST_SW_FLUSH; |
631 | if (s->internal->hit) { | 631 | if (s->internal->hit) { |
632 | if (S3I(s)->next_proto_neg_seen) { | 632 | if (S3I(s)->next_proto_neg_seen) { |
633 | s->s3->flags |= SSL3_FLAGS_CCS_OK; | 633 | s->s3->flags |= SSL3_FLAGS_CCS_OK; |
@@ -687,11 +687,11 @@ ssl3_accept(SSL *s) | |||
687 | } | 687 | } |
688 | 688 | ||
689 | 689 | ||
690 | if ((cb != NULL) && (s->state != state)) { | 690 | if ((cb != NULL) && (s->internal->state != state)) { |
691 | new_state = s->state; | 691 | new_state = s->internal->state; |
692 | s->state = state; | 692 | s->internal->state = state; |
693 | cb(s, SSL_CB_ACCEPT_LOOP, 1); | 693 | cb(s, SSL_CB_ACCEPT_LOOP, 1); |
694 | s->state = new_state; | 694 | s->internal->state = new_state; |
695 | } | 695 | } |
696 | } | 696 | } |
697 | skip = 0; | 697 | skip = 0; |
@@ -708,11 +708,11 @@ end: | |||
708 | int | 708 | int |
709 | ssl3_send_hello_request(SSL *s) | 709 | ssl3_send_hello_request(SSL *s) |
710 | { | 710 | { |
711 | if (s->state == SSL3_ST_SW_HELLO_REQ_A) { | 711 | if (s->internal->state == SSL3_ST_SW_HELLO_REQ_A) { |
712 | ssl3_handshake_msg_start(s, SSL3_MT_HELLO_REQUEST); | 712 | ssl3_handshake_msg_start(s, SSL3_MT_HELLO_REQUEST); |
713 | ssl3_handshake_msg_finish(s, 0); | 713 | ssl3_handshake_msg_finish(s, 0); |
714 | 714 | ||
715 | s->state = SSL3_ST_SW_HELLO_REQ_B; | 715 | s->internal->state = SSL3_ST_SW_HELLO_REQ_B; |
716 | } | 716 | } |
717 | 717 | ||
718 | /* SSL3_ST_SW_HELLO_REQ_B */ | 718 | /* 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->state == SSL3_ST_SR_CLNT_HELLO_A) { | 741 | if (s->internal->state == SSL3_ST_SR_CLNT_HELLO_A) { |
742 | s->state = SSL3_ST_SR_CLNT_HELLO_B; | 742 | s->internal->state = SSL3_ST_SR_CLNT_HELLO_B; |
743 | } | 743 | } |
744 | s->internal->first_packet = 1; | 744 | s->internal->first_packet = 1; |
745 | n = s->method->ssl_get_message(s, SSL3_ST_SR_CLNT_HELLO_B, | 745 | n = s->method->ssl_get_message(s, SSL3_ST_SR_CLNT_HELLO_B, |
@@ -1099,7 +1099,7 @@ ssl3_send_server_hello(SSL *s) | |||
1099 | 1099 | ||
1100 | bufend = (unsigned char *)s->internal->init_buf->data + SSL3_RT_MAX_PLAIN_LENGTH; | 1100 | bufend = (unsigned char *)s->internal->init_buf->data + SSL3_RT_MAX_PLAIN_LENGTH; |
1101 | 1101 | ||
1102 | if (s->state == SSL3_ST_SW_SRVR_HELLO_A) { | 1102 | if (s->internal->state == SSL3_ST_SW_SRVR_HELLO_A) { |
1103 | d = p = ssl3_handshake_msg_start(s, SSL3_MT_SERVER_HELLO); | 1103 | d = p = ssl3_handshake_msg_start(s, SSL3_MT_SERVER_HELLO); |
1104 | 1104 | ||
1105 | if (!CBB_init_fixed(&cbb, p, bufend - p)) | 1105 | if (!CBB_init_fixed(&cbb, p, bufend - p)) |
@@ -1179,11 +1179,11 @@ ssl3_send_server_hello(SSL *s) | |||
1179 | int | 1179 | int |
1180 | ssl3_send_server_done(SSL *s) | 1180 | ssl3_send_server_done(SSL *s) |
1181 | { | 1181 | { |
1182 | if (s->state == SSL3_ST_SW_SRVR_DONE_A) { | 1182 | if (s->internal->state == SSL3_ST_SW_SRVR_DONE_A) { |
1183 | ssl3_handshake_msg_start(s, SSL3_MT_SERVER_DONE); | 1183 | ssl3_handshake_msg_start(s, SSL3_MT_SERVER_DONE); |
1184 | ssl3_handshake_msg_finish(s, 0); | 1184 | ssl3_handshake_msg_finish(s, 0); |
1185 | 1185 | ||
1186 | s->state = SSL3_ST_SW_SRVR_DONE_B; | 1186 | s->internal->state = SSL3_ST_SW_SRVR_DONE_B; |
1187 | } | 1187 | } |
1188 | 1188 | ||
1189 | /* SSL3_ST_SW_SRVR_DONE_B */ | 1189 | /* SSL3_ST_SW_SRVR_DONE_B */ |
@@ -1487,7 +1487,7 @@ ssl3_send_server_key_exchange(SSL *s) | |||
1487 | memset(&cbb, 0, sizeof(cbb)); | 1487 | memset(&cbb, 0, sizeof(cbb)); |
1488 | 1488 | ||
1489 | EVP_MD_CTX_init(&md_ctx); | 1489 | EVP_MD_CTX_init(&md_ctx); |
1490 | if (s->state == SSL3_ST_SW_KEY_EXCH_A) { | 1490 | if (s->internal->state == SSL3_ST_SW_KEY_EXCH_A) { |
1491 | type = S3I(s)->tmp.new_cipher->algorithm_mkey; | 1491 | type = S3I(s)->tmp.new_cipher->algorithm_mkey; |
1492 | cert = s->cert; | 1492 | cert = s->cert; |
1493 | 1493 | ||
@@ -1621,7 +1621,7 @@ ssl3_send_server_key_exchange(SSL *s) | |||
1621 | ssl3_handshake_msg_finish(s, n); | 1621 | ssl3_handshake_msg_finish(s, n); |
1622 | } | 1622 | } |
1623 | 1623 | ||
1624 | s->state = SSL3_ST_SW_KEY_EXCH_B; | 1624 | s->internal->state = SSL3_ST_SW_KEY_EXCH_B; |
1625 | 1625 | ||
1626 | EVP_MD_CTX_cleanup(&md_ctx); | 1626 | EVP_MD_CTX_cleanup(&md_ctx); |
1627 | 1627 | ||
@@ -1646,7 +1646,7 @@ ssl3_send_certificate_request(SSL *s) | |||
1646 | X509_NAME *name; | 1646 | X509_NAME *name; |
1647 | BUF_MEM *buf; | 1647 | BUF_MEM *buf; |
1648 | 1648 | ||
1649 | if (s->state == SSL3_ST_SW_CERT_REQ_A) { | 1649 | if (s->internal->state == SSL3_ST_SW_CERT_REQ_A) { |
1650 | buf = s->internal->init_buf; | 1650 | buf = s->internal->init_buf; |
1651 | 1651 | ||
1652 | d = p = ssl3_handshake_msg_start(s, | 1652 | d = p = ssl3_handshake_msg_start(s, |
@@ -1699,7 +1699,7 @@ ssl3_send_certificate_request(SSL *s) | |||
1699 | 1699 | ||
1700 | ssl3_handshake_msg_finish(s, n); | 1700 | ssl3_handshake_msg_finish(s, n); |
1701 | 1701 | ||
1702 | s->state = SSL3_ST_SW_CERT_REQ_B; | 1702 | s->internal->state = SSL3_ST_SW_CERT_REQ_B; |
1703 | } | 1703 | } |
1704 | 1704 | ||
1705 | /* SSL3_ST_SW_CERT_REQ_B */ | 1705 | /* SSL3_ST_SW_CERT_REQ_B */ |
@@ -2640,7 +2640,7 @@ ssl3_send_server_certificate(SSL *s) | |||
2640 | 2640 | ||
2641 | memset(&cbb, 0, sizeof(cbb)); | 2641 | memset(&cbb, 0, sizeof(cbb)); |
2642 | 2642 | ||
2643 | if (s->state == SSL3_ST_SW_CERT_A) { | 2643 | if (s->internal->state == SSL3_ST_SW_CERT_A) { |
2644 | if ((x = ssl_get_server_send_cert(s)) == NULL) { | 2644 | if ((x = ssl_get_server_send_cert(s)) == NULL) { |
2645 | SSLerr(SSL_F_SSL3_SEND_SERVER_CERTIFICATE, | 2645 | SSLerr(SSL_F_SSL3_SEND_SERVER_CERTIFICATE, |
2646 | ERR_R_INTERNAL_ERROR); | 2646 | ERR_R_INTERNAL_ERROR); |
@@ -2655,7 +2655,7 @@ ssl3_send_server_certificate(SSL *s) | |||
2655 | if (!ssl3_handshake_msg_finish_cbb(s, &cbb)) | 2655 | if (!ssl3_handshake_msg_finish_cbb(s, &cbb)) |
2656 | goto err; | 2656 | goto err; |
2657 | 2657 | ||
2658 | s->state = SSL3_ST_SW_CERT_B; | 2658 | s->internal->state = SSL3_ST_SW_CERT_B; |
2659 | } | 2659 | } |
2660 | 2660 | ||
2661 | /* SSL3_ST_SW_CERT_B */ | 2661 | /* SSL3_ST_SW_CERT_B */ |
@@ -2683,7 +2683,7 @@ ssl3_send_newsession_ticket(SSL *s) | |||
2683 | unsigned char iv[EVP_MAX_IV_LENGTH]; | 2683 | unsigned char iv[EVP_MAX_IV_LENGTH]; |
2684 | unsigned char key_name[16]; | 2684 | unsigned char key_name[16]; |
2685 | 2685 | ||
2686 | if (s->state == SSL3_ST_SW_SESSION_TICKET_A) { | 2686 | if (s->internal->state == SSL3_ST_SW_SESSION_TICKET_A) { |
2687 | /* get session encoding length */ | 2687 | /* get session encoding length */ |
2688 | slen_full = i2d_SSL_SESSION(s->session, NULL); | 2688 | slen_full = i2d_SSL_SESSION(s->session, NULL); |
2689 | /* | 2689 | /* |
@@ -2796,7 +2796,7 @@ ssl3_send_newsession_ticket(SSL *s) | |||
2796 | 2796 | ||
2797 | ssl3_handshake_msg_finish(s, len); | 2797 | ssl3_handshake_msg_finish(s, len); |
2798 | 2798 | ||
2799 | s->state = SSL3_ST_SW_SESSION_TICKET_B; | 2799 | s->internal->state = SSL3_ST_SW_SESSION_TICKET_B; |
2800 | 2800 | ||
2801 | explicit_bzero(senc, slen_full); | 2801 | explicit_bzero(senc, slen_full); |
2802 | free(senc); | 2802 | free(senc); |
@@ -2818,7 +2818,7 @@ ssl3_send_cert_status(SSL *s) | |||
2818 | { | 2818 | { |
2819 | unsigned char *p; | 2819 | unsigned char *p; |
2820 | 2820 | ||
2821 | if (s->state == SSL3_ST_SW_CERT_STATUS_A) { | 2821 | if (s->internal->state == SSL3_ST_SW_CERT_STATUS_A) { |
2822 | /* | 2822 | /* |
2823 | * Grow buffer if need be: the length calculation is as | 2823 | * Grow buffer if need be: the length calculation is as |
2824 | * follows 1 (message type) + 3 (message length) + | 2824 | * follows 1 (message type) + 3 (message length) + |
@@ -2837,7 +2837,7 @@ ssl3_send_cert_status(SSL *s) | |||
2837 | 2837 | ||
2838 | ssl3_handshake_msg_finish(s, s->internal->tlsext_ocsp_resplen + 4); | 2838 | ssl3_handshake_msg_finish(s, s->internal->tlsext_ocsp_resplen + 4); |
2839 | 2839 | ||
2840 | s->state = SSL3_ST_SW_CERT_STATUS_B; | 2840 | s->internal->state = SSL3_ST_SW_CERT_STATUS_B; |
2841 | } | 2841 | } |
2842 | 2842 | ||
2843 | /* SSL3_ST_SW_CERT_STATUS_B */ | 2843 | /* SSL3_ST_SW_CERT_STATUS_B */ |
@@ -2873,7 +2873,7 @@ ssl3_get_next_proto(SSL *s) | |||
2873 | return ((int)n); | 2873 | return ((int)n); |
2874 | 2874 | ||
2875 | /* | 2875 | /* |
2876 | * s->state doesn't reflect whether ChangeCipherSpec has been received | 2876 | * s->internal->state doesn't reflect whether ChangeCipherSpec has been received |
2877 | * in this handshake, but S3I(s)->change_cipher_spec does (will be reset | 2877 | * in this handshake, but S3I(s)->change_cipher_spec does (will be reset |
2878 | * by ssl3_get_finished). | 2878 | * by ssl3_get_finished). |
2879 | */ | 2879 | */ |