Lines 437-452
int ssl3_connect(SSL *s)
Link Here
|
437 |
|
437 |
|
438 |
case SSL3_ST_CW_FINISHED_A: |
438 |
case SSL3_ST_CW_FINISHED_A: |
439 |
case SSL3_ST_CW_FINISHED_B: |
439 |
case SSL3_ST_CW_FINISHED_B: |
440 |
ret=ssl3_send_finished(s, |
440 |
ret=ssl3_send_finished(s, |
441 |
SSL3_ST_CW_FINISHED_A,SSL3_ST_CW_FINISHED_B, |
441 |
SSL3_ST_CW_FINISHED_A,SSL3_ST_CW_FINISHED_B, |
442 |
s->method->ssl3_enc->client_finished_label, |
442 |
s->method->ssl3_enc->client_finished_label, |
443 |
s->method->ssl3_enc->client_finished_label_len); |
443 |
s->method->ssl3_enc->client_finished_label_len); |
444 |
if (ret <= 0) goto end; |
444 |
if (ret <= 0) goto end; |
|
|
445 |
s->s3->flags |= SSL3_FLAGS_CCS_OK; |
445 |
s->state=SSL3_ST_CW_FLUSH; |
446 |
s->state=SSL3_ST_CW_FLUSH; |
446 |
|
447 |
|
447 |
/* clear flags */ |
448 |
/* clear flags */ |
448 |
s->s3->flags&= ~SSL3_FLAGS_POP_BUFFER; |
449 |
s->s3->flags&= ~SSL3_FLAGS_POP_BUFFER; |
449 |
if (s->hit) |
450 |
if (s->hit) |
450 |
{ |
451 |
{ |
451 |
s->s3->tmp.next_state=SSL_ST_OK; |
452 |
s->s3->tmp.next_state=SSL_ST_OK; |
452 |
if (s->s3->flags & SSL3_FLAGS_DELAY_CLIENT_FINISHED) |
453 |
if (s->s3->flags & SSL3_FLAGS_DELAY_CLIENT_FINISHED) |