diff options
author | Sumit Bose <sbose@redhat.com> | 2012-10-24 09:47:21 +0200 |
---|---|---|
committer | Sumit Bose <sbose@redhat.com> | 2012-10-26 10:32:06 +0200 |
commit | 964628ab89229e9266adc5f4f8a26222734788b7 (patch) | |
tree | f174c868325b6d00722d2927fd402469fc03a002 /src/providers/krb5/krb5_auth.c | |
parent | 29c0fdd1838a4b9892146f7019d12811c1d0d59b (diff) | |
download | sssd-964628ab89229e9266adc5f4f8a26222734788b7.tar.gz sssd-964628ab89229e9266adc5f4f8a26222734788b7.tar.xz sssd-964628ab89229e9266adc5f4f8a26222734788b7.zip |
Use find_or_guess_upn() where needed
Diffstat (limited to 'src/providers/krb5/krb5_auth.c')
-rw-r--r-- | src/providers/krb5/krb5_auth.c | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/src/providers/krb5/krb5_auth.c b/src/providers/krb5/krb5_auth.c index 98dc8d840..c1f9f14b1 100644 --- a/src/providers/krb5/krb5_auth.c +++ b/src/providers/krb5/krb5_auth.c @@ -420,20 +420,19 @@ struct tevent_req *krb5_auth_send(TALLOC_CTX *mem_ctx, break; case 1: - kr->upn = ldb_msg_find_attr_as_string(res->msgs[0], SYSDB_UPN, NULL); - if (kr->upn == NULL) { - ret = krb5_get_simple_upn(state, krb5_ctx, pd->user, &kr->upn); - if (ret != EOK) { - DEBUG(1, ("krb5_get_simple_upn failed.\n")); - goto done; - } - } else { - ret = compare_principal_realm(kr->upn, realm, - &kr->upn_from_different_realm); - if (ret != 0) { - DEBUG(SSSDBG_OP_FAILURE, ("compare_principal_realm failed.\n")); - goto done; - } + ret = find_or_guess_upn(state, res->msgs[0], krb5_ctx, + be_ctx->domain->name, pd->user, pd->domain, + &kr->upn); + if (ret != EOK) { + DEBUG(SSSDBG_OP_FAILURE, ("find_or_guess_upn failed.\n")); + goto done; + } + + ret = compare_principal_realm(kr->upn, realm, + &kr->upn_from_different_realm); + if (ret != 0) { + DEBUG(SSSDBG_OP_FAILURE, ("compare_principal_realm failed.\n")); + goto done; } kr->homedir = ldb_msg_find_attr_as_string(res->msgs[0], SYSDB_HOMEDIR, |