summaryrefslogtreecommitdiff
path: root/src/providers/krb5/krb5_child_handler.c
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2013-07-19 08:36:28 +0300
committerJakub Hrozek <jhrozek@redhat.com>2013-07-23 14:18:03 +0200
commit48657b5de36a63b0c13ed5d53065871d59d8f10b (patch)
tree61403ad977c2a0f73e1a776170fce867468a142d /src/providers/krb5/krb5_child_handler.c
parent1b3144586978c47506eaa39db505e6231e3b0c0a (diff)
downloadsssd-48657b5de36a63b0c13ed5d53065871d59d8f10b.tar.gz
sssd-48657b5de36a63b0c13ed5d53065871d59d8f10b.tar.bz2
sssd-48657b5de36a63b0c13ed5d53065871d59d8f10b.zip
KRB5: Do not send PAC in server mode
The krb5 child contacts the PAC responder for any user except for the IPA native users if the PAC is configured. This works fine for the general case but the ipa_server_mode is a special one. The PAC responder is there, but since in the server mode we should be operating as AD provider default, the PAC shouldn't be analyzed either in this case.
Diffstat (limited to 'src/providers/krb5/krb5_child_handler.c')
-rw-r--r--src/providers/krb5/krb5_child_handler.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/providers/krb5/krb5_child_handler.c b/src/providers/krb5/krb5_child_handler.c
index 044c2719..8117d1e5 100644
--- a/src/providers/krb5/krb5_child_handler.c
+++ b/src/providers/krb5/krb5_child_handler.c
@@ -142,11 +142,17 @@ static errno_t create_send_buffer(struct krb5child_req *kr,
validate = dp_opt_get_bool(kr->krb5_ctx->opts, KRB5_VALIDATE) ? 1 : 0;
- /* Always send PAC except for local IPA users */
- if (kr->krb5_ctx->is_ipa) {
- send_pac = kr->upn_from_different_realm ? 1 : 0;
- } else {
- send_pac = 1;
+ /* Always send PAC except for local IPA users and IPA server mode */
+ switch (kr->krb5_ctx->config_type) {
+ case K5C_IPA_CLIENT:
+ send_pac = kr->upn_from_different_realm ? 1 : 0;
+ break;
+ case K5C_IPA_SERVER:
+ send_pac = 0;
+ break;
+ default:
+ send_pac = 1;
+ break;
}
if (kr->pd->cmd == SSS_CMD_RENEW) {