summaryrefslogtreecommitdiff
path: root/server/providers
diff options
context:
space:
mode:
Diffstat (limited to 'server/providers')
-rw-r--r--server/providers/ldap_be.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/server/providers/ldap_be.c b/server/providers/ldap_be.c
index 2c075bd0..e6547025 100644
--- a/server/providers/ldap_be.c
+++ b/server/providers/ldap_be.c
@@ -456,6 +456,23 @@ static void sdap_pam_loop(struct tevent_context *ev, struct tevent_fd *te,
}
} while( (msg=ldap_next_message(lr->ldap, msg)) != NULL );
+ switch (lr->pd->cmd) {
+ case SSS_PAM_AUTHENTICATE:
+ case SSS_PAM_CHAUTHTOK:
+ break;
+ case SSS_PAM_ACCT_MGMT:
+ case SSS_PAM_SETCRED:
+ case SSS_PAM_OPEN_SESSION:
+ case SSS_PAM_CLOSE_SESSION:
+ pam_status = PAM_SUCCESS;
+ goto done;
+ break;
+ default:
+ DEBUG(1, ("Unknown pam command %d.\n", lr->pd->cmd));
+ pam_status = PAM_SYSTEM_ERR;
+ goto done;
+ }
+
ret = sdap_bind(lr);
if (ret != LDAP_SUCCESS) {
DEBUG(1, ("sdap_bind failed.\n"));