Better referrals support, use canonicalize flag.

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@22729 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Love Hörnquist Åstrand
2008-03-24 12:06:50 +00:00
parent 9ae2936124
commit f57e7c4d5f

View File

@@ -1005,24 +1005,17 @@ need_referral(krb5_context context, krb5_kdc_configuration *config,
{ {
const char *name; const char *name;
kdc_log(context, config, 0, if(!options->canonicalize && server->name.name_type != KRB5_NT_SRV_INST)
"need referral ? %d %s/%s@%s",
server->name.name_type,
server->name.name_string.val[0],
server->name.name_string.len > 1 ? server->name.name_string.val[1] : "",
server->realm);
if(options->canonicalize || server->name.name_type != KRB5_NT_SRV_INST)
return FALSE; return FALSE;
if (server->name.name_string.len == 1) if (server->name.name_string.len == 1)
name = server->name.name_string.val[0]; name = server->name.name_string.val[0];
if (server->name.name_string.len == 2) if (server->name.name_string.len > 1)
name = server->name.name_string.val[1]; name = server->name.name_string.val[1];
else else
return FALSE; return FALSE;
kdc_log(context, config, 0, "searching referral for %s", name); kdc_log(context, config, 0, "Searching referral for %s", name);
return _krb5_get_host_realm_int(context, name, FALSE, realms) == 0; return _krb5_get_host_realm_int(context, name, FALSE, realms) == 0;
} }