*: BB_BANNER -> bb_banner (it is not a const or #define)!

correct_password: explain in detail why it is ok to use bb_banner
fsck_minix: make it print bb version, not it's own (outdated/irrelevant) one

Marginal size difference:
   text    data     bss     dec     hex filename
 679119    2700   15632  697451   aa46b busybox_old
 679091    2700   15632  697423   aa44f busybox_unstripped
This commit is contained in:
Denis Vlasenko
2007-06-13 12:27:17 +00:00
parent b51fd3525e
commit ca525b4f24
12 changed files with 33 additions and 31 deletions

View File

@ -47,9 +47,14 @@ int correct_password(const struct passwd *pw)
char buffer[256];
#endif
correct = bb_msg_full_version; /* fake salt. crypt() can choke otherwise */
if (!pw)
goto fake_it; /* The content of 'correct' will never match */
/* fake salt. crypt() can choke otherwise.
* (bb_banner's first two chars are letters and thus are valid salt) */
correct = bb_banner;
if (!pw) {
/* bb_banner will never match, it contains () which is never
* generated in valid encrypted passwords. */
goto fake_it;
}
correct = pw->pw_passwd;
#if ENABLE_FEATURE_SHADOWPASSWDS
if (LONE_CHAR(pw->pw_passwd, 'x') || LONE_CHAR(pw->pw_passwd, '*')) {