ldap principal aliases
Luke Howard
lukeh at padl.com
Sun Aug 30 04:19:19 EDT 2009
On 30/08/2009, at 9:21 AM, Luke Howard wrote:
>> Yep, sure enough. The version on wopr is pretty old.
>>
>> Are there any known scenarios where forcing canonicalization on the
>> KDC
>> would be bad? I was thinking about just removing the check for that
>> flag from our KDCs, since there are quite a few servers that have the
>> old libraries.
>
>
> This will create problems in the AS path, because the client library
> won't expect a different principal name. In the TGS path, I think Greg
> is right (but if you're going to disable to check, I'd do it in
> libkdb_ldap rather than the KDC).
So, you could try the following untested patch:
Index: ldap_principal2.c
===================================================================
--- ldap_principal2.c (revision 22548)
+++ ldap_principal2.c (working copy)
@@ -160,7 +160,8 @@
if ((values=ldap_get_values(ld, ent, "krbcanonicalname")) !=
NULL) {
if (values[0] && strcmp(values[0], user) != 0) {
/* We matched an alias, not the canonical name. */
- if (flags & KRB5_KDB_FLAG_CANONICALIZE) {
+ if ((flags & KRB5_KDB_FLAG_CLIENT_REFERRALS_ONLY) == 0 ||
+ (flags & KRB5_KDB_FLAG_CANONICALIZE)) {
st = krb5_ldap_parse_principal_name(values[0], &cname);
if (st != 0)
goto cleanup;
This always canonicalization for server names (when
KRB5_KDB_FLAG_CLIENT_REFERRALS_ONLY is unset).
For client names, it continues to depend on the setting of
KRB5_KDB_FLAG_CANONICALIZE.
-- Luke
More information about the Kerberos
mailing list