Lines Matching refs:msg_hdr

164 static int dtls1_write_message_header(const struct hm_header_st *msg_hdr,
323 const struct hm_header_st *msg_hdr = &s->d1->w_msg_hdr; in dtls1_do_write() local
331 if (!dtls1_write_message_header(msg_hdr, in dtls1_do_write()
332 0, msg_hdr->msg_len, p)) in dtls1_do_write()
374 struct hm_header_st *msg_hdr; in dtls1_get_message() local
395 msg_hdr = &s->d1->r_msg_hdr; in dtls1_get_message()
396 memset(msg_hdr, 0, sizeof(struct hm_header_st)); in dtls1_get_message()
407 msg_len = msg_hdr->msg_len; in dtls1_get_message()
410 if (!dtls1_write_message_header(msg_hdr, 0, msg_len, p)) in dtls1_get_message()
420 memset(msg_hdr, 0, sizeof(struct hm_header_st)); in dtls1_get_message()
435 dtls1_preprocess_fragment(SSL *s, struct hm_header_st *msg_hdr, int max) in dtls1_preprocess_fragment() argument
439 msg_len = msg_hdr->msg_len; in dtls1_preprocess_fragment()
440 frag_off = msg_hdr->frag_off; in dtls1_preprocess_fragment()
441 frag_len = msg_hdr->frag_len; in dtls1_preprocess_fragment()
468 s->s3->hs.tls12.message_type = msg_hdr->type; in dtls1_preprocess_fragment()
469 s->d1->r_msg_hdr.type = msg_hdr->type; in dtls1_preprocess_fragment()
470 s->d1->r_msg_hdr.seq = msg_hdr->seq; in dtls1_preprocess_fragment()
553 dtls1_reassemble_fragment(SSL *s, struct hm_header_st* msg_hdr, int *ok) in dtls1_reassemble_fragment() argument
559 unsigned long frag_len = msg_hdr->frag_len; in dtls1_reassemble_fragment()
561 if ((msg_hdr->frag_off + frag_len) > msg_hdr->msg_len || in dtls1_reassemble_fragment()
562 msg_hdr->msg_len > dtls1_max_handshake_message_len(s)) in dtls1_reassemble_fragment()
572 seq64be[6] = (unsigned char)(msg_hdr->seq >> 8); in dtls1_reassemble_fragment()
573 seq64be[7] = (unsigned char)msg_hdr->seq; in dtls1_reassemble_fragment()
577 frag = dtls1_hm_fragment_new(msg_hdr->msg_len, 1); in dtls1_reassemble_fragment()
580 memcpy(&(frag->msg_header), msg_hdr, sizeof(*msg_hdr)); in dtls1_reassemble_fragment()
585 if (frag->msg_header.msg_len != msg_hdr->msg_len) { in dtls1_reassemble_fragment()
613 frag->fragment + msg_hdr->frag_off, frag_len, 0); in dtls1_reassemble_fragment()
617 RSMBLY_BITMASK_MARK(frag->reassembly, (long)msg_hdr->frag_off, in dtls1_reassemble_fragment()
618 (long)(msg_hdr->frag_off + frag_len)); in dtls1_reassemble_fragment()
620 RSMBLY_BITMASK_IS_COMPLETE(frag->reassembly, (long)msg_hdr->msg_len, in dtls1_reassemble_fragment()
630 seq64be[6] = (unsigned char)(msg_hdr->seq >> 8); in dtls1_reassemble_fragment()
631 seq64be[7] = (unsigned char)(msg_hdr->seq); in dtls1_reassemble_fragment()
653 dtls1_process_out_of_seq_message(SSL *s, struct hm_header_st* msg_hdr, int *ok) in dtls1_process_out_of_seq_message() argument
659 unsigned long frag_len = msg_hdr->frag_len; in dtls1_process_out_of_seq_message()
661 if ((msg_hdr->frag_off + frag_len) > msg_hdr->msg_len) in dtls1_process_out_of_seq_message()
666 seq64be[6] = (unsigned char) (msg_hdr->seq >> 8); in dtls1_process_out_of_seq_message()
667 seq64be[7] = (unsigned char) msg_hdr->seq; in dtls1_process_out_of_seq_message()
674 if (item != NULL && frag_len < msg_hdr->msg_len) in dtls1_process_out_of_seq_message()
683 if (msg_hdr->seq <= s->d1->handshake_read_seq || in dtls1_process_out_of_seq_message()
684 msg_hdr->seq > s->d1->handshake_read_seq + 10 || item != NULL || in dtls1_process_out_of_seq_message()
686 msg_hdr->type == SSL3_MT_FINISHED)) { in dtls1_process_out_of_seq_message()
698 if (frag_len < msg_hdr->msg_len) in dtls1_process_out_of_seq_message()
699 return dtls1_reassemble_fragment(s, msg_hdr, ok); in dtls1_process_out_of_seq_message()
708 memcpy(&(frag->msg_header), msg_hdr, sizeof(*msg_hdr)); in dtls1_process_out_of_seq_message()
719 seq64be[6] = (unsigned char)(msg_hdr->seq >> 8); in dtls1_process_out_of_seq_message()
720 seq64be[7] = (unsigned char)(msg_hdr->seq); in dtls1_process_out_of_seq_message()
744 struct hm_header_st msg_hdr; in dtls1_get_message_fragment() local
767 if (!dtls1_get_message_header(&cbs, &msg_hdr)) { in dtls1_get_message_fragment()
780 if (msg_hdr.seq != s->d1->handshake_read_seq && in dtls1_get_message_fragment()
781 !(s->d1->listen && msg_hdr.seq == 1)) in dtls1_get_message_fragment()
782 return dtls1_process_out_of_seq_message(s, &msg_hdr, ok); in dtls1_get_message_fragment()
784 len = msg_hdr.msg_len; in dtls1_get_message_fragment()
785 frag_off = msg_hdr.frag_off; in dtls1_get_message_fragment()
786 frag_len = msg_hdr.frag_len; in dtls1_get_message_fragment()
789 return dtls1_reassemble_fragment(s, &msg_hdr, ok); in dtls1_get_message_fragment()
817 if ((al = dtls1_preprocess_fragment(s, &msg_hdr, max))) in dtls1_get_message_fragment()
1102 struct hm_header_st *msg_hdr = &s->d1->w_msg_hdr; in dtls1_set_message_header_int() local
1104 msg_hdr->type = mt; in dtls1_set_message_header_int()
1105 msg_hdr->msg_len = len; in dtls1_set_message_header_int()
1106 msg_hdr->seq = seq_num; in dtls1_set_message_header_int()
1107 msg_hdr->frag_off = frag_off; in dtls1_set_message_header_int()
1108 msg_hdr->frag_len = frag_len; in dtls1_set_message_header_int()
1114 struct hm_header_st *msg_hdr = &s->d1->w_msg_hdr; in dtls1_fix_message_header() local
1116 msg_hdr->frag_off = frag_off; in dtls1_fix_message_header()
1117 msg_hdr->frag_len = frag_len; in dtls1_fix_message_header()
1121 dtls1_write_message_header(const struct hm_header_st *msg_hdr, in dtls1_write_message_header() argument
1129 if (!CBB_add_u8(&cbb, msg_hdr->type)) in dtls1_write_message_header()
1131 if (!CBB_add_u24(&cbb, msg_hdr->msg_len)) in dtls1_write_message_header()
1133 if (!CBB_add_u16(&cbb, msg_hdr->seq)) in dtls1_write_message_header()
1172 dtls1_get_message_header(CBS *header, struct hm_header_st *msg_hdr) in dtls1_get_message_header() argument
1178 memset(msg_hdr, 0, sizeof(*msg_hdr)); in dtls1_get_message_header()
1191 msg_hdr->type = type; in dtls1_get_message_header()
1192 msg_hdr->msg_len = msg_len; in dtls1_get_message_header()
1193 msg_hdr->seq = seq; in dtls1_get_message_header()
1194 msg_hdr->frag_off = frag_off; in dtls1_get_message_header()
1195 msg_hdr->frag_len = frag_len; in dtls1_get_message_header()