From e447ad1c1e1a8b184692a05f5e658bec02ca7ae1 Mon Sep 17 00:00:00 2001 From: Johan Danielsson Date: Wed, 23 Jul 1997 02:02:26 +0000 Subject: [PATCH] Pass address of krbtgt to extract_ticket. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2511 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/krb5/get_cred.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/krb5/get_cred.c b/lib/krb5/get_cred.c index 206c16b56..5653b4f03 100644 --- a/lib/krb5/get_cred.c +++ b/lib/krb5/get_cred.c @@ -92,6 +92,7 @@ krb5_get_kdc_cred(krb5_context context, krb5_kdc_rep rep; KRB_ERROR error; krb5_error_code ret; + krb5_creds *krbtgt; unsigned char buf[1024]; size_t len; @@ -140,14 +141,14 @@ krb5_get_kdc_cred(krb5_context context, 0, /* CACHE_ONLY */ id, &tmp_cred, - out_creds); + &krbtgt); krb5_free_principal(context, tmp_cred.server); if(ret) return ret; } ret = make_pa_tgs_req(context, id, &req.req_body, - req.padata->val, *out_creds); + req.padata->val, krbtgt); if(ret) goto out; @@ -165,10 +166,13 @@ krb5_get_kdc_cred(krb5_context context, memset(&rep, 0, sizeof(rep)); if(decode_TGS_REP(resp.data, resp.length, &rep.part1, &len) == 0){ ret = extract_ticket(context, &rep, *out_creds, - &(*out_creds)->session, + &krbtgt->session, NULL, + &krbtgt->addresses, NULL, NULL); + krb5_free_creds(context, krbtgt); + free(krbtgt); if(ret == 0 && rep.part2.nonce != req.req_body.nonce) ret = KRB5KRB_AP_ERR_MODIFIED; krb5_free_kdc_rep(context, &rep);