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

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

622 frag = dtls1_hm_fragment_new(msg_hdr->msg_len, 1);
623 if ( frag == NULL)
624 goto err;
625 memcpy(&(frag->msg_header), msg_hdr, sizeof(*msg_hdr));
626 frag->msg_header.frag_len = frag->msg_header.msg_len;
627 frag->msg_header.frag_off = 0;
628 }
629 else
1/* ssl/d1_both.c */
2/*
3 * DTLS implementation written by Nagendra Modadugu
4 * (nagendra@cs.stanford.edu) for the OpenSSL project 2005.
5 */
6/* ====================================================================
7 * Copyright (c) 1998-2005 The OpenSSL Project. All rights reserved.
8 *

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

622 frag = dtls1_hm_fragment_new(msg_hdr->msg_len, 1);
623 if ( frag == NULL)
624 goto err;
625 memcpy(&(frag->msg_header), msg_hdr, sizeof(*msg_hdr));
626 frag->msg_header.frag_len = frag->msg_header.msg_len;
627 frag->msg_header.frag_off = 0;
628 }
629 else
630 {
630 frag = (hm_fragment*) item->data;
631 frag = (hm_fragment*) item->data;
632 if (frag->msg_header.msg_len != msg_hdr->msg_len)
633 {
634 item = NULL;
635 frag = NULL;
636 goto err;
637 }
638 }
631
639
640
632 /* If message is already reassembled, this must be a
633 * retransmit and can be dropped.
634 */
635 if (frag->reassembly == NULL)
636 {
637 unsigned char devnull [256];
638
639 while (frag_len)

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

779static long
780dtls1_get_message_fragment(SSL *s, int st1, int stn, long max, int *ok)
781 {
782 unsigned char wire[DTLS1_HM_HEADER_LENGTH];
783 unsigned long len, frag_off, frag_len;
784 int i,al;
785 struct hm_header_st msg_hdr;
786
641 /* If message is already reassembled, this must be a
642 * retransmit and can be dropped.
643 */
644 if (frag->reassembly == NULL)
645 {
646 unsigned char devnull [256];
647
648 while (frag_len)

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

788static long
789dtls1_get_message_fragment(SSL *s, int st1, int stn, long max, int *ok)
790 {
791 unsigned char wire[DTLS1_HM_HEADER_LENGTH];
792 unsigned long len, frag_off, frag_len;
793 int i,al;
794 struct hm_header_st msg_hdr;
795
796 redo:
787 /* see if we have the required fragment already */
788 if ((frag_len = dtls1_retrieve_buffered_fragment(s,max,ok)) || *ok)
789 {
790 if (*ok) s->init_num = frag_len;
791 return frag_len;
792 }
793
794 /* read handshake message header */

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

837 if (wire[1] == 0 && wire[2] == 0 && wire[3] == 0)
838 {
839 if (s->msg_callback)
840 s->msg_callback(0, s->version, SSL3_RT_HANDSHAKE,
841 wire, DTLS1_HM_HEADER_LENGTH, s,
842 s->msg_callback_arg);
843
844 s->init_num = 0;
797 /* see if we have the required fragment already */
798 if ((frag_len = dtls1_retrieve_buffered_fragment(s,max,ok)) || *ok)
799 {
800 if (*ok) s->init_num = frag_len;
801 return frag_len;
802 }
803
804 /* read handshake message header */

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

847 if (wire[1] == 0 && wire[2] == 0 && wire[3] == 0)
848 {
849 if (s->msg_callback)
850 s->msg_callback(0, s->version, SSL3_RT_HANDSHAKE,
851 wire, DTLS1_HM_HEADER_LENGTH, s,
852 s->msg_callback_arg);
853
854 s->init_num = 0;
845 return dtls1_get_message_fragment(s, st1, stn,
846 max, ok);
855 goto redo;
847 }
848 else /* Incorrectly formated Hello request */
849 {
850 al=SSL_AD_UNEXPECTED_MESSAGE;
851 SSLerr(SSL_F_DTLS1_GET_MESSAGE_FRAGMENT,SSL_R_UNEXPECTED_MESSAGE);
852 goto f_err;
853 }
854 }

--- 754 unchanged lines hidden ---
856 }
857 else /* Incorrectly formated Hello request */
858 {
859 al=SSL_AD_UNEXPECTED_MESSAGE;
860 SSLerr(SSL_F_DTLS1_GET_MESSAGE_FRAGMENT,SSL_R_UNEXPECTED_MESSAGE);
861 goto f_err;
862 }
863 }

--- 754 unchanged lines hidden ---