Lines Matching refs:CBS
405 * explicitly tagged with |tag| from |cbs| and saves it in |*out|. On
410 static int SSL_SESSION_parse_string(CBS *cbs, char **out, unsigned tag) {
411 CBS value;
413 if (!CBS_get_optional_asn1_octet_string(cbs, &value, &present, tag)) {
434 * explicitly tagged with |tag| from |cbs| and stows it in |*out_ptr|
439 static int SSL_SESSION_parse_octet_string(CBS *cbs, uint8_t **out_ptr,
441 CBS value;
442 if (!CBS_get_optional_asn1_octet_string(cbs, &value, NULL, tag)) {
456 CBS *cbs, uint8_t *out, unsigned *out_len, unsigned max_out, unsigned tag) {
457 CBS value;
458 if (!CBS_get_optional_asn1_octet_string(cbs, &value, NULL, tag) ||
468 static int SSL_SESSION_parse_long(CBS *cbs, long *out, unsigned tag,
471 if (!CBS_get_optional_asn1_uint64(cbs, &value, tag,
481 static int SSL_SESSION_parse_u32(CBS *cbs, uint32_t *out, unsigned tag,
484 if (!CBS_get_optional_asn1_uint64(cbs, &value, tag,
494 static X509 *parse_x509(CBS *cbs) {
495 if (CBS_len(cbs) > LONG_MAX) {
499 const uint8_t *ptr = CBS_data(cbs);
500 X509 *ret = d2i_X509(NULL, &ptr, (long)CBS_len(cbs));
504 CBS_skip(cbs, ptr - CBS_data(cbs));
508 static SSL_SESSION *SSL_SESSION_parse(CBS *cbs) {
514 CBS session;
516 if (!CBS_get_asn1(cbs, &session, CBS_ASN1_SEQUENCE) ||
531 CBS cipher;
545 CBS session_id, master_key;
564 CBS peer;
600 CBS child, peer_sha256;
643 CBS cert_chain;
684 CBS cbs;
685 CBS_init(&cbs, in, in_len);
686 SSL_SESSION *ret = SSL_SESSION_parse(&cbs);
690 if (CBS_len(&cbs) != 0) {
704 CBS cbs;
705 CBS_init(&cbs, *pp, length);
707 SSL_SESSION *ret = SSL_SESSION_parse(&cbs);
716 *pp = CBS_data(&cbs);