From e53f6eb20d90fd96e43dc2f52249856485522a61 Mon Sep 17 00:00:00 2001 From: John Denker Date: Sat, 14 Jul 2012 16:19:44 -0700 Subject: From login-name, strip suffixes starting with '@' or'%' --- checkpasswd/checkpassword.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/checkpasswd/checkpassword.c b/checkpasswd/checkpassword.c index 0ca5eee..106889b 100644 --- a/checkpasswd/checkpassword.c +++ b/checkpasswd/checkpassword.c @@ -35,6 +35,7 @@ main(int argc,char **argv) char *stored; int r; int i; + char ch; int unit = 3; char* unit_str = getenv("CHECKPASSWORD_UNIT"); @@ -62,6 +63,18 @@ main(int argc,char **argv) if (i >= uplen) _exit(2); while (up[i++]) if (i >= uplen) _exit(2); +#ifndef KEEP_SUFFIXES +// remove from the login any suffix starting with '@' or '%' + for (i=0; ; i++){ + ch = login[i]; + if (ch == 0) break; + if (ch == '@' || ch == '%') { + login[i] = 0; + break; + } + } +#endif + #ifdef NASTY_DEBUG fprintf(stderr, "checkpassw called with '%s' '%s'\n", login, password); -- cgit v1.2.3