From ca525b4f24a1a27ffe5dfc8d04c55227ca335ba0 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Wed, 13 Jun 2007 12:27:17 +0000 Subject: *: 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 --- libbb/correct_password.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'libbb/correct_password.c') diff --git a/libbb/correct_password.c b/libbb/correct_password.c index 6255f7e65..d0f68c0cd 100644 --- a/libbb/correct_password.c +++ b/libbb/correct_password.c @@ -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, '*')) { -- cgit v1.2.3