From 5d9f253bb5e0cfe6848f6ceb730fe13e9494b460 Mon Sep 17 00:00:00 2001 From: David Bright Date: Thu, 1 Mar 2018 17:47:28 +0000 Subject: 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 Reported by: jschauma@netmeister.org, Dave Cottlehuber Reviewed by: delphij (secteam), vangyzen MFC after: 1 week Sponsored by: Dell EMC Differential Revision: https://reviews.freebsd.org/D14519 --- pw/pw_user.c | 2 +- pw/tests/pw_useradd_test.sh | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pw/pw_user.c b/pw/pw_user.c index 62a1613..148239e 100644 --- a/pw/pw_user.c +++ b/pw/pw_user.c @@ -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. */ diff --git a/pw/tests/pw_useradd_test.sh b/pw/tests/pw_useradd_test.sh index 1a1c7d3..3a88967 100755 --- a/pw/tests/pw_useradd_test.sh +++ b/pw/tests/pw_useradd_test.sh @@ -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 -- cgit v1.2.3