Allow the "@" and "!" characters in passwd file GECOS fields.

Two PRs (152084 & 210187) request allowing the "@" and/or "!"
characters in the passwd file GECOS field. The man page for pw does
not mention that those characters are disallowed, Linux supports those
characters in this field, and the "@" character in particular would be
useful for storing email addresses in that field.

PR:		152084, 210187
Submitted by:	jschauma@netmeister.org, Dave Cottlehuber <dch@freebsd.org>
Reported by:	jschauma@netmeister.org, Dave Cottlehuber <dch@freebsd.org>
Reviewed by:	delphij (secteam), vangyzen
MFC after:	1 week
Sponsored by:	Dell EMC
Differential Revision:	https://reviews.freebsd.org/D14519
This commit is contained in:
David Bright 2018-03-01 17:47:28 +00:00
parent 4ffd72e34c
commit 32bd1c2bb3
2 changed files with 4 additions and 4 deletions

View File

@ -632,7 +632,7 @@ pw_checkname(char *name, int gecos)
reject = 0;
if (gecos) {
/* See if the name is valid as a gecos (comment) field. */
badchars = ":!@";
badchars = ":";
showtype = "gecos field";
} else {
/* See if the name is valid as a userid or group. */

View File

@ -27,9 +27,9 @@ atf_test_case user_add_comments
user_add_comments_body() {
populate_etc_skel
atf_check -s exit:0 ${PW} useradd test -c "Test User,work,123,456"
atf_check -s exit:0 -o match:"^test:.*:Test User,work,123,456:" \
grep "^test:.*:Test User,work,123,456:" $HOME/master.passwd
atf_check -s exit:0 ${PW} useradd test -c 'Test User,work!,123,user@example.com'
atf_check -s exit:0 -o match:'^test:.*:Test User,work!,123,user@example.com:' \
grep '^test:.*:Test User,work!,123,user@example.com:' $HOME/master.passwd
}
# Test add user with comments and option -N