• Home
  • Raw
  • Download

Lines Matching refs:frag

175 	hm_fragment *frag = NULL;  in dtls1_hm_fragment_new()  local
179 frag = (hm_fragment *)OPENSSL_malloc(sizeof(hm_fragment)); in dtls1_hm_fragment_new()
180 if ( frag == NULL) in dtls1_hm_fragment_new()
188 OPENSSL_free(frag); in dtls1_hm_fragment_new()
194 frag->fragment = buf; in dtls1_hm_fragment_new()
203 OPENSSL_free(frag); in dtls1_hm_fragment_new()
209 frag->reassembly = bitmask; in dtls1_hm_fragment_new()
211 return frag; in dtls1_hm_fragment_new()
215 dtls1_hm_fragment_free(hm_fragment *frag) in dtls1_hm_fragment_free() argument
217 if (frag->fragment) OPENSSL_free(frag->fragment); in dtls1_hm_fragment_free()
218 if (frag->reassembly) OPENSSL_free(frag->reassembly); in dtls1_hm_fragment_free()
219 OPENSSL_free(frag); in dtls1_hm_fragment_free()
537 hm_fragment *frag; in dtls1_retrieve_buffered_fragment() local
545 frag = (hm_fragment *)item->data; in dtls1_retrieve_buffered_fragment()
548 if (frag->reassembly != NULL) in dtls1_retrieve_buffered_fragment()
551 if ( s->d1->handshake_read_seq == frag->msg_header.seq) in dtls1_retrieve_buffered_fragment()
553 unsigned long frag_len = frag->msg_header.frag_len; in dtls1_retrieve_buffered_fragment()
556 al=dtls1_preprocess_fragment(s,&frag->msg_header,max); in dtls1_retrieve_buffered_fragment()
561 memcpy(&p[frag->msg_header.frag_off], in dtls1_retrieve_buffered_fragment()
562 frag->fragment,frag->msg_header.frag_len); in dtls1_retrieve_buffered_fragment()
565 dtls1_hm_fragment_free(frag); in dtls1_retrieve_buffered_fragment()
587 hm_fragment *frag = NULL; in dtls1_reassemble_fragment() local
615 frag = dtls1_hm_fragment_new(msg_hdr->msg_len, 1); in dtls1_reassemble_fragment()
616 if ( frag == NULL) in dtls1_reassemble_fragment()
618 memcpy(&(frag->msg_header), msg_hdr, sizeof(*msg_hdr)); in dtls1_reassemble_fragment()
619 frag->msg_header.frag_len = frag->msg_header.msg_len; in dtls1_reassemble_fragment()
620 frag->msg_header.frag_off = 0; in dtls1_reassemble_fragment()
623 frag = (hm_fragment*) item->data; in dtls1_reassemble_fragment()
628 if (frag->reassembly == NULL) in dtls1_reassemble_fragment()
645 frag->fragment + msg_hdr->frag_off,frag_len,0); in dtls1_reassemble_fragment()
649 RSMBLY_BITMASK_MARK(frag->reassembly, (long)msg_hdr->frag_off, in dtls1_reassemble_fragment()
652 RSMBLY_BITMASK_IS_COMPLETE(frag->reassembly, (long)msg_hdr->msg_len, in dtls1_reassemble_fragment()
657 OPENSSL_free(frag->reassembly); in dtls1_reassemble_fragment()
658 frag->reassembly = NULL; in dtls1_reassemble_fragment()
667 item = pitem_new(seq64be, frag); in dtls1_reassemble_fragment()
680 if (frag != NULL) dtls1_hm_fragment_free(frag); in dtls1_reassemble_fragment()
691 hm_fragment *frag = NULL; in dtls1_process_out_of_seq_message() local
736 frag = dtls1_hm_fragment_new(frag_len, 0); in dtls1_process_out_of_seq_message()
737 if ( frag == NULL) in dtls1_process_out_of_seq_message()
740 memcpy(&(frag->msg_header), msg_hdr, sizeof(*msg_hdr)); in dtls1_process_out_of_seq_message()
746 frag->fragment,frag_len,0); in dtls1_process_out_of_seq_message()
755 item = pitem_new(seq64be, frag); in dtls1_process_out_of_seq_message()
765 if ( frag != NULL) dtls1_hm_fragment_free(frag); in dtls1_process_out_of_seq_message()
1135 hm_fragment *frag; in dtls1_retransmit_buffered_messages() local
1142 frag = (hm_fragment *)item->data; in dtls1_retransmit_buffered_messages()
1144 (unsigned short)dtls1_get_queue_priority(frag->msg_header.seq, frag->msg_header.is_ccs), in dtls1_retransmit_buffered_messages()
1159 hm_fragment *frag; in dtls1_buffer_message() local
1166 frag = dtls1_hm_fragment_new(s->init_num, 0); in dtls1_buffer_message()
1168 memcpy(frag->fragment, s->init_buf->data, s->init_num); in dtls1_buffer_message()
1181 frag->msg_header.msg_len = s->d1->w_msg_hdr.msg_len; in dtls1_buffer_message()
1182 frag->msg_header.seq = s->d1->w_msg_hdr.seq; in dtls1_buffer_message()
1183 frag->msg_header.type = s->d1->w_msg_hdr.type; in dtls1_buffer_message()
1184 frag->msg_header.frag_off = 0; in dtls1_buffer_message()
1185 frag->msg_header.frag_len = s->d1->w_msg_hdr.msg_len; in dtls1_buffer_message()
1186 frag->msg_header.is_ccs = is_ccs; in dtls1_buffer_message()
1189 frag->msg_header.saved_retransmit_state.enc_write_ctx = s->enc_write_ctx; in dtls1_buffer_message()
1190 frag->msg_header.saved_retransmit_state.write_hash = s->write_hash; in dtls1_buffer_message()
1191 frag->msg_header.saved_retransmit_state.compress = s->compress; in dtls1_buffer_message()
1192 frag->msg_header.saved_retransmit_state.session = s->session; in dtls1_buffer_message()
1193 frag->msg_header.saved_retransmit_state.epoch = s->d1->w_epoch; in dtls1_buffer_message()
1196 seq64be[6] = (unsigned char)(dtls1_get_queue_priority(frag->msg_header.seq, in dtls1_buffer_message()
1197 frag->msg_header.is_ccs)>>8); in dtls1_buffer_message()
1198 seq64be[7] = (unsigned char)(dtls1_get_queue_priority(frag->msg_header.seq, in dtls1_buffer_message()
1199 frag->msg_header.is_ccs)); in dtls1_buffer_message()
1201 item = pitem_new(seq64be, frag); in dtls1_buffer_message()
1204 dtls1_hm_fragment_free(frag); in dtls1_buffer_message()
1225 hm_fragment *frag ; in dtls1_retransmit_message() local
1250 frag = (hm_fragment *)item->data; in dtls1_retransmit_message()
1252 if ( frag->msg_header.is_ccs) in dtls1_retransmit_message()
1257 memcpy(s->init_buf->data, frag->fragment, in dtls1_retransmit_message()
1258 frag->msg_header.msg_len + header_length); in dtls1_retransmit_message()
1259 s->init_num = frag->msg_header.msg_len + header_length; in dtls1_retransmit_message()
1261 dtls1_set_message_header_int(s, frag->msg_header.type, in dtls1_retransmit_message()
1262 frag->msg_header.msg_len, frag->msg_header.seq, 0, in dtls1_retransmit_message()
1263 frag->msg_header.frag_len); in dtls1_retransmit_message()
1276 s->enc_write_ctx = frag->msg_header.saved_retransmit_state.enc_write_ctx; in dtls1_retransmit_message()
1277 s->write_hash = frag->msg_header.saved_retransmit_state.write_hash; in dtls1_retransmit_message()
1278 s->compress = frag->msg_header.saved_retransmit_state.compress; in dtls1_retransmit_message()
1279 s->session = frag->msg_header.saved_retransmit_state.session; in dtls1_retransmit_message()
1280 s->d1->w_epoch = frag->msg_header.saved_retransmit_state.epoch; in dtls1_retransmit_message()
1282 if (frag->msg_header.saved_retransmit_state.epoch == saved_state.epoch - 1) in dtls1_retransmit_message()
1288 ret = dtls1_do_write(s, frag->msg_header.is_ccs ? in dtls1_retransmit_message()
1298 if (frag->msg_header.saved_retransmit_state.epoch == saved_state.epoch - 1) in dtls1_retransmit_message()