Red Hat Bugzilla – Bug 80220
The last character is stripped from password if reading it from STDIN
Last modified: 2005-10-31 17:00:50 EST
From Bugzilla Helper:
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 95)
Description of problem:
The passwd.c indicates that this is by design error:
i = read(STDIN_FILENO, newPassword,
sizeof(newPassword) - 1);
newPassword[i - 1] = '\0';
I can assume this was done to strip line feed character when reading password
from one-string files. This is not a correct behaviour. It's a user
responsibility to supply just the data the user wants.
For compatibility reasons you may correct this error by introducing new option
like '--not-strip'. When this option applied, passwd should not strip the last
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Execute in bash:
echo -n boguspas | passwd --stdin someuser
2. Try to login as 'someuser'
Actual Results: Can't login with 'boguspas', but can login with 'boguspa'
Expected Results: Login with 'boguspas' password.