Pass address of krbtgt to extract_ticket.

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2511 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Johan Danielsson
1997-07-23 02:02:26 +00:00
parent 8e6cf38c80
commit e447ad1c1e

View File

@@ -92,6 +92,7 @@ krb5_get_kdc_cred(krb5_context context,
krb5_kdc_rep rep; krb5_kdc_rep rep;
KRB_ERROR error; KRB_ERROR error;
krb5_error_code ret; krb5_error_code ret;
krb5_creds *krbtgt;
unsigned char buf[1024]; unsigned char buf[1024];
size_t len; size_t len;
@@ -140,14 +141,14 @@ krb5_get_kdc_cred(krb5_context context,
0, /* CACHE_ONLY */ 0, /* CACHE_ONLY */
id, id,
&tmp_cred, &tmp_cred,
out_creds); &krbtgt);
krb5_free_principal(context, tmp_cred.server); krb5_free_principal(context, tmp_cred.server);
if(ret) if(ret)
return ret; return ret;
} }
ret = make_pa_tgs_req(context, id, &req.req_body, ret = make_pa_tgs_req(context, id, &req.req_body,
req.padata->val, *out_creds); req.padata->val, krbtgt);
if(ret) if(ret)
goto out; goto out;
@@ -165,10 +166,13 @@ krb5_get_kdc_cred(krb5_context context,
memset(&rep, 0, sizeof(rep)); memset(&rep, 0, sizeof(rep));
if(decode_TGS_REP(resp.data, resp.length, &rep.part1, &len) == 0){ if(decode_TGS_REP(resp.data, resp.length, &rep.part1, &len) == 0){
ret = extract_ticket(context, &rep, *out_creds, ret = extract_ticket(context, &rep, *out_creds,
&(*out_creds)->session, &krbtgt->session,
NULL, NULL,
&krbtgt->addresses,
NULL, NULL,
NULL); NULL);
krb5_free_creds(context, krbtgt);
free(krbtgt);
if(ret == 0 && rep.part2.nonce != req.req_body.nonce) if(ret == 0 && rep.part2.nonce != req.req_body.nonce)
ret = KRB5KRB_AP_ERR_MODIFIED; ret = KRB5KRB_AP_ERR_MODIFIED;
krb5_free_kdc_rep(context, &rep); krb5_free_kdc_rep(context, &rep);