virtual void begin_object()
    {
        begin_structure();

        if (indenting_ && !stack_.empty() && stack_.back().is_object())
        {
            write_indent();
        }
        stack_.push_back(stack_item(true));
        os_.put('{');
        indent();
    }
示例#2
0
    void do_begin_object() override
    {
        begin_structure();

        if (indenting_ && !stack_.empty() && stack_.back().is_object())
        {
            write_indent();
        }
        stack_.push_back(stack_item(true));
        os_->put('{');
        indent();
    }
示例#3
0
    void do_begin_array() override
    {
        begin_structure();

        if (indenting_ && !stack_.empty() && stack_.back().is_object())
        {
            write_indent();
        }
        stack_.push_back(stack_item(false));
        bos_.put('[');
        indent();
    }
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;
}