Commit Graph

601 Commits

Author SHA1 Message Date
peter
deea9bd48d Add filler man pages for the kinfo functions I added recently.
While here, hook up the hexdump(3) man page which wasn't being installed.
2008-12-07 03:33:36 +00:00
peter
1a56ba723d Attempt a quick bandaid for arm build breakage. I went to the trouble of
maintaining alignment, but I'm not sure how to tell gcc this.
2008-12-02 10:10:50 +00:00
peter
16271b5bfa Add experimental front ends to the kinfo_vmentry and kinfo_filedesc
sysctls.
2008-11-30 22:40:14 +00:00
avatar
b7ea450d84 Fixing !INET6 builds. 2008-11-25 02:15:09 +00:00
scf
3396c8ff44 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
2008-11-23 23:26:12 +00:00
scf
f1f52c3b11 style(9) fixes.
MFC after:	1 week
2008-11-11 00:32:55 +00:00
des
5778d16d17 Like many other functions that handle sockaddrs, realhostname_sa() takes a
struct sockaddr * that it casts internally to the appropriate type based on
sa_family.  However, struct sockaddr has very lax alignment requirements,
which causes the compiler to complain when you cast a struct sockaddr * to,
say, a struct sockaddr_in6 *.

I find it reasonable to assume that the pointer we received is in fact
correctly aligned.  Therefore, we can work around the compiler warnings by
casting to void * before casting to the desired type.  For readability's
sake, this is done with macros.

The same technique should prove useful in other parts of the tree that
deal with socket addresses.

MFC after:	3 weeks
2008-11-05 12:13:10 +00:00
des
8dd958ae17 Comment out WARNS. There are too many alignment issues in libutil. 2008-11-05 11:06:10 +00:00
des
52c1c041c4 Disconnect gr_util.c from the build. It isn't documented or used anywhere
in the tree, and due to unsafe pointer arithmetic, it will most likely crash
on architectures with strict alignment requirements.
2008-11-05 10:45:39 +00:00
des
07619c0f0d libutil now builds at WARNS level 6.
MFC after:	3 weeks
2008-11-04 13:51:15 +00:00
des
506af7637c Add missing header. 2008-11-04 13:50:50 +00:00
des
d1723ee052 Avoid assigning a const char * to a char *.
MFC after:	3 weeks
2008-11-04 13:49:53 +00:00
ed
2521297ed1 Remove unneeded call to revoke() inside openpty().
As discussed on the commits list, there is no need to call revoke()
inside openpty(). On RELENG_6 and RELENG_7 unlockpt() will call
revoke(). On HEAD we create pseudo-terminals on demand, so there is no
need to revoke the slave device node.

This change should never be MFC'd, because the implementation we have in
RELENG_6 and RELENG_7 should work flawlessly with older versions of
libc.

Discussed with:	jhb
MFC after:	never
2008-10-28 06:00:13 +00:00
des
526ffc2acc Diff reduction against Varnish, including one important fix: use a shared
lock if the file is opened with O_RDONLY.
2008-10-20 18:11:30 +00:00
des
fd059e9b04 Reimplement flopen(3) using fcntl(2) locks instead of flock(2) locks. 2008-10-20 18:02:16 +00:00
des
9a22db9431 pidfile(3) uses flopen(3) - don't make any assumptions about how the
latter is implemented.
2008-10-20 18:00:11 +00:00
des
fef0e9dfaf There is no point in releasing a lock on a file which we've unlinked and
are about to close, so don't.  As a bonus, pidfile_remove(3) will now
work with an fcntl(2)-based flopen(3).
2008-10-20 17:41:08 +00:00
des
a7d94abf21 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.
2008-10-20 17:17:58 +00:00
des
afd6f1dcd0 Additional style and whitespace fixes. 2008-10-20 17:09:50 +00:00
des
9dcafcf0a3 Style and whitespace 2008-10-20 17:07:50 +00:00
des
214f29e32b Unbreak 2008-10-20 17:04:57 +00:00
des
767e2b5352 Since setclasscpumask() is not static, assume that it is intended to be
part of the public API.  Accordingly, add a prototype and document it.
2008-10-20 17:03:05 +00:00
des
70afe705b8 Style and whitespace. 2008-10-20 16:54:53 +00:00
des
ab560b6812 Parenthesize return values. 2008-10-20 16:51:43 +00:00
des
acbcfa5fb2 include and whitespace cleanup. 2008-10-20 16:48:18 +00:00
delphij
767e2acdc7 Use strlcpy() when we mean it. 2008-10-17 21:21:14 +00:00
ed
7ccb72cce6 Small cleanups to openpty().
- Pass O_NOCTTY to posix_openpt(2). This makes the implementation work
  consistently on implementations that make the PTY the controlling TTY
  by default.

- Call unlockpt() before opening the slave device. POSIX mentions that
  de slave device should only be opened after grantpt() and unlockpt()
  have been called.

- Replace some redundant code by a label.

In theory we could remove a lot of code from openpty() on FreeBSD
-CURRENT, because grantpt(), unlockpt() and revoke() are not needed in
our implementation. We'd better keep them there. This makes the code
still work with older FreeBSD releases and even makes it work on other
non-BSD operating systems.

I've compiled openpty() on Linux. You only need to remove the revoke()
call, because revoke() on Linux always returns -1. Apart from that, it
seems to work like it should.

Reviewed by:	jhb
2008-10-03 09:42:50 +00:00
ed
cc3116a938 Integrate the new MPSAFE TTY layer to the FreeBSD operating system.
The last half year I've been working on a replacement TTY layer for the
FreeBSD kernel. The new TTY layer was designed to improve the following:

- Improved driver model:

  The old TTY layer has a driver model that is not abstract enough to
  make it friendly to use. A good example is the output path, where the
  device drivers directly access the output buffers. This means that an
  in-kernel PPP implementation must always convert network buffers into
  TTY buffers.

  If a PPP implementation would be built on top of the new TTY layer
  (still needs a hooks layer, though), it would allow the PPP
  implementation to directly hand the data to the TTY driver.

- Improved hotplugging:

  With the old TTY layer, it isn't entirely safe to destroy TTY's from
  the system. This implementation has a two-step destructing design,
  where the driver first abandons the TTY. After all threads have left
  the TTY, the TTY layer calls a routine in the driver, which can be
  used to free resources (unit numbers, etc).

  The pts(4) driver also implements this feature, which means
  posix_openpt() will now return PTY's that are created on the fly.

- Improved performance:

  One of the major improvements is the per-TTY mutex, which is expected
  to improve scalability when compared to the old Giant locking.
  Another change is the unbuffered copying to userspace, which is both
  used on TTY device nodes and PTY masters.

Upgrading should be quite straightforward. Unlike previous versions,
existing kernel configuration files do not need to be changed, except
when they reference device drivers that are listed in UPDATING.

Obtained from:		//depot/projects/mpsafetty/...
Approved by:		philip (ex-mentor)
Discussed:		on the lists, at BSDCan, at the DevSummit
Sponsored by:		Snow B.V., the Netherlands
dcons(4) fixed by:	kan
2008-08-20 08:31:58 +00:00
brooks
8330af909c Add support for a new login capability, cpumask which allows login
sessions to be pinned to cpus by login class.
2008-07-25 19:58:14 +00:00
kib
daac7ea939 Add #include <inttypes.h> for the strtoimax().
Submitted by:	Jilles Tjoelker <jilles stack nl>
MFC after:	3 days
2008-07-07 12:20:34 +00:00
jhb
b3f9efd84f 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
2008-07-01 22:30:57 +00:00
scf
cab3742f10 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
2008-04-23 00:49:13 +00:00
antoine
ea3f3b4bc0 Merge changes from NetBSD on humanize_number.c, 1.8 -> 1.13
Significant changes:
- rev. 1.11: Use PRId64 instead of a cast to long long and %lld to print
an int64_t.
- rev. 1.12: Fix a bug that humanize_number() produces "1000" where it
should be "1.0G" or "1.0M".  The bug reported by Greg Troxel.

PR:		118461
PR:		102694
Approved by:	rwatson (mentor)
Obtained from:	NetBSD
MFC after:	1 month
2008-03-08 21:55:59 +00:00
jhb
c02890da0b Put back the openpty(3) and ptsname(3) fixes but don't disable ptsname(3)
on pts(4) devices this time.  This fixes the issues while leaving pts(4)
enabled on HEAD.
2008-01-15 15:36:23 +00:00
cperciva
2f49f42d98 Back out last commit, since it accidentally broke pts.
The security fix will be re-committed soon, hopefully without breaking
anything.
2008-01-15 13:59:13 +00:00
jhb
db1781cf23 Update the manpage for openpty(3) to account for the recent fixes.
Specifically, remove the BUGS section and note that openpty(3) now always
does the various security-related steps.  Also, update the error return
value section.  The PR below is for the original bug rather than the doc
updates.

MFC after:	1 week
PR:		bin/9770
2008-01-14 23:49:56 +00:00
cperciva
533f13b8b2 Fix issues which allow snooping on ptys. [08:01]
Fix an off-by-one error in inet_network(3). [08:02]

Security: FreeBSD-SA-08:01.pty
Security: FreeBSD-SA-08:02.libc
2008-01-14 22:56:05 +00:00
jhb
03594bb79f Invoke revoke(2) on the slave pty in the pts(4) case (new_openpty()) to
kick off any other users on the device line before using it since
openpty(3) is documented to do this.  Note that grantpt(3) does not
call revoke(2), it only adjusts permissions and ownership.

MFC after:	3 days
2007-12-20 21:10:06 +00:00
jhb
3c82b6a5c7 Bump up the number of ttys supported by pty(4) to 512 by making use of
[pt]ty[lmnoLMNO][0-9a-v].

MFC after:	3 days
Reviewed by:	rwatson
2007-11-19 20:49:42 +00:00
jb
1897d44373 Constify the first argument to expand_number() so that it can
be called with a const without the compiler grisling.
2007-11-18 02:20:02 +00:00
simon
15a00681b7 Minor mdoc cleanup: Every sentence should start on its own line. 2007-10-13 11:09:45 +00:00
kib
6a0967dff6 When pidfile is already locked and has zero length, do not return
success and zero pid from pidfile_read(). Return EAGAIN instead. Sleep
up to three times for 5 ms while waiting for pidfile to be written.

mount(8) does the kill(mountpid, SIGHUP). If mountd pidfile is truncated,
that would result in the SIGHUP delivered to the mount' process group
instead of the mountd.

Found and analyzed by:	Peter Holm
Tested by:	Peter Holm, kris
Reviewed by:	pjd
MFC after:	1 week
2007-10-12 10:38:05 +00:00
obrien
4657f1f225 Adjust history.
Approved by:	re(ken)
2007-09-28 15:31:44 +00:00
pjd
cdecabb273 - Fix strange for loop.
Reported by:	phk

- While here, check the unit before calculating the actually number.
  This way we can return EINVAL for invalid unit instead of ERANGE.

Approved by:	re (kensmith)
2007-09-05 14:27:13 +00:00
pjd
7002fe2c1f Point expand_number(3) at humanize_number(3) and nive versa.
Suggested by:	trhodes
Approved by:	re (kensmith)
2007-09-05 14:25:16 +00:00
pjd
cc12b6df61 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)
2007-09-01 06:19:11 +00:00
des
28682dd29a Back out previous commit until I figure out why my regression test fails.
Approved by:	re (kensmith)
2007-08-03 09:20:28 +00:00
des
3cfbe77a3e Use fcntl(2)-style locks instead of less-portable flock(2)-style locks.
Approved by:	re (kensmith)
2007-08-03 06:32:45 +00:00
yar
31192e1f32 Document the quirks of ~/.login_conf and LOGIN_MECLASS. 2007-06-14 09:33:37 +00:00
yar
aece401e56 Improve mdoc(7) markup. 2007-06-14 07:31:59 +00:00
yar
9790f8d691 Update some comments, mostly regarding LOGIN_MECLASS and ~/.login_conf. 2007-06-14 06:42:49 +00:00
des
7e2e8064f7 Nit: avoid shadowing truncate(2) with a local variable. 2007-05-23 12:09:33 +00:00
des
aac7a2ca82 Fix stupid braino in previous commit. 2007-05-23 10:06:03 +00:00
des
253a9fb8b6 If (flags & O_TRUNC), don't truncate the file until we've successfully
locked it.

MFC after:	3 weeks
2007-05-23 08:12:34 +00:00
deischen
ff36458e08 Bump library versions in preparation for 7.0.
Ok'd by:	kan
2007-05-21 02:49:08 +00:00
des
719c87d1ee strlcpy() may be faster than snprintf(), but it is less portable, and this
is not performance critical code anyway.  Also, avoid using strlen() to
obtain information which we already have.

MFC after:	3 weeks
2007-05-11 11:10:05 +00:00
des
4503779c68 Fix typo.
Submitted by:	Bård Skaflestad <bardsk@math.ntnu.no>
2007-05-10 18:15:30 +00:00
des
ced6c23397 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.
2007-05-10 15:01:42 +00:00
des
2c5ccfbba9 Remove superfluous unexpanded RCS tag. 2007-05-10 14:56:07 +00:00
des
82f6d6455d Use flopen(3).
MFC after:	3 weeks
2007-05-10 14:54:53 +00:00
des
50d71f5464 DTRT when O_NONBLOCK is specified.
MFC after:	3 weeks
2007-05-10 14:52:57 +00:00
des
5d25ea6b62 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
2007-05-10 14:43:31 +00:00
yar
1008fb2fea Fix one kind of style(9) bug and a typo in a comment.
Tested with:	md5(1)
2007-05-01 18:50:33 +00:00
imp
130ae175fc Remove California Regent's clause 3, per letter 2007-01-09 01:02:06 +00:00
trhodes
444451185b Fix a typo: "the give login class" to "the given login class."
PR:		75577
Submitted by:	Nobuyuki Koganemaru
2006-11-05 19:00:08 +00:00
ru
c23de2fec8 Fix markup in previous revision. 2006-10-10 08:15:08 +00:00
trhodes
f19a940255 Add information on how to escape a literal colon in a value or name.
PR:	101262
2006-10-09 22:35:02 +00:00
ru
81bed6b884 Revise markup in recently added manpages. 2006-09-30 10:34:13 +00:00
ru
f4eec08060 Markup fixes. 2006-09-17 21:27:35 +00:00
thomas
e5de30ab6d Minor comment fix. 2006-09-08 08:14:32 +00:00
thomas
2bf8d53a14 (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
2006-09-04 15:09:21 +00:00
yar
7815d31aea Recognize the existence of auth' and auth-type'
capabilities but tell they do nothing in the base system.

This is a late responce to
http://docs.freebsd.org/cgi/mid.cgi?ED759F1DC5ADD74592DD063B1EDEDAF803ACD2B5
.

Obtained from:	OpenBSD (wording; with minor corrections)
2006-08-23 09:54:46 +00:00
yar
c6e8412606 style.Makefile(5) is good for our eyes. 2006-07-27 12:36:46 +00:00
imp
5d17f2bbe1 Note the convention that humanize_number follows.
Add 'engineering' numbers to table.
2006-07-15 20:53:36 +00:00
maxim
9db24c22ff o Add missed comma, xref kld(4). 2006-07-12 14:33:52 +00:00
brian
b33fcf8840 Remove some unused variables 2006-06-23 01:42:03 +00:00
maxim
3c4a758003 o Typo: ownship -> ownership.
Obtained from:	DragonFlyBSD
2006-06-17 07:25:58 +00:00
akiyama
f9f3be843b Specify default path for SHLIBDIR before bsd.own.mk does.
This fix shared library installed correct place.
2006-06-11 09:14:06 +00:00
delphij
1489501378 Don't build IPv6 support if we have choosen not to have it. 2006-06-09 18:11:29 +00:00
delphij
43da20f970 - Add include for libutil.h and string.h for prototype.
- Cast the rvalue to be compared with the result of
   strlen() to size_t.
2006-05-25 04:01:04 +00:00
ume
2d16d1ab8e Bump library majro version for gethostbyaddr(3). 2006-05-21 15:15:21 +00:00
brueffer
7ea2a54c0b Document how the backoff delay is calculated.
Submitted by:	markus
MFC after:	3 days
2006-04-19 17:46:27 +00:00
jmg
a2a4e2db32 use pwrite to always write at the begining of the file.. If multiple calls
to pidfile_write happen, the pidfile will have nul characters prepended
due to the cached file descriptor offset...

Reviewed by:	scottl
MFC after:	3 days
2006-04-11 23:10:02 +00:00
keramida
4465edc46a Use intmax_t' instead of plain int' for pid_t casts.
Useful tips from:	ru, bde
Approved by:		pjd
MFC after:		3 days
2006-03-04 15:20:28 +00:00
des
748c235cfd Add utility functions for checking if a given kernel module is loaded,
and loading it.
2006-02-18 11:25:28 +00:00
pjd
b5f41824ae - Add a note that passing NULL to pidfile_write(), pidfile_remove() and
pidfile_close() functions is safe. This possibility is used in example code.
- Cast pid_t to int.

Requested by:	yar
2006-01-28 14:13:15 +00:00
cognet
b7565a36f0 Teach openpty() how to deal with pts. 2006-01-26 01:33:26 +00:00
rwatson
2ec0453929 Restore use of strncpy(), as there is later unconditional termination
of the string, and reliance on the returned pointer.

Found by:	bde (tm)
2006-01-16 11:54:07 +00:00
rwatson
2ad9f38f26 Replace strncpy() with strlcpy() when parsing login time limit strings
from /etc/login.conf, or an unterminated string buffer could result.
Probably, login_times.c should reject excessively long time strings as
unparseable, rather than truncating, which might render an invalid
string valid.

Found with:	Coverity Prevent (tm)
Reviewed by:	csjp
MFC after:	3 days
2006-01-16 00:52:20 +00:00
rwatson
b4fd2a3c90 Fix typo in comment.
MFC after:	3 days
2006-01-16 00:28:11 +00:00
csjp
3c839b2489 Document the LOGIN_SETMAC setusercontext(3) flag. While we are here, drop
in an external reference to mac_set_proc(3).
2005-12-30 06:16:20 +00:00
jhb
7091045951 Restore the previous state after a FILL operation in properties_read()
rather than forcing the state to LOOK.  If we are in the middle of parsing
a line when we have to do a FILL we would have lost any token we were in
the middle of parsing and would have treated the next character as being
at the start of a new line instead.

PR:		kern/89181
Submitted by:	Antony Mawer gnats at mawer dot org
MFC after:	1 week
2005-11-28 16:30:16 +00:00
ru
5bd42d0a34 Fix prototype. 2005-11-24 11:29:11 +00:00
ru
6e1cf27cb4 Fix markup, grammar and spelling. 2005-11-18 14:21:28 +00:00
brooks
87f2281f65 When removing the local domain, only do so when the result will be a
host name.  This is matches the documented behaviro.  The previous
behavior would remove the domain name even if the result retained a dot.

This fixes rsh connections from a.example.com to example.com.

Reviewed by:	ceri (at least the concept)
2005-10-05 04:42:20 +00:00
pjd
c71407b589 Pidfiles should be created with permission preventing users from opening
them for reading. When user can open file for reading, he can also
flock(2) it, which can lead to confusions.

Pointed out by:	green
2005-09-16 11:24:28 +00:00
pjd
a5fe3401b9 Add a family of functions for reliable pidfiles handling.
Idea from:	jmg
Discussed on:	arch@
2005-08-24 17:21:38 +00:00
kensmith
f97f77429f Bump the shared library version number of all libraries that have not
been bumped since RELENG_5.

Reviewed by:	ru
Approved by:	re (not needed for commit check but in principle...)
2005-07-22 17:19:05 +00:00
ume
e33ba03345 NI_WITHSCOPEID cleanup. Neither RFC 2553 nor RFC 3493 defines
NI_WITHSCOPEID, and our getaddrinfo(3) does nothing special
for it, now.
2005-05-13 16:31:11 +00:00
trhodes
17bf236ae6 Properly spell default in a comment. 2005-04-22 23:11:57 +00:00
delphij
ecb578572b Remove duplicated "bytes".
Submitted by:	Wojciech A. Koszek [dunstan freebsd czest pl]
PR:		79747
2005-04-10 12:15:25 +00:00
trhodes
3effafb90a Fix grammatical issue.
Submitted by:	ceri
2005-02-27 22:24:24 +00:00
trhodes
f5e3ae6b91 Use ~/.login_conf when discussing a user's local file.
Suggested by:	ru
2005-02-26 23:41:04 +00:00
trhodes
6eab363209 Reword previous commit to be a bit more correct and provide more information.
Inspiried by:	ru
2005-02-25 00:32:41 +00:00
trhodes
5e74dd0d39 Make it more obvious that cap_mkdb(1) is required to rebuild the database.
PR:		76981
Submitted by:	Lowell Gilbert <freebsd-bugs-local@be-well.ilk.org>
2005-02-23 22:11:59 +00:00
ru
1541af42f1 Expand *n't contractions. 2005-02-13 22:25:33 +00:00
ru
fe3627f1e0 Reflect the reality; only crypt(3) uses /etc/auth.conf
for the time being.
2005-01-21 12:07:46 +00:00
ru
ed72feddcb Sort sections. 2005-01-20 09:17:07 +00:00
ru
5384a04b6a Scheduled mdoc(7) sweep. 2005-01-11 20:50:51 +00:00
trhodes
769923c308 Various markup and spelling fixes.
PR:		75574
Submitted by:	Nobuyuki Koganemaru <n-kogane@syd.odn.ne.jp> (original version)
2004-12-29 02:18:24 +00:00
ru
d4138a03c5 Grammar in a comment. 2004-12-18 12:31:12 +00:00
pjd
b897378c21 Backout manual page updates.
Requested by:	ru
2004-09-26 12:08:31 +00:00
pjd
afbc779ed0 Take the lastest fixes from NetBSD.
Obtained from:	NetBSD
2004-09-25 14:11:34 +00:00
pjd
5b5cfb3bca There is no such manual page in FreeBSD. 2004-09-16 18:32:58 +00:00
obrien
f850188f63 Document when this function came into FreeBSD. 2004-08-21 03:31:17 +00:00
roam
42f1d6d32b Spell FTP correctly - in this case, it is used as the name of the protocol,
not the program.  Also, bump the document date.

Reminded by:	our resident mdoc guard (ru)
2004-08-06 12:56:39 +00:00
roam
6cbbe8f719 Add Giorgos's description of the ftp-chroot login.conf option.
Reported by:	Bill Moran <wmoran@potentialtech.com>
Submitted by:	keramida
MFC after:	2 weeks
2004-08-06 10:43:24 +00:00
ru
2b2d3c7563 Markup fixes. 2004-07-07 20:25:54 +00:00
ru
57ce50860e Eliminate double whitespace. 2004-07-03 22:30:10 +00:00
ru
01548ace15 Mechanically kill hard sentence breaks. 2004-07-02 23:52:20 +00:00
pjd
4225bf90f0 Humanize_number(3) is a part of libutil. 2004-05-25 20:11:50 +00:00
trhodes
7fc50ba299 You want to include libutil.h, not util.h.
Some minor sentence tweaking.
2004-05-25 18:53:54 +00:00
pjd
d207894810 Add humanize_number(3) to libutil for formating numbers into a human
readable form.

Obtained from:	NetBSD
2004-05-24 22:19:27 +00:00
stefanf
f4d682445c Don't depend on NULL's expansion being a pointer, cast it before it is passed
to variadic functions.

Approved by:	das (mentor)
2004-05-18 15:53:58 +00:00
dds
b581d18d3f Fix and clarify unparsable sentence.
MFC after:	2 weeks
2004-05-11 11:10:09 +00:00
dds
95de53b08b Bring the description for login_getclassbyname in sync with the function's
arguments.  The function has as a second argument a struct passwd * pointer,
not a directory name.

MFC after:	2 weeks
2004-05-11 11:05:26 +00:00
kientzle
48517ca7da Back out the "clean_environment()" function from libutil.
Further contemplation has convinced me that this was
not going to really solve the problem of environment-poisoning
without raising serious administrative headaches.  There
must be a better way...
2004-02-29 22:13:28 +00:00
kientzle
7aa85c4e5f Add the clean_environment call to libutil.h also.
MFC after: 2 weeks
2004-02-26 22:44:11 +00:00
kientzle
8b8fb9aae5 Add a clean_environment call to libutil.
This function removes all environment variables except
the ones listed on a "whitelist."

The function accepts two whitelist arguments.
If the first is NULL, a built-in default list will be
used.  This allows callers to get a variety of behaviors:
  * Default screening: provide NULL for both lists
  * Custom screening: provide a custom list for the first argument
  * Modified default screening: provide NULL for first arg,
     list of additional variables to preserve in the second arg

Idea from: Jacques Vidrine

MFC after: 2 weeks
2004-02-26 22:41:47 +00:00
rwatson
ba0d21ac7c Bump the major version on libtuil. libutil now relies on the mac_*
symbols exported by newer versions of libc, and so we want applications
depending on the newer library code to be required to link against the
newer libc.

Discussed with:	scottl, kris, imp
2003-11-12 21:56:07 +00:00
tjr
f2e37a2394 Remove __NETBSD_SYSCALLS. 2003-10-29 10:55:56 +00:00
peter
79a9b01a78 (mostly) Clean up some const warnings here. The code takes some liberties
because it is the originator of various const strings and knows that they
came from malloc.
2003-10-26 03:51:47 +00:00
markm
3f45792057 ANSIfy, WARNSify, CONSTify. Bit of style(9)-ify. 2003-10-18 10:04:16 +00:00
markm
4d1565cf18 Remove a GCC specifig CFLAG. We should be using WARNS=? for this.
WARNS=? is not added here at this point, because I've not tested
it on enough platforms, and I don't want to break builds.
2003-10-18 09:58:39 +00:00
ru
1edcd1b018 mdoc(7): Properly mark C headers. 2003-09-10 19:24:35 +00:00
obrien
372364ee0f style.Makefile(5) 2003-08-18 15:25:39 +00:00
gordon
5901302929 Stage 3 of dynamic root support. Make all the libraries needed to run
binaries in /bin and /sbin installed in /lib. Only the versioned files
reside in /lib, the .so symlink continues to live /usr/lib so the
toolchain doesn't need to be modified.
2003-08-17 08:28:46 +00:00
markm
924232818d Tidy up. Sort headers. 2003-06-14 18:42:37 +00:00
murray
d7153c6134 Backout last commit. It is redundant in -CURRENT.
Pointed out by:	David Schultz
2003-05-05 06:25:03 +00:00
murray
292bedae8d Note that the idletime setting is not enforced.
PR:		docs/40952
MFC After:	3 days
2003-05-04 21:35:41 +00:00
murray
24d926fd08 Document the login-backoff and login-retries capabilities.
PR:		docs/51397
MFC After:	3 days
2003-05-04 06:43:24 +00:00
trhodes
10e8cd48a8 Add vmemoryuse to the list.
PR:		50796
Submitted by:	Dmitry Sivachenko <mitya@cavia.pp.ru>
2003-04-26 15:15:05 +00:00
des
dcecf33e14 Brucify. 2003-04-10 10:26:18 +00:00
des
f514349f09 Correctly detect the case where a password entry was changed while we were
preparing to edit it.

PR:		bin/50563
2003-04-09 18:20:51 +00:00
des
12196b5a56 Apply the correct fix for bin/50679: don't mess around with process groups
or the tty, just block selected signals in the parent like system(3) does.
Many thanks to bde for his assistance in finding the correct solution.

PR:		bin/50679
2003-04-09 16:39:47 +00:00
des
1d2413048f Band-aid for the "^C kills the editor" problem. I haven't yet found the
proper way to fix this.  The way this works is to prepend "exec " to
the editor command to eliminate the "shell in the middle" which prevents
us from properly reawakening the editor after a SIGTSTP.

PR:		bin/50679
2003-04-08 18:04:30 +00:00
charnier
f0ffe0ef9f The .Fn function 2003-03-24 16:02:05 +00:00
das
f1bbc8cde6 Make pw_edit() use /bin/sh to interpret the EDITOR environment
variable.

PR:		48748
Reviewed by:	mike (mentor)
2003-03-17 02:12:55 +00:00
das
ead4a3adcb Re-document unimplemented capabilities that were removed in the last
revision of this file, but note that they are not supported in the
base system.

Requested by:	ache
Reviewed by:	ache, mike (mentor)
2003-03-05 00:21:35 +00:00
das
1b88f49a56 - Document the fact that we now use pam_passwdqc(8) to check
password quality, not login.conf(5).
- Move warnexpire and warnpasswd from the ``Accounting Limits''
  section to ``Authentication'', and nix everything else in the
  former section.  The accounting knobs are not available in
  the base system, and the subset of them available in ports
  should be documented in the ports' manpages.

PR:		47960
Reviewed by:	mike (mentor), doc
2003-03-03 05:09:24 +00:00
ru
8b5b8ec6a7 mdoc(7) police: markup laundry. 2003-02-23 01:47:49 +00:00
ache
5c5994bd15 Now return NULLified struct in case of empty config file
(previous variant return NULL pointer for both empty file case and error case,
so caller can't sense error properly).

It not affect existen programs because property_find() now returns NULL
for both NULL pointer and NULLified struct.
2003-01-27 03:39:33 +00:00
ache
779e19d000 Handle read errors 2003-01-27 03:14:04 +00:00
ache
c60183cc58 Add (unsigned char) cast to ctype macros
Handle NULL return from malloc and strdup
2003-01-19 03:05:01 +00:00
schweikh
86f7487fb6 Fix typos, mostly s/ an / a / where appropriate and a few s/an/and/
Add FreeBSD Id tag where missing.
2002-12-30 21:18:15 +00:00
schweikh
fec6546e12 english(4) police. 2002-12-27 12:15:40 +00:00
chris
a52def4e3f Document the `label' capability.
Approved by:	re
Sponsored by:	DARPA, Network Associates Labs
Obtained from:	TrustedBSD Project
2002-11-22 22:22:10 +00:00
peter
570525a6c7 Oops. Some ut_time stuff slipped through the cracks. These turned out
to be non-fatal due to stack alignment roundups.
2002-11-17 23:46:45 +00:00
rwatson
b942ef4ae6 Add LOGIN_SETMAC to the list of flags that can't be set without class
information, since we rely on the pwd entry to know what MAC labels
to set as part of the login process.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2002-11-12 22:30:01 +00:00
sheldonh
9dcd1c6c1d Use "deprecated" instead of "depreciated" where appropriate. 2002-10-30 07:49:11 +00:00
des
e0746634a5 Don't forget to '\n'-terminate new entries. This unbreaks chpass -a.
Submitted by:	joerg
2002-10-29 13:58:42 +00:00
rwatson
7b9f8f277b If LOGIN_SETMAC is set and MAC is enabled in the kernel, then see
if the user has a 'label' entry in their login class.  If so, attempt
to set that label on the process as part of the credential setup.  If
we're unable to parse the label, or unable to set the label, fail.
In the future, we may also want to warn if a label is set but the
kernel doesn't support MAC.

Approved by:	re
Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2002-10-23 03:17:22 +00:00
peter
0a7f0ba37e Zap now-unused SHLIB_MINOR 2002-09-28 00:25:32 +00:00
charnier
4966efff7b Replace various spelling with FALLTHROUGH which is lint()able 2002-08-25 13:10:45 +00:00
rwatson
672aa78ecb Add LOGIN_SETMAC, which will indicate to the user context management code
that it should also set the user's default MAC label, if available and
permitted.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, NAI Labs
2002-08-16 02:14:21 +00:00
rwatson
c455dcde64 Whitespace cleanup--it's not style(9), but it is consistent. Prep
for MAC-related commits to the login infrastructure.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, NAI Labs
2002-08-11 01:48:43 +00:00
ru
dd72b72c9a mdoc(7) police: spelling. 2002-08-09 12:08:47 +00:00
ache
47681d4a8a Add additional field 'overwrite' to login_vars. It mainly needed to handle
"term" according to manpage, i.e. not overwrite it, if already present in
environment.
2002-06-28 14:45:30 +00:00
sobomax
43c345ecb4 Backout previous delta (addition of -I${.CURDIR}/../../sys).
Submitted by:	bde
2002-06-26 13:25:23 +00:00
sobomax
d2858dfb8c Add -I${.CURDIR}/../../sys into CFLAGS, which should fix the world broken
by RLIMIT_VMEM addition.
2002-06-26 10:33:10 +00:00
dillon
f3f62e5297 Add documentation for vmemoryuse 2002-06-26 03:58:31 +00:00
dillon
90195bf296 Make libutil aware of vmemoryuse in its login.conf cap processing (aka
sshd, /usr/bin/login, etc)
2002-06-26 03:54:18 +00:00
n_hibma
e8868912eb Be more clear in error messages.
Distinguish between a held lock and a failed lock op.

If rpc.lockd is not running on a diskless client this makes clearer
what the problem is.
2002-06-23 19:23:46 +00:00
ume
41a722805a Return HOSTNAME_INVALIDADDR when reverse lookup is fail.
Submitted by:	Sergey Zorin <sergey@cc.tpu.edu.ru>
2002-06-07 17:25:19 +00:00
wollman
303c628e35 Add used include of <string.h>. 2002-05-30 19:38:07 +00:00
des
0e558b0a7a If no old_pw was passed to pw_copy, compare just the name.
Sponsored by:	DARPA, NAI Labs
2002-05-08 14:52:32 +00:00
des
ac9ea0e5ca Add passwd manipulation code based on parts of vipw and chpass.
Sponsored by:	DARPA, NAI Labs
2002-05-08 00:50:07 +00:00
des
c9db9bb418 login(3) doesn't care about the controlling terminal any more. 2002-04-20 12:24:20 +00:00
des
23c5e9b816 Fix for the sshd(8) utmp problem. Previously, login(3) would ignore the tty
named by its argument and use ttyslot(3) instead to determine what slot to
use.  The problem is that sshd(8) calls pam_open_session(3) before forking
the child (as it should), at which point it does not have a controlling
terminal.  Also, ttyslot(3) is very crude as it assumes fd 0, 1 or 2 refers
to the controlling terminal, which is usually (but not always) the case.

Instead of using ttyslot(3) to determine the slot number, look up the
specified tty in /etc/ttys ourselves (this is what ttyslot(3) does anyway).

(perforce change 9969)

Sponsored by:	DARPA, NAI Labs
2002-04-20 12:23:04 +00:00
des
e914cc2fa2 Make mppath and masterpasswd pointers instead of arrays, and initialize
them to point at static strings that contain the default paths.  This
makes 'vipw -d' work again (I broke it in rev 1.21; apologies for taking
so long to fix it.)

Spotted by:	Olivier Houchard <doginou@cognet.ci0.org>
Sponsored by:	DARPA, NAI Labs
2002-04-17 00:18:15 +00:00
ceri
36e818184d Add a missing cross-ref.
Approved by:	murray
MFC after:	1 week
2002-04-16 10:15:51 +00:00
des
929a8fb33d Remove bogus reference to _use_yp. 2002-04-15 15:50:59 +00:00
ru
07997437f0 Const poisoning. 2002-04-08 11:04:56 +00:00
obrien
e2881f49cc Remove multi-line __P() usage. 2002-03-22 09:22:15 +00:00
obrien
fd9d7ac0ed Remove __P() usage. 2002-03-21 23:54:04 +00:00
obrien
084b4588f2 Remove 'register' keyword. 2002-03-21 23:39:28 +00:00
des
b91092523b Remove a bogus cast. 2002-03-06 15:24:51 +00:00
dd
fee779d388 Correct a typo.
PR:		35273
Submitted by:	Nicola Vitale <nivit@libero.it>
2002-03-03 01:13:47 +00:00
bde
e89f04538e #include <time.h> for the definition of time functions instead of
depending on namespace pollution 2 layers deep in <sys/stat.h>.

Sorted includes.
2002-02-25 12:02:03 +00:00
bde
30b7ca1cdf #include <stddef.h> for the definition of NULL instead of depending on
namespace pollution 2 layers deep in <sys/stat.h>.

Sorted includes.
2002-02-25 01:25:30 +00:00
des
3f7a9ec821 ANSIfy and constify.
Sponsored by:	DARPA, NAI Labs
2002-02-05 06:49:11 +00:00
rwatson
a86bfc340f o Reflect repo-copy of extattr.[c3] from libutil to libc, moving
extattr namespace routines to the libc/posix1e directory.  While
  the extattr calls are not strictly POSIX.1e, POSIX.1e wasn't
  strictly ever approved, so I think that's OK.

Obtained from:	TrustedBSD Project
2001-11-16 05:09:45 +00:00
rwatson
25d4f2e1ac o Document 'nocheckmail' login capability. 2001-11-16 04:39:43 +00:00
rwatson
fccf958cd6 Although the 'bool' type is referenced in the list of capabilities, it
is not defined in the capability type list.  Provide a definition for
'bool', if a slightly less than elegant one.  Note that this definition
does not include the complete scope of available behavior defined
in cgetcap(3), and could probably be improved.
2001-11-16 02:40:09 +00:00
yar
c01da464b6 Fix the phrase about "both files", which must be left
from login(3). This page, logwtmp(3), speaks of only
one file -- wtmp(5).

MFC after:	1 week
2001-10-11 11:02:50 +00:00
ru
623da62a5a mdoc(7) police: Use the new .In macro for #include statements. 2001-10-01 16:09:29 +00:00
dillon
3f4eabe659 Add __FBSDID()s to libutil 2001-09-30 22:35:07 +00:00
ache
c8a3d8ce02 1) Back out ~/.login_conf disable
2) Pick only "me" class from ~/.login_conf as documented
2001-09-25 11:07:26 +00:00
rwatson
42e6b3b99d Disable per-user .login_conf support due to incorrect merging of local
and globaly settings.  An alternative implementation will be developed.

Reported by:	Przemyslaw Frasunek <venglin@freebsd.lublin.pl>
2001-09-16 16:48:40 +00:00
rwatson
d2c6f7e657 o Add a comment noting that the early setting of privileges for the purpose
of NFS home directory and root directory processing fails to include
  additional groups.  This doesn't impact the final credential, but does
  mean that users may be denied login even when additional groups might
  allow it.
2001-09-15 16:12:56 +00:00