Page MenuHomeFreeBSD

Don't remove leading or trailing IFS for passwords
ClosedPublic

Authored by dereks_lifeofadishwasher.com on Apr 4 2020, 5:02 AM.

Details

Summary

PR: 245342

When entering a password sh's IFS default value (space tab, newline) so
any leading a trailing IFS characters are removed.

Setting IFS= (null) for just the two adduser.sh read lines will not
remove leading or trailing IFS characters.

Test Plan
(cmd)$ IFS= read -r p 	# with leading and trailing tabs
            foo 
(cmd)$ echo "|${p}|"
|           foo         |
(cmd)$ read -r p  	
            foo
(cmd)$ echo "|${p}|"
|foo|

(ins)$ IFS= read -r p  	# with leading and trailing space
   foo   
(cmd)$ echo "|${p}|"
|   foo   |
(cmd)$ read -r p
   foo   
(cmd)$ echo "|${p}|"
|foo|

Test adduser.sh with IFS= lines and su -l newuser with the space/tab.
Also, confirm the non-space/tab padded password doesn't work.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

Some people wrongly add whitespace via copy and paste, but let's be consistent with login, passwd, etc.

This revision is now accepted and ready to land.Apr 4 2020, 3:04 PM

Agreed; will commit this sometime today.

This revision was automatically updated to reflect the committed changes.