Page MenuHomeFreeBSD

Don't remove leading or trailing IFS for passwords
ClosedPublic

Authored by dereks_lifeofadishwasher.com on Apr 4 2020, 5:02 AM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Jun 2, 1:41 PM
Unknown Object (File)
Sun, Jun 1, 7:53 AM
Unknown Object (File)
Sun, Jun 1, 5:45 AM
Unknown Object (File)
Sat, May 17, 5:00 PM
Unknown Object (File)
Mon, May 12, 8:40 AM
Unknown Object (File)
Apr 14 2025, 11:40 AM
Unknown Object (File)
Apr 14 2025, 6:56 AM
Unknown Object (File)
Apr 13 2025, 11:37 PM
Subscribers

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
Lint Not Applicable
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.