pass down HDB_F_CANON to hdb_fetch for tgs req too, use the server name in the request.

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@23680 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Love Hörnquist Åstrand
2008-08-25 11:11:34 +00:00
parent d4c13b3b3b
commit 810f4208da

View File

@@ -662,6 +662,7 @@ tgs_make_reply(krb5_context context,
krb5_kvno kvno, krb5_kvno kvno,
AuthorizationData *auth_data, AuthorizationData *auth_data,
hdb_entry_ex *server, hdb_entry_ex *server,
krb5_principal server_principal,
const char *server_name, const char *server_name,
hdb_entry_ex *client, hdb_entry_ex *client,
krb5_principal client_principal, krb5_principal client_principal,
@@ -730,9 +731,9 @@ tgs_make_reply(krb5_context context,
if(ret) if(ret)
goto out; goto out;
copy_Realm(krb5_princ_realm(context, server->entry.principal), copy_Realm(krb5_princ_realm(context, server_principal),
&rep.ticket.realm); &rep.ticket.realm);
_krb5_principal2principalname(&rep.ticket.sname, server->entry.principal); _krb5_principal2principalname(&rep.ticket.sname, server_principal);
copy_Realm(&tgt_name->realm, &rep.crealm); copy_Realm(&tgt_name->realm, &rep.crealm);
/* /*
if (f.request_anonymous) if (f.request_anonymous)
@@ -1474,7 +1475,8 @@ tgs_build_reply(krb5_context context,
*/ */
server_lookup: server_lookup:
ret = _kdc_db_fetch(context, config, sp, HDB_F_GET_SERVER, NULL, &server); ret = _kdc_db_fetch(context, config, sp, HDB_F_GET_SERVER | HDB_F_CANON,
NULL, &server);
if(ret){ if(ret){
const char *new_rlm; const char *new_rlm;
@@ -1533,7 +1535,8 @@ server_lookup:
goto out; goto out;
} }
ret = _kdc_db_fetch(context, config, cp, HDB_F_GET_CLIENT, NULL, &client); ret = _kdc_db_fetch(context, config, cp, HDB_F_GET_CLIENT | HDB_F_CANON,
NULL, &client);
if(ret) { if(ret) {
const char *krbtgt_realm; const char *krbtgt_realm;
@@ -1939,6 +1942,7 @@ server_lookup:
kvno, kvno,
*auth_data, *auth_data,
server, server,
sp,
spn, spn,
client, client,
cp, cp,