/* no username as-is, as sub-string, reversed, capitalized, doubled */
if (string_checker(new_p, pw->pw_name)) {
return "similar to username";
}
/* no gecos as-is, as sub-string, reversed, capitalized, doubled */
/* no username as-is, as sub-string, reversed, capitalized, doubled */
if (string_checker(new_p, pw->pw_name)) {
return "similar to username";
}
/* no gecos as-is, as sub-string, reversed, capitalized, doubled */
return "similar to gecos";
}
/* hostname as-is, as sub-string, reversed, capitalized, doubled */
return "similar to gecos";
}
/* hostname as-is, as sub-string, reversed, capitalized, doubled */
- if (gethostname(hostname, 255) == 0) {
- hostname[254] = '\0';
- if (string_checker(new_p, hostname)) {
- return "similar to hostname";
- }
- }
+ hostname = safe_gethostname();
+ i = string_checker(new_p, hostname);
+ free(hostname);
+ if (i)
+ return "similar to hostname";
- if ((msg = obscure_msg(old, newval, pwdp))) {
- printf("Bad password: %s.\n", msg);
- /* If user is root warn only */
- return (getuid())? 1 : 0;
+ msg = obscure_msg(old, newval, pw);
+ if (msg) {
+ printf("Bad password: %s\n", msg);
+ return 1;