Home | History | Annotate | Download | only in tls

Lines Matching defs:hdr

23 int asn1_get_next(const u8 *buf, size_t len, struct asn1_hdr *hdr)
28 os_memset(hdr, 0, sizeof(*hdr));
32 hdr->identifier = *pos++;
33 hdr->class = hdr->identifier >> 6;
34 hdr->constructed = !!(hdr->identifier & (1 << 5));
36 if ((hdr->identifier & 0x1f) == 0x1f) {
37 hdr->tag = 0;
47 hdr->tag = (hdr->tag << 7) | (tmp & 0x7f);
50 hdr->tag = hdr->identifier & 0x1f;
60 hdr->length = 0;
71 hdr->length = (hdr->length << 8) | *pos++;
75 hdr->length = tmp;
78 if (end < pos || hdr->length > (unsigned int) (end - pos)) {
83 hdr->payload = pos;
91 struct asn1_hdr hdr;
98 if (asn1_get_next(buf, len, &hdr) < 0 || hdr.length == 0)
101 if (hdr.class != ASN1_CLASS_UNIVERSAL || hdr.tag != ASN1_TAG_OID) {
103 "tag 0x%x", hdr.class, hdr.tag);
107 pos = hdr.payload;
108 end = hdr.payload + hdr.length;