summaryrefslogtreecommitdiff
path: root/modules/pam_echo/pam_echo.c
diff options
context:
space:
mode:
Diffstat (limited to 'modules/pam_echo/pam_echo.c')
-rw-r--r--modules/pam_echo/pam_echo.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/modules/pam_echo/pam_echo.c b/modules/pam_echo/pam_echo.c
index 38303880..181aeb4c 100644
--- a/modules/pam_echo/pam_echo.c
+++ b/modules/pam_echo/pam_echo.c
@@ -52,15 +52,11 @@
#define HOST_NAME_MAX 255
#endif
-#define PAM_SM_ACCOUNT
-#define PAM_SM_AUTH
-#define PAM_SM_PASSWORD
-#define PAM_SM_SESSION
-
#include <security/pam_modules.h>
#include <security/pam_modutil.h>
#include <security/_pam_macros.h>
#include <security/pam_ext.h>
+#include "pam_inline.h"
static int
replace_and_print (pam_handle_t *pamh, const char *mesg)
@@ -150,8 +146,9 @@ pam_echo (pam_handle_t *pamh, int flags, int argc, const char **argv)
for (; argc-- > 0; ++argv)
{
- if (!strncmp (*argv, "file=", 5))
- file = (5 + *argv);
+ const char *str = pam_str_skip_prefix(*argv, "file=");
+ if (str != NULL)
+ file = str;
}
/* No file= option, use argument for output. */