Deleted Added
full compact
1/* ssl/d1_clnt.c */
2/*
3 * DTLS implementation written by Nagendra Modadugu
4 * (nagendra@cs.stanford.edu) for the OpenSSL project 2005.
5 */
6/* ====================================================================
7 * Copyright (c) 1999-2005 The OpenSSL Project. All rights reserved.
8 *

--- 243 unchanged lines hidden (view full) ---

252 break;
253
254 case SSL3_ST_CR_SRVR_HELLO_A:
255 case SSL3_ST_CR_SRVR_HELLO_B:
256 ret=ssl3_get_server_hello(s);
257 if (ret <= 0) goto end;
258 else
259 {
260 dtls1_stop_timer(s);
260 if (s->hit)
261 s->state=SSL3_ST_CR_FINISHED_A;
262 else
263 s->state=DTLS1_ST_CR_HELLO_VERIFY_REQUEST_A;
264 }
265 s->init_num=0;
266 break;
267

--- 76 unchanged lines hidden (view full) ---

344 s->state=SSL3_ST_CR_SRVR_DONE_A;
345 s->init_num=0;
346 break;
347
348 case SSL3_ST_CR_SRVR_DONE_A:
349 case SSL3_ST_CR_SRVR_DONE_B:
350 ret=ssl3_get_server_done(s);
351 if (ret <= 0) goto end;
352 dtls1_stop_timer(s);
353 if (s->s3->tmp.cert_req)
354 s->state=SSL3_ST_CW_CERT_A;
355 else
356 s->state=SSL3_ST_CW_KEY_EXCH_A;
357 s->init_num=0;
358
359 break;
360

--- 37 unchanged lines hidden (view full) ---

398 if (ret <= 0) goto end;
399 s->state=SSL3_ST_CW_CHANGE_A;
400 s->init_num=0;
401 s->s3->change_cipher_spec=0;
402 break;
403
404 case SSL3_ST_CW_CHANGE_A:
405 case SSL3_ST_CW_CHANGE_B:
406 dtls1_start_timer(s);
406 if (!s->hit)
407 dtls1_start_timer(s);
408 ret=dtls1_send_change_cipher_spec(s,
409 SSL3_ST_CW_CHANGE_A,SSL3_ST_CW_CHANGE_B);
410 if (ret <= 0) goto end;
411 s->state=SSL3_ST_CW_FINISHED_A;
412 s->init_num=0;
413
414 s->session->cipher=s->s3->tmp.new_cipher;
415#ifdef OPENSSL_NO_COMP

--- 18 unchanged lines hidden (view full) ---

434 goto end;
435 }
436
437 dtls1_reset_seq_numbers(s, SSL3_CC_WRITE);
438 break;
439
440 case SSL3_ST_CW_FINISHED_A:
441 case SSL3_ST_CW_FINISHED_B:
441 dtls1_start_timer(s);
442 if (!s->hit)
443 dtls1_start_timer(s);
444 ret=dtls1_send_finished(s,
445 SSL3_ST_CW_FINISHED_A,SSL3_ST_CW_FINISHED_B,
446 s->method->ssl3_enc->client_finished_label,
447 s->method->ssl3_enc->client_finished_label_len);
448 if (ret <= 0) goto end;
449 s->state=SSL3_ST_CW_FLUSH;
450
451 /* clear flags */

--- 779 unchanged lines hidden ---