krb5_error_code decode_krb5_pa_fx_fast_request(const krb5_data *code, krb5_fast_armored_req **repptr) { setup(krb5_fast_armored_req *); alloc_field(rep); clear_field(rep, armor); { int indef; unsigned int taglen; next_tag_from_buf(buf); if (tagnum != 0) clean_return(ASN1_BAD_ID); } {begin_structure(); opt_field(rep->armor, 0, asn1_decode_fast_armor_ptr); get_field(rep->req_checksum, 1, asn1_decode_checksum); get_field(rep->enc_part, 2, asn1_decode_encrypted_data); end_structure();} rep->magic = KV5M_FAST_ARMORED_REQ; cleanup(free); }
krb5_error_code decode_krb5_fast_req(const krb5_data *code, krb5_fast_req **repptr) { setup(krb5_fast_req *); alloc_field(rep); alloc_field(rep->req_body); clear_field(rep, req_body->padata); {begin_structure(); get_field(rep->fast_options, 0, asn1_decode_krb5_flags); opt_field(rep->req_body->padata, 1, asn1_decode_sequence_of_pa_data); get_field(*(rep->req_body), 2, asn1_decode_kdc_req_body); end_structure(); } rep->magic = KV5M_FAST_REQ; cleanup_manual(); error_out: if (rep) { if (rep->req_body) krb5_free_kdc_req(0, rep->req_body); free(rep); } return retval; }
void do_end_array(const basic_parsing_context<char_type>&) override { end_structure(); pop_array(); }
void do_end_object(const basic_parsing_context<char_type>&) override { end_structure(); pop_object(); }