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)
Dec 16 2025, 11:24 PM
Unknown Object (File)
Dec 13 2025, 10:04 PM
Unknown Object (File)
Nov 22 2025, 7:41 PM
Unknown Object (File)
Nov 21 2025, 1:10 AM
Unknown Object (File)
Nov 21 2025, 1:08 AM
Unknown Object (File)
Nov 21 2025, 1:08 AM
Unknown Object (File)
Nov 21 2025, 1:04 AM
Unknown Object (File)
Nov 14 2025, 4:39 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

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 30281
Build 28057: arc lint + arc unit

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.