diff options
Diffstat (limited to 'src/lib/libssl/d1_srvr.c')
-rw-r--r-- | src/lib/libssl/d1_srvr.c | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/src/lib/libssl/d1_srvr.c b/src/lib/libssl/d1_srvr.c index f3972ae9d0..698292f33f 100644 --- a/src/lib/libssl/d1_srvr.c +++ b/src/lib/libssl/d1_srvr.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: d1_srvr.c,v 1.54 2015/06/18 22:30:47 doug Exp $ */ | 1 | /* $OpenBSD: d1_srvr.c,v 1.55 2015/06/18 22:51:05 doug Exp $ */ |
2 | /* | 2 | /* |
3 | * DTLS implementation written by Nagendra Modadugu | 3 | * DTLS implementation written by Nagendra Modadugu |
4 | * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. | 4 | * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. |
@@ -468,22 +468,13 @@ dtls1_accept(SSL *s) | |||
468 | 468 | ||
469 | case SSL3_ST_SR_CERT_A: | 469 | case SSL3_ST_SR_CERT_A: |
470 | case SSL3_ST_SR_CERT_B: | 470 | case SSL3_ST_SR_CERT_B: |
471 | /* Check for second client hello (MS SGC) */ | 471 | if (s->s3->tmp.cert_request) { |
472 | ret = ssl3_check_client_hello(s); | 472 | ret = ssl3_get_client_certificate(s); |
473 | if (ret <= 0) | 473 | if (ret <= 0) |
474 | goto end; | 474 | goto end; |
475 | if (ret == 2) { | ||
476 | dtls1_stop_timer(s); | ||
477 | s->state = SSL3_ST_SR_CLNT_HELLO_C; | ||
478 | } else { | ||
479 | if (s->s3->tmp.cert_request) { | ||
480 | ret = ssl3_get_client_certificate(s); | ||
481 | if (ret <= 0) | ||
482 | goto end; | ||
483 | } | ||
484 | s->init_num = 0; | ||
485 | s->state = SSL3_ST_SR_KEY_EXCH_A; | ||
486 | } | 475 | } |
476 | s->init_num = 0; | ||
477 | s->state = SSL3_ST_SR_KEY_EXCH_A; | ||
487 | break; | 478 | break; |
488 | 479 | ||
489 | case SSL3_ST_SR_KEY_EXCH_A: | 480 | case SSL3_ST_SR_KEY_EXCH_A: |