From 89e94440048d1660dc9520c161597dd71c2ecb0c Mon Sep 17 00:00:00 2001 From: Sumit Bose Date: Wed, 3 Jun 2020 20:35:04 +0200 Subject: [PATCH 37/38] pam_sss: add SERVICE_IS_GDM_SMARTCARD Resolves: https://github.com/SSSD/sssd/issues/5190 (cherry picked with changes from commit 26c794da31c215fef3e41429f6f13afdaf349bee) Reviewed-by: Alexey Tikhonov --- src/sss_client/pam_sss.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/sss_client/pam_sss.c b/src/sss_client/pam_sss.c index ab9b7478e..4dbf1733c 100644 --- a/src/sss_client/pam_sss.c +++ b/src/sss_client/pam_sss.c @@ -79,6 +79,8 @@ #define DEBUG_MGS_LEN 1024 #define MAX_AUTHTOK_SIZE (1024*1024) #define CHECK_AND_RETURN_PI_STRING(s) ((s != NULL && *s != '\0')? s : "(not available)") +#define SERVICE_IS_GDM_SMARTCARD(pitem) (strcmp((pitem)->pam_service, \ + "gdm-smartcard") == 0) static void logger(pam_handle_t *pamh, int level, const char *fmt, ...) { va_list ap; @@ -2506,7 +2508,7 @@ static int pam_sss(enum sss_cli_command task, pam_handle_t *pamh, } } - if (strcmp(pi.pam_service, "gdm-smartcard") == 0) { + if (SERVICE_IS_GDM_SMARTCARD(&pi)) { ret = check_login_token_name(pamh, &pi, quiet_mode); if (ret != PAM_SUCCESS) { D(("check_login_token_name failed.\n")); -- 2.21.1