summaryrefslogtreecommitdiffstats
path: root/src/plugins/kdb
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@mit.edu>2008-10-06 20:25:45 +0000
committerKen Raeburn <raeburn@mit.edu>2008-10-06 20:25:45 +0000
commita7735754e826b831e8249cfb31718699d164ceed (patch)
tree35e56827db4f44c3c55c72871bef75b2c2b70ed5 /src/plugins/kdb
parent3fa2e4f2a79729357db7b3d91229b8da4dd4ac4f (diff)
downloadkrb5-a7735754e826b831e8249cfb31718699d164ceed.tar.gz
krb5-a7735754e826b831e8249cfb31718699d164ceed.tar.xz
krb5-a7735754e826b831e8249cfb31718699d164ceed.zip
Change LDAP key-sequence encoder to use a single data structure
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20829 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/plugins/kdb')
-rw-r--r--src/plugins/kdb/ldap/libkdb_ldap/ldap_principal2.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/plugins/kdb/ldap/libkdb_ldap/ldap_principal2.c b/src/plugins/kdb/ldap/libkdb_ldap/ldap_principal2.c
index 6e7ba33f1..12f0dd360 100644
--- a/src/plugins/kdb/ldap/libkdb_ldap/ldap_principal2.c
+++ b/src/plugins/kdb/ldap/libkdb_ldap/ldap_principal2.c
@@ -325,6 +325,7 @@ asn1_encode_sequence_of_keys (krb5_key_data *key_data, krb5_int16 n_key_data,
krb5_int32 mkvno, krb5_data **code)
{
krb5_error_code err;
+ ldap_seqof_key_data val;
/*
* This should be pushed back into other library initialization
@@ -334,8 +335,11 @@ asn1_encode_sequence_of_keys (krb5_key_data *key_data, krb5_int16 n_key_data,
if (err)
return err;
- return accessor.asn1_ldap_encode_sequence_of_keys(key_data, n_key_data,
- mkvno, code);
+ val.key_data = key_data;
+ val.n_key_data = n_key_data;
+ val.mkvno = mkvno;
+
+ return accessor.asn1_ldap_encode_sequence_of_keys(&val, code);
}
static krb5_error_code
@@ -343,6 +347,7 @@ asn1_decode_sequence_of_keys (krb5_data *in, krb5_key_data **out,
krb5_int16 *n_key_data, int *mkvno)
{
krb5_error_code err;
+ ldap_seqof_key_data *p;
/*
* This should be pushed back into other library initialization
@@ -352,8 +357,14 @@ asn1_decode_sequence_of_keys (krb5_data *in, krb5_key_data **out,
if (err)
return err;
- return accessor.asn1_ldap_decode_sequence_of_keys(in, out, n_key_data,
- mkvno);
+ err = accessor.asn1_ldap_decode_sequence_of_keys(in, &p);
+ if (err)
+ return err;
+ *out = p->key_data;
+ *n_key_data = p->n_key_data;
+ *mkvno = p->mkvno;
+ free(p);
+ return 0;
}