* lib/prototypes.h, libmisc/salt.c: Add parameters to
crypt_make_salt to force the crypt method and number of rounds. * libmisc/salt.c: Add parameter to SHA_salt_rounds to force the number of rounds. * libmisc/salt.c, lib/getdef.c: ENCRYPT_METHOD and MD5_CRYPT_ENAB are needed also when USE_PAM (e.g. for chpasswd). * src/newusers.c, src/gpasswd.c: Use the new crypt_make_salt prototype. * src/chpasswd.c, src/chgpasswd.c: Add option -c, --crypt-method and -s, --sha-rounds to specify the crypt method and number of rounds in case of one of the SHA methods. The new prototype of crypt_make_salt simplifies the handling of -m, --md5.
This commit is contained in:
@ -214,7 +214,7 @@ static int add_user (const char *name, const char *uid, uid_t * nuid, gid_t gid)
|
||||
|
||||
static void update_passwd (struct passwd *pwd, const char *passwd)
|
||||
{
|
||||
pwd->pw_passwd = pw_encrypt (passwd, crypt_make_salt ());
|
||||
pwd->pw_passwd = pw_encrypt (passwd, crypt_make_salt (NULL, NULL));
|
||||
}
|
||||
|
||||
/*
|
||||
@ -241,7 +241,8 @@ static int add_passwd (struct passwd *pwd, const char *passwd)
|
||||
*/
|
||||
if ((sp = spw_locate (pwd->pw_name))) {
|
||||
spent = *sp;
|
||||
spent.sp_pwdp = pw_encrypt (passwd, crypt_make_salt ());
|
||||
spent.sp_pwdp = pw_encrypt (passwd,
|
||||
crypt_make_salt (NULL, NULL));
|
||||
return !spw_update (&spent);
|
||||
}
|
||||
|
||||
@ -261,7 +262,7 @@ static int add_passwd (struct passwd *pwd, const char *passwd)
|
||||
* shadow password file entry.
|
||||
*/
|
||||
spent.sp_namp = pwd->pw_name;
|
||||
spent.sp_pwdp = pw_encrypt (passwd, crypt_make_salt ());
|
||||
spent.sp_pwdp = pw_encrypt (passwd, crypt_make_salt (NULL, NULL));
|
||||
spent.sp_lstchg = time ((time_t *) 0) / SCALE;
|
||||
spent.sp_min = getdef_num ("PASS_MIN_DAYS", 0);
|
||||
/* 10000 is infinity this week */
|
||||
|
Reference in New Issue
Block a user