summaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/krb5/asn.1/ldap_key_seq.c23
1 files changed, 16 insertions, 7 deletions
diff --git a/src/lib/krb5/asn.1/ldap_key_seq.c b/src/lib/krb5/asn.1/ldap_key_seq.c
index 7f0355d9f..1d48f9b57 100644
--- a/src/lib/krb5/asn.1/ldap_key_seq.c
+++ b/src/lib/krb5/asn.1/ldap_key_seq.c
@@ -133,11 +133,11 @@ last:
/* Major version and minor version are both '1' - first version */
/* asn1_error_code asn1_encode_sequence_of_keys (krb5_key_data *key_data, */
krb5_error_code
-asn1_encode_sequence_of_keys (krb5_key_data *key_data,
- krb5_int16 n_key_data,
- krb5_int32 mkvno, /* Master key version number */
- krb5_data **code)
+asn1_encode_sequence_of_keys (ldap_seqof_key_data *val, krb5_data **code)
{
+ krb5_key_data *key_data = val->key_data;
+ krb5_int16 n_key_data = val->n_key_data;
+ krb5_int32 mkvno = val->mkvno;
asn1_error_code ret = 0;
asn1buf *buf = NULL;
unsigned int length, sum = 0;
@@ -392,10 +392,13 @@ last:
/* asn1_error_code asn1_decode_sequence_of_keys (krb5_data *in, */
krb5_error_code asn1_decode_sequence_of_keys (krb5_data *in,
- krb5_key_data **out,
- krb5_int16 *n_key_data,
- int *mkvno)
+ ldap_seqof_key_data **rep)
{
+ ldap_seqof_key_data *repval;
+ krb5_key_data **out;
+ krb5_int16 *n_key_data;
+ int *mkvno;
+
asn1_error_code ret;
asn1buf buf, subbuf;
int seqindef;
@@ -404,6 +407,12 @@ krb5_error_code asn1_decode_sequence_of_keys (krb5_data *in,
int kvno, maj, min;
long lval;
+ repval = calloc(1,sizeof(ldap_seqof_key_data));
+ *rep = repval;
+ out = &repval->key_data;
+ n_key_data = &repval->n_key_data;
+ mkvno = &repval->mkvno;
+
*n_key_data = 0;
*out = NULL;