#include "k5-int.h"
#include "asn1_k_encode.h"
#include "asn1_encode.h"
#include "krbasn1.h"
#include "asn1buf.h"
#include "asn1_make.h"
#ifndef DISABLE_PKINIT
#define krb5_setup()\
asn1_error_code retval;\
unsigned int length, sum = 0;\
asn1buf *buf=NULL;\
\
if (rep == NULL) return ASN1_MISSING_FIELD;\
\
retval = asn1buf_create(&buf);\
if (retval) return retval
#define krb5_cleanup()\
retval = asn12krb5_buf(buf,code);\
if (retval) {\
asn1buf_destroy(&buf);\
return retval; }\
retval = asn1buf_destroy(&buf);\
if (retval) {\
return retval; }\
\
return 0
krb5_error_code encode_krb5_pa_pk_as_req(const krb5_pa_pk_as_req *rep, krb5_data **code)
{
krb5_setup();
retval = asn1_encode_pa_pk_as_req(buf,rep,&length);
if (retval) return retval;
sum += length;
krb5_cleanup();
}
krb5_error_code encode_krb5_pa_pk_as_req_draft9(const krb5_pa_pk_as_req_draft9 *rep, krb5_data **code)
{
krb5_setup();
retval = asn1_encode_pa_pk_as_req_draft9(buf,rep,&length);
if (retval) return retval;
sum += length;
krb5_cleanup();
}
krb5_error_code encode_krb5_pa_pk_as_rep(const krb5_pa_pk_as_rep *rep, krb5_data **code)
{
krb5_setup();
retval = asn1_encode_pa_pk_as_rep(buf,rep,&length);
if (retval) return retval;
sum += length;
krb5_cleanup();
}
krb5_error_code encode_krb5_pa_pk_as_rep_draft9(const krb5_pa_pk_as_rep_draft9 *rep, krb5_data **code)
{
krb5_setup();
retval = asn1_encode_pa_pk_as_rep_draft9(buf,rep,&length);
if (retval) return retval;
sum += length;
krb5_cleanup();
}
krb5_error_code encode_krb5_auth_pack(const krb5_auth_pack *rep, krb5_data **code)
{
krb5_setup();
retval = asn1_encode_auth_pack(buf,rep,&length);
if (retval) return retval;
sum += length;
krb5_cleanup();
}
krb5_error_code encode_krb5_auth_pack_draft9(const krb5_auth_pack_draft9 *rep, krb5_data **code)
{
krb5_setup();
retval = asn1_encode_auth_pack_draft9(buf,rep,&length);
if (retval) return retval;
sum += length;
krb5_cleanup();
}
krb5_error_code encode_krb5_kdc_dh_key_info(const krb5_kdc_dh_key_info *rep, krb5_data **code)
{
krb5_setup();
retval = asn1_encode_kdc_dh_key_info(buf,rep,&length);
if (retval) return retval;
sum += length;
krb5_cleanup();
}
krb5_error_code encode_krb5_reply_key_pack(const krb5_reply_key_pack *rep, krb5_data **code)
{
krb5_setup();
retval = asn1_encode_reply_key_pack(buf,rep,&length);
if (retval) return retval;
sum += length;
krb5_cleanup();
}
krb5_error_code encode_krb5_reply_key_pack_draft9(const krb5_reply_key_pack_draft9 *rep, krb5_data **code)
{
krb5_setup();
retval = asn1_encode_reply_key_pack_draft9(buf,rep,&length);
if (retval) return retval;
sum += length;
krb5_cleanup();
}
krb5_error_code encode_krb5_td_trusted_certifiers(const krb5_external_principal_identifier **rep, krb5_data **code)
{
krb5_setup();
retval = asn1_encode_td_trusted_certifiers(buf,rep,&length);
if (retval) return retval;
sum += length;
krb5_cleanup();
}
krb5_error_code encode_krb5_typed_data(const krb5_typed_data **rep, krb5_data **code)
{
krb5_setup();
retval = asn1_encode_sequence_of_typed_data(buf,rep,&length);
if (retval) return retval;
sum += length;
krb5_cleanup();
}
krb5_error_code encode_krb5_td_dh_parameters(const krb5_algorithm_identifier **rep, krb5_data **code)
{
krb5_setup();
retval = asn1_encode_sequence_of_algorithm_identifier(buf,rep,&length);
if (retval) return retval;
sum += length;
krb5_cleanup();
}
#endif