diff options
author | John Denker <jsd@av8n.com> | 2012-07-14 16:19:44 -0700 |
---|---|---|
committer | John Denker <jsd@av8n.com> | 2012-07-14 16:19:44 -0700 |
commit | e53f6eb20d90fd96e43dc2f52249856485522a61 (patch) | |
tree | b4a7d68c9ec19614cfdc2392e270a0f43b856bb6 | |
parent | 96906a8d4c0b9942d94c6bf01c68b05de827e947 (diff) |
From login-name, strip suffixes starting with '@' or'%'
-rw-r--r-- | checkpasswd/checkpassword.c | 13 |
1 files changed, 13 insertions, 0 deletions
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); |