Home | History | Annotate | Download | only in statem

Lines Matching refs:frag

58     hm_fragment *frag = NULL;
62 if ((frag = OPENSSL_zalloc(sizeof(*frag))) == NULL) {
70 OPENSSL_free(frag);
75 /* zero length fragment gets zero frag->fragment */
76 frag->fragment = buf;
84 OPENSSL_free(frag);
89 frag->reassembly = bitmask;
91 return frag;
94 void dtls1_hm_fragment_free(hm_fragment *frag)
96 if (!frag)
99 OPENSSL_free(frag->fragment);
100 OPENSSL_free(frag->reassembly);
101 OPENSSL_free(frag);
491 hm_fragment *frag;
501 frag = (hm_fragment *)item->data;
503 if (frag->msg_header.seq < s->d1->handshake_read_seq) {
508 || frag->msg_header.seq != 0
517 dtls1_hm_fragment_free(frag);
520 frag = NULL;
537 dtls1_hm_fragment_free(frag);
540 frag = nextfrag;
552 if (frag->reassembly != NULL)
555 if (s->d1->handshake_read_seq == frag->msg_header.seq || chretran) {
556 size_t frag_len = frag->msg_header.frag_len;
560 ret = dtls1_preprocess_fragment(s, &frag->msg_header);
562 if (ret && frag->msg_header.frag_len > 0) {
565 memcpy(&p[frag->msg_header.frag_off], frag->fragment,
566 frag->msg_header.frag_len);
569 dtls1_hm_fragment_free(frag);
598 hm_fragment *frag = NULL;
620 frag = dtls1_hm_fragment_new(msg_hdr->msg_len, 1);
621 if (frag == NULL)
623 memcpy(&(frag->msg_header), msg_hdr, sizeof(*msg_hdr));
624 frag->msg_header.frag_len = frag->msg_header.msg_len;
625 frag->msg_header.frag_off = 0;
627 frag = (hm_fragment *)item->data;
628 if (frag->msg_header.msg_len != msg_hdr->msg_len) {
630 frag = NULL;
637 * be dropped. In this case item != NULL and so frag does not need to be
640 if (frag->reassembly == NULL) {
658 frag->fragment + msg_hdr->frag_off,
665 RSMBLY_BITMASK_MARK(frag->reassembly, (long)msg_hdr->frag_off,
670 RSMBLY_BITMASK_IS_COMPLETE(frag->reassembly, (long)msg_hdr->msg_len,
674 OPENSSL_free(frag->reassembly);
675 frag->reassembly = NULL;
679 item = pitem_new(seq64be, frag);
700 dtls1_hm_fragment_free(frag);
708 hm_fragment *frag = NULL;
758 frag = dtls1_hm_fragment_new(frag_len, 0);
759 if (frag == NULL)
762 memcpy(&(frag->msg_header), msg_hdr, sizeof(*msg_hdr));
769 frag->fragment, frag_len, 0,
777 item = pitem_new(seq64be, frag);
798 dtls1_hm_fragment_free(frag);
1091 hm_fragment *frag;
1097 frag = (hm_fragment *)item->data;
1100 (frag->msg_header.seq,
1101 frag->msg_header.is_ccs), &found) <= 0)
1111 hm_fragment *frag;
1121 frag = dtls1_hm_fragment_new(s->init_num, 0);
1122 if (frag == NULL)
1125 memcpy(frag->fragment, s->init_buf->data, s->init_num);
1133 dtls1_hm_fragment_free(frag);
1139 dtls1_hm_fragment_free(frag);
1144 frag->msg_header.msg_len = s->d1->w_msg_hdr.msg_len;
1145 frag->msg_header.seq = s->d1->w_msg_hdr.seq;
1146 frag->msg_header.type = s->d1->w_msg_hdr.type;
1147 frag->msg_header.frag_off = 0;
1148 frag->msg_header.frag_len = s->d1->w_msg_hdr.msg_len;
1149 frag->msg_header.is_ccs = is_ccs;
1152 frag->msg_header.saved_retransmit_state.enc_write_ctx = s->enc_write_ctx;
1153 frag->msg_header.saved_retransmit_state.write_hash = s->write_hash;
1154 frag->msg_header.saved_retransmit_state.compress = s->compress;
1155 frag->msg_header.saved_retransmit_state.session = s->session;
1156 frag->msg_header.saved_retransmit_state.epoch =
1162 char)(dtls1_get_queue_priority(frag->msg_header.seq,
1163 frag->msg_header.is_ccs) >> 8);
1166 char)(dtls1_get_queue_priority(frag->msg_header.seq,
1167 frag->msg_header.is_ccs));
1169 item = pitem_new(seq64be, frag);
1171 dtls1_hm_fragment_free(frag);
1184 hm_fragment *frag;
1202 frag = (hm_fragment *)item->data;
1204 if (frag->msg_header.is_ccs)
1209 memcpy(s->init_buf->data, frag->fragment,
1210 frag->msg_header.msg_len + header_length);
1211 s->init_num = frag->msg_header.msg_len + header_length;
1213 dtls1_set_message_header_int(s, frag->msg_header.type,
1214 frag->msg_header.msg_len,
1215 frag->msg_header.seq, 0,
1216 frag->msg_header.frag_len);
1228 s->enc_write_ctx = frag->msg_header.saved_retransmit_state.enc_write_ctx;
1229 s->write_hash = frag->msg_header.saved_retransmit_state.write_hash;
1230 s->compress = frag->msg_header.saved_retransmit_state.compress;
1231 s->session = frag->msg_header.saved_retransmit_state.session;
1233 frag->msg_header.
1236 ret = dtls1_do_write(s, frag->msg_header.is_ccs ?