svn commit: r285318 - in head/usr.sbin/pw: . tests
Baptiste Daroussin
bapt at FreeBSD.org
Thu Jul 9 14:14:47 UTC 2015
Author: bapt
Date: Thu Jul 9 14:14:44 2015
New Revision: 285318
URL: https://svnweb.freebsd.org/changeset/base/285318
Log:
Do not try to set password on group if the group is added as a consequence of
of creating a user (regression from r285136)
Reported by: Fabian Keil <fk at fabiankeil.de>
Modified:
head/usr.sbin/pw/pw.c
head/usr.sbin/pw/pw_group.c
head/usr.sbin/pw/pwupd.h
head/usr.sbin/pw/tests/pw_useradd.sh
Modified: head/usr.sbin/pw/pw.c
==============================================================================
--- head/usr.sbin/pw/pw.c Thu Jul 9 13:30:37 2015 (r285317)
+++ head/usr.sbin/pw/pw.c Thu Jul 9 14:14:44 2015 (r285318)
@@ -215,6 +215,7 @@ main(int argc, char *argv[])
if (mode == -1 || which == -1)
cmdhelp(mode, which);
+ conf.which = which;
/*
* We know which mode we're in and what we're about to do, so now
* let's dispatch the remaining command line args in a genric way.
Modified: head/usr.sbin/pw/pw_group.c
==============================================================================
--- head/usr.sbin/pw/pw_group.c Thu Jul 9 13:30:37 2015 (r285317)
+++ head/usr.sbin/pw/pw_group.c Thu Jul 9 14:14:44 2015 (r285318)
@@ -200,7 +200,7 @@ pw_group(int mode, char *name, long id,
* software.
*/
- if (conf.fd != -1)
+ if (conf.which == W_GROUP && conf.fd != -1)
set_passwd(grp, mode == M_UPDATE);
if (((arg = getarg(args, 'M')) != NULL ||
Modified: head/usr.sbin/pw/pwupd.h
==============================================================================
--- head/usr.sbin/pw/pwupd.h Thu Jul 9 13:30:37 2015 (r285317)
+++ head/usr.sbin/pw/pwupd.h Thu Jul 9 14:14:44 2015 (r285318)
@@ -86,6 +86,7 @@ struct pwconf {
char *newname;
char *config;
int fd;
+ int which;
bool dryrun;
bool pretty;
bool v7;
Modified: head/usr.sbin/pw/tests/pw_useradd.sh
==============================================================================
--- head/usr.sbin/pw/tests/pw_useradd.sh Thu Jul 9 13:30:37 2015 (r285317)
+++ head/usr.sbin/pw/tests/pw_useradd.sh Thu Jul 9 14:14:44 2015 (r285318)
@@ -231,6 +231,15 @@ user_add_invalid_group_entry_body() {
atf_check -s exit:1 -e match:"Invalid group entry" ${PW} useradd foo2
}
+atf_test_case user_add_password_from_h
+user_add_password_from_h_body() {
+ populate_etc_skel
+
+ atf_check -s exit:0 ${PW} useradd test -h 0 <<-EOF
+ $(echo test)
+ EOF
+}
+
atf_init_test_cases() {
atf_add_test_case user_add
atf_add_test_case user_add_noupdate
@@ -251,4 +260,5 @@ atf_init_test_cases() {
atf_add_test_case user_add_expiration
atf_add_test_case user_add_invalid_user_entry
atf_add_test_case user_add_invalid_group_entry
+ atf_add_test_case user_add_password_from_h
}
More information about the svn-src-head
mailing list