kdc: don't allow self delegation if a backend check_constrained_delegation() hook is given
A service should use S4U2Self instead of S4U2Proxy. Windows servers allow S4U2Proxy only to explicitly configured target principals. metze Signed-off-by: Love Hörnquist Åstrand <lha@h5l.org>
This commit is contained in:

committed by
Love Hörnquist Åstrand

parent
6cb0e81760
commit
aabb937b46
@@ -525,15 +525,15 @@ check_constrained_delegation(krb5_context context,
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* if client delegates to itself, that ok */
|
||||
if (krb5_principal_compare(context, client->entry.principal, server->entry.principal) == TRUE)
|
||||
return 0;
|
||||
|
||||
if (clientdb->hdb_check_constrained_delegation) {
|
||||
ret = clientdb->hdb_check_constrained_delegation(context, clientdb, client, target);
|
||||
if (ret == 0)
|
||||
return 0;
|
||||
} else {
|
||||
/* if client delegates to itself, that ok */
|
||||
if (krb5_principal_compare(context, client->entry.principal, server->entry.principal) == TRUE)
|
||||
return 0;
|
||||
|
||||
ret = hdb_entry_get_ConstrainedDelegACL(&client->entry, &acl);
|
||||
if (ret) {
|
||||
krb5_clear_error_message(context);
|
||||
|
Reference in New Issue
Block a user