Kirk McKusick [Fri, 13 Feb 2009 19:56:59 +0000 (19:56 +0000)]
Make hasquota thread safe.
Kirk McKusick [Fri, 13 Feb 2009 06:12:15 +0000 (06:12 +0000)]
Move hasquota() function to libutil.
Dag-Erling Smørgrav [Fri, 30 Jan 2009 13:54:03 +0000 (13:54 +0000)]
WIP
Ulf Lilleengen [Mon, 5 Jan 2009 15:18:16 +0000 (15:18 +0000)]
Merge support for CVSMode (aka. mirror mode) into csup. This means csup can now
fetch a complete CVS repository. Support for rsync update of regular files are
also included, but are not yet enabled. The change should not have an impact on
existing csup usage, as little of the existing code has changed.
Dag-Erling Smørgrav [Thu, 4 Dec 2008 18:48:08 +0000 (18:48 +0000)]
integrate from head@185615
Peter Wemm [Tue, 2 Dec 2008 06:50:26 +0000 (06:50 +0000)]
Merge user/peter/kinfo branch as of r185547 into head.
This changes struct kinfo_filedesc and kinfo_vmentry such that they are
same on both 32 and 64 bit platforms like i386/amd64 and won't require
sysctl wrapping.
Two new OIDs are assigned. The old ones are available under
COMPAT_FREEBSD7 - but it isn't that simple. The superceded interface
was never actually released on 7.x.
The other main change is to pack the data passed to userland via the
sysctl. kf_structsize and kve_structsize are reduced for the copyout.
If you have a process with 100,000+ sockets open, the unpacked records
require a 132MB+ copyout. With packing, it is "only" ~35MB. (Still
seriously unpleasant, but not quite as devastating). A similar problem
exists for the vmentry structure - have lots and lots of shared libraries
and small mmaps and its copyout gets expensive too.
My immediate problem is valgrind. It traditionally achieves this
functionality by parsing procfs output, in a packed format. Secondly, when
tracing 32 bit binaries on amd64 under valgrind, it uses a cross compiled
32 bit binary which ran directly into the differing data structures in 32
vs 64 bit mode. (valgrind uses this to track file descriptor operations
and this therefore affected every single 32 bit binary)
I've added two utility functions to libutil to unpack the structures into
a fixed record length and to make it a little more convenient to use.
Sean Farley [Sun, 23 Nov 2008 23:26:12 +0000 (23:26 +0000)]
Fixed style issues with variable ordering and naming, spacing and
parentheses.
Fixed alignment issue in gr_dup() in its assignment of gr_mem using a
struct to force alignment without performing alignment mathematics. This
was noticed recently with libutil was built with WARNS=6 on platform such
as sparc64.
Added checks to gr_dup(), gr_equal() and gr_make() to prevent segfaults
when examining struct group's with the struct members pointing to NULL's.
With fix of alignment issue, restore WARNS?=6.
Reviewed by: des
MFC after: 1 week
Sean Farley [Tue, 11 Nov 2008 00:32:55 +0000 (00:32 +0000)]
style(9) fixes.
MFC after: 1 week
Dag-Erling Smørgrav [Tue, 4 Nov 2008 14:20:08 +0000 (14:20 +0000)]
MFH (r184638): build at WARNS level 6
Dag-Erling Smørgrav [Tue, 4 Nov 2008 13:54:07 +0000 (13:54 +0000)]
MFH (r184633, r184635): build at WARNS level 6
Dag-Erling Smørgrav [Tue, 4 Nov 2008 13:49:53 +0000 (13:49 +0000)]
Avoid assigning a const char * to a char *.
MFC after: 3 weeks
Dag-Erling Smørgrav [Tue, 4 Nov 2008 13:49:18 +0000 (13:49 +0000)]
Committed to wrong branch.
Dag-Erling Smørgrav [Tue, 4 Nov 2008 13:44:43 +0000 (13:44 +0000)]
Avoid assigning a const char * to a char *.
MFC after: 3 weeks
Dag-Erling Smørgrav [Mon, 20 Oct 2008 18:11:30 +0000 (18:11 +0000)]
Diff reduction against Varnish, including one important fix: use a shared
lock if the file is opened with O_RDONLY.
Dag-Erling Smørgrav [Mon, 20 Oct 2008 18:02:16 +0000 (18:02 +0000)]
Reimplement flopen(3) using fcntl(2) locks instead of flock(2) locks.
Dag-Erling Smørgrav [Mon, 20 Oct 2008 17:17:58 +0000 (17:17 +0000)]
Since in_lt() and in_lts() are not static, assume that they are intended to
be part of the public API. Accordingly, add prototypes and document them.
Dag-Erling Smørgrav [Mon, 20 Oct 2008 17:03:05 +0000 (17:03 +0000)]
Since setclasscpumask() is not static, assume that it is intended to be
part of the public API. Accordingly, add a prototype and document it.
Dag-Erling Smørgrav [Mon, 20 Oct 2008 16:54:53 +0000 (16:54 +0000)]
Style and whitespace.
Ulf Lilleengen [Sun, 19 Oct 2008 08:43:16 +0000 (08:43 +0000)]
- Import the Makefile from HEAD for building csup.
Ulf Lilleengen [Sun, 19 Oct 2008 08:41:10 +0000 (08:41 +0000)]
- Import the HEAD csup code which is the basis for the cvsmode work.
Andrey A. Chernov [Sat, 16 Aug 2008 15:41:03 +0000 (15:41 +0000)]
Use arc4random_uniform() to avoid "modulo bias"
Remove pw_getrand() unneded now: arc4random_uniform() is stronger then
pw_getrand()'s MD5 tricks (inactive) and its active version, mixing
arc4random() bytes in one, not make things better at all.
John Baldwin [Wed, 30 Jul 2008 18:37:21 +0000 (18:37 +0000)]
The original adduser/rmuser scripts in Perl used to modify the PATH
setting. When the scripts were converted to Bourne shell, this was
removed. The adduser script was changed to use an explicit path for
the pw(8) command so that /usr/sbin did not have to be in the user's
PATH. The rmuser script continued to assume that /usr/sbin was in the
user's path, however. This fixes the rmuser script to use an explicit
path for pw(8) similar to adduser.
MFC after: 2 weeks
Brooks Davis [Fri, 25 Jul 2008 19:58:14 +0000 (19:58 +0000)]
Add support for a new login capability, cpumask which allows login
sessions to be pinned to cpus by login class.
John Baldwin [Thu, 17 Jul 2008 13:47:59 +0000 (13:47 +0000)]
Before updating the password database, the pw(8) utility first performs a
sanity check by invoking "pwd_mkdb -C". However, if this failed it
silently returned success. Fix this so it fails the update operation
instead.
MFC after: 1 week
John Baldwin [Tue, 1 Jul 2008 22:30:57 +0000 (22:30 +0000)]
Merge hexdump(9) to userland as hexdump(3) in libutil. I'm tired of doing
this by hand in userland utilities.
MFC after: 1 month
Antoine Brodin [Tue, 27 May 2008 19:04:31 +0000 (19:04 +0000)]
- Increase the size of the salt in pw(8) from 8 to 32 (same as in pam_unix(8)).
This makes blowfish password hashes look normal when set using
pw(8)/adduser(8). [1]
- Make it possible to have a '/' in the salt.
PR: 121146 [1]
Submitted by: Jaakko Heinonen [1]
Approved by: rwatson (mentor)
MFC after: 1 month
Sean Farley [Wed, 23 Apr 2008 00:49:13 +0000 (00:49 +0000)]
Add four utility functions related to struct grp processing modeled in-part
after similar calls related to struct pwd in libutil/pw_util.c:
- gr_equal()
Perform a deep comparison of two struct grp's. It does a thorough, yet
unoptimized comparison of all the members regardless of order.
- gr_make()
Create a string (see group(5)) from a struct grp.
- gr_dup()
Duplicate a struct grp. Returns a value that is a single contiguous
block of memory.
- gr_scan()
Create a struct grp from a string (as produced by gr_make()).
MFC after: 3 weeks
Christian Brueffer [Sun, 16 Mar 2008 21:36:05 +0000 (21:36 +0000)]
In the description of the password field, -w was meant, not the
nonexistant -p flag.
PR: 120122
Submitted by: Andy Kosela <andy.kosela@gmail.com>
MFC after: 3 days
Sean Farley [Sat, 23 Feb 2008 01:25:22 +0000 (01:25 +0000)]
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
Sean Farley [Sat, 23 Feb 2008 01:17:42 +0000 (01:17 +0000)]
style(9) (verified no object changes)
Approved by: wes (mentor)
MFC after: 5 days
Mike Makonnen [Sun, 27 Jan 2008 10:15:36 +0000 (10:15 +0000)]
Add the -M command-line option, which will set home directory permissions.
Works both in interactive or batch mode. This is a heavily modified version
of the patch submitted in the PR.
PR: bin/105060
MFC after: 1 week
Mike Makonnen [Fri, 25 Jan 2008 15:54:14 +0000 (15:54 +0000)]
Clarify in what formats the grouplist for the '-G' switch may be accepted.
Submitted by: Eygene Ryabinkin <rea-fbsd@codelabs.ru>
John Birrell [Sun, 18 Nov 2007 02:20:02 +0000 (02:20 +0000)]
Constify the first argument to expand_number() so that it can
be called with a const without the compiler grisling.
Mike Makonnen [Sat, 20 Oct 2007 00:45:31 +0000 (00:45 +0000)]
Allow adding a user(s) to additional groups in batch mode as well.
Submitted by: Eygene Ryabinkin <rea-fbsd@codelabs.ru> (modulo minor changes)
MFC after: 2 weeks
Mike Makonnen [Fri, 19 Oct 2007 07:18:56 +0000 (07:18 +0000)]
The POP daemon's temporary mail file has a leading dot ('.'). This was
lost in the shell script rewrite of the rmuser command.
Submitted by: Ian Smith <smithi@nimnet.asn.au>
Pawel Jakub Dawidek [Sat, 1 Sep 2007 06:19:11 +0000 (06:19 +0000)]
Implement expand_number(3), which is the opposite of humanize_number(3), ie.
a number in human-readable form is converted to int64_t, for example:
123b -> 123
10k -> 10240
16G ->
17179869184
First version submitted by: Eric Anderson <anderson@freebsd.org>
Approved by: re (bmah)
Dag-Erling Smørgrav [Fri, 3 Aug 2007 09:20:28 +0000 (09:20 +0000)]
Back out previous commit until I figure out why my regression test fails.
Approved by: re (kensmith)
Dag-Erling Smørgrav [Fri, 3 Aug 2007 06:32:45 +0000 (06:32 +0000)]
Use fcntl(2)-style locks instead of less-portable flock(2)-style locks.
Approved by: re (kensmith)
Yaroslav Tykhiy [Thu, 14 Jun 2007 06:42:49 +0000 (06:42 +0000)]
Update some comments, mostly regarding LOGIN_MECLASS and ~/.login_conf.
Dag-Erling Smørgrav [Wed, 23 May 2007 12:09:33 +0000 (12:09 +0000)]
Nit: avoid shadowing truncate(2) with a local variable.
Dag-Erling Smørgrav [Wed, 23 May 2007 10:06:03 +0000 (10:06 +0000)]
Fix stupid braino in previous commit.
Dag-Erling Smørgrav [Wed, 23 May 2007 08:12:34 +0000 (08:12 +0000)]
If (flags & O_TRUNC), don't truncate the file until we've successfully
locked it.
MFC after: 3 weeks
Dag-Erling Smørgrav [Thu, 10 May 2007 15:01:42 +0000 (15:01 +0000)]
Well gag me with a spoon... I'm so used to working at high WARNS levels
that I make stupid fundamental mistakes like this when I don't.
Dag-Erling Smørgrav [Thu, 10 May 2007 14:56:07 +0000 (14:56 +0000)]
Remove superfluous unexpanded RCS tag.
Dag-Erling Smørgrav [Thu, 10 May 2007 14:52:57 +0000 (14:52 +0000)]
DTRT when O_NONBLOCK is specified.
MFC after: 3 weeks
Dag-Erling Smørgrav [Thu, 10 May 2007 14:43:31 +0000 (14:43 +0000)]
I'm tired of seeing this done incorrectly and non-portably, so add a
flopen(3) function which reliably opens and locks a file.
MFC after: 3 weeks
Ceri Davies [Thu, 12 Apr 2007 08:39:13 +0000 (08:39 +0000)]
Bump .Dd for r1.5; fix grammatical problem.
Mike Makonnen [Thu, 12 Apr 2007 08:35:58 +0000 (08:35 +0000)]
Specify the correct way to modify this file, and warn that the
user should not depend on the internal variables documented in
this man page.
MFC After: 2 weeks
Mike Makonnen [Thu, 12 Apr 2007 08:17:56 +0000 (08:17 +0000)]
There are a couple of bugs in rev. 1.27:
1) The man page should describe the code, not the other way around.
2) Internal variables should not be documented or exposed, except in
controlled circumstances (i.e. - That's what the -C flag is for).
The variable should have been saved to the config file in save_config().
3) The next available userid doesn't get automatically updated. The
end-result is the same (user gets added with the correct uid),
but in an interactive session the default uid doesn't get updated in
the display.
So,
o Use the uidstart variable instead of uuid (bug #3)
o Actually save the variable to adduser.conf (bug #2)
o (bug #1 to be fixed in an upcomming commit to adduser.conf.5)
MFC After: 2 weeks
Mike Makonnen [Thu, 12 Apr 2007 07:38:26 +0000 (07:38 +0000)]
Errm... I don't see how rev. 1.26 could have possibly worked or been tested.
Fix it for real.
Submitted by: Johnny Lee <johnny@bmtk.com>
MFC After: 2 weeks
Lukas Ertl [Fri, 30 Mar 2007 13:18:52 +0000 (13:18 +0000)]
Do the right thing with symlinks in the skeleton directory.
PR: bin/63659
Lukas Ertl [Fri, 30 Mar 2007 12:57:25 +0000 (12:57 +0000)]
Accept passwords which contain whitespace.
PR: bin/53434
Lukas Ertl [Fri, 30 Mar 2007 11:23:10 +0000 (11:23 +0000)]
Add home directory creation mode to pw.conf(5) and be a bit
more specific about the effect of the current umask on -M.
Lukas Ertl [Fri, 30 Mar 2007 10:02:47 +0000 (10:02 +0000)]
Add -M argument to usage() output.
Lukas Ertl [Mon, 26 Mar 2007 23:29:20 +0000 (23:29 +0000)]
Introduce the new option -M to allow to set the permissions of
the user's newly created home directory. If omitted, it's derived
from the current umask.
PR: bin/16880, bin/83253 (partially), bin/104248
MFC in: 1 month
Lukas Ertl [Mon, 26 Mar 2007 22:22:10 +0000 (22:22 +0000)]
Check if the new user already exists right after entering the
username instead of watching the final call to pw(8) fail.
Warner Losh [Tue, 9 Jan 2007 01:02:06 +0000 (01:02 +0000)]
Remove California Regent's clause 3, per letter
Warner Losh [Tue, 9 Jan 2007 00:28:16 +0000 (00:28 +0000)]
Per Regents of the University of Calfornia letter, remove advertising
clause.
# If I've done so improperly on a file, please let me know.
Ceri Davies [Tue, 5 Dec 2006 23:20:14 +0000 (23:20 +0000)]
Flush my typo fix queue for this directory.
Ceri Davies [Tue, 5 Dec 2006 23:05:53 +0000 (23:05 +0000)]
Fix typos.
Tom Rhodes [Mon, 9 Oct 2006 19:01:02 +0000 (19:01 +0000)]
Better mdoc(7). Bump doc date.
Kicked by: ru
Tom Rhodes [Mon, 9 Oct 2006 17:57:40 +0000 (17:57 +0000)]
Note the naming convention of files in share/skel and explain the "dot"
prefix is removed.
PR: 103828
Ruslan Ermilov [Fri, 29 Sep 2006 17:57:04 +0000 (17:57 +0000)]
Markup fixes.
Dmitry Morozovsky [Mon, 25 Sep 2006 15:06:24 +0000 (15:06 +0000)]
Fix bug introduced in rev 1.23:
pw_equal does not check crypted password field, so one cannot change
crypted password keeping other fields intact.
Approved by: des
MCF after: 3 days
Maxim Konovalov [Mon, 18 Sep 2006 14:00:39 +0000 (14:00 +0000)]
o Fix groupadd getopt line and make 'pw groupadd -o' work.
PR: bin/100684
Submitted by: Devon H. O'Dell
MFC after: 3 weeks
Thomas Quinot [Fri, 8 Sep 2006 08:14:32 +0000 (08:14 +0000)]
Minor comment fix.
Thomas Quinot [Mon, 4 Sep 2006 15:09:21 +0000 (15:09 +0000)]
(pw_copy): Handle the case of a malformed line in master.passwd
(copy it silently, do not dereference NULL pointer).
PR: bin/102848
Reviewed by: security-officer (cperciva)
MFC after: 1 week
Tom Rhodes [Wed, 7 Jun 2006 04:58:54 +0000 (04:58 +0000)]
Add adding_user.8 to SEE ALSO, note that usernames may contain any character
but not being with a hyphen, similar to adding_user.8.
PR: 35732
Ruslan Ermilov [Fri, 17 Mar 2006 18:54:44 +0000 (18:54 +0000)]
Reimplementation of world/kernel build options. For details, see:
http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061725.html
The src.conf(5) manpage is to follow in a few days.
Brought to you by: imp, jhb, kris, phk, ru (all bugs are mine)
Andrey A. Chernov [Tue, 14 Mar 2006 19:53:03 +0000 (19:53 +0000)]
POSIXed strtoll() (and ours one too) can set errno to EINVAL, so check
it first.
Approved by: andre
Andre Oppermann [Tue, 14 Mar 2006 16:57:30 +0000 (16:57 +0000)]
Import of OpenBSD's strtonum(3) which is a nicer version of strtoll(3)
providing proper error checking and other improvements.
Obtained from: OpenBSD
Requested by: flz (to port Open[BGP|OSPF]D)
MFC after: 3 days
Dag-Erling Smørgrav [Sat, 18 Feb 2006 11:25:28 +0000 (11:25 +0000)]
Add utility functions for checking if a given kernel module is loaded,
and loading it.
Matteo Riondato [Sun, 22 Jan 2006 18:37:51 +0000 (18:37 +0000)]
Honour the "uuid" directive in adduser.conf
PR: conf/87914
Approved by: philip (mentor)
MFC after: 3 days
Pawel Jakub Dawidek [Wed, 24 Aug 2005 17:21:38 +0000 (17:21 +0000)]
Add a family of functions for reliable pidfiles handling.
Idea from: jmg
Discussed on: arch@
Sean Chittenden [Tue, 2 Aug 2005 21:38:03 +0000 (21:38 +0000)]
Cross-reference pw(8) into chpass(1), passwd(1), and vipw(8).
Pawel Jakub Dawidek [Sun, 31 Jul 2005 08:25:53 +0000 (08:25 +0000)]
Change /home symbolic link, so it will point to usr/home instead of /usr/home.
Previous symlink was confusing:
# cd /jails/virtual_system_1/home
# realpath .
/usr/home
...and slower.
OK'ed by: rwatson, phk
Adam Weinberger [Tue, 24 May 2005 04:50:07 +0000 (04:50 +0000)]
Fix a particularly egregious grammar error.
Approved by: wpaul
MFC after: 1 day
Robert Drehmel [Thu, 28 Apr 2005 12:44:02 +0000 (12:44 +0000)]
- Act according to the documentation (man page):
When adding users from a preformatted file, do not exit
silently when empty lines or lines starting with a '#'
are encountered - ignore them instead.
- Fix a spelling error in a comment.
PR: bin/80058
Tom Rhodes [Fri, 22 Apr 2005 23:11:57 +0000 (23:11 +0000)]
Properly spell default in a comment.
Stefan Farfeleder [Sat, 9 Apr 2005 14:59:10 +0000 (14:59 +0000)]
Remove unused variables.
Stefan Farfeleder [Thu, 10 Feb 2005 09:05:27 +0000 (09:05 +0000)]
The variable `arglist' has internal linkage in pw.c, don't declare it as extern
here.
Ruslan Ermilov [Tue, 18 Jan 2005 20:02:45 +0000 (20:02 +0000)]
Sort sections.
Ruslan Ermilov [Tue, 18 Jan 2005 13:43:56 +0000 (13:43 +0000)]
Sort sections.
Ruslan Ermilov [Mon, 17 Jan 2005 07:44:44 +0000 (07:44 +0000)]
Added the EXIT STATUS section where appropriate.
Andrey A. Chernov [Wed, 29 Dec 2004 08:13:20 +0000 (08:13 +0000)]
More NO_NIS cleanup: LINKS and MLINKS
Ruslan Ermilov [Sat, 18 Dec 2004 12:31:12 +0000 (12:31 +0000)]
Grammar in a comment.
Bjoern A. Zeeb [Sat, 13 Nov 2004 20:40:32 +0000 (20:40 +0000)]
Add knob NO_NIS (fka NO_YP_LIBC) and make world compileable when set.
If turned on no NIS support and related programs will be built.
Lost parts rediscovered by: Danny Braniss <danny at cs.huji.ac.il>
PR: bin/68303
No objections: des, gshapiro, nectar
Reviewed by: ru
Approved by: rwatson (mentor)
MFC after: 2 weeks
Stefan Farfeleder [Sun, 3 Oct 2004 14:40:27 +0000 (14:40 +0000)]
Don't rely on NULL being a pointer, add a cast before passing it to a variadic
function.
Peter Pentchev [Thu, 23 Sep 2004 13:09:42 +0000 (13:09 +0000)]
In fullpath_from_shell(), move the nologin detection before the cat | while
loop to avoid an incorrect display of the nologin path twice.
PR: 71786
Submitted by: Andrew Hayden <andrew.hayden@gmail.com>
Reviewed by: mtm
MFC after: 3 days
Mike Makonnen [Sat, 28 Aug 2004 14:32:10 +0000 (14:32 +0000)]
Also, match the full path to the special nologin shell.
Previously, it would recognize it as a valid shell only
if the basename (nologin) was specified. Now, it will
recognize both the basename and the full path.
NOTE: The full path as adduser(8) understands it is /usr/sbin/nologin.
There is a symlink, /sbin/nologin, but that's deprecated and
only there for backwards compatibility.
Philippe Charnier [Mon, 26 Jul 2004 19:49:29 +0000 (19:49 +0000)]
Remove useless .Pp. Typo: gcos -> gecos (as spelled in passwd(5)).
Ruslan Ermilov [Fri, 2 Jul 2004 23:13:00 +0000 (23:13 +0000)]
Mechanically kill hard sentence breaks.
Ruslan Ermilov [Fri, 2 Jul 2004 22:22:35 +0000 (22:22 +0000)]
Mechanically kill hard sentence breaks.
Robert Drehmel [Thu, 17 Jun 2004 14:07:16 +0000 (14:07 +0000)]
Use strlcpy(3) to replace the idiomatic
strncpy(d, s, l);
d[l - 1] = '\0';
statements.
Robert Drehmel [Thu, 17 Jun 2004 10:29:12 +0000 (10:29 +0000)]
Fix a bug which occurred when the home directory given by the
-d option was equal to the one already saved and which caused
the pw utility to avoid updating values passed by other options
processed before the -d option in the code path.
Spotted by: Richard Caley <rjc@interactive.co.uk>
Ruslan Ermilov [Sun, 13 Jun 2004 18:03:44 +0000 (18:03 +0000)]
Assorted markup, grammar, and spelling fixes.
Christian S.J. Peron [Tue, 8 Jun 2004 14:52:55 +0000 (14:52 +0000)]
Add note that rmuser will clean up any IPC mechanisms owned by the user.
Approved by: bmilekic (mentor)
Mike Makonnen [Sun, 6 Jun 2004 17:55:55 +0000 (17:55 +0000)]
Accept full path names in addition to base names for shells.
Make explicit in the documentation that valid shells need to be
supplied only if the -S option is not given.
Ruslan Ermilov [Fri, 4 Jun 2004 19:21:26 +0000 (19:21 +0000)]
Fixed a typo.
Pawel Jakub Dawidek [Mon, 24 May 2004 22:19:27 +0000 (22:19 +0000)]
Add humanize_number(3) to libutil for formating numbers into a human
readable form.
Obtained from: NetBSD