History log of /freebsd-10-stable/usr.sbin/pw/tests/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
330695 09-Mar-2018 dab

MFC r330245:

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>
Sponsored by: Dell EMC

323333 08-Sep-2017 emaste

MFC r322677: pw usermod: handle empty secondary group lists (-G '')

"pw usermod someuser -G ''" is supposed make sure that someuser
doesn't have any secondary group memberships.

Previouly it was a nop because split_groups() only intitialised
"groups" if at least one group was specified. As a result the
existing secondary group memberships were kept.

PR: 221417
Submitted by: Fabian Keil
Approved by: re (kib)
Obtained from: ElectroBSD
Relnotes: yes

323332 08-Sep-2017 emaste

MFC r322678: pw useradd: Validate the user name before creating the entry

Previouly it was possible to create users with spaces in the name with:
pw useradd -u 1234 -g 1234 -n 'test user'

The "-g 1234" is relevant, without it the name was already rejected
as expected:

[fk@test ~]$ sudo pw useradd -u 1234 -n 'test user'
pw: invalid character ` ' at position 4 in userid/group name

Bug unintentionally found with a salt config without explicit name entry:

test user:
user.present:
- uid: 1234
- gid: 1234
- fullname: Test user
- shell: /usr/local/bin/bash
- home: /home/test
- groups:
- wheel
- salt

"Luckily" salt modules rarely bother with input validation either ...

PR: 221416
Submitted by: Fabian Keil
Approved by: re (kib)
Obtained from: ElectroBSD

321163 18-Jul-2017 ngie

MFC r319026:

pw: add some basic testcases for groupshow and usershow

- groupshow: test out -a/-g/-n .
- usershow: test out -a/-n/-u .

319252 30-May-2017 asomers

MFC r315032-r315036, r315039, r315041

r315032:
Increase WARNS for iconv tests

ATF tests have a default WARNS of 0, unlike other usermode programs.

Reviewed by: ngie
Sponsored by: Spectra Logic Corporation
Differential Revision: https://reviews.freebsd.org/D9933

r315033:
Increase WARNS for nss tests

ATF tests have a default WARNS of 0, unlike other usermode programs.

Reviewed by: ngie
Sponsored by: Spectra Logic Corporation
Differential Revision: https://reviews.freebsd.org/D9933

r315034:
Document that the msun tests require WARNS=0

ATF tests have a default WARNS of 0, unlike other usermode programs. This
change is technically a noop, but it documents that the msun tests don't
work with any warnings enabled, at least not on all architectures.

Reviewed by: ngie
Sponsored by: Spectra Logic Corporation
Differential Revision: https://reviews.freebsd.org/D9933

r315035:
Increase WARNS for libcrypt tests

ATF tests have a default WARNS of 0, unlike other usermode programs.

Reviewed by: ngie, julian
Sponsored by: Spectra Logic Corporation
Differential Revision: https://reviews.freebsd.org/D9933

r315036:
Increase WARNS for libmp tests

ATF tests have a default WARNS of 0, unlike other usermode programs.

Reviewed by: ngie, julian
Sponsored by: Spectra Logic Corporation
Differential Revision: https://reviews.freebsd.org/D9933

r315039:
Increase WARNS for libutil tests

ATF tests have a default WARNS of 0, unlike other usermode programs.

Reviewed by: ngie, julian
Sponsored by: Spectra Logic Corporation
Differential Revision: https://reviews.freebsd.org/D9933

r315041:
Increase WARNS for pw tests

ATF tests have a default WARNS of 0, unlike other usermode programs.

Reviewed by: ngie, julian
Sponsored by: Spectra Logic Corporation
Differential Revision: https://reviews.freebsd.org/D9933

316348 01-Apr-2017 bapt

MFC: r315912 (by eugen@) and r315935

Properly initialise with content of pw.conf(5) that was mistakenly ignored.
Also, respect "defaultgroup" if specified there.

Add a regression test

PR: 217934
Submitted by: Victor Sudakov <vas@mpeks.tomsk.su>

316257 30-Mar-2017 ngie

MFC r315776:

Rename tests from <foo> to <foo>_test to match the FreeBSD test suite
naming scheme

usr.bin/diff/diff_test was renamed to usr.bin/diff/netbsd_diff_test
to avoid collisions with the renamed FreeBSD test.

314277 25-Feb-2017 bapt

MFC r312644, r312650

r312644:
Readd a feature lost in pw(8) refactoring

pw usermod foo -m

It used to be able to (re)create the home directory if it didn't exists

r312650:
Really restore the old behaviour for pw usermod -m

It again reinstall missing skel files without overwriting changed one
Add a regression test about it

PR: 216224
Reported by: ae

313488 09-Feb-2017 ngie

MFC r289172,r290254:

r289172:

Refactor the test/ Makefiles after recent changes to bsd.test.mk (r289158) and
netbsd-tests.test.mk (r289151)

- Eliminate explicit OBJTOP/SRCTOP setting
- Convert all ad hoc NetBSD test integration over to netbsd-tests.test.mk
- Remove unnecessary TESTSDIR setting
- Use SRCTOP where possible for clarity

r290254:

Remove unused variable (SRCDIR)


/freebsd-10-stable/bin/cat/tests/Makefile
/freebsd-10-stable/bin/date/tests/Makefile
/freebsd-10-stable/bin/expr/tests/Makefile
/freebsd-10-stable/bin/ls/tests/Makefile
/freebsd-10-stable/bin/mv/tests/Makefile
/freebsd-10-stable/bin/pax/tests/Makefile
/freebsd-10-stable/bin/pkill/tests/Makefile
/freebsd-10-stable/bin/sh/tests/Makefile
/freebsd-10-stable/bin/sleep/tests/Makefile
/freebsd-10-stable/bin/test/tests/Makefile
/freebsd-10-stable/bin/tests/Makefile
/freebsd-10-stable/cddl/lib/tests/Makefile
/freebsd-10-stable/cddl/sbin/tests/Makefile
/freebsd-10-stable/cddl/tests/Makefile
/freebsd-10-stable/cddl/usr.bin/tests/Makefile
/freebsd-10-stable/cddl/usr.sbin/dtrace/tests/Makefile
/freebsd-10-stable/cddl/usr.sbin/tests/Makefile
/freebsd-10-stable/gnu/lib/tests/Makefile
/freebsd-10-stable/gnu/tests/Makefile
/freebsd-10-stable/gnu/usr.bin/diff/tests/Makefile
/freebsd-10-stable/gnu/usr.bin/tests/Makefile
/freebsd-10-stable/lib/atf/libatf-c++/tests/Makefile
/freebsd-10-stable/lib/atf/libatf-c++/tests/detail/Makefile
/freebsd-10-stable/lib/atf/libatf-c/tests/Makefile
/freebsd-10-stable/lib/atf/libatf-c/tests/detail/Makefile
/freebsd-10-stable/lib/atf/tests/Makefile
/freebsd-10-stable/lib/atf/tests/test-programs/Makefile
/freebsd-10-stable/lib/libc/tests/Makefile
/freebsd-10-stable/lib/libc/tests/Makefile.netbsd-tests
/freebsd-10-stable/lib/libc/tests/c063/Makefile
/freebsd-10-stable/lib/libc/tests/db/Makefile
/freebsd-10-stable/lib/libc/tests/gen/Makefile
/freebsd-10-stable/lib/libc/tests/gen/execve/Makefile
/freebsd-10-stable/lib/libc/tests/gen/posix_spawn/Makefile
/freebsd-10-stable/lib/libc/tests/hash/Makefile
/freebsd-10-stable/lib/libc/tests/inet/Makefile
/freebsd-10-stable/lib/libc/tests/locale/Makefile
/freebsd-10-stable/lib/libc/tests/net/Makefile
/freebsd-10-stable/lib/libc/tests/net/getaddrinfo/Makefile
/freebsd-10-stable/lib/libc/tests/regex/Makefile
/freebsd-10-stable/lib/libc/tests/rpc/Makefile
/freebsd-10-stable/lib/libc/tests/setjmp/Makefile
/freebsd-10-stable/lib/libc/tests/ssp/Makefile
/freebsd-10-stable/lib/libc/tests/stdio/Makefile
/freebsd-10-stable/lib/libc/tests/stdlib/Makefile
/freebsd-10-stable/lib/libc/tests/string/Makefile
/freebsd-10-stable/lib/libc/tests/sys/Makefile
/freebsd-10-stable/lib/libc/tests/termios/Makefile
/freebsd-10-stable/lib/libc/tests/time/Makefile
/freebsd-10-stable/lib/libc/tests/tls/Makefile
/freebsd-10-stable/lib/libc/tests/tls/dso/Makefile
/freebsd-10-stable/lib/libc/tests/ttyio/Makefile
/freebsd-10-stable/lib/libcrypt/tests/Makefile
/freebsd-10-stable/lib/libmp/tests/Makefile
/freebsd-10-stable/lib/libnv/tests/Makefile
/freebsd-10-stable/lib/libpam/libpam/tests/Makefile
/freebsd-10-stable/lib/librt/tests/Makefile
/freebsd-10-stable/lib/libthr/tests/Makefile
/freebsd-10-stable/lib/libthr/tests/dlopen/Makefile
/freebsd-10-stable/lib/libthr/tests/dlopen/dso/Makefile
/freebsd-10-stable/lib/libutil/tests/Makefile
/freebsd-10-stable/lib/msun/tests/Makefile
/freebsd-10-stable/lib/tests/Makefile
/freebsd-10-stable/libexec/atf/atf-check/tests/Makefile
/freebsd-10-stable/libexec/atf/atf-sh/tests/Makefile
/freebsd-10-stable/libexec/atf/tests/Makefile
/freebsd-10-stable/libexec/tests/Makefile
/freebsd-10-stable/sbin/devd/tests/Makefile
/freebsd-10-stable/sbin/dhclient/tests/Makefile
/freebsd-10-stable/sbin/growfs/tests/Makefile
/freebsd-10-stable/sbin/mdconfig/tests/Makefile
/freebsd-10-stable/sbin/tests/Makefile
/freebsd-10-stable/secure/lib/tests/Makefile
/freebsd-10-stable/secure/libexec/tests/Makefile
/freebsd-10-stable/secure/tests/Makefile
/freebsd-10-stable/secure/usr.bin/tests/Makefile
/freebsd-10-stable/secure/usr.sbin/tests/Makefile
/freebsd-10-stable/share/examples/tests/Makefile
/freebsd-10-stable/share/tests/Makefile
/freebsd-10-stable/tests/etc/Makefile
/freebsd-10-stable/tests/sys/mqueue/Makefile
/freebsd-10-stable/tests/sys/pjdfstest/tests/Makefile
/freebsd-10-stable/usr.bin/apply/tests/Makefile
/freebsd-10-stable/usr.bin/basename/tests/Makefile
/freebsd-10-stable/usr.bin/calendar/tests/Makefile
/freebsd-10-stable/usr.bin/cmp/tests/Makefile
/freebsd-10-stable/usr.bin/col/tests/Makefile
/freebsd-10-stable/usr.bin/comm/tests/Makefile
/freebsd-10-stable/usr.bin/cut/tests/Makefile
/freebsd-10-stable/usr.bin/dirname/tests/Makefile
/freebsd-10-stable/usr.bin/file2c/tests/Makefile
/freebsd-10-stable/usr.bin/grep/tests/Makefile
/freebsd-10-stable/usr.bin/gzip/tests/Makefile
/freebsd-10-stable/usr.bin/join/tests/Makefile
/freebsd-10-stable/usr.bin/jot/tests/Makefile
/freebsd-10-stable/usr.bin/lastcomm/tests/Makefile
/freebsd-10-stable/usr.bin/m4/tests/Makefile
/freebsd-10-stable/usr.bin/ncal/tests/Makefile
/freebsd-10-stable/usr.bin/printf/tests/Makefile
/freebsd-10-stable/usr.bin/sed/tests/Makefile
/freebsd-10-stable/usr.bin/tests/Makefile
/freebsd-10-stable/usr.bin/truncate/tests/Makefile
/freebsd-10-stable/usr.bin/uudecode/tests/Makefile
/freebsd-10-stable/usr.bin/uuencode/tests/Makefile
/freebsd-10-stable/usr.bin/xargs/tests/Makefile
/freebsd-10-stable/usr.bin/yacc/tests/Makefile
/freebsd-10-stable/usr.sbin/etcupdate/tests/Makefile
/freebsd-10-stable/usr.sbin/fstyp/tests/Makefile
/freebsd-10-stable/usr.sbin/newsyslog/tests/Makefile
/freebsd-10-stable/usr.sbin/nmtree/tests/Makefile
Makefile
/freebsd-10-stable/usr.sbin/sa/tests/Makefile
/freebsd-10-stable/usr.sbin/tests/Makefile
305750 12-Sep-2016 asomers

MFC r302778

pw should sanitize the argument of -w.

Otherwise, it will silently disable the login for the selected account if
the argument is unrecognizable.

usr.sbin/pw/pw.h
usr.sbin/pw/pw_conf.c
usr.sbin/pw/pw_user.c
Use separate rules to validate boolean parameters and passwd
parameters. Error out if a password parameter cannot be parsed.

usr.sbin/pw/tests/Makefile
usr.sbin/pw/tests/crypt.c
usr.sbin/pw/tests/pw_useradd.sh
usr.sbin/pw/tests/pw_usermod.sh
Add tests for the validation. Also, enhance existing
password-related tests to actually validate that the correct hash is
written to master.passwd.

303257 24-Jul-2016 bapt

Do not try to delete the home of the user if is is not a directory for example
"/dev/null"

PR: 211195
Submitted by: rday <ryan@ryanday.net>
Reported by: eniorm <eniorm@gmail.com>

292025 09-Dec-2015 bapt

MFC: r291657

Fix handling of numeric-only names with pw lock
Add a regression test about it

PR: 204968

287084 23-Aug-2015 bapt

MFC: r285133,r285136,r285137,r285156,r285157,r285158,r285256,r285318,r285395,
r285396,r285398,r285401,r285403,r285405,r285406,r285408,r285409,r285411,
r285412,r285413,r285415,r285418,r285430,r285433,r285434,r285442,r285948,
r285984,r285985,r285989,r285996,r285997,r286045,r286047,r286066,r286150,
r286151,r286152,r286154,r286155,r286156,r286157,r286173,r286196,r286197,
r286198,r286199,r286200,r286201,r286202,r286203,r286204,r286210,r286211,
r286217,r286218,r286258,r286259,r286341,r286775,r286982,r286986,r286991,
r286993

Validate most pw inputs.
Rewrite the way parsing sub arguments is made to simplify code and improve
maintenability
Add -y (NIS) to userdel/usermod
pw userdel -r <rootdir> now deletes directories in the rootdir
Only parse pw.conf when needed
Reject usermod and userdel if the user concerned is not on the user database
supposed to be manipulated

285092 03-Jul-2015 bapt

MFC: r274011,r274022,r274453,r274542,r274632,r274727,r275653,r275656,r275657,
r275658,r275829,r277652,r277764,r278475,r278767,r278819,r278902,r279256,
r282681,r282683,r282685,r282686,r282687,r282697,r282698,r282699,r282700,
r282709,r282712,r282713,r282716,r282718,r282719,r282720,r282721,r283809,
r283810,r283811,r283814,r283815,r283816,r283818,r283841,r283842,r283843,
r283961,r283962,r284110,r284111,r284112,r284113,r284114,r284117,r284118,
r284119,r284120,r284121,r284122,r284123,r284124,r284126,r284128,r284129,
r284130,r284133,r284135,r284137,r284139,r284140,r284148,r284149,r284392

Lots of cleanup in the pw(8) code
Add pw -R <rootdir>
Add lots of regression tests
More accurate error messages

Approved by: re (kib)
Sponsored by: gandi.net

274082 04-Nov-2014 bapt

MFC: 272445,272578,273772,273779,273782,273786,273787,273791

Add a test for bug 191427 where pw(8) will go into an infinite loop
Add some tests for modifying groups
When a group is renamed then the group has been invalidated for sure.
In that case get the group information using the new name.

Fix a regression in pw usermod -G list

The user was perperly adding the to different groups from "list" but was not
removed from the other groups it could have belong to.

Do not delete the group wheel when bad argument is passed to pw groupdel -g

Check that the -g argument is actually a number, if not report an error.
This argument is converted without checking with atoi(3) later so without this
check it converts any alpha entries into 0 meaning it deletes the group wheel

Ensure pw userdel -u <invalid> do not try to remove root

Check the uid passed is actually a number as early as possible

Fix renaming a group via the gr_copy function

Add a regression test to pw(8) because the bug was discovered via using:
pw groupmod

PR: 193704 [1], 185666 [2], 90114 [3], 187189 [4]
Submitted by: Marc de la Gueronniere [4]
Reported by: az [1], sub.mesa@gmail.com [2], bkoenig@cs.tu-berlin.de [3],
mcdouga9@egr.msu.edu [4]

272445 02-Oct-2014 brd

- Add a test for bug 191427 where pw(8) will go into an infinite loop

Reviewed by: will
MFC after: 1 month