part1 -> kdc_rep, part2 -> enc_part

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@4335 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Johan Danielsson
1998-01-21 02:13:17 +00:00
parent eee1bbe567
commit 2298d9a00c
4 changed files with 50 additions and 50 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1997 Kungliga Tekniska H<>gskolan
* Copyright (c) 1997, 1998 Kungliga Tekniska H<>gskolan
* (Royal Institute of Technology, Stockholm, Sweden).
* All rights reserved.
*
@@ -43,7 +43,7 @@ RCSID("$Id$");
krb5_error_code
krb5_free_kdc_rep(krb5_context context, krb5_kdc_rep *rep)
{
free_KDC_REP(&rep->part1);
free_EncTGSRepPart(&rep->part2);
free_KDC_REP(&rep->kdc_rep);
free_EncTGSRepPart(&rep->enc_part);
return 0;
}

View File

@@ -259,20 +259,20 @@ decrypt_tkt_with_subkey (krb5_context context,
size_t size;
krb5_data save;
ret = krb5_data_copy(&save, dec_rep->part1.enc_part.cipher.data,
dec_rep->part1.enc_part.cipher.length);
ret = krb5_data_copy(&save, dec_rep->kdc_rep.enc_part.cipher.data,
dec_rep->kdc_rep.enc_part.cipher.length);
if(ret)
return ret;
ret = krb5_decrypt (context,
dec_rep->part1.enc_part.cipher.data,
dec_rep->part1.enc_part.cipher.length,
dec_rep->part1.enc_part.etype,
dec_rep->kdc_rep.enc_part.cipher.data,
dec_rep->kdc_rep.enc_part.cipher.length,
dec_rep->kdc_rep.enc_part.etype,
key,
&data);
if(ret && subkey){
ret = krb5_decrypt (context, save.data, save.length,
dec_rep->part1.enc_part.etype,
dec_rep->kdc_rep.enc_part.etype,
(krb5_keyblock*)subkey, /* local subkey */
&data);
}
@@ -282,12 +282,12 @@ decrypt_tkt_with_subkey (krb5_context context,
ret = decode_EncASRepPart(data.data,
data.length,
&dec_rep->part2,
&dec_rep->enc_part,
&size);
if (ret)
ret = decode_EncTGSRepPart(data.data,
data.length,
&dec_rep->part2,
&dec_rep->enc_part,
&size);
krb5_data_free (&data);
if (ret) return ret;
@@ -361,7 +361,7 @@ get_cred_kdc(krb5_context context,
goto out;
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.kdc_rep, &len) == 0){
ret = krb5_copy_principal(context,
in_creds->client,
&(*out_creds)->client);

View File

@@ -89,9 +89,9 @@ decrypt_tkt (krb5_context context,
size_t size;
ret = krb5_decrypt (context,
dec_rep->part1.enc_part.cipher.data,
dec_rep->part1.enc_part.cipher.length,
dec_rep->part1.enc_part.etype,
dec_rep->kdc_rep.enc_part.cipher.data,
dec_rep->kdc_rep.enc_part.cipher.length,
dec_rep->kdc_rep.enc_part.etype,
key,
&data);
if (ret)
@@ -99,12 +99,12 @@ decrypt_tkt (krb5_context context,
ret = decode_EncASRepPart(data.data,
data.length,
&dec_rep->part2,
&dec_rep->enc_part,
&size);
if (ret)
ret = decode_EncTGSRepPart(data.data,
data.length,
&dec_rep->part2,
&dec_rep->enc_part,
&size);
krb5_data_free (&data);
if (ret) return ret;
@@ -132,8 +132,8 @@ _krb5_extract_ticket(krb5_context context,
/* compare client */
err = principalname2krb5_principal (&tmp_principal,
rep->part1.cname,
rep->part1.crealm);
rep->kdc_rep.cname,
rep->kdc_rep.crealm);
if (err)
goto out;
tmp = krb5_principal_compare (context, tmp_principal, creds->client);
@@ -148,7 +148,7 @@ _krb5_extract_ticket(krb5_context context,
unsigned char buf[1024];
size_t len;
encode_Ticket(buf + sizeof(buf) - 1, sizeof(buf),
&rep->part1.ticket, &len);
&rep->kdc_rep.ticket, &len);
creds->ticket.data = malloc(len);
memcpy(creds->ticket.data, buf + sizeof(buf) - len, len);
creds->ticket.length = len;
@@ -159,8 +159,8 @@ _krb5_extract_ticket(krb5_context context,
/* compare server */
err = principalname2krb5_principal (&tmp_principal,
rep->part1.ticket.sname,
rep->part1.ticket.realm);
rep->kdc_rep.ticket.sname,
rep->kdc_rep.ticket.realm);
if (err)
goto out;
if(allow_server_mismatch){
@@ -187,7 +187,7 @@ _krb5_extract_ticket(krb5_context context,
/* compare nonces */
if (nonce != rep->part2.nonce) {
if (nonce != rep->enc_part.nonce) {
err = KRB5KRB_AP_ERR_MODIFIED;
goto out;
}
@@ -200,16 +200,16 @@ _krb5_extract_ticket(krb5_context context,
"libdefaults",
"kdc_timesync",
NULL)) {
context->kdc_sec_offset = rep->part2.authtime - sec_now;
context->kdc_sec_offset = rep->enc_part.authtime - sec_now;
krb5_timeofday (context, &sec_now);
}
/* check all times */
if (rep->part2.starttime) {
tmp_time = *rep->part2.starttime;
if (rep->enc_part.starttime) {
tmp_time = *rep->enc_part.starttime;
} else
tmp_time = rep->part2.authtime;
tmp_time = rep->enc_part.authtime;
if (creds->times.starttime == 0
&& abs(tmp_time - sec_now) > context->max_skew) {
@@ -225,8 +225,8 @@ _krb5_extract_ticket(krb5_context context,
creds->times.starttime = tmp_time;
if (rep->part2.renew_till) {
tmp_time = *rep->part2.renew_till;
if (rep->enc_part.renew_till) {
tmp_time = *rep->enc_part.renew_till;
} else
tmp_time = 0;
@@ -238,38 +238,38 @@ _krb5_extract_ticket(krb5_context context,
creds->times.renew_till = tmp_time;
creds->times.authtime = rep->part2.authtime;
creds->times.authtime = rep->enc_part.authtime;
if (creds->times.endtime != 0
&& rep->part2.endtime > creds->times.endtime) {
&& rep->enc_part.endtime > creds->times.endtime) {
err = KRB5KRB_AP_ERR_MODIFIED;
goto out;
}
creds->times.endtime = rep->part2.endtime;
creds->times.endtime = rep->enc_part.endtime;
if(rep->part2.caddr)
krb5_copy_addresses (context, rep->part2.caddr, &creds->addresses);
if(rep->enc_part.caddr)
krb5_copy_addresses (context, rep->enc_part.caddr, &creds->addresses);
else if(addrs)
krb5_copy_addresses (context, addrs, &creds->addresses);
else {
creds->addresses.len = 0;
creds->addresses.val = NULL;
}
creds->flags.b = rep->part2.flags;
creds->flags.b = rep->enc_part.flags;
creds->authdata.len = 0;
creds->authdata.val = NULL;
creds->session.keyvalue.length = 0;
creds->session.keyvalue.data = NULL;
creds->session.keytype = rep->part2.key.keytype;
creds->session.keytype = rep->enc_part.key.keytype;
err = krb5_data_copy (&creds->session.keyvalue,
rep->part2.key.keyvalue.data,
rep->part2.key.keyvalue.length);
rep->enc_part.key.keyvalue.data,
rep->enc_part.key.keyvalue.length);
out:
memset (rep->part2.key.keyvalue.data, 0,
rep->part2.key.keyvalue.length);
memset (rep->enc_part.key.keyvalue.data, 0,
rep->enc_part.key.keyvalue.length);
return err;
}
@@ -539,7 +539,7 @@ krb5_get_in_cred(krb5_context context,
return ret;
memset (&rep, 0, sizeof(rep));
if((ret = decode_AS_REP(resp.data, resp.length, &rep.part1, &size))){
if((ret = decode_AS_REP(resp.data, resp.length, &rep.kdc_rep, &size))){
/* let's try to parse it as a KRB-ERROR */
KRB_ERROR error;
int ret2;
@@ -558,15 +558,15 @@ krb5_get_in_cred(krb5_context context,
krb5_data_free(&resp);
pa = NULL;
etype = rep.part1.enc_part.etype;
if(rep.part1.padata){
etype = rep.kdc_rep.enc_part.etype;
if(rep.kdc_rep.padata){
int index = 0;
pa = krb5_find_padata(rep.part1.padata->val, rep.part1.padata->len,
pa = krb5_find_padata(rep.kdc_rep.padata->val, rep.kdc_rep.padata->len,
pa_pw_salt, &index);
if(pa == NULL) {
index = 0;
pa = krb5_find_padata(rep.part1.padata->val,
rep.part1.padata->len,
pa = krb5_find_padata(rep.kdc_rep.padata->val,
rep.kdc_rep.padata->len,
pa_afs3_salt, &index);
}
}

View File

@@ -168,7 +168,7 @@ print_expire (krb5_context context,
krb5_data *data)
{
int i;
LastReq *lr = &rep->part2.last_req;
LastReq *lr = &rep->enc_part.last_req;
int32_t sec;
time_t t;
@@ -192,12 +192,12 @@ print_expire (krb5_context context,
}
}
if (rep->part2.key_expiration
&& *rep->part2.key_expiration <= t) {
if (rep->enc_part.key_expiration
&& *rep->enc_part.key_expiration <= t) {
char *p;
asprintf (&p, "Your password/account will expire at %s",
ctime(rep->part2.key_expiration));
ctime(rep->enc_part.key_expiration));
(*prompter) (context, data, p, 0, NULL);
free (p);
}