Baptiste Daroussin
abd4699ce2
Fix pkg groupshow <gid>
...
PR: 204676
Submitted by: longwitz@incore.de
MFC after: 2 days
2016-12-10 12:48:48 +00:00
Baptiste Daroussin
e1fc61c114
Fix typo preventing pw {user,group}next -C from working as expected
...
Reported by: Mike Selnet via forums.freebsd.org
MFC after: 3 days
2016-06-04 16:31:33 +00:00
Baptiste Daroussin
36a8b62f3a
Restore dryrun support for pw groupmod
2015-12-28 23:57:22 +00:00
Enji Cooper
0fbf8c6085
Initialize quiet
to false so pw groupnext
again prints out the next gid
...
by default
Reported by: Florian Degner <f.degner@gmx.de>
MFC after: 1 week
PR: 203876
Sponsored by: EMC / Isilon Storage Division
2015-10-19 18:29:32 +00:00
Ed Schouten
fc6ab77011
Avoid calling strlen() where we can use the strspn() return value.
2015-08-03 22:07:50 +00:00
Baptiste Daroussin
8159e0373f
Split some extra long lines
2015-08-02 13:33:17 +00:00
Baptiste Daroussin
bcbdb01e56
Cleanup a bit includes
2015-08-02 13:22:46 +00:00
Baptiste Daroussin
f4124312a1
Fix regression: report if a group already exists when creating it
2015-08-02 12:56:25 +00:00
Baptiste Daroussin
d2d022b9fd
Rewrite parsing subcommands arguments of pw(8)
...
Now each subcommands checks its arguments in a dedicated functions.
This helps improving input validation, code readability/maintainability
While here:
- Add a -y option to pw userdel/usermod so it can maintain NIS servers if
nispasswd is not defined in pw.conf(5)
- Allow pw -r <rootdir> to remove directory with userdel -r
- Fix bug when renaming a user which was not renaming the user name it groups
it is a member of.
- Only parse pw.conf(5) when needed.
2015-08-02 12:47:50 +00:00
Baptiste Daroussin
50698e6718
Cast uid/git to uintmax_t when using printf-like functions so the size of
...
uid/gid size remains a implementation detail
2015-08-01 09:55:47 +00:00
Baptiste Daroussin
9c56d9c5e4
Remove now unused variable
2015-07-11 23:17:13 +00:00
Baptiste Daroussin
5ebd525aab
Rework groupmod modification:
...
Use gr_add(3) when possible to avoid code duplication.
Use a simpler logic to delete members of a group
2015-07-11 22:35:07 +00:00
Baptiste Daroussin
d14c48479c
Make a separate groupdel/userdel from the main function
2015-07-11 19:07:47 +00:00
Baptiste Daroussin
ae73dd9f37
Make separate functions to show users and groups
2015-07-11 18:09:27 +00:00
Baptiste Daroussin
8daa3a67ff
Move the quiet flag into the configuration structure
2015-07-11 17:01:08 +00:00
Baptiste Daroussin
f936ccb5f8
Separate usernext/groupnext from the main functions
2015-07-11 16:58:47 +00:00
Baptiste Daroussin
0fc58d1446
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@fabiankeil.de>
2015-07-09 14:14:44 +00:00
Baptiste Daroussin
9d028e08ce
Also validate inputs of pw groupmod -h and groupmod -H
2015-07-04 15:54:11 +00:00
Baptiste Daroussin
3bfc59e83b
backout remove of -q option for pw [user|group] next
...
While the return code is broken, some corner case usage depends on the
functionnality, so backout until we get better regression tests covering those
corner case usage.
2015-06-08 05:27:34 +00:00
Baptiste Daroussin
6328a4be57
Fix typo
2015-06-08 05:06:17 +00:00
Baptiste Daroussin
0958dffde2
Remove '-q' support for pw [user|group] next
...
the intent of -q in this command is to return as exit status the value of the
next group/user id, which does not make sense given exit status are limited to
values between 0 and 255.
2015-06-07 21:57:20 +00:00
Baptiste Daroussin
91860967e2
Fix duplicate checking
2015-06-07 19:59:01 +00:00
Baptiste Daroussin
bae068d22e
In case of rename validate the length of the new name
...
Check early that the new name fits MAXLOGNAME and store it in pwconf
2015-06-07 19:33:25 +00:00
Baptiste Daroussin
a923718979
Refactor input validation
...
Mutualize code to validate inputs of both 'user' and 'group' command
Test that the input name fits into MAXLOGNAME
2015-06-07 19:03:41 +00:00
Baptiste Daroussin
2166b4d190
Handle pretty print (-P) via global pwconf
2015-06-07 15:27:17 +00:00
Baptiste Daroussin
363cefdbb1
Handle dryrun (-N) via global pwconf
2015-06-07 15:09:53 +00:00
Baptiste Daroussin
2cc63cd136
Add a new global struct pwconf to store etcpath, rootdir and struct userconf
...
Do not add anymore -R and -V to arglist
Add an error message if both -V and -R are set in arguments
2015-06-07 14:34:38 +00:00
Baptiste Daroussin
1238a919d2
Instead of always casting the pw_checkname input to u_char * and casting it back
...
to char *, change pw_checkname to directly take char * in input
2015-06-07 10:57:02 +00:00
Baptiste Daroussin
6138e089bc
Cast to gid_t for groups not uid_t
2015-05-31 22:12:31 +00:00
Baptiste Daroussin
68cea7d570
Remove useless cast in printf and printf-like functions:
...
use %u for uid_t and gid_t
2015-05-31 22:07:03 +00:00
Baptiste Daroussin
ee2582c212
Cast -1 to uid_t and bump WARNING level to 3
2015-05-31 21:44:09 +00:00
Baptiste Daroussin
5710dc534c
Make pw_user()/pw_group() more consitent about errors
...
Some of errors were returned to the main function, some others caused a direct
exit via err(3).
The main function is only interested in EXIT_SUCCESS, so in all other cases
replace warn(3) + return err by err(3)
2015-05-31 11:23:19 +00:00
Baptiste Daroussin
4b2b10bd25
Revert r277652
...
uid and gid are never and should never be negative. The pw(8) manpage clearly
states the -u and -g arguments are for uids/gids, hence using negative values is
abusing a bug in former versions of pw(8)
2015-01-26 16:50:42 +00:00
Baptiste Daroussin
70a89b8588
Allow negative numbers in -u and -g options
...
PR: 196514
MFC after: 1 week
2015-01-24 19:13:03 +00:00
Baptiste Daroussin
156ebc2878
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
Add a regression test about it
PR: 90114
Reported by: bkoenig@cs.tu-berlin.de
MFC after: 1 week
2014-10-28 14:54:04 +00:00
Baptiste Daroussin
fb7830888d
When a group is renamed then the group has been invalidated for sure.
...
In that case get the group information using the new name.
Add a regression test about this bug
PR: 193704
Reported by: az
2014-10-28 11:20:30 +00:00
Julian Elischer
5691bbf05d
Stop pw(8) from segfaulting when given certain input
...
PR:187310
Submitted by: Kim Shrier
Obtained from: bug
MFC after: 1 week
2014-03-06 19:26:08 +00:00
Baptiste Daroussin
0c50344969
Fix a regression in "pw group show" introduced r242349:
...
print a newline after printing each group line.
PR: bin/174731
Submitted by: Jan Beich <jbeich@tormail.org>
2012-12-27 14:44:13 +00:00
Eitan Adler
61fd27bb3b
Remove useless check for NULL prior to free.
...
Approved by: cperciva
MFC after: 2 weeks
2012-12-05 13:56:43 +00:00
Baptiste Daroussin
fb2db03194
Teach pw(8) about how to use pw/gr API to reduce code duplication
...
MFC after: 2 months
2012-10-30 08:00:53 +00:00
Sean Farley
bc991a6d5f
Add the groupmod '-d' option to pw to allow the deletion of existing users
...
from a group without the need to perform the same operation by replacing
the existing list via the '-M' option. The '-M' option requires someone
to fetch the existing members with pw, deleting the undesired members from
the list and sending the altered list back to pw.
Approved by: wes (mentor)
MFC after: 5 days
2008-02-23 01:25:22 +00:00
Sean Farley
72d1b828b3
style(9) (verified no object changes)
...
Approved by: wes (mentor)
MFC after: 5 days
2008-02-23 01:17:42 +00:00
Ian Dowse
87d6b5caf6
Add a -H <fd>' option that is like
-h <fd>', but accepts an already
...
encrypted password on the specified file descriptor.
PR: bin/22033
MFC after: 2 weeks
2004-01-11 18:28:08 +00:00
Andrey A. Chernov
e7161f368a
Localize time/date.
...
Use ISO 8601 date in logs.
Fix wrong argument type in ctype functions.
2000-06-22 16:48:41 +00:00
David Nugent
923dc0b2c3
Portability fixes for other bsd4.4 derivatives.
2000-01-15 00:20:22 +00:00
David Nugent
2399cd14a7
Add new functionality "lock" and "unlock" to provide a simple password
...
locking mechanism for users. This works by prepending the string
"*LOCKED*" to the password field in master.passwd to prevent successful
decoding.
1999-10-26 08:34:09 +00:00
David Nugent
c190a0f584
Clean up error handling in fileupdate(), which now returns 0 on success
...
instead of a boolean. This replicated through he front-end sub-functions
relating to add, delete, modify entries in passwd & group files
Errno is now preserved so output of errc()/warnc() will be less obfuscated
by subsequent errors when reporting the problem.
Add more intelligent error handling when attempting to modify/delete NIS
entries with no corresponding local database entry.
[MFC to stable in a couple of weeks to keep both in sync]
1999-10-26 04:27:14 +00:00
Peter Wemm
97d92980a9
$Id$ -> $FreeBSD$
1999-08-28 01:35:59 +00:00
David Nugent
5f12594a29
1) Do not blindly ignore file update errors which may occur due to concurrent
...
updating
2) Add -V <etcdir>, which allows maintaining user/group database in alternate
locations other than /etc.
1999-02-23 07:15:11 +00:00
Philippe Charnier
1dcc6ec750
Use err(3) instead of local redefinition. Add rcsid string.
1997-10-10 06:23:42 +00:00