Home | History | Annotate | Download | only in tls

Lines Matching refs:hdr

14 int asn1_get_next(const u8 *buf, size_t len, struct asn1_hdr *hdr)
19 os_memset(hdr, 0, sizeof(*hdr));
23 hdr->identifier = *pos++;
24 hdr->class = hdr->identifier >> 6;
25 hdr->constructed = !!(hdr->identifier & (1 << 5));
27 if ((hdr->identifier & 0x1f) == 0x1f) {
28 hdr->tag = 0;
38 hdr->tag = (hdr->tag << 7) | (tmp & 0x7f);
41 hdr->tag = hdr->identifier & 0x1f;
51 hdr->length = 0;
62 hdr->length = (hdr->length << 8) | *pos++;
66 hdr->length = tmp;
69 if (end < pos || hdr->length > (unsigned int) (end - pos)) {
74 hdr->payload = pos;
126 struct asn1_hdr hdr;
128 if (asn1_get_next(buf, len, &hdr) < 0 || hdr.length == 0)
131 if (hdr.class != ASN1_CLASS_UNIVERSAL || hdr.tag != ASN1_TAG_OID) {
133 "tag 0x%x", hdr.class, hdr.tag);
137 *next = hdr.payload + hdr.length;
139 return asn1_parse_oid(hdr.payload, hdr.length, oid);