Baptiste Daroussin
bcbdb01e56
Cleanup a bit includes
2015-08-02 13:22:46 +00:00
Baptiste Daroussin
db533440b7
Remove dead code
2015-08-02 12:48:36 +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
a86e343db6
Improve strtounum
...
Fix many style bugs
Better variable naming
Use C99 'restrict' were apropriate
Fix potential errno race
Submitted by: bde
2015-07-30 06:14:47 +00:00
Baptiste Daroussin
8411215a80
Create a strtounum function using the same API as strtonum
...
This function returns uintmax_t
Use this function to convert to gid_t/uid_t
2015-07-29 06:22:41 +00:00
Baptiste Daroussin
f936ccb5f8
Separate usernext/groupnext from the main functions
2015-07-11 16:58:47 +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
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
c145c34c09
Simplify reading pw.conf(5) by using getline(3)
2014-04-22 21:07:56 +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
Jung-uk Kim
644af48df6
Stop hard-coding default directory mode as 0777.
2011-03-08 20:13:29 +00:00
Lukas Ertl
85204142eb
Add home directory creation mode to pw.conf(5) and be a bit
...
more specific about the effect of the current umask on -M.
2007-03-30 11:23:10 +00:00
Stefan Farfeleder
3ce1d6bb59
The variable `arglist' has internal linkage in pw.c, don't declare it as extern
...
here.
2005-02-10 09:05:27 +00:00
Kris Kennaway
cab0fb4e48
Fix a harmless format string bogon and mark a function as __printflike().
...
There is still one instance of non-constant format string use inside that
function, but it's hard to fix.
MFC after: 1 week
2001-07-05 08:01:15 +00:00
Jake Burkholder
e39756439c
Back out the previous change to the queue(3) interface.
...
It was not discussed and should probably not happen.
Requested by: msmith and others
2000-05-26 02:09:24 +00:00
Jake Burkholder
740a1973a6
Change the way that the queue(3) structures are declared; don't assume that
...
the type argument to *_HEAD and *_ENTRY is a struct.
Suggested by: phk
Reviewed by: phk
Approved by: mdodd
2000-05-23 20:41:01 +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
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
Peter Wemm
476602a9d0
Revert $FreeBSD$ to $Id$
1997-02-22 16:15:28 +00:00
Jordan K. Hubbard
1130b656e5
Make the long-awaited change from $Id$ to $FreeBSD$
...
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.
Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.
1997-01-14 07:20:47 +00:00
David Nugent
f1d684fad9
Adds optional NIS passwd file updating and optionally rebuilding
...
NIS maps.
Suggested by: Peter Wemm
1997-01-05 07:15:37 +00:00
David Nugent
0970881ff6
1) 200 users per group limitation removed and pw
...
will handle lines of any length in /etc/group.
2) Fixed bug with usermod -d not updating user's home
directory.
3) Minor formatting display changes/fixes with *show -P.
1996-12-21 15:35:45 +00:00
David Nugent
d9b711b719
Allow 8-bit characters in the passwd gecos field, and adds a paragraph
...
to the mangpage explaining the consequences (to be updated at a later
date after login class conf support is added).
1996-12-19 15:22:45 +00:00
Joerg Wunsch
ad7cf975be
Copyright update by the author, to be more in line with our sample
...
copyright.
Submitted by: David Nugent
1996-12-10 23:59:04 +00:00
Joerg Wunsch
48aee7f33a
Upgrade from the author, reflecting all my wishes resulting out of the
...
sysinstall use of this tool (plus some bug fixes).
2.2 candidate...
Submitted by: David Nugent <davidn@nserver.usn.blaze.net.au>
1996-12-09 23:55:27 +00:00
Joerg Wunsch
d6f907dc7a
pw(8) -- a backend utility to manage the user and group databases.
...
sysinstall's new User&group menu will use it, hence it's a 2.2
candidate despite of providing new functionality.
Submitted by: David L. Nugent, <davidn@blaze.net.au>
1996-12-09 14:05:35 +00:00