summaryrefslogtreecommitdiffstats
path: root/lib/libutil
Commit message (Collapse)AuthorAgeFilesLines
* Reimplement flopen(3) using fcntl(2) locks instead of flock(2) locks.des2008-10-202-13/+16
|
* pidfile(3) uses flopen(3) - don't make any assumptions about how thedes2008-10-201-9/+8
| | | | latter is implemented.
* There is no point in releasing a lock on a file which we've unlinked anddes2008-10-201-4/+0
| | | | | are about to close, so don't. As a bonus, pidfile_remove(3) will now work with an fcntl(2)-based flopen(3).
* Since in_lt() and in_lts() are not static, assume that they are intended todes2008-10-202-2/+22
| | | | be part of the public API. Accordingly, add prototypes and document them.
* Additional style and whitespace fixes.des2008-10-201-1/+3
|
* Style and whitespacedes2008-10-201-17/+17
|
* Unbreakdes2008-10-201-3/+3
|
* Since setclasscpumask() is not static, assume that it is intended to bedes2008-10-202-5/+10
| | | | part of the public API. Accordingly, add a prototype and document it.
* Style and whitespace.des2008-10-201-15/+19
|
* Parenthesize return values.des2008-10-201-11/+11
|
* include and whitespace cleanup.des2008-10-201-7/+8
|
* Use strlcpy() when we mean it.delphij2008-10-173-6/+3
|
* Small cleanups to openpty().ed2008-10-031-23/+15
| | | | | | | | | | | | | | | | | | | | | | | | - 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
* Integrate the new MPSAFE TTY layer to the FreeBSD operating system.ed2008-08-202-14/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Add support for a new login capability, cpumask which allows loginbrooks2008-07-254-1/+132
| | | | sessions to be pinned to cpus by login class.
* Add #include <inttypes.h> for the strtoimax().kib2008-07-071-0/+1
| | | | | Submitted by: Jilles Tjoelker <jilles stack nl> MFC after: 3 days
* Merge hexdump(9) to userland as hexdump(3) in libutil. I'm tired of doingjhb2008-07-014-3/+201
| | | | | | this by hand in userland utilities. MFC after: 1 month
* Add four utility functions related to struct grp processing modeled in-partscf2008-04-233-1/+242
| | | | | | | | | | | | | | | | | | | 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
* Merge changes from NetBSD on humanize_number.c, 1.8 -> 1.13antoine2008-03-081-5/+10
| | | | | | | | | | | | | | 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
* Put back the openpty(3) and ptsname(3) fixes but don't disable ptsname(3)jhb2008-01-151-55/+3
| | | | | on pts(4) devices this time. This fixes the issues while leaving pts(4) enabled on HEAD.
* Back out last commit, since it accidentally broke pts.cperciva2008-01-151-3/+55
| | | | | The security fix will be re-committed soon, hopefully without breaking anything.
* Update the manpage for openpty(3) to account for the recent fixes.jhb2008-01-141-18/+14
| | | | | | | | | | 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
* Fix issues which allow snooping on ptys. [08:01]cperciva2008-01-141-55/+3
| | | | | | | Fix an off-by-one error in inet_network(3). [08:02] Security: FreeBSD-SA-08:01.pty Security: FreeBSD-SA-08:02.libc
* Invoke revoke(2) on the slave pty in the pts(4) case (new_openpty()) tojhb2007-12-201-1/+13
| | | | | | | | 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
* Bump up the number of ttys supported by pty(4) to 512 by making use ofjhb2007-11-191-1/+1
| | | | | | | [pt]ty[lmnoLMNO][0-9a-v]. MFC after: 3 days Reviewed by: rwatson
* Constify the first argument to expand_number() so that it canjb2007-11-183-3/+3
| | | | be called with a const without the compiler grisling.
* Minor mdoc cleanup: Every sentence should start on its own line.simon2007-10-131-1/+2
|
* When pidfile is already locked and has zero length, do not returnkib2007-10-122-1/+19
| | | | | | | | | | | | | | 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
* Adjust history.obrien2007-09-284-4/+11
| | | | Approved by: re(ken)
* - Fix strange for loop.pjd2007-09-051-6/+16
| | | | | | | | | 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)
* Point expand_number(3) at humanize_number(3) and nive versa.pjd2007-09-052-0/+4
| | | | | Suggested by: trhodes Approved by: re (kensmith)
* Implement expand_number(3), which is the opposite of humanize_number(3), ie.pjd2007-09-014-3/+177
| | | | | | | | | | 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)
* Back out previous commit until I figure out why my regression test fails.des2007-08-033-23/+17
| | | | Approved by: re (kensmith)
* Use fcntl(2)-style locks instead of less-portable flock(2)-style locks.des2007-08-033-17/+23
| | | | Approved by: re (kensmith)
* Document the quirks of ~/.login_conf and LOGIN_MECLASS.yar2007-06-141-57/+80
|
* Improve mdoc(7) markup.yar2007-06-141-76/+190
|
* Update some comments, mostly regarding LOGIN_MECLASS and ~/.login_conf.yar2007-06-141-8/+18
|
* Nit: avoid shadowing truncate(2) with a local variable.des2007-05-231-3/+3
|
* Fix stupid braino in previous commit.des2007-05-231-1/+1
|
* If (flags & O_TRUNC), don't truncate the file until we've successfullydes2007-05-231-1/+11
| | | | | | locked it. MFC after: 3 weeks
* Bump library versions in preparation for 7.0.deischen2007-05-211-1/+1
| | | | Ok'd by: kan
* strlcpy() may be faster than snprintf(), but it is less portable, and thisdes2007-05-111-8/+8
| | | | | | | is not performance critical code anyway. Also, avoid using strlen() to obtain information which we already have. MFC after: 3 weeks
* Fix typo.des2007-05-101-1/+1
| | | | Submitted by: Bård Skaflestad <bardsk@math.ntnu.no>
* Well gag me with a spoon... I'm so used to working at high WARNS levelsdes2007-05-102-1/+5
| | | | that I make stupid fundamental mistakes like this when I don't.
* Remove superfluous unexpanded RCS tag.des2007-05-101-2/+0
|
* Use flopen(3).des2007-05-101-2/+2
| | | | MFC after: 3 weeks
* DTRT when O_NONBLOCK is specified.des2007-05-102-4/+29
| | | | MFC after: 3 weeks
* I'm tired of seeing this done incorrectly and non-portably, so add ades2007-05-104-6/+177
| | | | | | flopen(3) function which reliably opens and locks a file. MFC after: 3 weeks
* Fix one kind of style(9) bug and a typo in a comment.yar2007-05-011-5/+5
| | | | Tested with: md5(1)
* Remove California Regent's clause 3, per letterimp2007-01-097-28/+0
|
OpenPOWER on IntegriCloud