From 939db6255b396c6ad1c68b14147bcf32d6a9df61 Mon Sep 17 00:00:00 2001 From: "Dmitry V. Levin" Date: Mon, 16 Mar 2020 21:02:18 +0000 Subject: modules/pam_ftp: use pam_str_skip_prefix * modules/pam_ftp/pam_ftp.c: Include "pam_inline.h". (_pam_parse): Use pam_str_skip_prefix instead of ugly strncmp invocations. --- modules/pam_ftp/pam_ftp.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'modules/pam_ftp') diff --git a/modules/pam_ftp/pam_ftp.c b/modules/pam_ftp/pam_ftp.c index 1c2f1456..30806f28 100644 --- a/modules/pam_ftp/pam_ftp.c +++ b/modules/pam_ftp/pam_ftp.c @@ -35,6 +35,7 @@ #include #include #include +#include "pam_inline.h" /* argument parsing */ @@ -49,18 +50,18 @@ _pam_parse(pam_handle_t *pamh, int argc, const char **argv, const char **users) /* step through arguments */ for (ctrl=0; argc-- > 0; ++argv) { + const char *str; /* generic options */ if (!strcmp(*argv,"debug")) ctrl |= PAM_DEBUG_ARG; - else if (!strncmp(*argv,"users=",6)) { - *users = 6 + *argv; - } else if (!strcmp(*argv,"ignore")) { + else if (!strcmp(*argv,"ignore")) ctrl |= PAM_IGNORE_EMAIL; - } else { + else if ((str = pam_str_skip_prefix(*argv, "users=")) != NULL) + *users = str; + else pam_syslog(pamh, LOG_ERR, "unknown option: %s", *argv); - } } return ctrl; -- cgit v1.2.3