passwd,cryptpw: make default encryption algorithm configurable

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2012-01-08 16:44:37 +01:00
parent 3e0c428c45
commit d45efd3a9f
4 changed files with 11 additions and 2 deletions

View File

@ -283,6 +283,13 @@ config CHPASSWD
Reads a file of user name and password pairs from standard input
and uses this information to update a group of existing users.
config FEATURE_DEFAULT_PASSWD_ALGO
string "Default password encryption method (passwd -a, cryptpw -m parameter)"
default "des"
depends on PASSWD || CRYPTPW
help
Possible choices are "d[es]", "m[d5]", "s[ha256]" or "sha512".
config SU
bool "su"
default y

View File

@ -20,6 +20,8 @@
//usage: "\n -m Use MD5 encryption instead of DES"
//usage: )
//TODO: implement -c ALGO
#if ENABLE_LONG_OPTS
static const char chpasswd_longopts[] ALIGN1 =
"encrypted\0" No_argument "e"

View File

@ -105,7 +105,7 @@ int cryptpw_main(int argc UNUSED_PARAM, char **argv)
applet_long_options = mkpasswd_longopts;
#endif
fd = STDIN_FILENO;
opt_m = "d";
opt_m = CONFIG_FEATURE_DEFAULT_PASSWD_ALGO;
opt_S = NULL;
/* at most two non-option arguments; -P NUM */
opt_complementary = "?2:P+";

View File

@ -94,7 +94,7 @@ int passwd_main(int argc UNUSED_PARAM, char **argv)
};
unsigned opt;
int rc;
const char *opt_a = "d"; /* des */
const char *opt_a = CONFIG_FEATURE_DEFAULT_PASSWD_ALGO;
const char *filename;
char *myname;
char *name;