From 8a85f87b89d8b3583877adcfeb782e01d16723e1 Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Sun, 7 Sep 1997 20:29:19 +0000 Subject: [PATCH] (set_salt_padata): new function git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@3407 ec53bebd-3082-4978-b11e-865c3cabbd6b --- kdc/kerberos5.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/kdc/kerberos5.c b/kdc/kerberos5.c index b3836b345..99aa1beb3 100644 --- a/kdc/kerberos5.c +++ b/kdc/kerberos5.c @@ -52,6 +52,19 @@ fix_time(time_t **t) if(**t == 0) **t = MAX_TIME; /* fix for old clients */ } +static void +set_salt_padata (METHOD_DATA **m, Salt *salt) +{ + if (salt) { + ALLOC(*m); + (*m)->len = 1; + ALLOC((*m)->val); + (*m)->val->padata_type = salt->type; + copy_octet_string(&salt->salt, + &(*m)->val->padata_value); + } +} + krb5_error_code as_rep(KDC_REQ *req, krb5_data *reply, @@ -517,14 +530,7 @@ as_rep(KDC_REQ *req, &ekey->key, &rep.enc_part); hdb_free_key(ekey); - if(ckey->salt){ - ALLOC(rep.padata); - rep.padata->len = 1; - rep.padata->val = calloc(1, sizeof(*rep.padata->val)); - rep.padata->val->padata_type = ckey->salt->type; - copy_octet_string(&ckey->salt->salt, - &rep.padata->val->padata_value); - } + set_salt_padata (&rep.padata, ckey->salt); ret = encode_AS_REP(buf + sizeof(buf) - 1, sizeof(buf), &rep, &len); free_AS_REP(&rep);