Lines Matching refs:frag

178     hm_fragment *frag = NULL;
182 frag = (hm_fragment *)OPENSSL_malloc(sizeof(hm_fragment));
183 if (frag == NULL)
189 OPENSSL_free(frag);
194 /* zero length fragment gets zero frag->fragment */
195 frag->fragment = buf;
204 OPENSSL_free(frag);
210 frag->reassembly = bitmask;
212 return frag;
215 static void dtls1_hm_fragment_free(hm_fragment *frag)
217 if (frag->fragment)
218 OPENSSL_free(frag->fragment);
219 if (frag->reassembly)
220 OPENSSL_free(frag->reassembly);
221 OPENSSL_free(frag);
542 hm_fragment *frag;
551 frag = (hm_fragment *)item->data;
553 if (frag->msg_header.seq < s->d1->handshake_read_seq) {
556 dtls1_hm_fragment_free(frag);
559 frag = NULL;
565 if (frag->reassembly != NULL)
568 if (s->d1->handshake_read_seq == frag->msg_header.seq) {
569 unsigned long frag_len = frag->msg_header.frag_len;
572 al = dtls1_preprocess_fragment(s, &frag->msg_header, max);
577 memcpy(&p[frag->msg_header.frag_off], frag->fragment,
578 frag->msg_header.frag_len);
581 dtls1_hm_fragment_free(frag);
614 hm_fragment *frag = NULL;
634 frag = dtls1_hm_fragment_new(msg_hdr->msg_len, 1);
635 if (frag == NULL)
637 memcpy(&(frag->msg_header), msg_hdr, sizeof(*msg_hdr));
638 frag->msg_header.frag_len = frag->msg_header.msg_len;
639 frag->msg_header.frag_off = 0;
641 frag = (hm_fragment *)item->data;
642 if (frag->msg_header.msg_len != msg_hdr->msg_len) {
644 frag = NULL;
651 * be dropped. In this case item != NULL and so frag does not need to be
654 if (frag->reassembly == NULL) {
672 frag->fragment + msg_hdr->frag_off,
679 RSMBLY_BITMASK_MARK(frag->reassembly, (long)msg_hdr->frag_off,
682 RSMBLY_BITMASK_IS_COMPLETE(frag->reassembly, (long)msg_hdr->msg_len,
686 OPENSSL_free(frag->reassembly);
687 frag->reassembly = NULL;
693 item = pitem_new(seq64, frag);
714 if (frag != NULL && item == NULL)
715 dtls1_hm_fragment_free(frag);
725 hm_fragment *frag = NULL;
774 frag = dtls1_hm_fragment_new(frag_len, 0);
775 if (frag == NULL)
778 memcpy(&(frag->msg_header), msg_hdr, sizeof(*msg_hdr));
785 frag->fragment, frag_len, 0);
795 item = pitem_new(seq64, frag);
815 if (frag != NULL && item == NULL)
816 dtls1_hm_fragment_free(frag);
1172 hm_fragment *frag;
1178 frag = (hm_fragment *)item->data;
1181 (frag->msg_header.seq,
1182 frag->msg_header.is_ccs), 0,
1195 hm_fragment *frag;
1204 frag = dtls1_hm_fragment_new(s->init_num, 0);
1205 if (!frag)
1208 memcpy(frag->fragment, s->init_buf->data, s->init_num);
1218 frag->msg_header.msg_len = s->d1->w_msg_hdr.msg_len;
1219 frag->msg_header.seq = s->d1->w_msg_hdr.seq;
1220 frag->msg_header.type = s->d1->w_msg_hdr.type;
1221 frag->msg_header.frag_off = 0;
1222 frag->msg_header.frag_len = s->d1->w_msg_hdr.msg_len;
1223 frag->msg_header.is_ccs = is_ccs;
1226 frag->msg_header.saved_retransmit_state.enc_write_ctx = s->enc_write_ctx;
1227 frag->msg_header.saved_retransmit_state.write_hash = s->write_hash;
1228 frag->msg_header.saved_retransmit_state.compress = s->compress;
1229 frag->msg_header.saved_retransmit_state.session = s->session;
1230 frag->msg_header.saved_retransmit_state.epoch = s->d1->w_epoch;
1235 dtls1_get_queue_priority(frag->msg_header.seq,
1236 frag->msg_header.is_ccs));
1238 item = pitem_new(seq64, frag);
1241 dtls1_hm_fragment_free(frag);
1261 hm_fragment *frag;
1285 frag = (hm_fragment *)item->data;
1287 if (frag->msg_header.is_ccs)
1292 memcpy(s->init_buf->data, frag->fragment,
1293 frag->msg_header.msg_len + header_length);
1294 s->init_num = frag->msg_header.msg_len + header_length;
1296 dtls1_set_message_header_int(s, frag->msg_header.type,
1297 frag->msg_header.msg_len,
1298 frag->msg_header.seq, 0,
1299 frag->msg_header.frag_len);
1312 s->enc_write_ctx = frag->msg_header.saved_retransmit_state.enc_write_ctx;
1313 s->write_hash = frag->msg_header.saved_retransmit_state.write_hash;
1314 s->compress = frag->msg_header.saved_retransmit_state.compress;
1315 s->session = frag->msg_header.saved_retransmit_state.session;
1316 s->d1->w_epoch = frag->msg_header.saved_retransmit_state.epoch;
1318 if (frag->msg_header.saved_retransmit_state.epoch ==
1326 ret = dtls1_do_write(s, frag->msg_header.is_ccs ?
1336 if (frag->msg_header.saved_retransmit_state.epoch ==