[PATCH] chpasswd: support -c argument and respect DEFAULT_PASSWD_ALGO
Tito
farmatito at tiscali.it
Tue Dec 22 20:05:07 UTC 2015
On 12/22/2015 08:32 PM, Isaac Dunham wrote:
> On Tue, Dec 22, 2015 at 02:32:49PM +0100, Tito wrote:
>>
>>
>> On 12/18/2015 07:00 PM, Denys Vlasenko wrote:
>>> On Fri, Dec 18, 2015 at 2:45 PM, Pascal Bach <pascal.bach at siemens.com> wrote:
>>>> @@ -77,15 +79,14 @@ int chpasswd_main(int argc UNUSED_PARAM, char **argv)
>>>>
>>>> free_me = NULL;
>>>> if (!(opt & OPT_ENC)) {
>>>> - char salt[sizeof("$N$XXXXXXXX")];
>>>> + char salt[MAX_PW_SALT_LEN];
>>>>
>>>> - crypt_make_salt(salt, 1);
>>>> if (opt & OPT_MD5) {
>>>> - salt[0] = '$';
>>>> - salt[1] = '1';
>>>> - salt[2] = '$';
>>>> - crypt_make_salt(salt + 3, 4);
>>>> + /* Force MD5 if the -m flag is set */
>>>> + algo = "md5";
>>>> }
>>>> +
>>>> + crypt_make_pw_salt(salt, algo);
>>>
>>> crypt_make_pw_salt() accepts lowercase algos, such as "md5".
>>> chpasswd examples I googled use uppercase: "MD5".
>>> So, this won't be compatible.
>>>
>>>> free_me = pass = pw_encrypt(pass, salt, 0);
>>>> }
>> Hi,
>> maybe we could change crypt_make_salt to accept lowercase and uppercase algo
>> arguments to keep compatibility with both ways
>
> It looks to me like pw_encrypt(pass, str_tolower(salt), 0); would be
> simpler and perhaps smaller.
> Alternately, you could call that in crypt_make_salt() if you want to
> make it consistent.
>
> HTH,
> Isaac Dunham
Hi,
Denys already fixed it in git, I should have checked it before writing.
Sorry for the noise.
Ciao,
Tito
More information about the busybox
mailing list