(fix_transited_encoding): always print cross-realm information
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@13045 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -1252,29 +1252,33 @@ fix_transited_encoding(krb5_boolean check_policy,
|
|||||||
}
|
}
|
||||||
num_realms++;
|
num_realms++;
|
||||||
}
|
}
|
||||||
|
if(num_realms == 0) {
|
||||||
|
if(strcmp(client_realm, server_realm))
|
||||||
|
kdc_log(0, "cross-realm %s -> %s", client_realm, server_realm);
|
||||||
|
} else {
|
||||||
|
size_t l = 0;
|
||||||
|
char *rs;
|
||||||
|
for(i = 0; i < num_realms; i++)
|
||||||
|
l += strlen(realms[i]) + 2;
|
||||||
|
rs = malloc(l);
|
||||||
|
if(rs != NULL) {
|
||||||
|
*rs = '\0';
|
||||||
|
for(i = 0; i < num_realms; i++) {
|
||||||
|
if(i > 0)
|
||||||
|
strlcat(rs, ", ", l);
|
||||||
|
strlcat(rs, realms[i], l);
|
||||||
|
}
|
||||||
|
kdc_log(0, "cross-realm %s -> %s via [%s]", client_realm, server_realm, rs);
|
||||||
|
free(rs);
|
||||||
|
}
|
||||||
|
}
|
||||||
if(check_policy) {
|
if(check_policy) {
|
||||||
ret = krb5_check_transited(context, client_realm,
|
ret = krb5_check_transited(context, client_realm,
|
||||||
server_realm,
|
server_realm,
|
||||||
realms, num_realms, NULL);
|
realms, num_realms, NULL);
|
||||||
if(ret) {
|
if(ret) {
|
||||||
size_t l = 0;
|
krb5_warn(context, ret, "cross-realm %s -> %s",
|
||||||
char *rs;
|
|
||||||
krb5_warn(context, ret, "cross-realm from %s to %s",
|
|
||||||
client_realm, server_realm);
|
client_realm, server_realm);
|
||||||
for(i = 0; i < num_realms; i++)
|
|
||||||
l += strlen(realms[i]) + 2;
|
|
||||||
rs = malloc(l);
|
|
||||||
if(rs != NULL) {
|
|
||||||
*rs = '\0';
|
|
||||||
for(i = 0; i < num_realms; i++) {
|
|
||||||
if(i > 0)
|
|
||||||
strlcat(rs, ", ", l);
|
|
||||||
strlcat(rs, realms[i], l);
|
|
||||||
}
|
|
||||||
krb5_warnx(context, "transited realms: %s", rs);
|
|
||||||
free(rs);
|
|
||||||
}
|
|
||||||
|
|
||||||
goto free_realms;
|
goto free_realms;
|
||||||
}
|
}
|
||||||
et->flags.transited_policy_checked = 1;
|
et->flags.transited_policy_checked = 1;
|
||||||
|
Reference in New Issue
Block a user