From 78d5afa84b9e18abf129878cdfef966bbb0e414b Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Wed, 6 Jul 2005 12:33:52 +0000 Subject: r8181: Allow host/foo.realm/realm@REALM requests, assuming that the realm forms both differ only in case. We may need a better solution than this later. Andrew Bartlett (This used to be commit a0ad13f5bceb17c1b856548825e5509921b409f0) --- source4/kdc/hdb-ldb.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/source4/kdc/hdb-ldb.c b/source4/kdc/hdb-ldb.c index 0875803be0..96f415ac01 100644 --- a/source4/kdc/hdb-ldb.c +++ b/source4/kdc/hdb-ldb.c @@ -460,7 +460,15 @@ static krb5_error_code LDB_lookup_principal(krb5_context context, struct ldb_con struct ldb_message **msg; - ret = krb5_unparse_name(context, principal, &princ_str); + struct Principal princ = *principal; + + /* Allow host/dns.name/realm@REALM, just convert into host/dns.name@REALM */ + if (princ.name.name_string.len == 3 + && StrCaseCmp(princ.name.name_string.val[2], princ.realm) == 0) { + princ.name.name_string.len = 2; + } + + ret = krb5_unparse_name(context, &princ, &princ_str); if (ret != 0) { krb5_set_error_string(context, "LDB_lookup_principal: could not parse principal"); -- cgit