make the kvno's in the krb4 universe by the real one % 256, since they
cannot only be 8 bit, and the v5 ones are actually 32 bits git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@10864 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 1997 - 2000 Kungliga Tekniska H<>gskolan
|
* Copyright (c) 1997 - 2002 Kungliga Tekniska H<>gskolan
|
||||||
* (Royal Institute of Technology, Stockholm, Sweden).
|
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -325,12 +325,12 @@ do_version4(unsigned char *buf,
|
|||||||
sname, sinst, skey->key.keyvalue.data);
|
sname, sinst, skey->key.keyvalue.data);
|
||||||
|
|
||||||
create_ciph(&cipher, session, sname, sinst, v4_realm,
|
create_ciph(&cipher, session, sname, sinst, v4_realm,
|
||||||
life, server->kvno, &ticket, kdc_time,
|
life, server->kvno % 256, &ticket, kdc_time,
|
||||||
ckey->key.keyvalue.data);
|
ckey->key.keyvalue.data);
|
||||||
memset(&session, 0, sizeof(session));
|
memset(&session, 0, sizeof(session));
|
||||||
r = create_auth_reply(name, inst, realm, req_time, 0,
|
r = create_auth_reply(name, inst, realm, req_time, 0,
|
||||||
client->pw_end ? *client->pw_end : 0,
|
client->pw_end ? *client->pw_end : 0,
|
||||||
client->kvno, &cipher);
|
client->kvno % 256, &cipher);
|
||||||
krb5_data_copy(reply, r->dat, r->length);
|
krb5_data_copy(reply, r->dat, r->length);
|
||||||
memset(&cipher, 0, sizeof(cipher));
|
memset(&cipher, 0, sizeof(cipher));
|
||||||
memset(&ticket, 0, sizeof(ticket));
|
memset(&ticket, 0, sizeof(ticket));
|
||||||
@@ -373,9 +373,9 @@ do_version4(unsigned char *buf,
|
|||||||
goto out2;
|
goto out2;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(tgt->kvno != kvno){
|
if(tgt->kvno % 256 != kvno){
|
||||||
kdc_log(0, "tgs-req with old kvno %d (current %d) for "
|
kdc_log(0, "tgs-req with old kvno %d (current %d) for "
|
||||||
"krbtgt.%s@%s", kvno, tgt->kvno, realm, v4_realm);
|
"krbtgt.%s@%s", kvno, tgt->kvno % 256, realm, v4_realm);
|
||||||
make_err_reply(reply, KDC_AUTH_EXP,
|
make_err_reply(reply, KDC_AUTH_EXP,
|
||||||
"old krbtgt kvno used");
|
"old krbtgt kvno used");
|
||||||
goto out2;
|
goto out2;
|
||||||
@@ -499,7 +499,7 @@ do_version4(unsigned char *buf,
|
|||||||
sname, sinst, skey->key.keyvalue.data);
|
sname, sinst, skey->key.keyvalue.data);
|
||||||
|
|
||||||
create_ciph(&cipher, session, sname, sinst, v4_realm,
|
create_ciph(&cipher, session, sname, sinst, v4_realm,
|
||||||
life, server->kvno, &ticket,
|
life, server->kvno % 256, &ticket,
|
||||||
kdc_time, &ad.session);
|
kdc_time, &ad.session);
|
||||||
|
|
||||||
memset(&session, 0, sizeof(session));
|
memset(&session, 0, sizeof(session));
|
||||||
|
Reference in New Issue
Block a user