summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--loginutils/Config.in7
-rw-r--r--loginutils/passwd.c3
2 files changed, 9 insertions, 1 deletions
diff --git a/loginutils/Config.in b/loginutils/Config.in
index 3628c49..56778b2 100644
--- a/loginutils/Config.in
+++ b/loginutils/Config.in
@@ -142,6 +142,13 @@ config PASSWD
Note that Busybox binary must be setuid root for this applet to
work properly.
+config FEATURE_PASSWD_WEAK_CHECK
+ bool "Check new passwords for weakness"
+ default y
+ depends on PASSWD
+ help
+ With this option passwd will refuse new passwords which are "weak".
+
config SU
bool "su"
default n
diff --git a/loginutils/passwd.c b/loginutils/passwd.c
index bcb7f2b..c825c97 100644
--- a/loginutils/passwd.c
+++ b/loginutils/passwd.c
@@ -77,7 +77,8 @@ static char* new_password(const struct passwd *pw, uid_t myuid, int algo)
if (!newp)
goto err_ret;
newp = xstrdup(newp); /* we are going to bb_askpass() again, so save it */
- if (obscure(orig, newp, pw) && myuid)
+ if (ENABLE_FEATURE_PASSWD_WEAK_CHECK
+ && obscure(orig, newp, pw) && myuid)
goto err_ret; /* non-root is not allowed to have weak passwd */
cp = bb_askpass(0, "Retype password:");