>From 54e0a2e6e9853d248c7ea360d36e9615a81c7ae9 Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Mon, 23 Feb 2015 11:06:25 +0100 Subject: [PATCH] PAM: print the pam status as string, too On several places, let's add a pam_strerror() call so that it's easier to debug user problems. --- Makefile.am | 4 +++- src/providers/data_provider_be.c | 4 ++++ src/responder/pam/pamsrv_cmd.c | 3 ++- src/responder/pam/pamsrv_dp.c | 4 ++++ 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Makefile.am b/Makefile.am index 70278550fd22b820528f9613d30e11a723ea6c5c..5e20667f9b7a7d315f3abb57240dc320932471af 100644 --- a/Makefile.am +++ b/Makefile.am @@ -988,7 +988,9 @@ sssd_pam_LDADD = \ $(TDB_LIBS) \ $(SSSD_LIBS) \ $(SELINUX_LIBS) \ - $(SSSD_INTERNAL_LTLIBS) + $(PAM_LIBS) \ + $(SSSD_INTERNAL_LTLIBS) \ + $(NULL) if BUILD_SUDO sssd_sudo_SOURCES = \ diff --git a/src/providers/data_provider_be.c b/src/providers/data_provider_be.c index 02749035cd12d0b81f613dbde7d72b5966cfc495..cf05a813861eec9d2156e7b0fd7f3520c2a2f904 100644 --- a/src/providers/data_provider_be.c +++ b/src/providers/data_provider_be.c @@ -534,6 +534,10 @@ static void be_reset_offline(struct be_ctx *ctx) static char *dp_pam_err_to_string(TALLOC_CTX *memctx, int dp_err_type, int errnum) { + DEBUG(SSSDBG_FUNC_DATA, + "Received DP error %d and PAM error [%d]: %s\n", + dp_err_type, errnum, pam_strerror(NULL, errnum)); + switch (dp_err_type) { case DP_ERR_OK: return talloc_strdup(memctx, "Success"); diff --git a/src/responder/pam/pamsrv_cmd.c b/src/responder/pam/pamsrv_cmd.c index ab8369b0f9b1f3ed9256fc16396f095818d36bbf..2ce61881fbe0c9f088e94c605da7818a2ff229da 100644 --- a/src/responder/pam/pamsrv_cmd.c +++ b/src/responder/pam/pamsrv_cmd.c @@ -562,7 +562,8 @@ static void pam_reply(struct pam_auth_req *preq) } DEBUG(SSSDBG_FUNC_DATA, - "pam_reply called with result [%d].\n", pd->pam_status); + "pam_reply called with result [%d]: %s.\n", + pd->pam_status, pam_strerror(NULL, pd->pam_status)); if (pd->pam_status == PAM_AUTHINFO_UNAVAIL) { switch(pd->cmd) { diff --git a/src/responder/pam/pamsrv_dp.c b/src/responder/pam/pamsrv_dp.c index 8871f198be60d853619e9f3ac6292871755c4af5..c34eda81a7e8e2f3aad3ecb7b2330b4f0f747fd8 100644 --- a/src/responder/pam/pamsrv_dp.c +++ b/src/responder/pam/pamsrv_dp.c @@ -87,6 +87,10 @@ static void pam_dp_process_reply(DBusPendingCall *pending, void *ptr) } + DEBUG(SSSDBG_FUNC_DATA, + "pam_reply called with result [%d]: %s.\n", + preq->pd->pam_status, pam_strerror(NULL, preq->pd->pam_status)); + done: dbus_pending_call_unref(pending); dbus_message_unref(msg); -- 2.1.0