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:
@@ -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);
|
||||||
|
Reference in New Issue
Block a user