Lines Matching refs:pos

186 	const u8 *pos, *end;  in x509_parse_algorithm_identifier()  local
202 pos = hdr.payload; in x509_parse_algorithm_identifier()
203 end = pos + hdr.length; in x509_parse_algorithm_identifier()
207 if (asn1_get_oid(pos, end - pos, &id->oid, &pos)) in x509_parse_algorithm_identifier()
221 const u8 *pos, *end; in x509_parse_public_key() local
230 pos = buf; in x509_parse_public_key()
233 if (asn1_get_next(pos, end - pos, &hdr) < 0 || in x509_parse_public_key()
239 pos = hdr.payload; in x509_parse_public_key()
241 if (hdr.length > end - pos) in x509_parse_public_key()
243 end = pos + hdr.length; in x509_parse_public_key()
246 if (x509_parse_algorithm_identifier(pos, end - pos, in x509_parse_public_key()
247 &cert->public_key_alg, &pos)) in x509_parse_public_key()
250 if (asn1_get_next(pos, end - pos, &hdr) < 0 || in x509_parse_public_key()
258 pos = hdr.payload; in x509_parse_public_key()
259 if (*pos) { in x509_parse_public_key()
262 *pos); in x509_parse_public_key()
271 cert->public_key = os_memdup(pos + 1, hdr.length - 1); in x509_parse_public_key()
289 const u8 *pos, *end, *set_pos, *set_end, *seq_pos, *seq_end; in x509_parse_name() local
310 pos = hdr.payload; in x509_parse_name()
312 if (hdr.length > buf + len - pos) in x509_parse_name()
315 end = *next = pos + hdr.length; in x509_parse_name()
317 while (pos < end) { in x509_parse_name()
320 if (asn1_get_next(pos, end - pos, &hdr) < 0 || in x509_parse_name()
329 pos = set_end = hdr.payload + hdr.length; in x509_parse_name()
494 char *pos, *end; in x509_name_string() local
501 pos = buf; in x509_name_string()
505 ret = os_snprintf(pos, end - pos, "%s=%s, ", in x509_name_string()
508 if (os_snprintf_error(end - pos, ret)) in x509_name_string()
510 pos += ret; in x509_name_string()
513 if (pos > buf + 1 && pos[-1] == ' ' && pos[-2] == ',') { in x509_name_string()
514 pos--; in x509_name_string()
515 *pos = '\0'; in x509_name_string()
516 pos--; in x509_name_string()
517 *pos = '\0'; in x509_name_string()
521 ret = os_snprintf(pos, end - pos, "/emailAddress=%s", in x509_name_string()
523 if (os_snprintf_error(end - pos, ret)) in x509_name_string()
525 pos += ret; in x509_name_string()
529 if (pos < end) in x509_name_string()
530 *pos = '\0'; in x509_name_string()
535 static int parse_uint2(const char *pos, size_t len) in parse_uint2() argument
542 buf[0] = pos[0]; in parse_uint2()
543 buf[1] = pos[1]; in parse_uint2()
551 static int parse_uint4(const char *pos, size_t len) in parse_uint4() argument
558 buf[0] = pos[0]; in parse_uint4()
559 buf[1] = pos[1]; in parse_uint4()
560 buf[2] = pos[2]; in parse_uint4()
561 buf[3] = pos[3]; in parse_uint4()
571 const char *pos, *end; in x509_parse_time() local
584 pos = (const char *) buf; in x509_parse_time()
585 end = pos + len; in x509_parse_time()
594 year = parse_uint2(pos, end - pos); in x509_parse_time()
604 pos += 2; in x509_parse_time()
612 year = parse_uint4(pos, end - pos); in x509_parse_time()
618 pos += 4; in x509_parse_time()
626 month = parse_uint2(pos, end - pos); in x509_parse_time()
632 pos += 2; in x509_parse_time()
634 day = parse_uint2(pos, end - pos); in x509_parse_time()
640 pos += 2; in x509_parse_time()
642 hour = parse_uint2(pos, end - pos); in x509_parse_time()
648 pos += 2; in x509_parse_time()
650 min = parse_uint2(pos, end - pos); in x509_parse_time()
656 pos += 2; in x509_parse_time()
658 sec = parse_uint2(pos, end - pos); in x509_parse_time()
690 const u8 *pos; in x509_parse_validity() local
709 pos = hdr.payload; in x509_parse_validity()
712 if (plen > (size_t) (buf + len - pos)) in x509_parse_validity()
715 *next = pos + plen; in x509_parse_validity()
717 if (asn1_get_next(pos, plen, &hdr) < 0 || in x509_parse_validity()
726 pos = hdr.payload + hdr.length; in x509_parse_validity()
727 plen = *next - pos; in x509_parse_validity()
729 if (asn1_get_next(pos, plen, &hdr) < 0 || in x509_parse_validity()
766 const u8 *pos, size_t len) in x509_parse_ext_key_usage() argument
783 if (asn1_get_next(pos, len, &hdr) < 0 || !asn1_is_bitstring(&hdr) || in x509_parse_ext_key_usage()
799 const u8 *pos, size_t len) in x509_parse_ext_basic_constraints() argument
812 if (asn1_get_next(pos, len, &hdr) < 0 || !asn1_is_sequence(&hdr)) { in x509_parse_ext_basic_constraints()
833 pos = hdr.payload + hdr.length; in x509_parse_ext_basic_constraints()
834 if (pos >= end_seq) { in x509_parse_ext_basic_constraints()
840 if (asn1_get_next(pos, end_seq - pos, &hdr) < 0) { in x509_parse_ext_basic_constraints()
853 pos = hdr.payload; in x509_parse_ext_basic_constraints()
858 value |= *pos++; in x509_parse_ext_basic_constraints()
874 const u8 *pos, size_t len) in x509_parse_alt_name_rfc8222() argument
877 wpa_hexdump_ascii(MSG_MSGDUMP, "X509: altName - rfc822Name", pos, len); in x509_parse_alt_name_rfc8222()
882 os_memcpy(name->alt_email, pos, len); in x509_parse_alt_name_rfc8222()
896 const u8 *pos, size_t len) in x509_parse_alt_name_dns() argument
899 wpa_hexdump_ascii(MSG_MSGDUMP, "X509: altName - dNSName", pos, len); in x509_parse_alt_name_dns()
904 os_memcpy(name->dns, pos, len); in x509_parse_alt_name_dns()
918 const u8 *pos, size_t len) in x509_parse_alt_name_uri() argument
923 pos, len); in x509_parse_alt_name_uri()
928 os_memcpy(name->uri, pos, len); in x509_parse_alt_name_uri()
942 const u8 *pos, size_t len) in x509_parse_alt_name_ip() argument
945 wpa_hexdump(MSG_MSGDUMP, "X509: altName - iPAddress", pos, len); in x509_parse_alt_name_ip()
947 name->ip = os_memdup(pos, len); in x509_parse_alt_name_ip()
956 const u8 *pos, size_t len) in x509_parse_alt_name_rid() argument
961 if (asn1_parse_oid(pos, len, &name->rid) < 0) in x509_parse_alt_name_rid()
972 const u8 *pos, size_t len) in x509_parse_ext_alt_name() argument
1000 for (p = pos, end = pos + len; p < end; p = hdr.payload + hdr.length) { in x509_parse_ext_alt_name()
1050 const u8 *pos, size_t len) in x509_parse_ext_subject_alt_name() argument
1056 if (asn1_get_next(pos, len, &hdr) < 0 || !asn1_is_sequence(&hdr)) { in x509_parse_ext_subject_alt_name()
1074 const u8 *pos, size_t len) in x509_parse_ext_issuer_alt_name() argument
1080 if (asn1_get_next(pos, len, &hdr) < 0 || !asn1_is_sequence(&hdr)) { in x509_parse_ext_issuer_alt_name()
1147 const u8 *pos, size_t len) in x509_parse_ext_certificate_policies() argument
1163 if (asn1_get_next(pos, len, &hdr) < 0 || !asn1_is_sequence(&hdr)) { in x509_parse_ext_certificate_policies()
1168 if (hdr.length > pos + len - hdr.payload) in x509_parse_ext_certificate_policies()
1170 pos = hdr.payload; in x509_parse_ext_certificate_policies()
1171 end = pos + hdr.length; in x509_parse_ext_certificate_policies()
1173 wpa_hexdump(MSG_MSGDUMP, "X509: certificatePolicies", pos, end - pos); in x509_parse_ext_certificate_policies()
1175 while (pos < end) { in x509_parse_ext_certificate_policies()
1180 if (asn1_get_next(pos, end - pos, &hdr) < 0 || in x509_parse_ext_certificate_policies()
1188 pos = hdr.payload; in x509_parse_ext_certificate_policies()
1189 pol_end = pos + hdr.length; in x509_parse_ext_certificate_policies()
1191 pos, pol_end - pos); in x509_parse_ext_certificate_policies()
1193 if (asn1_get_oid(pos, pol_end - pos, &oid, &pos)) in x509_parse_ext_certificate_policies()
1212 pos = pol_end; in x509_parse_ext_certificate_policies()
1271 const u8 *pos, size_t len) in x509_parse_ext_ext_key_usage() argument
1283 if (asn1_get_next(pos, len, &hdr) < 0 || !asn1_is_sequence(&hdr)) { in x509_parse_ext_ext_key_usage()
1288 if (hdr.length > pos + len - hdr.payload) in x509_parse_ext_ext_key_usage()
1290 pos = hdr.payload; in x509_parse_ext_ext_key_usage()
1291 end = pos + hdr.length; in x509_parse_ext_ext_key_usage()
1293 wpa_hexdump(MSG_MSGDUMP, "X509: ExtKeyUsageSyntax", pos, end - pos); in x509_parse_ext_ext_key_usage()
1295 while (pos < end) { in x509_parse_ext_ext_key_usage()
1298 if (asn1_get_oid(pos, end - pos, &oid, &pos)) in x509_parse_ext_ext_key_usage()
1326 const u8 *pos, size_t len) in x509_parse_extension_data() argument
1338 return x509_parse_ext_key_usage(cert, pos, len); in x509_parse_extension_data()
1340 return x509_parse_ext_subject_alt_name(cert, pos, len); in x509_parse_extension_data()
1342 return x509_parse_ext_issuer_alt_name(cert, pos, len); in x509_parse_extension_data()
1344 return x509_parse_ext_basic_constraints(cert, pos, len); in x509_parse_extension_data()
1346 return x509_parse_ext_certificate_policies(cert, pos, len); in x509_parse_extension_data()
1348 return x509_parse_ext_ext_key_usage(cert, pos, len); in x509_parse_extension_data()
1356 const u8 *pos, size_t len, const u8 **next) in x509_parse_extension() argument
1372 if (asn1_get_next(pos, len, &hdr) < 0 || !asn1_is_sequence(&hdr)) { in x509_parse_extension()
1376 pos = hdr.payload; in x509_parse_extension()
1377 *next = end = pos + hdr.length; in x509_parse_extension()
1379 if (asn1_get_oid(pos, end - pos, &oid, &pos) < 0) { in x509_parse_extension()
1385 if (asn1_get_next(pos, end - pos, &hdr) < 0 || in x509_parse_extension()
1394 pos = hdr.payload; in x509_parse_extension()
1401 if (asn1_get_next(pos, end - pos, &hdr) < 0 || in x509_parse_extension()
1430 const u8 *pos, size_t len) in x509_parse_extensions() argument
1437 if (asn1_get_next(pos, len, &hdr) < 0 || !asn1_is_sequence(&hdr)) { in x509_parse_extensions()
1442 pos = hdr.payload; in x509_parse_extensions()
1443 end = pos + hdr.length; in x509_parse_extensions()
1445 while (pos < end) { in x509_parse_extensions()
1446 if (x509_parse_extension(cert, pos, end - pos, &pos) in x509_parse_extensions()
1460 const u8 *pos, *end; in x509_parse_tbs_certificate() local
1472 pos = hdr.payload; in x509_parse_tbs_certificate()
1473 end = *next = pos + hdr.length; in x509_parse_tbs_certificate()
1479 if (asn1_get_next(pos, end - pos, &hdr) < 0) in x509_parse_tbs_certificate()
1481 pos = hdr.payload; in x509_parse_tbs_certificate()
1484 if (asn1_get_next(pos, end - pos, &hdr) < 0 || in x509_parse_tbs_certificate()
1495 pos = hdr.payload; in x509_parse_tbs_certificate()
1500 value |= *pos++; in x509_parse_tbs_certificate()
1513 if (asn1_get_next(pos, end - pos, &hdr) < 0) in x509_parse_tbs_certificate()
1527 pos = hdr.payload + hdr.length; in x509_parse_tbs_certificate()
1538 if (x509_parse_algorithm_identifier(pos, end - pos, &cert->signature, in x509_parse_tbs_certificate()
1539 &pos)) in x509_parse_tbs_certificate()
1543 if (x509_parse_name(pos, end - pos, &cert->issuer, &pos)) in x509_parse_tbs_certificate()
1549 if (x509_parse_validity(pos, end - pos, cert, &pos)) in x509_parse_tbs_certificate()
1553 subject_dn = pos; in x509_parse_tbs_certificate()
1554 if (x509_parse_name(pos, end - pos, &cert->subject, &pos)) in x509_parse_tbs_certificate()
1556 cert->subject_dn = os_malloc(pos - subject_dn); in x509_parse_tbs_certificate()
1559 cert->subject_dn_len = pos - subject_dn; in x509_parse_tbs_certificate()
1565 if (x509_parse_public_key(pos, end - pos, cert, &pos)) in x509_parse_tbs_certificate()
1568 if (pos == end) in x509_parse_tbs_certificate()
1574 if (asn1_get_next(pos, end - pos, &hdr) < 0 || in x509_parse_tbs_certificate()
1586 pos = hdr.payload + hdr.length; in x509_parse_tbs_certificate()
1587 if (pos == end) in x509_parse_tbs_certificate()
1590 if (asn1_get_next(pos, end - pos, &hdr) < 0 || in x509_parse_tbs_certificate()
1603 pos = hdr.payload + hdr.length; in x509_parse_tbs_certificate()
1604 if (pos == end) in x509_parse_tbs_certificate()
1607 if (asn1_get_next(pos, end - pos, &hdr) < 0 || in x509_parse_tbs_certificate()
1634 pos = hdr.payload + hdr.length; in x509_parse_tbs_certificate()
1635 if (pos < end) { in x509_parse_tbs_certificate()
1638 pos, end - pos); in x509_parse_tbs_certificate()
1730 const u8 *pos, *end, *hash_start; in x509_certificate_parse() local
1740 pos = buf; in x509_certificate_parse()
1746 if (asn1_get_next(pos, len, &hdr) < 0 || !asn1_is_sequence(&hdr)) { in x509_certificate_parse()
1752 pos = hdr.payload; in x509_certificate_parse()
1754 if (hdr.length > end - pos) { in x509_certificate_parse()
1759 if (hdr.length < end - pos) { in x509_certificate_parse()
1762 pos + hdr.length, end - (pos + hdr.length)); in x509_certificate_parse()
1763 end = pos + hdr.length; in x509_certificate_parse()
1766 hash_start = pos; in x509_certificate_parse()
1768 if (x509_parse_tbs_certificate(pos, end - pos, cert, &pos)) { in x509_certificate_parse()
1772 cert->tbs_cert_len = pos - hash_start; in x509_certificate_parse()
1775 if (x509_parse_algorithm_identifier(pos, end - pos, in x509_certificate_parse()
1776 &cert->signature_alg, &pos)) { in x509_certificate_parse()
1782 if (asn1_get_next(pos, end - pos, &hdr) < 0 || in x509_certificate_parse()
1793 pos = hdr.payload; in x509_certificate_parse()
1794 if (*pos) { in x509_certificate_parse()
1797 *pos); in x509_certificate_parse()
1806 cert->sign_value = os_memdup(pos + 1, hdr.length - 1); in x509_certificate_parse()
1844 const u8 *pos, *end, *next, *da_end; in x509_check_signature() local
1906 pos = hdr.payload; in x509_check_signature()
1907 end = pos + hdr.length; in x509_check_signature()
1917 if (asn1_get_next(pos, end - pos, &hdr) < 0 || in x509_check_signature()
2027 pos = da_end; in x509_check_signature()
2029 if (asn1_get_next(pos, end - pos, &hdr) < 0 || in x509_check_signature()