Home | History | Annotate | Download | only in ssl

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