Home | History | Annotate | Download | only in ssl

Lines Matching defs:frag

175 	hm_fragment *frag = NULL;
179 frag = (hm_fragment *)OPENSSL_malloc(sizeof(hm_fragment));
180 if ( frag == NULL)
188 OPENSSL_free(frag);
193 /* zero length fragment gets zero frag->fragment */
194 frag->fragment = buf;
203 OPENSSL_free(frag);
209 frag->reassembly = bitmask;
211 return frag;
215 dtls1_hm_fragment_free(hm_fragment *frag)
218 if (frag->msg_header.is_ccs)
220 EVP_CIPHER_CTX_free(frag->msg_header.saved_retransmit_state.enc_write_ctx);
221 EVP_MD_CTX_destroy(frag->msg_header.saved_retransmit_state.write_hash);
223 if (frag->fragment) OPENSSL_free(frag->fragment);
224 if (frag->reassembly) OPENSSL_free(frag->reassembly);
225 OPENSSL_free(frag);
544 hm_fragment *frag;
552 frag = (hm_fragment *)item->data;
555 if (frag->reassembly != NULL)
558 if ( s->d1->handshake_read_seq == frag->msg_header.seq)
560 unsigned long frag_len = frag->msg_header.frag_len;
563 al=dtls1_preprocess_fragment(s,&frag->msg_header,max);
568 memcpy(&p[frag->msg_header.frag_off],
569 frag->fragment,frag->msg_header.frag_len);
572 dtls1_hm_fragment_free(frag);
594 hm_fragment *frag = NULL;
622 frag = dtls1_hm_fragment_new(msg_hdr->msg_len, 1);
623 if ( frag == NULL)
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;
631 frag = (hm_fragment*) item->data;
632 if (frag->msg_header.msg_len != msg_hdr->msg_len)
635 frag = NULL;
644 if (frag->reassembly == NULL)
661 frag->fragment + msg_hdr->frag_off,frag_len,0);
665 RSMBLY_BITMASK_MARK(frag->reassembly, (long)msg_hdr->frag_off,
668 RSMBLY_BITMASK_IS_COMPLETE(frag->reassembly, (long)msg_hdr->msg_len,
673 OPENSSL_free(frag->reassembly);
674 frag->reassembly = NULL;
683 item = pitem_new(seq64be, frag);
696 if (frag != NULL) dtls1_hm_fragment_free(frag);
707 hm_fragment *frag = NULL;
752 frag = dtls1_hm_fragment_new(frag_len, 0);
753 if ( frag == NULL)
756 memcpy(&(frag->msg_header), msg_hdr, sizeof(*msg_hdr));
762 frag->fragment,frag_len,0);
771 item = pitem_new(seq64be, frag);
781 if ( frag != NULL) dtls1_hm_fragment_free(frag);
1151 hm_fragment *frag;
1158 frag = (hm_fragment *)item->data;
1160 (unsigned short)dtls1_get_queue_priority(frag->msg_header.seq, frag->msg_header.is_ccs),
1175 hm_fragment *frag;
1182 frag = dtls1_hm_fragment_new(s->init_num, 0);
1184 memcpy(frag->fragment, s->init_buf->data, s->init_num);
1197 frag->msg_header.msg_len = s->d1->w_msg_hdr.msg_len;
1198 frag->msg_header.seq = s->d1->w_msg_hdr.seq;
1199 frag->msg_header.type = s->d1->w_msg_hdr.type;
1200 frag->msg_header.frag_off = 0;
1201 frag->msg_header.frag_len = s->d1->w_msg_hdr.msg_len;
1202 frag->msg_header.is_ccs = is_ccs;
1205 frag->msg_header.saved_retransmit_state.enc_write_ctx = s->enc_write_ctx;
1206 frag->msg_header.saved_retransmit_state.write_hash = s->write_hash;
1207 frag->msg_header.saved_retransmit_state.compress = s->compress;
1208 frag->msg_header.saved_retransmit_state.session = s->session;
1209 frag->msg_header.saved_retransmit_state.epoch = s->d1->w_epoch;
1212 seq64be[6] = (unsigned char)(dtls1_get_queue_priority(frag->msg_header.seq,
1213 frag->msg_header.is_ccs)>>8);
1214 seq64be[7] = (unsigned char)(dtls1_get_queue_priority(frag->msg_header.seq,
1215 frag->msg_header.is_ccs));
1217 item = pitem_new(seq64be, frag);
1220 dtls1_hm_fragment_free(frag);
1241 hm_fragment *frag ;
1266 frag = (hm_fragment *)item->data;
1268 if ( frag->msg_header.is_ccs)
1273 memcpy(s->init_buf->data, frag->fragment,
1274 frag->msg_header.msg_len + header_length);
1275 s->init_num = frag->msg_header.msg_len + header_length;
1277 dtls1_set_message_header_int(s, frag->msg_header.type,
1278 frag->msg_header.msg_len, frag->msg_header.seq, 0,
1279 frag->msg_header.frag_len);
1292 s->enc_write_ctx = frag->msg_header.saved_retransmit_state.enc_write_ctx;
1293 s->write_hash = frag->msg_header.saved_retransmit_state.write_hash;
1294 s->compress = frag->msg_header.saved_retransmit_state.compress;
1295 s->session = frag->msg_header.saved_retransmit_state.session;
1296 s->d1->w_epoch = frag->msg_header.saved_retransmit_state.epoch;
1298 if (frag->msg_header.saved_retransmit_state.epoch == saved_state.epoch - 1)
1304 ret = dtls1_do_write(s, frag->msg_header.is_ccs ?
1314 if (frag->msg_header.saved_retransmit_state.epoch == saved_state.epoch - 1)