Commit graph

8408 commits

Author SHA1 Message Date
David E. O'Brien
4c861aeb86 Be more specific in BUGS.
Submitted by:	ru

Add history.
2003-06-25 19:18:44 +00:00
David E. O'Brien
0ab6a0c787 Push the alloca #error warning farther down to play nicer with some out of
tree local translator.

Requested by:	 jmallett
2003-06-25 19:06:40 +00:00
Andrey A. Chernov
ba10c47105 Don't statically initialize buf to _PATH_DEV, _PATH_DEV always copied to
it in any case.
2003-06-24 22:20:06 +00:00
Yaroslav Tykhiy
9530d06766 Unify cross-references between sigpending(2), sigprocmask(2),
and sigsuspend(2), all three of which operate or depend on the
process signal mask.

Add a missing xref to sigsetops(3), without which the above three
syscalls would be useless.
2003-06-24 15:41:19 +00:00
Yaroslav Tykhiy
f8193a054c Supplement the cross-references section with those to sigpending(2)
and sigprocmask(2).  These two syscalls are likely to be accompanied
by a few sigsetops(3) in a typical piece of code.
2003-06-24 15:27:31 +00:00
Marcel Moolenaar
ec5f6d191d Implement signalcontext(). Needed by libpthread (aka libkse). 2003-06-24 05:06:42 +00:00
Marcel Moolenaar
5858b0cea8 Explicitly widen int types before casting to pointer types. On 64-bit
platforms the compiler warns about incompatible integer/pointer casts
and on ia64 this generally is bad news. We know that what we're doing
here is valid/correct, so suppress the warning. No functional change.

Sleeps better: marcel
2003-06-24 00:37:26 +00:00
Marcel Moolenaar
82468d1f27 Untangle the inter-dependency of kse types and ksd types/functions
by moving the definition of struct ksd to pthread_md.h and removing
the inclusion of ksd.h from thr_private.h (which has the definition
of struct kse and kse_critical_t). This allows ksd.h to have inline
functions that use struct kse and kse_critical_t and generally
yields a cleaner implementation at the cost of not having all ksd
related types/definitions in one header.

Implement the ksd functionality on ia64 by using inline functions
and permanently remove ksd.c from the ia64 specific makefile.

This change does not clean up the i386 specific version of ksd.h.

NOTE: The ksd code on ia64 abuses the tp register in the same way
as it is abused in libthr in that it is incompatible with the
runtime specification. This will be address when support for TLS
hits the tree.
2003-06-23 23:15:06 +00:00
Marcel Moolenaar
46559d7101 Change the definition of _ksd_curkse, _ksd_curthread and
_ksd_readandclear_tmbx to be function-like. That way we
can define them as inline functions or create prototypes
for them.

This change allows the ksd interface on ia64 to be fully
inlined.
2003-06-23 09:49:16 +00:00
Marcel Moolenaar
ca4b6c293b Define THR_{G|S}ETCONTEXT to expand to {g|s}etcontext(2).
Define THR_ALIGN to align at 16-byte boundaries.
2003-06-23 04:52:09 +00:00
Marcel Moolenaar
97caaa6522 Implement atomic_swap_{int|long|ptr}. Define atomic_swap_ptr as a
macro that expands to atomic_swap_long() to avoid compiler warnings
caused by incompatible pointer passing.
2003-06-23 04:44:43 +00:00
Marcel Moolenaar
c2dac9a63d Remove _atomic_lock. It's not used. 2003-06-23 04:33:32 +00:00
Marcel Moolenaar
842728619a Move the machine specific files from sys/Makefile.inc and put them
in a machine specific makefile. While here, sort the sub-directories
in Makefile and remove _atomic_lock.S from all makefiles.
2003-06-23 04:28:31 +00:00
Warner Losh
f1fe8d5bac Add clarifications about the information that ntp_gettime returns.
TAI is a timescale, just like UTC.  The tai field returns the offset
between the two, and isn't really used for precision time keeping.
Explain in brief what a positive and a negative leap seconds are.  Add
some URLs to very useful web pages about time and time keeping for
more information on using this API.

Reviewed by: phk
2003-06-21 20:27:54 +00:00
David Schultz
d086ded323 Userland spinlocks bad. Sleep locks good.
Use the latter for gdtoa.

Requested by:	deischen (far too long ago)
2003-06-21 08:20:14 +00:00
Poul-Henning Kamp
97679e71b0 ttyname(3) must return absolute pathnames.
Noticed by:	kris
2003-06-21 08:16:12 +00:00
Poul-Henning Kamp
e7acddfdef Use devname(3) to do the task.
Reviewed by:	imp
2003-06-20 22:45:53 +00:00
Garrett Wollman
4f85c6dd30 Explain the relationship to POSIX. 2003-06-20 22:41:00 +00:00
Warner Losh
795b332691 ntp_adjtime returns the current state of the clock (TIME_*) on success
or -1 on failure.  The manual used to say it returned 0 or -1.  Both
examination of the kernel sources, and ntpd show that this is the case.

MFC After: 3 days
2003-06-20 21:14:59 +00:00
Poul-Henning Kamp
529ac58781 Add devname_r(3) which takes a buffer as argument. 2003-06-20 09:52:27 +00:00
Matthew N. Dodd
913111f124 Correct an apparent typo.
PR:		 bin/53515
Submitted by:	 Lukas Ertl <l.ertl@univie.ac.at>
Approved by:	 jmallett
2003-06-19 22:12:54 +00:00
Kris Kennaway
97cbd1c728 Remove bogus non-reentrant "temporary" implementation of gethostbyaddr_r()
that has been here for 6 years and 9 months.

Reviewed by:	deischen
MFC After:	1 week
2003-06-19 07:57:11 +00:00
Philippe Charnier
b160a51e51 The .Fn function 2003-06-18 19:43:17 +00:00
Hajimu UMEMOTO
ed40ddd9dc Add IPv6 related attributes defined in RFC3162.
MFC after:	1 week
2003-06-18 17:29:15 +00:00
Ruslan Ermilov
19c2ee9e5f Make the execle() synopsis look (again) like a normal C prototype.
Also fixed the rest of ell (list) functions prototypes to include
a (commented out) terminating null pointer.

Pointed out by:	bde
Obtained from:	POSIX.1-2001
Glanced at by:	imp
2003-06-18 15:24:21 +00:00
David Xu
eb90369fa6 Don't lock scheduler lock twice. 2003-06-18 06:08:03 +00:00
Maxim Sobolev
e2ff474cac Xref policy: exit(2) -> _exit(2). 2003-06-17 09:36:47 +00:00
Poul-Henning Kamp
bbaba031a5 Fix the execle(3) synopsis to include the environment pointer.
Confused:	anordby
2003-06-17 08:57:37 +00:00
Doug Barton
605d07fcea Fix the #include part of the SYNOPSIS for heap.3
PR:		bin/45269
Submitted by:	Slaven Rezic <slaven.rezic@berlin.de>
2003-06-17 08:43:19 +00:00
Martin Blapp
b77aeb1292 Kill prototype for __msgwrite too. It is not needed anymore. 2003-06-15 10:55:39 +00:00
Martin Blapp
dd01398df6 Fix the master yppasswd routines, so they really work
for root on ypmaster. yppasswd_local() did use YPPASSWDPROG
instead of MASTER_YPPASSWDPROG, and the domain was not set,
resulting in a coredump during xdr-encode.

Reviewed by:	des
2003-06-15 10:37:22 +00:00
Martin Blapp
ec01fc4f14 Fix the master yppasswd routines, so they really work
for root on ypmaster. Fix ypclnt_havepasswdd() to work
for AF_LOCAL connections.

Reviewed by:	des
2003-06-15 10:36:53 +00:00
Martin Blapp
ce9bc43cb3 Replace the old SCM_CREDS cred procedures. They can now be
replaced just fine with getpeereid() and the whole code
gets a lot simpler. We don't break the ABI, since all server
programms use __rpc_get_local_uid(), and we just change library
internals.

Reviewed by:	des
2003-06-15 10:32:01 +00:00
David Xu
d8406ada91 P_THREADED was renamed to P_SA, follow up. 2003-06-15 03:42:04 +00:00
David E. O'Brien
457946d9bd Remove MAINTAINER lines. 2003-06-14 19:32:52 +00:00
Mark Murray
0ebec5d3c8 Tidy up. Sort headers. 2003-06-14 18:42:37 +00:00
David E. O'Brien
5c784c8f4b Only use this with a non-GCC compiler. 2003-06-14 06:04:23 +00:00
Kenneth D. Merry
50a7fdaed8 Remove MAINTAINER= lines in the makefiles for camcontrol, iostat, libcam
and libdevstat, since the new way of doing things is to just list
maintainership in src/MAINTAINERS.

Also, remove duplicate entries in src/MAINTAINERS for those utilities.  I
already had entries for them.
2003-06-14 05:28:01 +00:00
Tom Rhodes
720f2e44a3 Document ENOSPC.
PR:		52612
Submitted by:	Marc Olzheim <marcolz@ilse.nl>
2003-06-13 22:41:12 +00:00
Peter Wemm
70de0c73a5 This is unusable on amd64. Remove it before it causes more confusion.
It is only possible to do this on an ABI that has a compulsory frame
pointer, which the amd64 ABI does not.  Thus, it is only possible to
implement this as a compiler builtin.
2003-06-13 21:56:30 +00:00
Ruslan Ermilov
ada24e690c In the PKT_ALIAS_PROXY_ONLY mode, make sure to preserve the
original source IP address, as promised in the manual page.

Spotted by:	Vaclav Petricek
2003-06-13 21:54:01 +00:00
Ruslan Ermilov
9c88dc8855 Removed a couple of .Xo/.Xc that are leftovers of the "ninth-argument
limit" mdoc(7) atavism.
2003-06-13 21:39:22 +00:00
Ruslan Ermilov
7176089886 Clarify that original address and port when doing transparent proxying
are _destination_ address and port.
2003-06-13 21:36:24 +00:00
Ruslan Ermilov
61de149d30 Added myself to the AUTHORS section. 2003-06-13 21:32:01 +00:00
Tim J. Robbins
a5e2489d03 Mark libxpg4 as OBSOLETE_IN_6: it has been empty since its contents
were merged into libc in 4.5-RELEASE.
2003-06-13 07:21:37 +00:00
Tim J. Robbins
77156cb782 Mark the following interfaces as OBSOLETE_IN_6:
fgetrune(), fputrune(), fungetrune(), mbrune(), mbrrune(), mbmb(),
    setinvalidrune(), UTF2 encoding method.
These have been marked as being deprecated in their manual pages since 5.0,
and their use causes a linker warning.
2003-06-13 07:13:54 +00:00
Jordan K. Hubbard
3dfdc427f1 Fixes to locale code to properly use indirect pointers in order to prevent
memory leaks (fixes bugs earlier purported to be fixed).
Submitted by:	Ed Moy <emoy@apple.com>
Obtained from:	Apple Computer, Inc.
MFC after:	2 weeks
2003-06-13 00:14:07 +00:00
David E. O'Brien
11f0fab4fa Use C99 compatible ASM statements.
(untested, but existing state breaks
http://triangle.rtp.freebsd.org/~des/tinderbox-CURRENT-amd64-amd64.brief)
2003-06-10 21:17:55 +00:00
Tom Rhodes
0315901c7c Add an EXAMPLES section.
PR:		43899
Reviewed by:	des, ru
2003-06-10 20:41:18 +00:00
Juli Mallett
dfa13bbf27 Various cleanups of careless mistakes/omissions.
PR:		53149
Submitted by:	Lukas Ertl <l.ertl@univie.ac.at>
2003-06-10 18:36:16 +00:00
Juli Mallett
27fd747882 Left out the critical part of my "public domain" template, a notice saying
that this file is (these files are) in the public domain.

PR:		53149
2003-06-10 18:24:40 +00:00
Andrey A. Chernov
0c7fbc6c40 Remove transition period hack 2003-06-10 01:26:04 +00:00
Mike Makonnen
05e948d996 _thread_printf() is only used for debugging or in cases where something's
screwed beyond all help, so it can just skip the pthreads wrapper
for write(2) and call directly into it.
2003-06-09 17:58:15 +00:00
Alexander Leidinger
f970961773 Sanity check fd before using it as an array index.
Noticed by:	ted@NLnetLabs.nl (Ted Lindgreen)
Approved by:	ru
2003-06-09 16:45:37 +00:00
John Baldwin
dff6f51034 Remove stale reference to the deprecated USER_LDT option. The associated
code is always compiled into the kernel now.

Submitted by:	Hubert Tournier <hubert@frbsd.org>
PR:		docs/53068
2003-06-09 11:46:22 +00:00
Juli Mallett
e78ea9f724 Commit rudimentary libufs manual pages, except for that for
getino(3)/putino(3), inode.c has been reworked in Perforce to the point
where a manual page may not be accurate.  Certainly putino(3) has not
even been merged back yet.

These will need a lot of improvement for most applications, but they
document the API enough to get someone on their feet, most likely.  The
best documentation still exists in the form of libufs(3) consumers in the
base system.
2003-06-09 09:59:11 +00:00
Juli Mallett
b52f85e743 Remove ufs_disk_ctor and ufs_disk_dtor, they never came to fruition. I do
not know of any software using them, and there is no "published API" for
libufs, as it were.
2003-06-09 09:47:38 +00:00
Juli Mallett
1081253fa0 Reduce diffs with code in Perforce:
Parenthesise return values.
2003-06-09 09:32:29 +00:00
Ceri Davies
6efa541f23 Correct a typo.
MFC After:	2 days
2003-06-08 19:41:58 +00:00
Daniel Eischen
690f13f3c3 After selecting a thread to handle a signal and taking
its scheduling lock, make sure that the thread still has
the signal unmasked.

Make a debug statement conditional on debugging being
enabled.
2003-06-08 17:37:21 +00:00
Daniel Eischen
f91de797ce Insert threads at the end of the free thread list so that
the chance of getting the same thread id when allocating a
new thread is reduced.  This won't work if the application
creates a new thread for every time a thread exits, but
we're still within the allowances of POSIX.
2003-06-08 17:35:11 +00:00
Daniel Eischen
4d6f145a3b Provide a reference to __sys_write. The implementation uses this when
debugging is enabled so the symbol needs to be resolved before rtld
locking is enabled.  I may not really know what I'm talking about,
but it works.

Submitted by:	kan
2003-06-08 17:29:32 +00:00
Philippe Charnier
19677e1070 The .Fn function 2003-06-08 10:40:44 +00:00
Philippe Charnier
3c024cc85c The .Fn function 2003-06-08 10:34:00 +00:00
Philippe Charnier
e4f2c10b4c The .Fn function 2003-06-08 10:20:32 +00:00
Philippe Charnier
82f7b9cd41 Add section number with .Xr. .Xr -> .Vt changes. 2003-06-08 10:17:24 +00:00
Philippe Charnier
ab165955de The .Fn function 2003-06-08 10:13:50 +00:00
Philippe Charnier
7712c6658b .Xr p1003_1b moved to .St -p1003.1b-93 2003-06-08 10:11:13 +00:00
Philippe Charnier
fe71ab1cf4 .Xr -> .Lb for librairy. There is no manual page corresponding to .Xr. 2003-06-08 10:07:14 +00:00
Philippe Charnier
0d511e328f Add or correct section number in .Xr. Use .Vt or .Fn
instead of .Xr when needed
2003-06-08 10:01:52 +00:00
Philippe Charnier
9703a107f2 The .Fn function 2003-06-08 09:53:08 +00:00
Warner Losh
cedfd4f63f Don't force -L/usr/lib. This is incorrect because we should not be
looking at the host environment for anything.  This breaks building
-CURRENT on 4.x as well.

Submitted by: kan@
2003-06-08 03:58:20 +00:00
Scott Long
4e89f2d88f Sanity check the list obtained from the kern.disks sysctl so that Disk_Names()
doesn't get fooled into returning a bogus list.  This should fix sysinstall
from segfaulting when no disk devices are present.
2003-06-07 20:02:56 +00:00
Jun Kuriyama
3a624f5e23 Use
cat ${.ALLSRC} > ${.TARGET}
rather than
	ln -sf ${.ALLSRC} ${.TARGET}
not to depends on absolute-path of symbolic links.

Commented by:  marcel, obrien, bde
2003-06-06 13:46:55 +00:00
Poul-Henning Kamp
c6dd496cd9 Recognize the magic NODEV value.
Format other unknown devices consistently in hex.
2003-06-05 21:55:57 +00:00
Mark Murray
f2017a1921 Rename local variables to not mask global names of same name. This
fixes lots of lint(1) warnings.
2003-06-05 13:17:32 +00:00
Marcel Moolenaar
fee5c3f1f8 Make this compile without warnings on 64-bit architectures:
Don't cast thread_self() to int. Cast to uintptr_t. Pull in the
predefined printf format from <inttypes.h>
2003-06-04 20:38:54 +00:00
Marcel Moolenaar
f10382ac87 Make this compile without warnings on 64-bit architectures:
In recurse(), cast the pointer difference to int to match the format.
The difference is expected to fit in an int.
2003-06-04 20:36:08 +00:00
Mark Murray
2f8e800c38 Drop stale MAINTAINER bit. 2003-06-04 16:01:37 +00:00
David Xu
a05fa0abea Only init _thread_sigact once, needn't init it again after a fork().
Obtained from: deischen
2003-06-04 12:40:21 +00:00
David Xu
cd0a0c267b Despite whether threaded mode is turned on, always save thread's
signal mask.
2003-06-04 12:38:21 +00:00
Bruce Evans
c749b4f6dd Removed garbage:
- -elf in CFLAGS had no effect except to reduce portability.
- -elf in LDFLAGS had even less effect, since LDFLAGS is not used.
- -Wall in CFLAGS had no effect except to reduce portability and break
  overriding of WARNS, since the setting of WARNS implies -Wall.
2003-06-04 11:21:18 +00:00
Mike Makonnen
4dee39fea0 Make C applications statically compiled with libthr work. Previously,
an application compiled -static with libthr would dump core in
malloc(3) because the stub thread initialization routine in libc would
be used instead of the libthr supplied one.
2003-06-04 08:23:05 +00:00
Mike Makonnen
f833c84a8f If the library is not able to create a thread because resources
don't allow it at the moment, the correct thing to do is try again.
Otherwise, libthr would fail this test because it doesn't allow
an unlimited number of concurrent threads per application.
2003-06-04 08:16:32 +00:00
Robert Watson
44f5ca2f16 Document the new explicit listing API for extended attributes; note
that the old API (passing "" as the attribute name to the _get_
interface) is now deprecated (and was probably a bad idea).

Pointed out by:	Dominic Giampaolo <dbg@apple.com>
Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2003-06-04 04:00:26 +00:00
David Xu
e84a8d0d65 KMF_DONE is now in /sys/sys/kse.h, no longer need to define it here. 2003-06-04 03:22:59 +00:00
Hiten Pandya
8e9a665fde Document that kldload(2) can also return EEXIST.
Approved by: des (mentor)
2003-06-03 12:29:34 +00:00
Mike Makonnen
b9662ddd18 Teach recent changes in the umtx structure in the kernel to the libthr
initialiazer.

Found by:	tinderbox
2003-06-03 09:31:33 +00:00
David Xu
a4c69f224b Free memory of internal low level lock when mutex and condition variable
are destroyed.

Submitted by: tegge
2003-06-03 02:21:01 +00:00
Peter Wemm
3191d840e0 Cosmetic; record offsets used within jmpbuf 2003-06-02 22:37:53 +00:00
Peter Wemm
19816dec92 Update for amd64 after repocopy from i386/ 2003-06-02 22:30:59 +00:00
Peter Wemm
3aefe09423 Port libc_r to amd64, and turn it back on for amd64. It passes all of
the same src/lib/libc_r/test/* tests that the other platforms pass.
2003-06-02 22:22:52 +00:00
Peter Wemm
b8f8813c6e Fix sigsetjmp(). It helps if we do not try to save the old signal mask
to a random memory location.  Perl works a lot better with this.
2003-06-02 21:59:13 +00:00
Mark Murray
d8e82636a4 Tidy the code up a fraction. Re-release with a 2-clause BSD license
with the kind permission of the author/copyright holder.

Thanks to:	phk
2003-06-02 21:43:14 +00:00
Mark Murray
bf513f6958 Add a new hash type. This "NT-hash" is compatible with the password
hashing scheme used in Microsoft's NT machines. IT IS NOT SECURE!
DON'T USE IT! This is for the use of competent sysadmins only!

Submitted by:	Michael Bretterklieber
2003-06-02 19:29:27 +00:00
Mike Makonnen
cff6c3cab1 Unwind the _giant_mutex from pthread_detach(). When detaching a joiner thread
it's important the correct lock order is observed: lock first the joined and
then the joiner.
2003-06-02 11:01:00 +00:00
Mike Makonnen
4384412030 Consolidate static_init() and static_init_private into one function.
The behaviour of this function is controlled by the argument: private.
2003-06-02 10:04:18 +00:00
David E. O'Brien
a23e5f4d43 .S comments must be C comments, not ASM ones. 2003-06-02 02:32:56 +00:00
David E. O'Brien
e683295e39 Use C99 compatible ASM statements. 2003-06-02 02:32:22 +00:00
Robert Watson
778f8875c7 Revert accidental change: don't change the thread library for testing to
libthr.  Oops, sorry about that.

Submitted by:	"Simon L. Nielsen" <simon@nitro.dk>
2003-06-02 00:21:41 +00:00
Marcel Moolenaar
75fa7db991 o Fix a cut-n-paste bug. We were clobbering rp with gp...
o  Make sure the arguments to ctx_wrapper() are loaded from the
   backing store by forcing an underflow. Do this by making all
   registers in the register frame local.
2003-06-02 00:16:39 +00:00
Ruslan Ermilov
234dfc904a A new API function PacketAliasRedirectDynamic() can be used
to mark a fully specified static link as dynamic; i.e. make
it a one-time link.
2003-06-01 23:15:00 +00:00
Robert Watson
0bbe770d6f Include string.h for memset(). 2003-06-01 23:03:49 +00:00
Ruslan Ermilov
f1a529f3da Make the PacketAliasSetAddress() function call optional. If it
is not called, and no static rules match an outgoing packet, the
latter retains its source IP address.  This is in support of the
"static NAT only" mode.
2003-06-01 22:49:59 +00:00
Juli Mallett
d7ea49283c Match style of source and headers.
Submitted by:	bde
2003-06-01 21:35:27 +00:00
Ruslan Ermilov
9be025500d Assorted mdoc(7) fixes. 2003-06-01 19:41:49 +00:00
Ruslan Ermilov
0e35e492fc Assorted mdoc(7) fixes. 2003-06-01 19:19:59 +00:00
Andrey A. Chernov
9d793e98ec Add GBK encoding
PR:             51504
Submitted by:   Statue <statue@freebsd.sinica.edu.tw>
2003-06-01 15:30:56 +00:00
Poul-Henning Kamp
7e02e189ae Add the part of the last commit which cvs appearantly didn't like
the first time.
2003-06-01 15:05:22 +00:00
Dag-Erling Smørgrav
2d2b70f60b Add openpam_readline(3). 2003-06-01 12:54:51 +00:00
Dag-Erling Smørgrav
008c1ace7b Retire pam_wheel(8) (which has been disconnected for quite a while) and
pam_ftp(8).
2003-06-01 11:50:35 +00:00
Poul-Henning Kamp
b600adca79 Clarify the code a bit.
Submitted by:	Nadav Eiron <nadav@TheEirons.org>
2003-06-01 09:16:50 +00:00
Juli Mallett
283d23cbba Make prototype match code with regard to constness of args to the
function pointer passed in.
2003-06-01 06:43:39 +00:00
Marcel Moolenaar
abbb0b30ce Build libthr by default on ia64. 2003-06-01 00:32:21 +00:00
Dag-Erling Smørgrav
ae1e82627a Don't build pam_std_option(). 2003-05-31 23:38:16 +00:00
Jens Schweikhardt
f8f6970098 Fix grammar bogons.
MFC after:	3 days
2003-05-31 21:14:41 +00:00
Marcel Moolenaar
fae3c3b7eb Rough implement of makecontext() needed to support libthr.
o  Up to 8 arguments are allowed. This is the number of arguments
   passed in registers. Subsequent registers are passed on the stack.
   Trying to deal with this is not easy in C and likely forces us to
   use assembly code. Let's avoid that for now. There's no indication
   that more than 8 arguments is a strong requirement (Linux also has
   an 8 argument limit).
o  We expect that the stack base is 16-byte aligned and the stack
   size is a multiple of 16-byte. We bomb out if this is not the case.
   We probably want to be less strict by enforcing it ourselves. For
   now it's better to not hide gross alignment bogons by silently
   correcting it.
2003-05-31 19:42:51 +00:00
Mike Makonnen
31b8681181 Hook libthr to the build. It's currently built only for i386 and
a NOLIBTHR knob will prevent it from being built.
2003-05-31 18:43:17 +00:00
Dag-Erling Smørgrav
4d6991c692 Update copyright dates. 2003-05-31 17:19:03 +00:00
Dag-Erling Smørgrav
f7d39b0967 Remove pam_std_option() and related functions. Add #defines for common
options.
2003-05-31 16:56:35 +00:00
Dag-Erling Smørgrav
545aa47101 Remove all instances of pam_std_option() 2003-05-31 16:55:07 +00:00
Dag-Erling Smørgrav
d462d3923b Introduce pam_guest(8) which will replace pam_ftp(8). 2003-05-31 16:52:58 +00:00
Mike Makonnen
6e1aa51e9e I botched one of my committs in the last round. Fix it. 2003-05-31 14:38:22 +00:00
Ruslan Ermilov
61fa6d584f Fixed another bug in the threaded close() call; clear the
stale stdio descriptors flags.

PR:		bin/51535
Submitted by:	Enache Adrian <enache@rdslink.ro>
Reviewed by:	deischen
Approved by:	re (scottl)
2003-05-31 05:23:20 +00:00
Ruslan Ermilov
d635dc4671 If an application closes one of its stdio descriptors (0..2),
an excessive close() on one of these descriptors would cause
a memory for this descriptor to be allocated in the internal
descriptor table.  When this descriptor gets used again, e.g.
through the call to open() or socket(), the descriptor would
be erroneously left in the blocking mode, and the whole
application would get stuck on a blocking operation, e.g.,
in accept(2).

Prevent this bug from happening by disallowing close() against
non-active descriptors (return -1 and set errno to EBADF in
this case).

Reviewed by:	deischen
Approved by:	re (scottl)
2003-05-31 05:20:44 +00:00
David Xu
9abece6475 Save THR_FLAGS_IN_TDLIST in signal frame, otherwise if a thread received
a signal will can not be removed from thread list after it exited.

Reviewed by: deischen
Approved by: re (jhb)
2003-05-30 14:50:16 +00:00
Thomas Moestl
6bc615b0a1 Fix a sizeof error in __bt_put: when writing they key and data sizes
to a buffer in the big key/data case, memmove() was used on pointers
to size_ts, but only sizeof(u_int32_t) bytes where copied. This broke
on big_endian architectures where sizeof(size_t) > sizeof(u_int32_t).

This bug broke portupgrade (by way of ruby_bdb1) on sparc64.

Approved by:	re (rwatson)
2003-05-30 11:05:08 +00:00
Alexander Kabaev
8c22e2f77b Add an stub for _rtld_thread_init. This is a part I missed in
my last commit.

Approved by:	re (scottl)
2003-05-30 00:58:37 +00:00
Alexander Kabaev
84d55c7fad Attempt to eliminate PLT relocations from rwlock aquire/release
path, making them suitable for direct use by the dynamic loader.

Register libpthread-specific locking API with rtld on startup.

This still has some rough edges with signals which should be
addresses later.

Approved by:	re (scottl)
2003-05-30 00:21:52 +00:00
Daniel Eischen
43dd76d242 Call the __sys_sigprocmask(the system call) when sigprocmask()
is called and the application is not threaded.  This works around
a problem when an application that hasn't yet become threaded
tries to jump out of a signal handler.

Reported by:	mbr
Approved by:	re@ (rwatson)
2003-05-30 00:09:22 +00:00
Martin Blapp
65d06145a2 Don't return -1 and abort if msg.msg_controllen is 0. For
some strange reason recvmsg() never sets errno to EAGAIN
on a non-blocking socket and just returns 0.

Reviewed by:	jhb
Approved by:	re
2003-05-29 22:06:06 +00:00
Mike Makonnen
1b2a19ce0e Make the mutex static initializers look more like the one for
condition variables. Cosmetic.

Explicitly compare against PTHREAD_MUTEX_INITIALIZER. We shouldn't
encourage calls to the mutex functions with null pointers to mutexes.

Approved by:	re/jhb
2003-05-29 20:58:31 +00:00
Mike Makonnen
41f2bd859f Use a static lock to ake sure pthread_cond_* functions called
from multiple threads don't initialze the same condition variable
more than once.

Explicitly compare cond pointers with PTHREAD_COND_INITIALIZER instead
of NULL. Just because it happens to be defined as NULL is no reason
to encourage the idea that people can call those functions with
NULL pointers to a condition variable.

Approved by:	re/jhb
2003-05-29 20:54:00 +00:00
Mike Makonnen
0e335eaeb5 Missing unlock.
Approved by:	re/jhb
2003-05-29 20:49:17 +00:00
Mike Makonnen
b3cdf7ae2e Don't hold the active thread list lock when signaling the gc thread.
The dead list thread is sufficient for synchronization.

Retire the arch_id (ldt array slot) in the gc thread instead of the
doing it in the thread itself.

Approved by:	re/jhb
2003-05-29 20:46:53 +00:00
Mike Makonnen
981f4968f0 It's unnecessary to lock the thread during creation. Simply extend
the scope of the active thread list lock.

Approved by:	re/jhb
2003-05-29 20:40:50 +00:00
Martin Blapp
e5cd12556d Fix a problem introduced in the last commit. sa and cm
are not initialized at this place. Move the initializing
before the non-blocking check.

Submitted by:	Marius Strobl <marius@alchemy.franken.de>
Reviewed by:	jhb
Approved by:	re
2003-05-29 19:43:22 +00:00
Daniel Eischen
28362a5c80 Don't really spin on a spinlock; silently convert it to the same
low-level lock used by the libpthread implementation.  In the
future, we'll eliminate spinlocks from libc but that will wait
until after 5.1-release.

Don't call an application signal handler if the handler is
the same as the library-installed handler.  This seems to
be possible after a fork and is the cause of konsole hangs.

Approved by:	re@ (jhb)
2003-05-29 17:10:45 +00:00
Martin Blapp
aee2eba2d1 If AF_LOCAL is used, we need to use __msgread_withcred() instead of
just read() in non-blocking mode too. The reason is obvious. NetBSD
uses a complete different way to get the credentials so this patch
only applies to FreeBSD.

Reviewed by:	rwatson
Approved by:	re
2003-05-28 09:16:35 +00:00
Martin Blapp
22e4d31a81 Fix amd(8) clients, if a FreeBSD mountd(8) server is used.
Remove the special treatment of non-blocking mode in
the "look ahead function" xdrrec_eof(). It currently
assumes that the last read() in a row of several reads
does not have zero lenght. If this is the case, svc_vc_stat()
does return XPRT_MOREREQS, and the RPC-request aborts because
there is no data to read anymore.

To fix this, go back to the original version of the code
for non-blocking mode until NetBSD comes up with another
possible fix like this one in xdrrec_eof()

	if (rstrm->last_frag && rstrm->in_finger == rstrm->in_boundry) {
		return TRUE;
	}

Return always FALSE in set_input_fragment() for non-blocking
mode. Since this was not used in FreeBSD, I omitted it at the
first time. Now we use this function and we should always
return FALSE for it.

Reviewed by:	rwatson
Approved by:	re
2003-05-28 09:13:09 +00:00
Max Khon
f4203da86c Fix stripping last path component when only one path component left.
PR:		52686
MFC after:	1 day
2003-05-28 08:23:01 +00:00
Mike Makonnen
a09d02f780 Minimize the potential for deadlocks between an exiting thread and it's
joiner by making sure all locks and unlocks occur in the same order. For
the record the lock order is: DEAD_LIST, THREAD_LIST, exiting thread, joiner
thread.

Approved by: re/rwatson
2003-05-27 21:48:42 +00:00
Mike Makonnen
ee98e9be9f Revert part of the last commit. I don't know what I was smoking.
Approved by: re/rwatson
2003-05-27 21:43:49 +00:00
Mike Makonnen
ca1c469cc7 Decouple the thread stack [de]allocating functions from the 'dead threads list'
lock. It's not really necessary and we don't need the added complexity
or potential for deadlocks.

Approved by:	re/blanket libthr
2003-05-26 00:37:07 +00:00
Mike Makonnen
2387af9962 Revise the unlock order in _pthread_join(). Also, if the joined
thread is not dead, the join loop is guaranteed to execute at least
once, so there is no need to pick up the thread list lock after
we return from suspenstion only to release it after the loop.

Approved by:	re/blanket libthr
2003-05-26 00:28:49 +00:00
Mike Makonnen
12c407a424 Return gracefully, rather than aborting, when the maximum concurrent
threads per process has been reached. Return EAGAIN, as per spec.

Approved by:	re/blanket libthr
2003-05-25 22:40:57 +00:00
Mike Makonnen
d39d651258 _pthread_cancel() breaks the normal lock order of first locking the
joined and then the joiner thread. There isn't an easy (sane?) way
to make it use the correct order without introducing races involving
the target thread and finding which (active or dead) list it is on. So,
after locking the canceled thread it will try to lock the joined thread
and if it fails release the first lock and try again from the top.

Introduce a new function, _spintrylock, which is simply a wrapper arround
umtx_trylock(), to help accomplish this.

Approved by: re/blanket libthr
2003-05-25 08:48:11 +00:00
Mike Makonnen
4393f2c4ec Part of the last patch.
Modify the thread creation and thread searching routine
to lock the thread lists with the new locks instead of GIANT_LOCK.

Approved by:	re/blanket libthr
2003-05-25 08:35:37 +00:00
Mike Makonnen
71d09bc86a Start locking up the active and dead threads lists. The active threads
list is protected by a spinlock_t, but the dead list uses a pthread_mutex
because it is necessary to synchronize other threads with the garbage
collector thread. Lock/Unlock macros are used so it's easier to make
changes to the locks in the future.

The 'dead thread list' lock is intended to replace the gc mutex.
This doesn't have any practical ramifications. It simply makes it
clearer what the purpose of the lock is. The gc will use this lock,
instead of the gc mutex, to synchronize access to the dead list with
other threads.

Modify _pthread_exit() to use these two new locks instead of GIANT_LOCK,
and also to properly lock and protect thread state changes,
especially with respect to a joining thread.

The gc thread was also re-arranged to be more organized and less nested.

_pthread_join() was also modified to use the thread list locks. However,
locking and unlocking here needs special care because a thread could find
itself in a position where it's joining an exiting thread that is
waiting on the dead list lock, which this thread (joiner) holds. If the
joiner doesn't take care to lock *and* unlock in the same order they
(the joiner and the joinee) could deadlock against each other.

Approved by:	re/blanket libthr
2003-05-25 08:31:33 +00:00
Mike Makonnen
6a1899ed5c The libthr code makes use of higher-level primitives (pthread_mutex_t and
pthread_cond_t) internaly in addition to the low-level spinlock_t. The
garbage collector mutex and condition variable are two such examples. This
might lead to critical sections nested within critical sections. Implement
a reference counting mechanism so that signals are masked only on the first
entry and unmasked on the last exit.

I'm not sure I like the idea of nested critical sections, but if
the library is going to use the pthread primitives it might be necessary.

Approved by:	re/blanket libthr
2003-05-25 07:58:22 +00:00
Marcel Moolenaar
9e14b94e43 The struct mcontext has changed. It's using the register sets. Bring
this in line.
2003-05-25 06:49:19 +00:00
Ruslan Ermilov
734ac3b543 mdoc(7) fixes.
Approved by:	re (blanket)
2003-05-24 19:53:08 +00:00
Peter Wemm
b3aa27a531 Repair PIC mode. It seems I was a bit too excited about the
implications of native PC relative addressing.
2003-05-24 17:35:23 +00:00
Daniel Eischen
1cb570c531 Change low-level locking a bit so that we can tell if
a lock is being waitied on.

Fix a races in join and cancellation.

When trying to wait on a CV and the library is not yet
threaded, make it threaded so that waiting actually works.

When trying to nanosleep() and we're not threaded, just
call the system call nanosleep instead of adding the thread
to the wait queue.

Clean up adding/removing new threads to the "all threads queue",
assigning them unique ids, and tracking how many active threads
there are.  Do it all when the thread is added to the scheduling
queue instead of making pthread_create() know how to do it.

Fix a race where a thread could be marked for signal delivery
but it could be exited before we actually add the signal to it.

Other minor cleanups and bug fixes.

Submitted by:	davidxu
Approved by:	re@ (blanket for libpthread)
2003-05-24 02:29:25 +00:00
Mike Makonnen
a224a3919d Lock the cond queue (condition variables):
Access to the thread's flags and state is protected by
_thread_critical_enter/exit(). When a thread is signaled with a condition
its state must be protected by locking it and disabling
signals before it is taken of the waiters' queue.

Move the implementation of pthread_cond_signal() and pthread_cond_broadcast()
into one function, cond_signal(). Its behaviour is determined by the
last argument, int broadcast. If this is set to 1 it will remove all
waiters, otherwise it will wake up only the first waiter thread.

Remove an extraneous call to pthread_testcancel().

Approved by:	re/blanket libthr
2003-05-24 01:02:16 +00:00
Mike Makonnen
59a47b31d0 Add two functions: _spinlock_pthread() and _spinunlock_pthread()
that take the address of a struct pthread as their first argument.
_spin[un]lock() just become wrappers arround these two functions.
These new functions are for use in situations where curthread can't be
used. One example is _thread_retire(), where we invalidate the array index
curthread uses to get its pointer..

Approved by:	re/blanket libthr
2003-05-23 23:39:31 +00:00
Mike Makonnen
b32a99e5f4 EDOOFUS
Prevent one thread from messing up another thread's saved signal
mask by saving it in struct pthread instead of leaving it as a
global variable. D'oh!

Approved by:	re/blanket libthr
2003-05-23 10:28:13 +00:00
Mike Makonnen
7d9d7ca2ed Make WARNS2 clean. The fixes mostly included:
o removed unused variables
	o explicit inclusion of header files
	o prototypes for externally defined functions

Approved by:    re/blanket libthr
2003-05-23 09:48:20 +00:00
Mike Makonnen
4e3f7b6ede note to self: do not confuse void* with int.
Approved by:	re/blanket libthr
2003-05-23 08:13:24 +00:00
Mike Barcroft
6f9622a926 Fix two misuses of __BSD_VISIBLE.
Submitted by:	bde
Approved by:	re
2003-05-22 17:07:57 +00:00
Ruslan Ermilov
3a5146d9e2 Assorted mdoc(7) fixes.
Approved by:	re (blanket)
2003-05-22 13:02:28 +00:00
Mike Makonnen
509d72c4b9 o Make the defenition of _set_curthread() match its declaration
in thr_private.h

o Lock down the ldt_entries array and ldt_free, which points to
  the next free slot. As noted in the comments, it's necessary
  to special case the initial_thread because %gs is not setup
  for it yet. This is ok because that early in the program there
  won't be any reentrancy issues anyways.

Approved by:	re/blanket libthr
2003-05-21 08:21:24 +00:00
Mike Makonnen
6439d4c286 Insert a debugging aid:
When in either the mutex or cond queue we notice that the thread
 is already on one of the queues, don't just simply abort(). Print
 out the thread's identifiers and what queue it was on.

Approved by: markm/mentor, re/blanket libthr
2003-05-21 03:41:07 +00:00
Mike Makonnen
5ccf23715a Re-enable the garbage collector thread in anticipation of further
locking work. I can't see anything obviously wrong with it (other than
the need to update the locking).

Approved by: markm/mentor, re/blanket libthr
2003-05-21 03:34:54 +00:00
Mike Makonnen
f97591bf25 When a thread exits it does not return from the kernel unless it
is the *only* remaining thread in the application, in which case we
should not core dump, and instead exit gracefully.

Approved by: markm/mentor, re/blanket libthr
2003-05-21 03:29:18 +00:00
Mike Makonnen
3f07b4bcbd The thread id was being set *before* zeroing out the thread. Reverse
the order.

Approved by: markm/mentor, re/blanket libthr
2003-05-21 03:22:36 +00:00
Mike Makonnen
9dc6e7848f Move a misplaced comment.
Approved by:	markm/mentor (implicit), re/blanket libthr
2003-05-20 18:48:41 +00:00
Daniel Eischen
28f318b941 Eek, staticize a couple of functions that shouldn't
be external (initialize()!).

Remove cancellation points from _pthread_cond_wait and
_pthread_cond_timedwait (single underscore versions are
libc private functions).  Point the weak reference(!) for
these functions to the versions with cancellation points.

Approved by:	re@(blanket till 5/19)
Pointed out by:	kan (cancellation point bug)
2003-05-19 23:04:50 +00:00
Dag-Erling Smørgrav
7691f66abf Retire the useless NOSECURE knob.
Approved by:	re (scottl)
2003-05-19 15:52:01 +00:00
Ruslan Ermilov
aba60fa66b Fixed troff(1) and mdoc(7) warnings.
Approved by:	re (blanket)
2003-05-18 21:05:22 +00:00
Martin Blapp
f8af072548 Fix a simple bug that prevents svc_tli_create to bind to the address
specified by caller.

NetBSD rev. 1.6

Reviewed by:	rwatson
Approved by:	rwatson (re)
Obtained from:	NetBSD
2003-05-18 15:07:25 +00:00
Ruslan Ermilov
0b00d54eed Moved libgeom.so dependencies to where they belong.
Reviewed by:	phk
Approved by:	re (scottl)
2003-05-17 19:05:17 +00:00
Marcel Moolenaar
f2c49dd248 Revamp of the syscall path, exception and context handling. The
prime objectives are:
o  Implement a syscall path based on the epc inststruction (see
   sys/ia64/ia64/syscall.s).
o  Revisit the places were we need to save and restore registers
   and define those contexts in terms of the register sets (see
   sys/ia64/include/_regset.h).

Secundairy objectives:
o  Remove the requirement to use contigmalloc for kernel stacks.
o  Better handling of the high FP registers for SMP systems.
o  Switch to the new cpu_switch() and cpu_throw() semantics.
o  Add a good unwinder to reconstruct contexts for the rare
   cases we need to (see sys/contrib/ia64/libuwx)

Many files are affected by this change. Functionally it boils
down to:
o  The EPC syscall doesn't preserve registers it does not need
   to preserve and places the arguments differently on the stack.
   This affects libc and truss.
o  The address of the kernel page directory (kptdir) had to
   be unstaticized for use by the nested TLB fault handler.
   The name has been changed to ia64_kptdir to avoid conflicts.
   The renaming affects libkvm.
o  The trapframe only contains the special registers and the
   scratch registers. For syscalls using the EPC syscall path
   no scratch registers are saved. This affects all places where
   the trapframe is accessed. Most notably the unaligned access
   handler, the signal delivery code and the debugger.
o  Context switching only partly saves the special registers
   and the preserved registers. This affects cpu_switch() and
   triggered the move to the new semantics, which additionally
   affects cpu_throw().
o  The high FP registers are either in the PCB or on some
   CPU. context switching for them is done lazily. This affects
   trap().
o  The mcontext has room for all registers, but not all of them
   have to be defined in all cases. This mostly affects signal
   delivery code now. The *context syscalls are as of yet still
   unimplemented.

Many details went into the removal of the requirement to use
contigmalloc for kernel stacks. The details are mostly CPU
specific and limited to exception_save() and exception_restore().
The few places where we create, destroy or switch stacks were
mostly simplified by not having to construct physical addresses
and additionally saving the virtual addresses for later use.

Besides more efficient context saving and restoring, which of
course yields a noticable speedup, this also fixes the dreaded
SMP bootup problem as a side-effect. The details of which are
still not fully understood.

This change includes all the necessary backward compatibility
code to have it handle older userland binaries that use the
break instruction for syscalls. Support for break-based syscalls
has been pessimized in favor of a clean implementation. Due to
the overall better performance of the kernel, this will still
be notived as an improvement if it's noticed at all.

Approved by: re@ (jhb)
2003-05-16 21:26:42 +00:00
Daniel Eischen
fd626336fd Add a method of yielding the current thread with the scheduler
lock held (_thr_sched_switch_unlocked()) and use this to avoid
dropping the scheduler lock and having the scheduler retake the
same lock again.

Add a better way of detecting if a low-level lock is in use.

When switching out a thread due to blocking in the UTS, don't
switch to the KSE's scheduler stack only to switch back to
another thread.  If possible switch to the new thread directly
from the old thread and avoid the overhead of the extra
context switch.

Check for pending signals on a thread when entering the scheduler
and add them to the threads signal frame.  This includes some
other minor signal fixes.

Most of this was a joint effor between davidxu and myself.

Reviewed by:	davidxu
Approved by:	re@ (blanket for libpthread)
2003-05-16 19:58:30 +00:00
Tim J. Robbins
6e7988b9c5 Catch up with the renaming of the "union" filesystem to "unionfs".
Fixes a problem where directory entries could show up twice: once
on the top layer of the union stack, and once on the bottom layer.

Approved by:	re (rwatson)
2003-05-16 02:15:07 +00:00
Mike Makonnen
dd3b229e2c Do some cleanup with respect to condition variables. The implementation
of pthread_cond_timedwait() is moved into cond_wait_common().
Pthread_cond_wait() and pthread_cond_timedwait() are now wrappers around
this function. Previously, the former called the latter with the abstime
pointing to 0 time. This violated Posix semantics should an application
have reason to call it with that argument because instead or returning
immediately it would have waited indefinitely for the cv to be signaled.

Approved by:	markm/mentor, re/blanket libthr
Reviewed by:	jeff
2003-05-15 18:17:13 +00:00
Mike Makonnen
6da7f4937e o Make the setting/checking of cancel state atomic with
respect to other threads and signal handlers by moving to
  the _thread_critical_enter/exit functions.

o Introduce an static function, testcancel(), that is used by
  the other functions in this module. This allows it to make
  locking assumptions that the top-level functions can't.

o Rework the code flow a bit to reduce indentation levels.

Approved by:	markm/mentor, re/blanket libthr
Reviewed by:	jeff
2003-05-15 17:56:18 +00:00
John Baldwin
840558b971 s/procsig/sigacts/ to catch up to procsig and sigacts changes in the kernel.
Approved by:	re (scottl)
2003-05-14 15:01:20 +00:00
Peter Wemm
e472fbeee2 Bandaid for world. jhb gets the pointy hat here and he needs to look at
this.

Approved by:   re (scottl)
2003-05-14 07:28:43 +00:00
Doug Barton
336c22c598 * The copy of the stat struct in the man page has rotted, so remove it.
Those who really need this information can find it in the include file.

* Include a succinct description of the st_birthtime field.

Approved by:	re (bmah)
2003-05-13 08:10:05 +00:00
Hiten Pandya
4a49423d71 Following MLINKS added, which point to host_access(3):
- hosts_ctl(3), hosts_access(3), request_init(3),
	  request_set(3).

PR: docs/52000
Submitted by: Simon L. Nielsen <simon@nitro.dk>
Approved and Reviewed by: des (mentor), re (scottl)
2003-05-12 21:59:16 +00:00
Mike Makonnen
479778b07f msg2 2003-05-12 10:40:53 +00:00
Mike Makonnen
c984b5a72a msg1 2003-05-12 10:34:01 +00:00
Peter Wemm
6b22ec82bf Update ldexp.c for amd64. 2003-05-10 00:47:52 +00:00
David Schultz
b7412bf571 Add a comment describing why it's important for the values in this
file to be correct, and how to generate them automatically.

Caused much pain and suffering for:	peter
2003-05-08 13:50:44 +00:00
Peter Wemm
0b1bb81ae6 SIG_SETMASK is 3, not 1. Sigh. 2003-05-08 07:41:24 +00:00
Peter Wemm
7ef6516c60 Fix an embarresing transcription error from i386 to amd64. Put the arguments
to sigprocmask(2) int the correct order. *blush*.
For sigsetjmp(), match up the pushq/popq in the non-savemask case.
2003-05-08 06:25:03 +00:00
Peter Wemm
dffecce67c Tidy up modf.S and make it actually work. It wasn't extracting
the value out of ST(0) before copying it to %xmm0.  Also remove bogus stack
frame and work in the red zone.
2003-05-08 03:19:37 +00:00
Peter Wemm
74b0b3cfcb Fix typo, even though this is unused. 2003-05-08 00:02:47 +00:00
Peter Wemm
c48f718c25 Like ia64, amd64 has got a 16 byte sized and aligned 'long double'.
Obtained from:	re (blanket amd64)
2003-05-08 00:02:03 +00:00
Peter Wemm
cf2720dda4 Turn off alloca.S - it cannot possibly work like this since on AMD64, gcc
doesn't use stack frames.  It uses offsets relative to %rsp, not %rbp.  So
we cannot just change %rsp like this.

Approved by:	re (blanket amd64)
2003-05-07 23:49:24 +00:00
Peter Wemm
be78acdf64 Actually use the correct values for AMD64. It is a 64 bit platform,
configure gdtoa as such.
2003-05-07 23:48:05 +00:00
John Baldwin
664234c6e2 Properly cleanup the stack before jumping to cerror() if rfork(2) fails.
Submitted by:	Igor Sysoev <is@rambler-co.ru>
Approved by:	re (scottl)
2003-05-07 17:23:25 +00:00
Mike Makonnen
a260623c5f Fix a null dereference leading to a core dump when
the number of threads exceeds the number of open slots
in ldt_entries[].

Approved by:	markm (mentor)(implicit)
Reviewed by:	jeff
2003-05-06 02:33:49 +00:00
Mike Makonnen
ae0df91f34 o Correct a debug message that refered to the wrong function
o Remove an unncecesary if clause

Approved by:	markm (mentor)(implicit)
Reviewd by:	jeff
2003-05-06 02:30:52 +00:00
Daniel Eischen
07e6b1c7a3 Make pthread_join() async-cancel-safe. David was going to commit
this, but I think he's asleep and want to be sure it gets in before
the freeze.

Submitted by:	davidxu
2003-05-06 00:02:54 +00:00
Dag-Erling Smørgrav
8b48559cff OpenPAM is WANRS6-clean. 2003-05-05 21:15:35 +00:00
Mark Murray
dbf104e68d Turn MAKE_KERBEROS5 into NO_KERBEROS by negating the logic. Some extra
cleanups were necessary in release/Makefile, and the tinderbox code
was syntax checked, not run checked.
2003-05-05 07:58:44 +00:00
Murray Stokely
eb8b21f78b Backout last commit. It is redundant in -CURRENT.
Pointed out by:	David Schultz
2003-05-05 06:25:03 +00:00
David Xu
f508d26091 call dump_queues() only when DEBUG_THREAD_KERN is defined, save some
cpu cycles.
2003-05-05 05:01:19 +00:00
Daniel Eischen
e8baaa7062 Replace use of a spinlock with a mutex. 2003-05-04 22:36:46 +00:00
Daniel Eischen
c72cd7c9e2 Protect against a race between granting a lock and accessing
other parts of the lock.

Submitted by:	davidxu
2003-05-04 22:29:09 +00:00
Murray Stokely
d8082d11aa Note that the idletime setting is not enforced.
PR:		docs/40952
MFC After:	3 days
2003-05-04 21:35:41 +00:00
David E. O'Brien
1628730478 This is now Gcc 3.3 WARNS 6 clean. 2003-05-04 18:34:00 +00:00
David E. O'Brien
bbe4999bd1 Set abitag __unused. 2003-05-04 18:33:26 +00:00
Daniel Eischen
40791d9d15 Fix suspend and resume.
Submitted (in part) by:	Kazuaki Oda <kaakun@highway.ne.jp>
2003-05-04 16:17:01 +00:00
Murray Stokely
df788a526f Document the login-backoff and login-retries capabilities.
PR:		docs/51397
MFC After:	3 days
2003-05-04 06:43:24 +00:00
David Xu
99c883294c Handle thread canceled case, it is same as signal caused backout,
but will break out of loop.
2003-05-02 11:39:00 +00:00
Mark Murray
aaa2c2ab24 Trasmute moer "krb5" distibutions into "crypto". 2003-05-01 21:21:15 +00:00
Tom Rhodes
a460614661 Use the .Dl macro.
Discussed with:	mdoc(7) officer ru
2003-05-01 20:27:59 +00:00
Ruslan Ermilov
a52672e938 Build non-crypto telnet(1) and telnetd(8) if NO_OPENSSL is defined.
Submitted by:	Marius Strobl <marius@alchemy.franken.de>
2003-05-01 19:38:15 +00:00
Tom Rhodes
7b98ad3005 State the fact that the range is twice the traditional RAND_MAX.
Add an EXAMPLES section.

PR:		48493
Submitted by:	Paul Herman <pherman@frenchfries.net> (original version)
2003-05-01 19:09:16 +00:00
Jacques Vidrine
d05090827f Back out the `hiding' of strlcpy and strlcat. Several people
vocally objected to this safety belt.
2003-05-01 19:03:14 +00:00
David E. O'Brien
d37f19f084 Convert the i386 alloca(3) to the x86-64 ISA.
Alignment hack from:	NetBSD
2003-05-01 16:04:38 +00:00
Dag-Erling Smørgrav
6c0510dc2f Use C99-style varadic macros instead of the non-standard gcc syntax. 2003-05-01 15:08:55 +00:00
Dag-Erling Smørgrav
e50fb9d500 Mark libpam as c99- and WARNS5-clean. 2003-05-01 14:55:06 +00:00
Dag-Erling Smørgrav
60a87a5fa2 Mark libfetch as c99-clean. Always build at WARNS level 2 rather than
juggling with levels 2 and 3, as this has lead to world breakage for
NOCRYPT users in the past.
2003-05-01 14:39:43 +00:00
Peter Wemm
8e80f8a438 AMD64 support (another IEEEFP platform) 2003-04-30 21:06:30 +00:00
Peter Wemm
a1de871d26 AMD64 support; repocopied from i386 2003-04-30 21:05:33 +00:00
Peter Wemm
2512cd4e8f Teach libdisk that AMD64 works just like i386 2003-04-30 21:03:16 +00:00
Peter Wemm
f7f1bb1485 Add __amd64__ to the list of things that use IEEEFP 2003-04-30 19:32:25 +00:00
Peter Wemm
5aed8cd5f6 Tell malloc.c that AMD64 uses the same pagesize as i386. 2003-04-30 19:30:34 +00:00
Peter Wemm
0f055c5bd8 Add __amd64__ to the list of things that use HIDENAME() to hide minbrk 2003-04-30 19:29:02 +00:00
Peter Wemm
1b376078fd Update for AMD64. repocopied from i386-elf/crt1.c. Deal with regparm
argument passing rather than stack based args.  The kernel passes the
base of the argument/env vector in %rdi (arg1).
2003-04-30 19:27:07 +00:00
Peter Wemm
d95bef1cef Turn off libstand for amd64 for the time being. It is built in i386
mode, and we do not need the complications for now.
2003-04-30 18:42:25 +00:00
Peter Wemm
adcebdf45d Delete i386_* syscall wrappers and manpages. Rename Ovfork.S to vfork.S. 2003-04-30 18:17:07 +00:00
Peter Wemm
0191e03a4e Update for AMD64 after repocopy from i386/sys/*. This means:
- strip out the nasty PIC_PROLOGUE/EPILOGUE stuff, since we dont have
to lose a register in PIC mode anymore (we use %rip-relative addressing).
- update for C register argument passing conventions.
- convert 32 bit to 64 bit register sizes etc.
2003-04-30 18:16:33 +00:00
Peter Wemm
0b8d851ef7 I have no idea why the reboot(2) syscall wrapper ends with iret, but
update it to be iretq for completeness.
2003-04-30 18:14:44 +00:00
Peter Wemm
0ffd54b17b Update for AMD64. Depend on %rdi (first syscall argument) being preserved
across a "syscall"-style syscall
2003-04-30 18:13:48 +00:00
Peter Wemm
173564016e Update for AMD64 (repocopied from i386/sys/Ovfork.S - why is it O?)
Depend on %rsi being preserved across the "syscall"-style syscall and strip
out the PIC stuff (this cpu has full PC-relative addressing, at last!)
2003-04-30 18:13:13 +00:00
Peter Wemm
1482008e2b Update for AMD64 contexts. Note that this still has some x87-style FPU
instructions here, these may need to be updated for SSE.
(Repocopied from i386/gen)
2003-04-30 18:09:33 +00:00
Peter Wemm
96f94e7d64 Reduce the SRCS to what compiles 2003-04-30 18:08:01 +00:00
Peter Wemm
8d8a622e6b Update for AMD64 (repocopied from i386/net). We can depend on having
the bswap instruction (yay!).  Update for register parameter passing
instead of i386 style stack based param passing.
2003-04-30 18:07:23 +00:00
Peter Wemm
4dbb9c65d7 Update for AMD64-style syscalls. Repocopied from i386/SYS.h.
Note that the syscall instruction clobbers %rcx, which is inconvenient
because it is the fourth syscall argument, so we use %r10 (another scratch
register) for the 4th syscall arg instead (I picked %r10 to be the same as
NetBSD).  int 0x80 is still possible though, and it uses %rcx as usual.
Note that the syscall style syscall does *NOT* preserve all the registers,
unlike int 0x80.  We do not preserve the scratch registers except for
%rdi and %rsi.  int 0x80 does preserve everything but the return values.
2003-04-30 18:06:14 +00:00
David E. O'Brien
9be6d929b1 Only define platform once -- in a C file. 2003-04-30 17:14:58 +00:00
David E. O'Brien
32fdc4235e Floating point libc functions traditionally written in ASM.
AMD64 does away with the x87 in 64-bit long mode, so we have to play the
SSE/SSE2 game now.

Obtained from:	NetBSD/x86-64
2003-04-30 16:21:03 +00:00
David E. O'Brien
bba777dd3b Symlink with -f. 2003-04-30 15:49:40 +00:00
David E. O'Brien
6b385310ff No libc_r for AMD64. 2003-04-30 15:33:50 +00:00
Daniel Eischen
d143dde438 Move the mailbox to the beginning of the thread and align the
thread so that the context (SSE FPU state) is also aligned.
2003-04-30 15:05:17 +00:00
Mike Makonnen
6c688436bb Backout my changes in rev. 1.32 and 1.33. There is some code that depends
on the previous behaviour. This also brings strptime(3) behaviour back in line
with the other BSDs.

Approved by:	markm (mentor)
2003-04-30 10:25:57 +00:00
Ruslan Ermilov
2550f696d6 Fixed alignment. 2003-04-30 07:13:50 +00:00
David Xu
d1021be03f Call kse_wakeup_mutli() after remove current thread from RUNQ to avoid
doing unnecessary idle kse wakeup.
2003-04-30 01:15:21 +00:00
David Xu
30a2952c90 Call kse_wakeup_multi() to wakeup idle KSEs when there are threads ready
to run.
2003-04-30 01:03:58 +00:00
Dag-Erling Smørgrav
8f3031025b Make sure rhostip is always initialized.
PR:		bin/51508
Submitted by:	Peter Grimshaw <peter@tesseract.demon.co.uk>
2003-04-30 00:49:42 +00:00
Dag-Erling Smørgrav
ccd703cfe4 Treat an empty PAM_RHOST the same as a NULL one.
PR:		bin/51508
2003-04-30 00:44:05 +00:00
Dag-Erling Smørgrav
3edc7b4e0b Set $HOME to the correct directory (within the chroot tree). 2003-04-30 00:40:24 +00:00
Jacques Vidrine
5723e501ab `Hide' strlcpy and strlcat (using the namespace.h / __weak_reference
technique) so that we don't wind up calling into an application's
version if the application defines them.

Inspired by:	qpopper's interfering and buggy version of strlcpy
2003-04-29 21:13:50 +00:00
Daniel Eischen
a8b5a9cd12 Jump to the correct label upon detecting an error. 2003-04-29 21:05:17 +00:00
Daniel Eischen
6cc13fa9ad Create the thread signal lock as a KSE lock (as opposed to
a thread lock).

Better protect access to thread state while searching for
threads to handle a signal.

Better protect access to process pending signals while processing
a thread in sigwait().

Submitted by:	davidxu
2003-04-29 21:03:33 +00:00
Matthew N. Dodd
4161ee3d26 Document VM86_INTCALL.
Submitted by:	 Bruce M Simpson
2003-04-29 08:35:28 +00:00
Daniel Eischen
55613576f5 o Don't add a scope system thread's KSE to the list of available
KSEs when it's thread exits; allow the GC handler to do that.

o Make spinlock/spinlock critical regions.

The following were submitted by davidxu

  o Alow thr_switch() to take a null mailbox argument.

  o Better protect cancellation checks.

  o Don't set KSE specific data when creating new KSEs; rely on the
    first upcall of the KSE to set it.

  o Add the ability to set the maximum concurrency level and do this
    automatically.  We should have a way to enable/disable this with
    some sort of tunable because some applications may not want this
    to be the default.

  o Hold the scheduling lock across thread switch calls.

  o If scheduling of a thread fails, make sure to remove it from the list
    of active threads.

  o Better protect accesses to a joining threads when the target thread is
    exited and detached.

  o Remove some macro definitions that are now provided by <sys/kse.h>.

  o Don't leave the library in threaded mode if creation of the initial
    KSE fails.

  o Wakeup idle KSEs when there are threads ready to run.

  o Maintain the number of threads active in the priority queue.
2003-04-28 23:56:12 +00:00
Daniel Eischen
76f344139c Use the correct link entry for walking the list of threads.
While I'm here, use the TAILQ_FOREACH macro instead of a more
manual method which was inherited from libc_r (so we could
remove elements from the list which isn't needed for libpthread).

Submitted by:	Kazuaki Oda <kaakun@highway.ne.jp>
2003-04-28 21:35:06 +00:00
Robert Drehmel
da0db726f7 Replace the return value of rfork_thread(3) in its manual page
function prototype with `pid_t' to match the declaration in
<unistd.h>.
2003-04-27 21:07:27 +00:00
Robert Drehmel
d1c2c89dd2 Correct the return value of vfork(2) and rfork(2) in their
manual page function prototypes.
2003-04-27 21:01:34 +00:00
Tom Rhodes
6c4e78ae1a Add vmemoryuse to the list.
PR:		50796
Submitted by:	Dmitry Sivachenko <mitya@cavia.pp.ru>
2003-04-26 15:15:05 +00:00
Tom Rhodes
225823c590 Add sys/user.h to the list of includes. Without it you lack a definition of
'struct kinfo_proc' for calls to kvm_getargv() and kvm_getenvv().

PR:	51322
2003-04-26 15:00:57 +00:00
Robert Watson
2715ba4892 Add some strategic whitespace. 2003-04-26 03:32:18 +00:00
Jacques Vidrine
c14d379de1 When using `compat' mode, be sure to re-dispatch setpwent, endpwent,
setgrent, and endgrent also.  (The previous NSS implementation used to
simply twiddle the internal data of the various modules directly.)

A symptom (group list set incorrectly in sshd) was
Reported by:	Glenn Johnson <gjohnson@srrc.ars.usda.gov>

Sponsored by:	DARPA, Network Associates Laboratories
2003-04-25 18:25:19 +00:00
Ruslan Ermilov
a14744f268 Restore bzip2(1) support in loader(8) after Peter's renames of
malloc() to Malloc(), and free() to Free(), in zalloc_malloc.c.
2003-04-25 06:44:56 +00:00
Daniel Eischen
c20264770f Connect libpthread to the (i386) world. It is currently installed
as libkse and will once again be renamed libpthread after more
testing.

Approved by:	re
2003-04-25 01:34:43 +00:00
Daniel Eischen
fd47bf962d Remove the %gs restoring hack (already commented out).
Don't install man pages.

Temporarily (again) rename the library to libkse.  It will be put back
to libpthread after more wide-spread testing.
2003-04-25 01:31:56 +00:00
Jacques Vidrine
e2527daf1a In compat mode, we `redispatch' the lookup. It is probably a good
idea to re-initialize `struct passwd', because e.g. pw_class might
get set by one module, but not by another.  Add another call to the
internal pwd_init function to accomplish this.

Sponsored by:	DARPA, Network Associates Laboratories
2003-04-24 23:56:58 +00:00
Jacques Vidrine
0030cba4aa Catch up with nsdispatch.c: nsdispatch(3) is now `hidden' by
namespace.h.

Sponsored by:	DARPA, Network Associates Laboratories
2003-04-24 20:16:21 +00:00
Jacques Vidrine
43f9b2521d Don't complain about missing NSS methods when built statically. It is
annoying and not very useful.

Sponsored by:	DARPA, Network Associates Laboratories
2003-04-24 19:57:31 +00:00
Jacques Vidrine
c5774e2d30 Catch up with nsdispatch.c: nsdispatch(3) is now `hidden' by
namespace.h.

Sponsored by:	DARPA, Network Associates Laboratories
2003-04-24 18:05:48 +00:00
Jacques Vidrine
20e0e084e7 Catch up with nsdispatch.c: nsdispatch(3) is now `hidden' by
namespace.h.

Sponsored by:	DARPA, Network Associates Laboratories
2003-04-24 17:41:20 +00:00
Dag-Erling Smørgrav
be01d58da1 Remove a bogus null password check which assumed that a user with an empty
password must necessarily have an empty pwd->pw_passwd.  Also add a check
that prevents users from setting a blank password unless the nullok option
was specified.  Root is still allowed to give anyone a blank password.
2003-04-24 12:26:25 +00:00
Daniel Eischen
10629b6587 Add a macro to get the current thread mailbox pointer. 2003-04-23 21:49:34 +00:00
Daniel Eischen
c159269082 Remove the i386-specific hack (well, we only run on i386 anyways)
to always set %gs when resuming a thread.

Install this library as libpthread instead of libkse.
2003-04-23 21:48:29 +00:00
Daniel Eischen
f1c8192fd4 Protect thread errno from being changed while operating
on behalf of the KSE.

Add a kse_reinit function to reinitialize a reused KSE.

Submitted by:	davidxu
2003-04-23 21:46:50 +00:00
Poul-Henning Kamp
604c210c15 Fix a compiler warning.
Submitted by:	David Leimbach <leimy2k@mac.com>
2003-04-23 12:15:31 +00:00
Jacques Vidrine
5460b1abd2 ``Strong typing is a crutch for people with weak memories.''
Correct a bug that should have wreaked havoc everywhere, but for
some reason only bit unlucky people who use `-march' optimizations.
The compiler cannot assist one in distinguishing between the two
function calls below.

   int nsdispatch(void *, ...);
   void *discard;

   nsdispatch(&discard, ...);  /* correct .. no, really! */
   nsdispatch(discard, ...);   /* Boom                   */

Robin provided me with a debugging environment in which I could see
what was going on.

Badness when using CPUTYPE was
Reported by:	"Robin P. Blanchard" <Robin.Blanchard@gactr.uga.edu>
Reported by:	nork

Sponsored by:	DARPA, Network Associates Laboratories
2003-04-22 22:19:05 +00:00
Daniel Eischen
29fde418c1 Set the quantum for scope system threads to 0 (no quantum). 2003-04-22 21:32:32 +00:00
Daniel Eischen
42a5f6248b Add a working pthread_[gs]etconcurrency. Initial null implementation
provided by Sergey A. Osokin <osa@freebsd.org.ru>.

In order to test this on a single CPU machine, you need to:

    sysctl kern.threads.debug=1
    sysctl kern.threads.virtual_cpu=2
2003-04-22 20:29:16 +00:00
Daniel Eischen
6dee371a55 Add a couple asserts to pthread_cond_foo to ensure the (low-level)
lock level is 0.  Thus far, the threads implementation doesn't use
mutexes or condition variables so the lock level should be 0.

Save the return value when trying to schedule a new thread and
use this to return an error from pthread_create().

Change the max sleep time for an idle KSE to 1 minute from 2 minutes.

Maintain a count of the number of KSEs within a KSEG.

With these changes scope system threads seem to work, but heavy
use of them crash the kernel (supposedly VM bugs).
2003-04-22 20:28:33 +00:00
Poul-Henning Kamp
64a5766ef7 Collapse the meta arguments into normal arguments, trying to distinguish
just makes our own life harder.
2003-04-22 19:31:00 +00:00
Poul-Henning Kamp
32c44cd7bb Fix compilation errors.
I wonder how I managed to cross-compile this yesterday.
2003-04-22 05:34:35 +00:00
Poul-Henning Kamp
9ad2132174 Update libdisk to use the explicing encoding function for sunlabel data
structures.
2003-04-21 20:36:44 +00:00
Jacques Vidrine
905ec0db3b Correct a bug that was somehow both obvious and hard-to-see. :-)
An incorrectly-sized allocation was being made due to an incorrect
argument to the `sizeof' operator.  Obvious, because it violated the
`foo = malloc(sizeof(*foo))' idiom.  Hard-to-see, because it was a
missing `*' (`*p' versus `**p').

Resulting failure was
Reported by:	ache

Sponsored by:	DARPA, Network Associates Laboratories
2003-04-21 15:44:25 +00:00
Jacques Vidrine
d3fc864f93 Don't try to access the NIS `master' maps unless we have superuser
privileges.  To do so may cause the NIS server to log spurious and
annoying `access denied' messages.

Reported by:	Philip Paeps <philip@paeps.cx>
Sponsored by:	DARPA, Network Associates Laboratories
2003-04-21 13:57:58 +00:00
Daniel Eischen
02245e6120 Add an i386-specifc hack to always set %gs. There still seems
to be instances where the kernel doesn't  properly save and/or
restore it.

Use noupcall and nocompleted flags in the KSE mailbox.  These
require kernel changes to work which will be committed sometime
later.  Things still work without the changes.

Remove the general kse entry function and use two different
functions -- one for scope system threads and one for scope
process threads.  The scope system function is not yet enabled
and we use the same function for all threads at the moment.

Keep a copy of the KSE stack for the case that a KSE runs
a scope system thread and uses the same stack as the thread
(no upcalls are generated, so a separate stack isn't needed).
This isn't enabled yet.

Use a separate field for the KSE waiting flag.  It isn't
correct to use the mailbox flags field.

The following fixes were provided by David Xu:

  o Initialize condition variable locks with thread versions
    of the low-level locking functions instead of the kse versions.

  o Enable threading before creating the first thread instead
    of after.

  o Don't enter critical regions when trying to malloc/free
    or call functions that malloc/free.

  o Take the scheduling lock when inheriting thread attributes.

  o Check the attribute's stack pointer instead of the
    attributes stack size for null when allocating a
    thread's stack.

  o Add a kseg reinit function so we don't have to destroy and
    then recreate the same lock.

  o Check the return value of kse_create() and return an
    appropriate error if it fails.

  o Don't forget to destroy a thread's locks when freeing it.

  o Examine the correct flags word for checking to see if
    a thread is in a synchronization queue.

Things should now work on an SMP kernel.
2003-04-21 04:02:56 +00:00
Daniel Eischen
6c2a22923c Use popfl to get the flags off the stack instead of popf.
Submitted by:	davidxu
2003-04-21 03:59:07 +00:00
David E. O'Brien
ce48b9e432 fix __FBSDID 2003-04-20 18:41:16 +00:00
David E. O'Brien
bfd738788b style.Makefile(5) 2003-04-20 18:38:59 +00:00
Robert Watson
8aa884cb01 Add FILES section to mac.3 and mac.conf.5. Properly Xref mac.conf.5
from mac.3; likewise, mac.conf.5 from mac_prepare.3.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2003-04-20 04:43:56 +00:00
Robert Watson
781a15a533 Add a man page for the mac.conf MAC library configuration file.
Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2003-04-20 03:18:44 +00:00
Marcel Moolenaar
1d3e7116dc Add support for ia64.
Note that the tp register (r13) is reserved as the TLS pointer in
the same way that that gp register (r1) is reserved as the global
pointer. This implementation uses the tp register to point to the
thread structure used by the threads implementation. This is not
in violation with the runtime specification provided the TLS is
a fixed distance from the thread structure. This is only an issue
when code used the __thread keyword to create TLS. This is not
supported at the moment.
2003-04-20 03:06:42 +00:00
Marcel Moolenaar
09dd61fd99 Use STDERR_FILENO as the file descriptor passed to _thread_printf()
instead of 0 (ie stdin). Writing to stdin may not be possible.
2003-04-20 02:58:30 +00:00
Robert Watson
23408b001b Add the mac_prepare{,_*}() functions to the high-level function list
in the mac.3 library man page.  They were already cross-referenced
at the end of the man page, just not explicitly listed here.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2003-04-20 02:56:16 +00:00
Marcel Moolenaar
e7c9b7517b Fix build breakage (on ia64) caused by a missing file descriptor to
_thread_printf(). Use STDERR_FILENO as the file descriptor.
2003-04-20 02:56:12 +00:00
John Polstra
8c0d4b5f92 Add stub implementations of pthread_[gs]etconcurrency to libc_r and
libthr.  No changes were made to libpthread by request of deischen,
who will soon commit a real implementation for that library.

PR:		standards/50848
Submitted by:	Sergey A. Osokin <osa@freebsd.org.ru>
MFC after:	1 week
2003-04-20 01:53:13 +00:00
Jacques Vidrine
43652a6ba6 Repair a bug in which a faulty group entry (one with only 2 colons)
would result in an incorrectly terminated grouplist.

login(1) crashes
Reported by:	Morten Rodal <morten@rodal.no>,
		Matthias Schuendehuette <msch@snafu.de>
2003-04-20 01:12:00 +00:00
David Schultz
1f2a0cdf58 %E-like %g and %G conversions should remove trailing zeroes unless
the # flag is present.  Implement this behavior and add a comment
describing it.

Noticed by:	Enache Adrian <enache@rdslink.ro>
Pointy hat to:	das
2003-04-19 23:53:19 +00:00
Poul-Henning Kamp
0b1b370c47 Add prototype for compute_stats() so that libdevstat is WARNS=4 clean.
Spotted by:	kris
2003-04-19 07:42:13 +00:00
Jacques Vidrine
171614bfd6 Follow-up to revision 1.74: Using the result buffer to store our empty
string was an incredibly dumb idea (of course it will be changed by an
NSS module on success!).  Use a static empty string instead.

Sponsored by:	DARPA, Network Associates Laboratories
2003-04-18 22:07:30 +00:00
Jacques Vidrine
a9ceaa9dc8 Follow-up to revision 1.73: set _PWF_FILES when `compat' source is used
but user is found in local file.

Reported by:	Shizuka Kudo <shizukakudo_99@yahoo.com>
Sponsored by:	DARPA, Network Associates Laboratories
2003-04-18 21:13:35 +00:00
Jacques Vidrine
4c3c0fecae Don't use `memset' to initialize a struct passwd. A module
may not fill in all fields, and in the case of string fields, this could
cause trouble for applications.  (The only likely example is `pw_class',
because this field is not used by all modules in all cases.)

Move initialization of struct passwd from module-specific code to the
dispatch code.

The problem of a NULL pw_class was
Noticed by:	Philip Paeps <philip@paeps.cx>
                    and the c^Htrusty ssh(1) command.
Déjà vu by:	getpwent.c revision 1.56

Sponsored by:	DARPA, Network Associates Laboratories
2003-04-18 17:27:05 +00:00
Jacques Vidrine
71cc8f0764 Correctly set _PWF_FILES in pw_fields when appropriate.
(_PWF_NIS and _PWF_HESIOD were already being set.)

Reported by:	Shizuka Kudo <shizukakudo_99@yahoo.com>
Sponsored by:	DARPA, Network Associates Laboratories
2003-04-18 16:24:25 +00:00
Jacques Vidrine
b4603f3dd4 Revert the definitions of _PW_KEY* to their previous values. There is
at least one consumer outside of libc and pwd_mkdb.
Adjust the versioning in libc and pwd_mkdb accordingly.

named was the application affected, and that fact was first
Reported by:	Zherdev Anatoly <tolyar@mx.ru>

Sponsored by:	DARPA, Network Associates Laboratories
2003-04-18 14:11:17 +00:00
Ruslan Ermilov
27220696ca Make this compile under cs_CZ.ISO8859-2 locale.
Reported by:	Pav Lucistnik <pav@oook.cz>

We hit this problem earlier, in PR misc/45460.
2003-04-18 13:01:07 +00:00
Daniel Eischen
078d4c1b8b Remove duplicate $FreeBSD$ id. 2003-04-18 07:45:03 +00:00
Daniel Eischen
e4c2ac1637 Sorry folks; I accidentally committed a patch from what I was working
on a couple of days ago.  This should be the most recent changes.

Noticed by:	davidxu
2003-04-18 07:09:43 +00:00
Daniel Eischen
0174b69f92 Comment out the addition of -g to CFLAGS. This snuck in from
my local version.
2003-04-18 05:06:56 +00:00
Daniel Eischen
a0240e2cb0 Revamp libpthread so that it has a chance of working in an SMP
environment.  This includes support for multiple KSEs and KSEGs.

The ability to create more than 1 KSE via pthread_setconcurrency()
is in the works as well as support for PTHREAD_SCOPE_SYSTEM threads.
Those should come shortly.

There are still some known issues which davidxu and I are working
on, but it'll make it easier for us by committing what we have.

This library now passes all of the ACE tests that libc_r passes
with the exception of one.  It also seems to work OK with KDE
including konqueror, kwrite, etc.  I haven't been able to get
mozilla to run due to lack of java plugin, so I'd be interested
to see how it works with that.

Reviewed by:	davidxu
2003-04-18 05:04:16 +00:00
Daniel Eischen
b025fc9a31 Add FIFO queueing locking operations based on atomic swap.
Modify thread errno for the new libpthread changes.

Reviewed by:	davidxu
2003-04-18 05:02:39 +00:00
Daniel Eischen
27f625a036 Add architecture dependent atomic ops (atomic_swap only), KSE specific
data, and userland versions of [gs]etcontext().

Modify the UTS entry and exit functions to account of FPU validity
and format.
2003-04-18 05:00:52 +00:00
Jacques Vidrine
1b467db206 The default if nsswitch.conf(5) is not present is supposed to be the
hated `compat' source, not `files'.

Reported by:	Philip Paeps <philip@paeps.cx>
Sponsored by:	DARPA, Network Associates Laboratories
2003-04-18 01:00:37 +00:00
Tom Rhodes
59ac15c152 Add a manual page for the ntp_gettime syscall.
Reviewed by:	ru, phk (older version).
2003-04-17 18:39:30 +00:00
Jacques Vidrine
05f98035ee = Implement thread-safe versions of the getpwent(3) and getgrent(3)
family of functions using the new nsdispatch(3) core.  Remove
  arbitrary size limits when using the thread-safe versions.

= Re-implement the traditional getpwent(3)/getgrent(3) functions on
  top of the thread-safe versions.

= Update the on-disk format of the hashed version of the passwd(5)
  databases to allow for versioned entries.  The legacy version is
  `3'.  (Don't ask.)

= Add support for version `4' entries in the passwd(5) database.
  Entries in this format are identical to version 3 entries except
  that all integers are stored as 32-bit integers in network byte
  order (big endian).

= pwd_mkdb is updated to generate both version 3 and version 4
  entries.

Sponsored by:	DARPA, Network Associates Laboratories
2003-04-17 14:15:26 +00:00
Jacques Vidrine
46d9306383 = Implement name service switch modules (NSS modules). NSS modules
may be built into libc (`static NSS modules') or dynamically loaded
  via dlopen (`dynamic NSS modules').  Modules are loaded/initialized
  at configuration time (i.e.  when nsdispatch is called and nsswitch.conf
  is read or re-read).

= Make the nsdispatch(3) core thread-safe.

= New status code for nsdispatch(3) `NS_RETURN', currently used to
  signal ERANGE-type issues.

= syslog(3) problems, don't warn/err/abort.

= Try harder to avoid namespace pollution.

= Implement some shims to assist in porting NSS modules written for
  the GNU C Library nsswitch interface.

Sponsored by:	DARPA, Network Associates Laboratories
2003-04-17 14:14:22 +00:00
Munechika SUMIKAWA
296e054f23 Buffer size is not enough in the previous commit. Use 128.
Pointed out by:	nectar
MFC after:	1 week
2003-04-17 07:20:00 +00:00
Robert Watson
ecf889825d Clarify the relationship between the MAC library APIs and POSIX.1e:
they resemble one another, but POSIX.1e interfaces were not sufficiently
expressive to do what we needed.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2003-04-16 20:40:34 +00:00
Munechika SUMIKAWA
6089e562ff Make character buffer more bigger.
Obtained from:	KAME
MFC after:	1 week
2003-04-16 11:21:12 +00:00
Tom Rhodes
7456d3c673 Add a manual page for the ntp_adjtime syscall.
PR:		32674
Reviewed by:	phk, ru
2003-04-15 15:42:10 +00:00
Tim J. Robbins
d73c448b1c Merge in vfprintf.c rev. 1.58. 2003-04-14 12:15:59 +00:00
David Schultz
81ae2e9a4d Fix a bug where printf was erroneously printing a decimal point for
%f and sufficiently short %g specifiers where the precision was
explicitly zero, no '#' flag was specified, and the floating point
argument was > 0 and <= 0.5.  While at it, add some comments to better
explain the relevant bits of code.

Noticed by:	Christoph Kukulies <kuku@physik.rwth-aachen.de>
2003-04-14 11:24:53 +00:00
Robert Drehmel
5a1c2d4f62 Trust the code more than the comment(s) and correct some false
statements about pointer data type sizes, which spread probably
by copy-and-paste.
2003-04-12 07:36:44 +00:00
Tim J. Robbins
a40248455d Return "/boot/kernel/kernel" instead of "/kernel" if the sysctl() call
fails. The documentation was incorrectly updated in getbootfile.3 rev. 1.10.
2003-04-11 13:54:28 +00:00
Julian Elischer
a0ddbf497b Catch up with the kernel. Move the current cpu indicator to the thread. 2003-04-10 17:41:40 +00:00
Dag-Erling Smørgrav
b7d6bb0833 Brucify. 2003-04-10 10:26:18 +00:00
Tim J. Robbins
e3e8878435 When called with s == NULL, behave as if wc == L'\0' as required by the
standard.
2003-04-10 09:20:38 +00:00
Dag-Erling Smørgrav
e7d9d9217c 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
Dag-Erling Smørgrav
e947f78c16 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
Poul-Henning Kamp
1455c4e2ec If rounding results in -epsilon device busy %, set it to zero. 2003-04-09 07:49:15 +00:00
David Schultz
fad677445e /strtopx/ s/result/&result/
This is the version I *meant* to commit last week.
2003-04-09 05:58:43 +00:00
Mike Barcroft
fd7a8150fb o In struct prison, add an allprison linked list of prisons (protected
by allprison_mtx), a unique prison/jail identifier field, two path
  fields (pr_path for reporting and pr_root vnode instance) to store
  the chroot() point of each jail.
o Add jail_attach(2) to allow a process to bind to an existing jail.
o Add change_root() to perform the chroot operation on a specified
  vnode.
o Generalize change_dir() to accept a vnode, and move namei() calls
  to callers of change_dir().
o Add a new sysctl (security.jail.list) which is a group of
  struct xprison instances that represent a snapshot of active jails.

Reviewed by:	rwatson, tjr
2003-04-09 02:55:18 +00:00
Matthew N. Dodd
cf0e07e504 Sync with NetBSD.
- Bump shared library version on libusbhid.
- Retire libusbhid.h; it is called usbhid.h now.
- hid_start_parse() takes a third argument.
- hid_locate() takes a fifth argument.
- hid_report_size() order of arguments changes.
- Other changes, including formatting and whitespace.

Bump __FreeBSD_version.

This change will break all third party applications that rely on previous
FreeBSD specific behavior.
2003-04-09 01:52:49 +00:00
Dag-Erling Smørgrav
c794881f8c 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
Dag-Erling Smørgrav
a8643c9882 Connect the pam_chroot(8) module to the build. 2003-04-08 16:52:34 +00:00
Dag-Erling Smørgrav
d4e15f10b1 Add a cwd option which specifies where to chdir(2) after the chroot(2).
When using the /home/./foo scheme, this defaults to the rhs (/foo);
otherwise it defaults to /.
2003-04-08 16:52:18 +00:00
Matthew N. Dodd
196f440aa2 Bump the date. 2003-04-07 22:59:12 +00:00
Matthew N. Dodd
564b641ef9 Clarify the behavior of PATH_FSTAB with regard to 'tainted' execution.
Requested by:	 ru
2003-04-07 14:21:14 +00:00
Matthew N. Dodd
134dbc4c32 - Add setfstab() and getfstab().
- Use the environment variable 'PATH_FSTAB' if set rather than the
  hardcoded '/etc/fstab' (fstab.h:_PATH_FSTAB)
2003-04-07 12:55:00 +00:00
Tim J. Robbins
adfd6b312d Catch up with recent vfprintf.c changes. 2003-04-07 06:36:49 +00:00
Andrey A. Chernov
6f098a4811 __wcsconv(): free(convbuf) before returning NULL 2003-04-07 03:17:39 +00:00
David Schultz
d890afb84d Today just isn't my day. Remove some old commented out code that snuck
into the last commit.

Noticed by:	mike
2003-04-07 01:07:48 +00:00
Matthew N. Dodd
234e6b87fa MF NetBSD:
- Reduce diffs with NetBSD.
  - Formatting and explicit values for enum declaration.
  - Order of prototypes.
  - zero report_size in hid_clear_local()
  - errx() needs no newline
  - Don't initialie variable in declaration in hid_parse_usage_in_page().
- Use fmtcheck() in hid_usage_in_page().
2003-04-07 00:49:53 +00:00
David Schultz
3b204b7d09 - %e conversions with precision 0 should not cause a decimal point to
be printed.
- Fix %f conversions where the number of significant digits is < expt.
  This would be a one-line change were it not for thousands separators.
  Noticed by tjr.
- Remove some unnecessary code in the parsing of precision specifiers.
2003-04-07 00:42:19 +00:00
Peter Wemm
77ac203091 Sync up with kern/subr_prf.c. This adds %ll, %j, %q, %z, etc. 2003-04-06 05:25:48 +00:00
David Schultz
ebbad5ec5c Rework the floating point code in printf(). Significant changes:
- We used to round long double arguments to double.  Now we print
  them properly.

- Bugs involving '%F', corner cases of '#' and 'g' format
  specifiers, and the '.*' precision specifier have been
  fixed.

- Added support for the "'" specifier to print thousands' grouping
  characters in a locale-dependent manner.

- Implement the __vfprintf() side of hexadecimal floating point
  support.  All that is still needed is a routine to convert the
  mantissa to hex digits one nibble at a time in the style of ultoa().

Reviewed by:	silence on standards@
2003-04-05 22:11:42 +00:00
David Schultz
92b93b37c0 Add __ldtoa(), a wrapper around gdtoa() to make it look like dtoa().
In support of this, add some MD macros to assist in converting long
doubles to the format expected by gdtoa().

Reviewed by:	silence on standards@
2003-04-05 22:10:13 +00:00
David Schultz
b936664e72 Add missing #include to unbreak previous commit. 2003-04-05 22:08:53 +00:00
David Schultz
38cac8f88b Correct some buffer sizes.
- __vfprintf()'s 'buf' has never been used for floating point, so
  don't define it in terms of (incorrect) constants describing
  floating point numbers.  The actual size needed depends on
  sizeof(uintmax_t) and locale details, so I slightly overestimated.

- We don't need a 308-character buffer to store the string "308".
  With long doubles and %a we need more than three characters, though.
2003-04-05 22:03:43 +00:00
Warner Losh
30aaff1192 Migrate to a new way of dealing with building from old revisions of
FreeBSD.  This method attempts to centralize all the necessary hacks
or work arounds in one of two places in the tree (src/Makefile.inc1
and src/tools/build).  We build a small compatibility library
(libbuild.a) as well as selectively installing necessary include
files.  We then include this directory when building host binaries.

This removes all the past release compatibilty hacks from various
places in the tree.  We still build on tip of stable and current.  I
will work with those that want to support more, although I anticipate
it will just work.

Many thanks to ru@, obrien@ and jhb@ for providing valuable input at
various stage of implementation, as well as for working together to
positively effect a change for the better.
2003-04-05 20:30:30 +00:00
Tim J. Robbins
63e6ca586e MFp4: Link strtof.3 and strtold.3 to strtod.3. 2003-04-05 07:33:46 +00:00
Mike Makonnen
f23f149866 Zero out the struct tm supplied by the caller. Otherwise,
strange things might happen when garbage values in the struct
get passed in to localtime_r() and family.

Noticed by:	marcus
Approved by:	markm (mentor)(implicit)
2003-04-05 05:46:43 +00:00
Tim J. Robbins
799d93559b MFp4: Pentium/Athlon-optimised implementation of wcschr(). 2003-04-05 04:17:05 +00:00
Poul-Henning Kamp
a12b1b124a Use sized cast matching the sized pointer. 2003-04-04 16:59:39 +00:00
Poul-Henning Kamp
197e5e73ef Libdisk does not need to include <sys/diskslice.h> any more.
Move the remaining bits of <sys/diskslice.h> to <i386/include/bootinfo.h>

Move i386/pc98 specific bits from <sys/reboot.h> to
<i386/include/bootinfo.h> as well.

Adjust includes in sys/boot accordingly.
2003-04-04 16:35:16 +00:00
David Schultz
6d3bd9530d Fix braino in definition of isfinite().
Noticed by:	marcus
Pointy hat to:	das
2003-04-04 13:27:47 +00:00
Warner Losh
33c2c9a3fa No need to have ifdef < FreeBSD 4.0-current in here. Remove it to
avoid false positive while searching for __FreeBSD_version abuse.
2003-04-04 04:16:06 +00:00
Jake Burkholder
55ad402a8f - Pass a ucontext_t to _set_curthread. If non-NULL the new thread is set
as curthread in the new context, so that it will be set automatically when
  the thread is switched to.  This fixes a race where we'd run for a little
  while with curthread unset in _thread_start.

Reviewed by:	jeff
2003-04-03 03:34:50 +00:00
Jeff Roberson
996a395d37 - Don't overrun the ldt buffer.
Submitted by:	gordan@freebsd.org
2003-04-02 22:53:52 +00:00
Jake Burkholder
68c724b96f Implement _get_curthread and _set_curthread. This is especially easy. 2003-04-02 08:15:07 +00:00
Jeff Roberson
26f52e2f8b - Define curthread as _get_curthread() and remove all direct calls to
_get_curthread().  This is similar to the kernel's curthread.  Doing
   this saves stack overhead and is more convenient to the programmer.
 - Pass the pointer to the newly created thread to _thread_init().
 - Remove _get_curthread_slow().
2003-04-02 03:05:39 +00:00
Jake Burkholder
dd3dd8724d Add MD makefile. 2003-04-01 23:52:24 +00:00
Jake Burkholder
9f5a511863 Implement makecontext. 2003-04-01 23:28:50 +00:00
Jeff Roberson
00c301540e - Don't drop and reacquire giant in thread_suspend(). Change callers to do
this manually.  This will facilitate the unrolling of giant.
 - Don't allow giant to recurse anymore.  This should never happen.
2003-04-01 22:41:41 +00:00
Jeff Roberson
901d86ae8a - Reenable setschedparam and the prioceiling code now that the mutex code
has been restored.
2003-04-01 22:40:29 +00:00
Jeff Roberson
360a519459 - Restore old mutex code from libc_r. It is more standards compliant.
This was changed because originally we were blocking on the umtx and
   allowing the kernel to do the queueing.  It was decided that the
   lib should queue and start the threads in the order it decides and the
   umtx code would just be used like spinlocks.
2003-04-01 22:39:31 +00:00
Ceri Davies
d5882f3f58 [1] - Document EHOSTUNREACH as a possible error
[2]	- Remove a contraction

PR:		docs/50401
Submitted by:	[1] Slaven Rezic <slaven@rezic.de>
MFC after:	1 week
2003-04-01 20:25:46 +00:00
Jeff Roberson
7a57e9abdd - Adjust the makefiles so we have a per architecture makefile. 2003-04-01 07:07:38 +00:00
Jeff Roberson
42d3ad7144 - Spell SIGSETOR correctly. 2003-04-01 04:49:12 +00:00
Jeff Roberson
70d5093a8b - Commit the forgotten libthr/sys bits. 2003-04-01 03:51:08 +00:00
Jeff Roberson
bb535300dd - Add libthr but don't hook it up to the regular build yet. This is an
adaptation of libc_r for the thr system call interface.  This is beta
   quality code.
2003-04-01 03:46:29 +00:00
Jeff Roberson
31a9779e5d - Catch up with kernel signal changes. 2003-03-31 22:57:55 +00:00
Wes Peters
f4cf2141f6 Add a facility allowing processes to inform the VM subsystem they are
critical and should not be killed when pageout is looking for more
memory pages in all the wrong places.

Reviewed by:	arch@
Sponsored by:	St. Bernard Software
2003-03-31 21:09:57 +00:00
Dag-Erling Smørgrav
eac956b2d1 Experimental pam_chroot module (not connected to the build) 2003-03-30 22:58:23 +00:00
Juli Mallett
5b3a32e4a8 MFp4: Fix copy&paste English error. 2003-03-30 18:00:24 +00:00
Max Khon
839e119ec8 BDE'ify 2003-03-29 21:56:59 +00:00
Max Khon
057e4034dd fix truncation check and buffer overflow check 2003-03-29 21:34:13 +00:00
Daniel Eischen
67aba1c6a4 Align signal frame placed on stack to 16 bytes so that SSE FPU register
restores can work.  Also correct allocation for signal frame size.

Reviewed by:	mini
2003-03-29 16:38:15 +00:00
Dag-Erling Smørgrav
762892c047 Don't dereference flags if NULL (see http.c rev 1.87) 2003-03-29 15:15:38 +00:00
Mike Makonnen
764628c056 Fill in the rest of the fields in the resulting struct tm
from strptime(3). Previously, they would get filled only
for the %s specifier and as a side effect of using the
the %Z specifier with a GMT time zone.

PR:		misc/48993
Approved by:	markm (mentor)
Silence on:	-standards
2003-03-29 11:55:37 +00:00
Max Khon
be6a158e0f - MAXPATHLEN -> PATH_MAX (pass correct buffer size to readlink as well)
Requested by:		bde
2003-03-28 12:05:45 +00:00
Juli Mallett
7a51271b68 Close the disk file descriptor that is RO before trying to open the
new one, and do not fall back to the RO fd.  There was a bug here
in that the RO fd was never closed, if the RDRW open succeeded, but
this code is bogus anyway, and it breaks newfs of floppies, at least
for me, due to "Device busy."  Anything that wants to fall back is
doing something significantly odd that it should have some more complex
code on its end.
2003-03-28 01:50:11 +00:00
Max Khon
226a0f0f8b Make realpath() thread-safe. New implementation does not use chdir(2) at all.
Submitted by:	Constantin S. Svintsoff <kostik (at) iclub.nsu.ru>
2003-03-27 20:48:53 +00:00
Poul-Henning Kamp
63728c47e8 Run a revision on the OAM api.
Use prefix gctl_ systematically.
Add flag with access perms for each argument.
Add ro/rw versions of argument building functions.
General cleanup.
2003-03-27 14:35:00 +00:00
Jeff Roberson
cc3521d660 - Define a _spinunlock() function so that threading implementations may do
more complicated things than just setting the lock to 0.
 - Implement stubs for this function in libc and the two threading libraries
   that are currently in the tree.
2003-03-26 04:02:24 +00:00
Matthew N. Dodd
7db77bf0c1 Back off WARNS until I've had a chance to deal with the problems on
sparc64/alpha.
2003-03-25 17:40:00 +00:00
Matthew N. Dodd
619531d847 Fix warnings. 2003-03-25 04:29:26 +00:00
Philippe Charnier
b43dc21149 The .Fn function
The ... 2 system call
2003-03-24 16:07:19 +00:00
Philippe Charnier
9d09157a0f The .Fn function. Use .Xr where appropriate. 2003-03-24 16:05:24 +00:00
Philippe Charnier
0552350ecc The .Fn function 2003-03-24 16:02:05 +00:00
Philippe Charnier
592bb5e477 The .Nm library 2003-03-24 16:01:01 +00:00
Philippe Charnier
4cacb61823 The .Fn function
The .Fa argument
2003-03-24 15:58:53 +00:00
Philippe Charnier
0dc90c7a0d The .Fn function
The .Nm library
2003-03-24 15:56:36 +00:00
Poul-Henning Kamp
4b8938c1d5 Add marshalling functions for OAM api. 2003-03-23 10:15:02 +00:00
Andrey A. Chernov
85bebbc156 According to C99 decimal_point can't be empty 2003-03-20 08:18:55 +00:00
Andrey A. Chernov
cfcd9a45b5 According to C99 decimal_point can't be the empty string, mention it. 2003-03-20 08:13:34 +00:00
Andrey A. Chernov
befb332a6b decimal_point can't be "" according to C99, so set it to standard "."
in that case.
2003-03-20 08:05:20 +00:00
Mike Makonnen
4418f9df30 The flags passed in to _ftp_get_proxy may be null
Approved by:	des, markm (mentor)(implicit)
2003-03-19 21:39:00 +00:00
Robert Drehmel
0d74f328ae - Revamp the function _nis_initshells() to make getusershell() backed
by NIS work, like nsswitch.conf(5) promises to be able to.
   (These modifications will be fed back to NetBSD, of course)
 - In endusershell(), do not set `sl' to NULL if we know it already has
   that value.
2003-03-19 14:17:24 +00:00
Poul-Henning Kamp
ec0fa09c8c typo 2003-03-19 14:15:32 +00:00
Poul-Henning Kamp
773865de4e Further unbreak devstat: sort the index array in correct order too. 2003-03-19 14:11:14 +00:00
Robert Drehmel
916560b152 If realloc(3) fails in copyline(), do not make matters worse by
leaving without deallocating `data' thereby creating a memory leak.
2003-03-19 14:01:35 +00:00
Poul-Henning Kamp
cb3733b78d ARGH!
Pointy hat to:	phk
2003-03-18 17:05:27 +00:00
Poul-Henning Kamp
0d2fdd7850 Commit ken@' changes to this file: Bump version and append new entries
to stay backwards compatible.
2003-03-18 16:44:10 +00:00
Poul-Henning Kamp
b193011a02 Update to match reality closer. 2003-03-18 13:45:08 +00:00
Poul-Henning Kamp
36eab1f55a Add more devstat calculations, mostly filling in holes, but also adding
a couple of reqests:  DSM_BUSY_PCT and DSM_QUEUE_LENGTH.

I have no further plans for mutilating this API at this point in
time, and will update the man-page to reflect current reality as
the next thing.

Reviewed by:    ken
2003-03-18 09:57:54 +00:00
Poul-Henning Kamp
2892a228ad Use devstat instead of GEOM private statistics structure. 2003-03-18 09:53:46 +00:00
Poul-Henning Kamp
2ad2651a98 Constify arg to geom_lookupid().
Improve a diagnostic printf.
2003-03-17 08:22:48 +00:00
Poul-Henning Kamp
2082addf66 Ignore GBDE devices.
Spotted by:	Lucky Green <shamrock@cypherpunks.to>
2003-03-17 07:25:50 +00:00
David Schultz
5d907c3dd2 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
Poul-Henning Kamp
16830b0cc2 And I managed to make a regression here too.
I have too many source trees :-(
2003-03-15 22:22:11 +00:00
Poul-Henning Kamp
7194d335cf Run a revision of the devstat interface:
Kernel:

Change statistics to use the *uptime() timescale (ie: relative to
boottime) rather than the UTC aligned timescale.  This makes the
device statistics code oblivious to clock steps.

Change timestamps to bintime format, they are cheaper.

Remove the "busy_count", and replace it with two counter fields:
"start_count" and "end_count", which are updated in the down and
up paths respectively.  This removes the locking constraint on
devstat.

Add a timestamp argument to devstat_start_transaction(), this will
normally be a timestamp set by the *_bio() function in bp->bio_t0.
Use this field to calculate duration of I/O operations.

Add two timestamp arguments to devstat_end_transaction(), one is
the current time, a NULL pointer means "take timestamp yourself",
the other is the timestamp of when this transaction started (see
above).

Change calculation of busy_time to operate on "the salami principle":
Only when we are idle, which we can determine by the start+end
counts being identical, do we update the "busy_from" field in the
down path.  In the up path we accumulate the timeslice in busy_time
and update busy_from.

Change the byte_* and num_* fields into two arrays: bytes[] and
operations[].

Userland:

Change the misleading "busy_time" name to be called "snap_time" and
make the time long double since that is what most users need anyway,
fill it using clock_gettime(CLOCK_MONOTONIC) to put it on the same
timescale as the kernel fields.

Change devstat_compute_etime() to operate on struct bintime.

Remove the version 2 legacy interface: the change to bintime makes
compatibility far too expensive.

Fix a bug in systat's "vm" page where boot relative busy times would
be bogus.

Bump __FreeBSD_version to 500107

Review & Collaboration by:	ken
2003-03-15 21:59:06 +00:00
David Schultz
e31c9eb10b The gdtoa import apparently hasn't caused anything or anyone to
explode, so nix the old strtod() / dtoa().  This change is part
of the gdtoa patches reviewed on standards@.
2003-03-15 09:47:05 +00:00
David Xu
5b54b0891a Backout last commit.
Requested by: jhb
2003-03-15 04:45:42 +00:00
Tim J. Robbins
564529ff1a MFp4: Pentium/Athlon-optimised implementation of wcslen(). 2003-03-14 11:01:12 +00:00
Tim J. Robbins
ce7be15190 Merge vfprintf.c revision 1.52. 2003-03-14 08:50:43 +00:00
David Schultz
3ba6b6dd9d Kludge around a bug that results from printf() assuming that
dtoa() is buggy.  The bug would cause incorrect output to be
generated when format strings such as '%5.0f' were used with
nonzero numbers whose magnitude is less than 1.

Reported by:	df(1) by way of periodic(8)
Reviewed by:	mike
2003-03-14 04:48:09 +00:00
Tim J. Robbins
15a66d2798 Unexpand RCS tag. 2003-03-14 04:46:02 +00:00
Jean-Marc Zucconi
c6aa003c0d In src/lib/libz/gzio.c the function gzprintf does not check if the
amount of bytes (supposed to be) written by vsnprintf exceeds the
size of the buffer.

PR:		bin/48844
Submitted by:	Peter A Jonsson <pj@ludd.luth.se>
Obtained from:	OpenBSD
MFC after:	1 month
2003-03-14 01:47:01 +00:00
David Xu
047a20e644 Fix a bug in rwlock. When a rwlock was locked by reader threads, a
writter thread can block reader threads to get read lock.
2003-03-14 01:02:47 +00:00
John Baldwin
8b7a975ed4 Catch up to p_tracep -> p_tracevp rename to unbreak world.
Pointy hat to:	jhb
2003-03-13 21:40:54 +00:00
David E. O'Brien
120a95cb50 Clean up the way gdtoa sources are found.
OK'ed by:	das
2003-03-13 18:55:14 +00:00
Tim J. Robbins
be074a2dd8 Document return type of wordfree() (void). Reduce the space between
struct member names and the corresponding comments so the lines don't
wrap on 80-column terminals.
2003-03-13 11:18:53 +00:00
Tim J. Robbins
542bd65fcb MFp4: Implementations of the wcstof() and wcstold() functions. 2003-03-13 06:29:53 +00:00
Tim J. Robbins
48755f216d MFp4: Catch up to recent __dtoa() interface changes and removal of cvt()'s
last argument.
2003-03-13 05:49:09 +00:00
David Schultz
703d65601d Document strtof() and strtold(). Update vendor license.
Reviewed by:	bde (briefly), mike (mentor), obrien
2003-03-12 20:31:05 +00:00
David Schultz
6a66acb565 Replace our ancient dtoa/strtod implementation with the gdtoa
package, a more recent, generalized set of routines.  Among the
changes:
- Declare strtof() and strtold() in stdlib.h.
- Add glue to libc to support these routines for all kinds
  of ``long double''.
- Update printf() to reflect the fact that dtoa works slightly
  differently now.

As soon as I see that nothing has blown up, I will kill
src/lib/libc/stdlib/strtod.c.  Soon printf() will be able
to use the new routines to output long doubles without loss
of precision, but numerous bugs in the existing code must
be addressed first.

Reviewed by:	bde (briefly), mike (mentor), obrien
2003-03-12 20:30:00 +00:00
Mike Makonnen
fe71e0b83d Ditch a static global and the mutex that protected it. Achieve the
desired strptime(3) reentrancy by adding an extra argument to _strptime()
instead.

Approved by:	markm (mentor)
MFC:		4 weeks
2003-03-12 19:22:57 +00:00
David Malone
5560a5abb3 Document the fact that hdestory calls free on the keys added with
hsearch(.., ENTER). Make the example reflect this.

PR:		49951
Submitted by:	Peter Jeremy <peterjeremy@optushome.com.au>
2003-03-12 14:18:14 +00:00
Sean Chittenden
99c24e2b2c Update sendfile.2 to include a TUNING section that documents the
various tunables that are applicable to sendfile(2).  Update tuning.7
to mention a reference to sendfile.2.

Approved by:	keramida
2003-03-12 09:28:44 +00:00
Tim J. Robbins
1609edca75 MFp4: Reduce code size by 26 bytes by only aligning the jump targets that
are at the top of loops.
2003-03-12 06:46:16 +00:00
Tim J. Robbins
07648c8bb8 MFp4: Make `spanp' const. 2003-03-12 06:41:49 +00:00
Tim J. Robbins
34d4e9132c MFp4: Pentium/Athlon-optimised implementation of wmemchr(). 2003-03-12 03:55:01 +00:00
Dag-Erling Smørgrav
b91d6074d4 Don't parse the proxy URL unless we're actually going to use it. No real
functional difference, but debugging output will be less confusing.
2003-03-11 08:20:58 +00:00
Tim J. Robbins
00d7d210f5 MFp4: Pentium-optimised implementation of wcscmp(). Performs significantly
better than the code generated by gcc in many cases.
2003-03-10 10:54:36 +00:00
Dag-Erling Smørgrav
f5bbe11124 This module is not WARNS-clean, due to brokenness in OpenSSL headers. 2003-03-10 09:19:08 +00:00
Dag-Erling Smørgrav
16bb3109e3 Somewhat better wording. 2003-03-10 09:15:26 +00:00
Dag-Erling Smørgrav
02a19b0184 Silence warning caused by OPIE brokenness. 2003-03-10 09:15:08 +00:00
David E. O'Brien
7f03a257ac style.Makefile(5) police
(I've tried to keep to the spirit of the original formatting)

Reviewed by:	des
2003-03-09 20:06:38 +00:00
David E. O'Brien
dfca108cdf style.Makefile(5) police.
Reviewed by:	des
2003-03-09 19:56:21 +00:00
Tim J. Robbins
be0ccb6800 MFp4: Add the standard "the {fgetws,fputws} function will fail if" text
to the Errors section.
2003-03-09 02:56:54 +00:00
Mark Murray
7678c8a4fa KerberosIV deorbit sequence continues: Look for K5 instead of KIV 2003-03-08 11:01:31 +00:00
Mark Murray
5d658b151b KerberosIV de-orbit burn continues. Remove the KerberosIV PAM module. 2003-03-08 10:33:20 +00:00
Mark Murray
b4240e6ce9 Comment-only assistance to lint to kill warnings. 2003-03-08 10:30:49 +00:00
Jacques Vidrine
d7f15c948f Clean up some signed/unsigned issues in the XDR code.
Obtained from:	OpenBSD
2003-03-07 13:19:40 +00:00
Alexey Zelkin
68d8899c03 Fix cut'n'paste error
Noticed by:	julian
2003-03-05 20:50:03 +00:00
Peter Wemm
e3220e017a Remove NS and ISO stuff. 2003-03-05 19:16:41 +00:00
Marcel Moolenaar
cafd6dbd76 Fix threaded applications on ia64 that are linked dynamicly. We did
not save (restore) the global pointer (GP) in the jmpbuf in setjmp
(longjmp) because it's not needed in general. GP is considered a
scratch register at callsites and hence is always restored after a
call (when it's possible that the call resolves to a symbol in a
different loadmodule; otherwise GP does not have to be saved and
restored at all), including calls to setjmp/longjmp. There's just
one problem with this now that we use setjmp/longjmp for context
switching: A new context must have GP defined properly for the
thread's entry point. This means that we need to put GP in the
jmpbuf and consequently that we have to restore is in longjmp.
This automaticly requires us to save it as well.

When setjmp/longjmp isn't used for context switching, this can be
reverted again.
2003-03-05 04:39:24 +00:00
Marcel Moolenaar
d4f7f050a8 Don't cast an int to a pointer type without (possibly) widening the
integral type to the size of a pointer type when it's known that the
cast is valid. On ia64 such casts are generally bad news and has led
us (=peter :-) to make such casts fatal. By casting to intptr_t
before casting to a pointer type, this now compiles cleanly in LP64
architectures. Note that the final cast has been changed to void*
(instead of siginfo_t*) to make it explicit that we're not trying to
pass a siginfo_t pointer but rather trying to pass an int when the
prototype says it should be a pointer.
2003-03-05 04:28:08 +00:00
Marcel Moolenaar
a402169a8e ABI breaker: Move the J_SIGMASK field in the jmpbuf before
the J_SIG0 field. While here, rename J_SIG0 to J_SIGSET and
remove J_SIG1. The main reason for this change is that the
128-bit sigset_t is now aligned on a 16-byte boundary, which
allows us to use 16-byte atomic loads and stores on CPUs that
support it. The removal of J_SIG1 is done to avoid confusion:
it is never accessed and should not be. Renaming J_SIG0 to
J_SIGSET is the icing on the cake that's better done now than
later.
2003-03-05 03:30:54 +00:00
David Schultz
9c04284549 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
Alexey Zelkin
09492be669 MFlibc_r: add and document pthread_attr_get_np() function. 2003-03-03 22:40:20 +00:00
Dag-Erling Smørgrav
c42cb9d906 Add and document support for a FETCH_BIND_ADDRESS environment variable
specifying a local address to bind sockets to.  Caveat: lightly tested.

PR:		bin/37572
2003-03-03 12:35:03 +00:00
Ruslan Ermilov
66abb7a636 mdoc(7) police: Nits. 2003-03-03 11:45:18 +00:00
David Schultz
9f7b7e45d1 - 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
David E. O'Brien
c492fac741 Restore vendor ID. 2003-03-03 01:12:24 +00:00
David E. O'Brien
9c904fcdbc Use __FBSDID. 2003-03-03 01:09:46 +00:00
Marcel Moolenaar
9c73bdcf24 Fix a machine check abort caused by the EFI loader trying to open a
file in the NFS file system when the underlying device is not a
network device. A Sparc64 specific hack for this exact problem was
already present (nfs.c:1.9, tftp.c:1.10), but the problem is not
specific to Sparc64. The hack has been promoted to a non-i386 test
because on non-i386 architectures it's either impossible to have
non-network devices coexist in the same loader with the NFS FS, or
network and non-network device coexist and NFS filesystems can only
be used on top of network devices. I believe i386 pxeboot is where
this does not hold.

The root cause of this problem is in open.c where each file system
is tried until no more file systems exist or a file system returns
success. There's no notion of a list of valid file systems given
the underlying device and the non-existence of a file can cause
the invalid combination to be tried.
2003-03-03 00:58:47 +00:00
Ruslan Ermilov
3892c30012 mdoc(7) police: Nits. 2003-03-02 21:04:21 +00:00
Tim J. Robbins
0e66bb97d8 Use a character device and ioctl() for communication between libncp
and the kernel instead of adding more syscalls at runtime. As a bonus,
you can now restrict access to the kernel NCP interface with chmod.
2003-02-28 04:31:29 +00:00
Jacques Vidrine
2bbd7cf820 Eliminate 19 warnings in libc (at level WARNS=2) of the
`implicit declaration of function' variety.
2003-02-27 13:40:01 +00:00
Julian Elischer
ac2e415327 Change the process flags P_KSES to be P_THREADED.
This is just a cosmetic change but I've been meaning to do it for about a year.
2003-02-27 02:05:19 +00:00
Mike Barcroft
ef4a12d2d7 ia64 actually uses 80-bit long doubles and must support big and little
endian at compile-time.

Reviewed by:	das
2003-02-26 16:04:34 +00:00
Warner Losh
457f6cd2d6 - gamma_r, lgamma_r, gammaf_r, and lgammaf_r were protected by _REENTRANT
in math.h; the consensus here was that __BSD_VISIBLE was correct instead.

- gamma_r, lgamma_r, gammaf_r, and lgammaf_r had no documentation in the
  lgamma(3) manpage.

Reviewed by: standards@
Submitted by: Ben Mesander
2003-02-26 13:12:03 +00:00
David Xu
96dfe788ad Fix compiling error. 2003-02-26 08:28:28 +00:00
Robert Drehmel
9eddd2bf34 Fix typo. 2003-02-25 21:59:36 +00:00
Ruslan Ermilov
e478cf0a5a Fixed CLEANFILES.
Submitted by:	cron
2003-02-25 15:41:49 +00:00
Julian Elischer
f4a8661b2f Catch up with change to kse_release syscall.
The background info in this man page needs rewriting
in some parts since the last major changes
to the code, however it still accuratly reflects how to use the
API.
2003-02-25 09:49:46 +00:00
Ruslan Ermilov
4497800cbc Fixed a typo in MLINKS. 2003-02-24 22:59:01 +00:00
Ruslan Ermilov
5b58c5a0d5 Fixed copyright.
Tidy up the markup.
Only describe the new, post-2.0 behavior.
Added the RETURN VALUES and ERRORS sections.
2003-02-24 22:55:33 +00:00
Ruslan Ermilov
ace5be682d mdoc(7) police: Scheduled sweep. 2003-02-24 22:53:26 +00:00
Jonathan Mini
3b63c6c8ea Insert threads interrupted by a signal while running onto the run queue. 2003-02-23 21:15:25 +00:00
Jonathan Mini
f88cb3c627 Add signal logic to the build. 2003-02-23 21:14:08 +00:00
Poul-Henning Kamp
aefdeea603 Mention CLOCK_MONOTONIC. 2003-02-23 10:20:23 +00:00
Ruslan Ermilov
522ccf3f35 mdoc(7) police: markup laundry. 2003-02-23 01:47:49 +00:00
Ruslan Ermilov
0213c21b44 mdoc(7) police: kill self-xref. 2003-02-23 01:45:25 +00:00
Ruslan Ermilov
66d8bae40a Punctuation. 2003-02-23 01:44:59 +00:00
Ruslan Ermilov
02d753ca73 Typo. 2003-02-23 01:44:37 +00:00
Ruslan Ermilov
8b6eff89b0 Grammar. 2003-02-23 01:43:45 +00:00
Mike Heffner
ad4f17067f More changes from NetBSD:
* use correct error detection of realloc failure
     * strtol negative return check
     * use strtol to validate string instead of rolling our own
       validation code
     * terminate the command sequence correctly
2003-02-23 00:24:03 +00:00
Mike Heffner
215d1a9eb1 Grab some changes from NetBSD:
fix const poisoning
     add cast to silence warning
     pull in unistd.h
2003-02-23 00:06:35 +00:00
Dave Zarzycki
a23c6aee4d Apple PR-2449102: getdomainname() doesn't document that it is NIS/YP specific 2003-02-22 19:02:23 +00:00
Johan Karlsson
484251e7c4 Use strlcpy instead of strncpy.
Submitted by:	imp
Reviewed by:	silence on -audit
2003-02-22 18:08:34 +00:00
Tim J. Robbins
60bf07bd33 Fix a bad free() call that would occur if some #if 0'd code was used. 2003-02-22 00:06:05 +00:00
Alexey Zelkin
e859833529 Mention that dlerror() is also applicable to retrieve error message after
dladdr() and dlinfo() functions calls.
2003-02-21 13:43:41 +00:00
David E. O'Brien
0bc8118778 Some things don't build for PowerPC yet.
List from:	benno
2003-02-21 02:30:51 +00:00
Poul-Henning Kamp
4a8bd1668b Don't tell people to include <sys/dkstat.h> any more.
Pointed out by:	kuriyama
2003-02-19 06:33:37 +00:00
Gregory Neil Shapiro
8f3e32c2b6 Fix the description for mkdtemp(), which creates directories, not files.
Submitted by:	Murray S. Kucherawy <msk@blackops.org>
X-MFC after:	re approval
2003-02-19 04:40:30 +00:00
Juli Mallett
a506dcda3d Clean up error reporting in block.c, so that it gives honest error strings
for the sorts of errors we run into[1].  This also gives us room to put in a
vaguely appropriate casts to silence warnings since our compiler doesn't like
when we compare ssize_t to size_t[2].  Add a cast in sblock.c[3] to silence
a warning because of signed vs. size_t hell (again).  Clean up nearby
excessive parenthemutilation[4].

Reviewed by:	bde [2] [3]
Suggested by:	bde, many [1]
Submitted by:	bde [4]

An aside about [4], bde notes that we do not check for a negative value for
the fs bsize.  I'm nto going to do that in every situation we use it, one must
expect a reasonable program to pass down reasonable values.  Some foot shooting
protection I will tolerate, some I will not.  Also he suggests some possible
conditional improvements there, which I may take to heart.

PS: For me at least, this is now WARNS=5 clean...
2003-02-19 00:32:48 +00:00
Tom Rhodes
7d0cb93886 Update errors.
PR:		48125
Submitted by:	Per Hedeland <per@hedeland.org> (original version)
2003-02-18 22:54:42 +00:00
Jacques Vidrine
6d7bd75a4e Whack 28 unused variables. 2003-02-18 13:39:52 +00:00
Daniel Eischen
cd7be69206 Remove these from libc; they are now system calls.
Prompted by:	mini
2003-02-18 12:31:57 +00:00
Warner Losh
085aa77164 Expand length of pnpinfo and length fields since pccard pnpinfo can
easily be longer than 64 characters.
2003-02-17 18:56:00 +00:00
David E. O'Brien
cb8d181451 Add libgmp.so.3 from 4.7-RELEASE CDs.
Requested by:	des
2003-02-17 17:26:03 +00:00
Jacques Vidrine
6b68056cd1 Add libgmp.so.3 from 4.7-RELEASE CDs.
Requested by:	des
2003-02-17 13:45:13 +00:00
Jonathan Mini
faa8342f9f Deliver signals posted via an upcall to the appropriate thread. 2003-02-17 10:05:18 +00:00
Jonathan Mini
2129373618 Call the weak symbol for sigprocmask, so that it can be overridden. 2003-02-17 07:47:13 +00:00
Andrey A. Chernov
49abb2a4f8 Back out "drop first N values" method of removing monotonically increased
seed->first value correlation. It breaks rand_r()... Other possible methods
like shuffling inside aray will breaks rand_r() too, because it assumes
only one word state, i.e. nothing extra can be added after seed assignment
in srand().

BTW, for old formulae seed->first value correlation is not so monotonically
increased as with other Linear Congruential Generators of this type only
becase arithmetic overflow happens. But overflow affects distribution
and lower bits very badly, as many articles says, such type of overflow
not improves PRNG.

So, monotonically increased seed->first value correlation problem remains...
2003-02-17 03:52:35 +00:00
Jacques Vidrine
e0554a531f Eliminate 61 warnings emitted at WARNS=2 (leaving 53 to go).
Only warnings that could be fixed without changing the generated object
code and without restructuring the source code have been handled.

Reviewed by:	/sbin/md5
2003-02-16 17:29:11 +00:00
Poul-Henning Kamp
cd9c9ca63d Remove include of <sys/dkstat.h> 2003-02-16 14:08:52 +00:00
Poul-Henning Kamp
1259069021 Premptively include <sys/resource.h> to get the cp_time[CPUSTATES]. 2003-02-16 13:29:28 +00:00
Dag-Erling Smørgrav
859ac7c46f Add an "allow_local" option which forces historical behaviour. 2003-02-16 13:01:03 +00:00
Dag-Erling Smørgrav
b645332a81 Assume "localhost" if no remote host was specified. This is safe from a
POLA point of view since the stock /etc/opieaccess now allows localhost.
2003-02-15 23:26:49 +00:00
Jacques Vidrine
dcd04f0d83 Add libcrypto.so.2/libssl.so.2 from 4.7-RELEASE CDs. 2003-02-15 16:26:10 +00:00
Alexey Zelkin
02e6893b9c Add dlinfo(3) manual page to the rank of base system manpages 2003-02-15 10:52:46 +00:00
Alexey Zelkin
f734492604 Add examples of dlinfo() usage to manual page. 2003-02-15 10:51:05 +00:00
Alexey Zelkin
7ec37597d3 o Document that dlsym()'s behaviour with new special handle RTLD_SELF
o Add cross reference to dlinfo(3)
o Minor mdoc nits
2003-02-14 10:57:20 +00:00
Alexey Zelkin
6bc55edb4c Follow Solaris's manual page and describe Link_map structure here 2003-02-14 10:54:37 +00:00
Alexey Zelkin
8647a1ed45 Add manual page for dlinfo(3). It's still need some work and add
examples, but it's better than nothing already.
2003-02-14 10:07:43 +00:00
Alexey Zelkin
d92bdf427f Enable just committed manual pages, update MLINKS 2003-02-13 22:12:56 +00:00
Alexey Zelkin
597cf12892 Add AUTHORS section 2003-02-13 22:11:19 +00:00
Alexey Zelkin
318d8cfd73 Finally! Document all undocumented functions in libc_r.
Add manual pages for following functions:

. pthread_attr_setcreatesuspend_np(3)
. pthread_main_np(3)
. pthread_multi_np(3)
. pthread_single_np(3)
. pthread_mutexattr_getkind_np(3)
. pthread_mutexattr_setkind_np(3)
. pthread_resume_all_np(3)
. pthread_resume_np(3)
. pthread_set_name_np(3)
. pthread_suspend_all_np(3)
. pthread_suspend_np(3)
. pthread_switch_add_np(3)
. pthread_switch_delete_np(3)

MFC after:	3 days
2003-02-13 22:10:10 +00:00
Alexey Zelkin
c18f0ff70c Break important implementation detail note into IMPLEMENTATION DETAILS
section. Add cross reference to pthread_attr_getstack() function.

MFC after:	1 day
2003-02-13 18:39:06 +00:00
Alexey Zelkin
41dd2d2dfa Add cross reference for pthread_attr_get_np() 2003-02-13 18:36:48 +00:00
Alexey Zelkin
faa19450ec Rehash MLINKS: add missing ones for recently added pthread_attr_{get,set}stack()
functions and remove links for 3 non-existent functions
2003-02-13 18:35:05 +00:00
Alexey Zelkin
98e07ca0de Add appropriate MLINKS for functions documented in libgeom.3 2003-02-13 18:27:05 +00:00
Alexey Zelkin
3fe5cc64ff Fix some mdoc issues: add .Nd to NAME section, use valid .Lb argument,
use .Fn there appropriate
2003-02-13 18:25:48 +00:00
Alexander Kabaev
42d206e975 Implement dlinfo() function.
Introdice RTLD_SELF special handle and properly process it within
dlsym() and dlinfo() functions.

The intention is to improve our compatibility with Solaris and
to make a Java port easier.

Partially submitted by:	phantom
2003-02-13 17:47:44 +00:00
Mike Barcroft
5d62092f94 o Implement C99 classification macros isfinite(), isinf(), isnan(),
isnormal().  The current isinf() and isnan() are perserved for
  binary compatibility with 5.0, but new programs will use the macros.
o Implement C99 comparison macros isgreater(), isgreaterequal(),
  isless(), islessequal(), islessgreater(), isunordered().

Submitted by:	David Schultz <dschultz@uclink.Berkeley.EDU>
2003-02-12 20:03:41 +00:00
Mike Barcroft
1006f448b7 This manual is called SIGNBIT(3) not FPCLASSIFY(3). 2003-02-12 03:29:39 +00:00
Mike Barcroft
8e9b28311e Implement C99's signbit() macro. 2003-02-11 21:56:21 +00:00
Alfred Perlstein
969e2ea158 Actually link in the attr_{set,get}stack. 2003-02-11 07:28:28 +00:00
Dag-Erling Smørgrav
48c12730cd Use pam_get_user(3) instead of pam_get_item(3) where appropriate. 2003-02-10 18:59:20 +00:00
Alfred Perlstein
4e44912c6c Add pthread_attr_getstack() and pthread_attr_setstack().
Submitted by: Craig Rodrigues <rodrigc@attbi.com>
2003-02-10 08:48:04 +00:00
Alfred Perlstein
e6cfb1ccd3 Handle %%m properly in syslog format string. Previously it would expand
the %m into the errno and then vfprintf would expand the % and the first
character of the strerror(3) return causing possible data corruption.
2003-02-10 08:31:28 +00:00
Poul-Henning Kamp
7bd4e7b4a0 Leak more stuff into libgeom. 2003-02-10 00:11:43 +00:00
Dag-Erling Smørgrav
d902781908 Complete rewrite of pam_ssh(8). The previous version was becoming hard
to maintain, and had security issues which would have required a major
rewrite to address anyway.

This implementation currently starts a separate agent for each session
instead of connecting each new session to the agent started by the first
one.  While this would be a Good Thing (and the old pam_ssh(8) tried to
do it), it's hard to get right.  I'll revisit this issue when I've had a
chance to test some modifications to ssh-agent(1).
2003-02-09 21:20:44 +00:00
Mike Barcroft
8cf5ed5125 Implement fpclassify():
o Add a MD header private to libc called _fpmath.h; this header
  contains bitfield layouts of MD floating-point types.
o Add a MI header private to libc called fpmath.h; this header
  contains bitfield layouts of MI floating-point types.
o Add private libc variables to lib/libc/$arch/gen/infinity.c for
  storing NaN values.
o Add __double_t and __float_t to <machine/_types.h>, and provide
  double_t and float_t typedefs in <math.h>.
o Add some C99 manifest constants (FP_ILOGB0, FP_ILOGBNAN, HUGE_VALF,
  HUGE_VALL, INFINITY, NAN, and return values for fpclassify()) to
  <math.h> and others (FLT_EVAL_METHOD, DECIMAL_DIG) to <float.h> via
  <machine/float.h>.
o Add C99 macro fpclassify() which calls __fpclassify{d,f,l}() based
  on the size of its argument.  __fpclassifyl() is never called on
  alpha because (sizeof(long double) == sizeof(double)), which is good
  since __fpclassifyl() can't deal with such a small `long double'.

This was developed by David Schultz and myself with input from bde and
fenner.

PR:		23103
Submitted by:	David Schultz <dschultz@uclink.Berkeley.EDU>
		(significant portions)
Reviewed by:	bde, fenner (earlier versions)
2003-02-08 20:37:55 +00:00
Poul-Henning Kamp
5ddbc7e1f7 Lower WARNS to 3 until I track down a way to explain that I know what
I'm doing to sparc64's gcc
2003-02-08 16:08:17 +00:00
Poul-Henning Kamp
ba798fb226 Include <sys/time.h>, it's not the users problem that we use bintime
internally.
2003-02-08 15:49:26 +00:00
Poul-Henning Kamp
cfeccd194e Hook libgeom in. 2003-02-08 15:17:49 +00:00
Poul-Henning Kamp
e13db58757 Add libgeom to the system.
Initially this only contains the functions for accessing the I/O
statistics data.
2003-02-08 15:15:56 +00:00
Dag-Erling Smørgrav
687200d002 Maybe I was a little too fast? Remove debugging code, and commit the
Makefile and man page which I'd forgotten to 'cvs add'.

Sponsored by:	DARPA, NAI Labs
2003-02-06 14:27:48 +00:00
Yoshihiro Takahashi
60469a5bf3 Fix build error. 2003-02-06 14:26:41 +00:00
Dag-Erling Smørgrav
7cde604ebd Replace pam_wheel(8) with pam_group(8) which has a cleaner interface. The
pam_wheel(8) module was written to work in spite of a broken libpam, and
has grown organically since its inception, which is reflected in both its
functionality and implementation.  Rather than clean up pam_wheel(8) and
break backward compatibility, I've chosen to reimplement it under a new,
more generic name.

Sponsored by:	DARPA, NAI Labs
2003-02-06 14:24:14 +00:00
Dag-Erling Smørgrav
9e2409d3d5 Make sure the message is only printed once. 2003-02-06 14:19:50 +00:00
Dag-Erling Smørgrav
915bae31b7 Don't blame markm for what he didn't do - writing these man pages, for
instance.  Also bump the date since I made substantial modifications
earlier today.
2003-02-06 13:47:21 +00:00
Dag-Erling Smørgrav
37def36f9b Update copyright. 2003-02-06 12:56:51 +00:00
Dag-Erling Smørgrav
caeab58cd8 Add support for escape sequences in the arguments (e.g. %u for user name)
Sponsored by:	DARPA, NAI Labs
2003-02-06 12:56:39 +00:00
Dag-Erling Smørgrav
a76a4d449d Export the PAM environment to the child process instead of the "normal"
environment list, which may be unsafe and / or sensitive.

Sponsored by:	DARPA, NAI Labs
2003-02-06 12:40:58 +00:00
Philippe Charnier
bd99773b0c The .Fn function. Spelling. 2003-02-06 11:29:40 +00:00
Philippe Charnier
50f0640536 The .Fn function 2003-02-06 11:25:03 +00:00
Philippe Charnier
6f673fd1c0 The .Fn function 2003-02-06 11:10:32 +00:00
Philippe Charnier
d649825182 The .Fn function 2003-02-06 11:04:47 +00:00
Dag-Erling Smørgrav
aa7f9c67e6 Minimal manual page for pam_kerberosIV(8).
Sponsored by:	DARPA, NAI Labs
2003-02-06 10:55:11 +00:00
Mike Makonnen
e5b9245bfa Fix use of an uninitialized pointer introduced in a previous revision.
Approved by:	markm (mentor)(implicit)
2003-02-06 01:08:19 +00:00
Andrey A. Chernov
f3047249d4 Since we drop NSHUFF values now, set default seed to what it becomes
after srand(1)
2003-02-05 21:25:50 +00:00
Philippe Charnier
efe2778852 Prevent uppercase after .Xr by adding ``The ... utility/system call''. 2003-02-05 13:36:13 +00:00
Tim J. Robbins
e25cc93fa6 Mention that the CLOCK_VIRTUAL and CLOCK_PROF clocks are not implemented.
PR:		8376
2003-02-05 09:17:32 +00:00
John Baldwin
9284f8f522 - Remove unused old disk pointers from Write_FreeBSD() and Fill_Disklabel()
functions.
- Clean up a few signed/unsigned warnings.
2003-02-04 17:35:23 +00:00
John Baldwin
58b5f01edc Remove mostly unused disk arguments from Fixup_*_Names() functions. 2003-02-04 17:26:45 +00:00
Mike Heffner
5a63c107db Grammer fix. 2003-02-04 16:28:04 +00:00
Andrey A. Chernov
ddd972a9bd For rand(3) and random(3) TYPE_0 drop NSHUFF values right after srand{om}()
to remove part of seed -> 1st value correlation. Correlation still remains
because of algorithm limits. Note that old algorithm have even stronger
correlation, especially in the lower bits area, but not eye-visible, as
current one.
2003-02-04 11:24:08 +00:00
Andrey A. Chernov
2f5ef51de2 Park & Miller PRNG can be safely initialized with any value but 0 and stuck
at 0 as designed. Its BSD adaptation tries to fight it by mapping 0 to
2147483647 after calculation, but this method not works since 2147483647
seed returns to 0 again on the next interation. Instead of after calculation
mapping, map 0 to another value _before_ calculation, so it never stucks.
2003-02-03 10:22:12 +00:00
Alexey Zelkin
f3cf900844 Document additional behaviour of this function (see
rev 1.3 of uthread_attr_get_np.c)
2003-02-03 10:10:40 +00:00
Alexey Zelkin
618a8b4df0 Improve pthread_attr_get_np() by enabling it to return thread's real stack
address instead of specified by pthread_attr_t passed to pthread_create().

Suggested by:	deischen
2003-02-03 10:08:45 +00:00
Dag-Erling Smørgrav
8dad14b11b In pam_sm_acct_mgmt(), retrieve the cached credentials before trying to
initialize the context.  This way, a failure to initialize the context is
not fatal unless we actually have work to do - because if we don't, we
return PAM_SUCCESS without even trying to initialize the context.
2003-02-03 09:45:41 +00:00
Dag-Erling Smørgrav
bd12700b18 Whitespace cleanup 2003-02-03 09:43:28 +00:00
Dag-Erling Smørgrav
cb6e9daaa9 OpenPAMify. 2003-02-02 18:43:58 +00:00
Andrey A. Chernov
62c4150e1e For some combinations of variable sizes and RAND_MAX value rand_r()
may store less amount bits for seed, than available. Fix it.
2003-02-02 14:27:51 +00:00
Mark Murray
edf34e80d8 No need for the OPENSSL_NO_KRB5 switch anymore.
Fixed by:	nectar
2003-01-31 23:26:55 +00:00
Robert Watson
bd5466d65a Document a bug in our chroot(2) implementation: if access control
checks, including the "open directory" check or a MAC check fail,
after the working directory of the process has been changed, then
the cwd of the process will be left as the target directory rather
than the original directory.

At some point, this bug might be fixable by performing the directory
change only after permission is granted for the change.  In the
mean time document it (it's been there for a while).
2003-01-31 21:19:22 +00:00
Tim J. Robbins
f6f38550e6 Zap another reference to !RFPROC being unsupported that I missed before. 2003-01-31 08:59:00 +00:00
Tim J. Robbins
722ca3efd4 Don't use -compact in list of available flags. Fix tag width. 2003-01-31 08:55:42 +00:00
Tim J. Robbins
34f2304ff2 !RFPROC has been supported for a while now. 2003-01-31 08:45:11 +00:00
Tim J. Robbins
56b9200d1f Back out previous. Many people disagreed with removing the warning. 2003-01-30 23:32:53 +00:00
Tom Rhodes
61827fde23 Add getosreldate.3 to the Makefile. 2003-01-30 21:38:39 +00:00
Tom Rhodes
a117d47242 Add a manual page for getosreldate.c.
PR:		46365
Submitted by:	gioria (original version)
OK'ed by:	alfred (older version)
2003-01-30 21:37:06 +00:00
Poul-Henning Kamp
7656b3500d Catch some cases where asking for ridiculously large allocations could
result in a segfault.  Instead just return NULL.
2003-01-30 15:00:17 +00:00
Tim J. Robbins
8137227111 Remove runtime warning about gets(). 2003-01-30 12:00:26 +00:00
Tim J. Robbins
21d4d23958 Lock stdin on entry, unlock on return, use __sgetc() instead of getchar()
to avoid locking the stream for each character and to avoid input being
scattered among multiple threads.
2003-01-30 11:46:25 +00:00
Juli Mallett
9e8f2a17ec WARNS ?= 2, so idiocy like 1.12 of type.c doesn't have to happen again. 2003-01-30 00:11:01 +00:00
Juli Mallett
9e4789cc2f Missing "return 0"
Big pointy hat to:	jmallett
Spotted by:		peter
2003-01-30 00:10:24 +00:00
Juli Mallett
7dc95357f8 API for opening (and tracking) writable file descriptors per disk. 2003-01-29 23:19:46 +00:00
Jacques Vidrine
8f857e88c4 Do not return inappropriate error codes in pam_sm_setcred. 2003-01-29 21:20:38 +00:00
Mark Murray
cb9c19ff86 Adjust for OpenSSL 0.9.7. 2003-01-28 23:03:15 +00:00
Dag-Erling Smørgrav
930105c1e9 style(9): add parentheses to sizeof even when not strictly required.
MFC after:	3 days
2003-01-28 08:04:40 +00:00
John W. De Boskey
9015b953d6 Fix signed/unsigned comparison warning/error from 'make release' 2003-01-28 00:33:53 +00:00
Martin Blapp
2e26eba4b9 Fix signed/unsigned comparison warnings.
Reviewed by:		phk
Obtained from:		NetBSD
2003-01-27 22:46:50 +00:00
Martin Blapp
3c788545e8 Fix signed/unsigned comparison warnings. Fix spelling error in
comment.

NetBSD Rev. 1.9 and 1.7

Reviewed by:		phk
Obtained from:		NetBSD
2003-01-27 22:45:08 +00:00
Martin Blapp
33e0ae486e Make this work in the !INET6 case -- if we mismatch the AF, don't return a
bogus (uninitialized) structure. Also, ignore v4 ifa's with no broadcast
address (rather than core dumping).

NetBSD Rev 1.8

Reviewed by:		phk
Obtained from:		NetBSD
2003-01-27 22:43:23 +00:00
Martin Blapp
d063ef1461 Check pmap_flag before sendto.
NetBSD r 1.5

Reviewed by:		phk
Obtained from:		NetBSD
2003-01-27 22:38:25 +00:00
Martin Blapp
555f4cffb0 Make sure we don't look before the beginning of the string.
NetBSD Rev 1.5

Reviewed by:		phk
Obtained from:		NetBSD
2003-01-27 22:36:53 +00:00
Martin Blapp
77335102aa Add missing __rpc_fixup_addr. This is needed to make
mount_nfs -T work for scoped addresses.

NetBSD Rev 1.11

Reviewed by:	phk
Obtained from:	NetBSD
2003-01-27 22:27:55 +00:00
Martin Blapp
b951fbe40c Free the correct buffer in error handling.
Handle that malloc may return NULL.

NetBSD Rev. 1.8

Reviewed by:		phk
Obtained from:		NetBSD
2003-01-27 22:22:59 +00:00
Martin Blapp
40525d3deb Reset the record lenght and received bytes once a record
is finished. This fixes clients doing two RPCs over the
same connection at the same time. Without this fix, we
could end with a reply to old data.

Submitted by:	Frank van der Linden <fvdl@netbsd.org>
Reviewed by:	rwatson
Obtained from:	NetBSD
2003-01-27 22:19:32 +00:00
Andrey A. Chernov
5fe03aba37 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
Andrey A. Chernov
33a155e400 Handle read errors 2003-01-27 03:14:04 +00:00
Juli Mallett
fe8b86a06d If we don't know where the sblock is (e.g. filling out a blank disk), then
get it from the fs structure.  Really libufs should have interfaces to generate
both what we export, and what we import, based on eachother, and this should
be full of redundant code to make sure everything is right...  But really, we
don't even deal with checksums, so plenty of room to improve.
2003-01-27 01:57:15 +00:00
Mark Murray
7c55188ab2 Very minor EOL whitespace diff-reducer. 2003-01-26 23:34:47 +00:00
Mark Murray
aa4e3f3e5a Missed a bit of cleanup. 2003-01-26 23:29:22 +00:00
Mark Murray
818c8b696b make these more useful for lint(1). Minor diff-reductions while I'm
about it.
2003-01-26 23:14:47 +00:00
Martin Blapp
0ae0e1ea47 Fix namespace pollution introduced in previous commit.
Reviewed by:		phk
2003-01-26 23:01:49 +00:00
Mark Murray
34893fe49b Remove the get_term() function. It pretty much can't work for
FreeBSD, and makes ugly diffs with the other crt1.c's. Leave
behind a comment (words supplied by Thomas Moestl) that explain
the issue.

OK'ed by:	tmm
2003-01-26 23:01:36 +00:00
Alfred Perlstein
b17c9cfa5e Add const qualifier to data argument for msgsnd.
PR: standards/45274
Submitted by: Craig Rodrigues <rodrigc@attbi.com>
2003-01-26 20:09:34 +00:00
Tim J. Robbins
21a1863da8 Remove part of my stateful locale patch that slipped into the previous rev. 2003-01-26 11:45:54 +00:00
Tim J. Robbins
c297498757 Initial implementation of the C99 feature whereby calling freopen() with
a NULL filename argument allows a stream's mode to be changed. At the
moment it just recycles the old file descriptor instead of storing the
filename somewhere and using that to reopen the file, as the standard
seems to require. Strictly conforming C99 applications probably can't
tell the difference but POSIX ones can.

PR:		46791
2003-01-26 10:01:59 +00:00
Alfred Perlstein
e1d7d0bb60 Bring shm functions closer the the opengroup standards.
PR: 47469
Submitted by: Craig Rodrigues <rodrigc@attbi.com>
2003-01-25 21:33:05 +00:00
Alfred Perlstein
3beb32709d Bring semop() closer the the opengroup standards.
PR: 47471
Submitted by: Craig Rodrigues <rodrigc@attbi.com>
2003-01-25 21:27:37 +00:00
Mike Barcroft
3f049d395e Add an MLINK malloc.conf(5) -> malloc(3). 2003-01-24 13:58:56 +00:00
Max Khon
1746ea2b02 remove #ifdef _THREAD_SAFE 2003-01-24 01:46:30 +00:00
Juli Mallett
3ff1f264e9 bwrite, not sbwrite, needs to open for writing and write. 2003-01-23 23:58:22 +00:00
Juli Mallett
d934deeff9 API to fillout a blank disk. For e.g. newfs. 2003-01-23 21:32:56 +00:00
Poul-Henning Kamp
e0c2da42ec For "sensitive" processes, we always set the 'A' flag which causes abort()
to be called on first sight of trouble.

"sensitive" is somewhat arbitrarily defined as "setuid, setgid, uid == root
or gid == wheel".

The 'A' option carries no performance penalty.

It is not possible to override this setting: fix the program instead.

Absentmindedly nodded OK to by:    various
2003-01-23 21:26:47 +00:00
Dag-Erling Smørgrav
0ab4a51e4e Document .netrc support. 2003-01-22 18:27:25 +00:00
Dag-Erling Smørgrav
9f808a4dd0 Hook in the .netrc code + don't use pointers as if they were booleans. 2003-01-22 17:54:49 +00:00
Dag-Erling Smørgrav
07350d12cf Experimental support for .netrc. 2003-01-22 17:53:58 +00:00
Dag-Erling Smørgrav
02e6bec10b Initialization paranoia. 2003-01-22 17:53:15 +00:00
Dag-Erling Smørgrav
591c019988 A negative offset means "get it all". 2003-01-22 17:52:27 +00:00
Maxim Konovalov
f2fe707f21 Remove EOL whitespaces. 2003-01-20 11:30:08 +00:00
Maxim Konovalov
9028092dc5 o Fix a typo.
o Prepend a function name by .Fn macro.

Reviewed by:	archie
2003-01-20 11:28:41 +00:00
Juli Mallett
cc3dd52898 Store not only the current cylinder group in the series (i.e. next that needs
to be read in) but also the last cylinder group in the series (i.e. what is
stored in the structure).
2003-01-19 05:46:23 +00:00
Andrey A. Chernov
779092a489 Add (unsigned char) cast to ctype macros
Handle NULL return from malloc and strdup
2003-01-19 03:05:01 +00:00
Juli Mallett
e3e8d2ca45 Don't crash when utilities are dumb and try to read less than the disk block
size (dumpfs may try to read the cylinder size (or is is sector size?) by way
of bread).  Prevents a bounds error.
2003-01-19 01:39:53 +00:00
Juli Mallett
22ec2ef3bb Add facility to read one, or a string of, cylinger groups. 2003-01-19 01:31:26 +00:00
David E. O'Brien
0f38d8d9aa Sync with NetBSD -- sl_add() now returns an int. 2003-01-19 01:16:01 +00:00
Juli Mallett
656128586d Hunt for a disk to operate on, if we're passed a partition mountpoint, etc.
Concept reviewed by:	phk
2003-01-19 00:43:17 +00:00
David E. O'Brien
bd2d1003c1 Use __FBSDID. 2003-01-19 00:17:03 +00:00
David E. O'Brien
5cafcbb49b We don't need our own personal definition of __CONCAT. 2003-01-18 23:26:04 +00:00
Juli Mallett
063a27dc9b Fix typo. 2003-01-18 05:06:07 +00:00
Juli Mallett
49b2a6863b Nuke dumb error reporting code, people can just use disk::d_error. Unify the
DEBUG and d_error initialisation into an ERROR macro, which can both trace and
set the d_error field.  Much a more meaningful thing, I should say.
2003-01-18 04:22:14 +00:00
Thomas Moestl
1902ba0c83 Document that listen() can return EINVAL now. 2003-01-17 19:25:27 +00:00
Tim J. Robbins
0cff97c8bc Do a better job of documenting mincore(2), esp. the MINCORE_* flags. 2003-01-17 04:06:57 +00:00
Martin Blapp
9790dbfc0f Fix memleak.
Reviewed by:	rwatson
MFC after:	2 weeks
2003-01-16 16:43:58 +00:00
Martin Blapp
08497c026c Implement non-blocking tcp-connections.
Reviewed by:	rwatson
Obtained from:	NetBSD
MFC after:	1 day
2003-01-16 07:13:51 +00:00
Johan Karlsson
de216a83c2 realpath(3) should use PATH_MAX instead of MAXPATHLEN according to POSIX.
This also reverts the PATH_MAX -> MAXPATHLEN part of
rev 1.3 of src/bin/realpath/realpath.c

Requested by:	imp
Reviewed by:	imp, bde
2003-01-15 21:22:55 +00:00
Tim J. Robbins
5b8dbaa1f9 Add a missing word. 2003-01-15 09:48:15 +00:00
Tim J. Robbins
bae7e9ec5e Document the named semaphore functions. This could still use a bit
of polishing.
2003-01-15 03:07:40 +00:00
Chris Costello
5bc8d71283 Actually add mac_prepare.3.
Sponsored by:	DARPA, Network Associates Laboratories
2003-01-15 03:05:21 +00:00
Chris Costello
8f8690e73b Cross-reference mac(4)
Sponsored by:	DARPA, Network Associates Laboratories
2003-01-15 03:03:05 +00:00
Chris Costello
c75fc22921 s/SEE_ALSO/SEE ALSO/
Cross-reference mac(4) and mac(9)

Sponsored by:	DARPA, Network Associates Laboratories
2003-01-15 03:02:30 +00:00
Chris Costello
76a829fd1d o Document mac_prepare() and associated functions
o Link mac_get_pid.3 to mac_get.3
o Update SEE ALSO to refer to mac_prepare, and added missing references
o Remove clause #3 on my work
o Update mac_get.3 for the updated MAC API

Sponsored by:	DARPA, Network Associates Laboratories
Obtained from:	TrustedBSD Project
2003-01-15 00:45:31 +00:00
Chris Costello
e4ee15b13f o Remove clause #3
o Document mac_set_link().

Sponsored by:	DARPA, Network Associates Labs
2003-01-14 23:20:40 +00:00
Tim J. Robbins
74e03642ee Back out previous; sharing semaphores between processes only works
in certain special cases.
2003-01-14 07:14:06 +00:00
Tim J. Robbins
ab099bd309 Sharing semaphores between processes works now, so remove the stale comments
about it always returning EPERM. Document that ENFILE occurs when the
limit on kernel semaphores is reached.
2003-01-14 04:12:33 +00:00
Tim J. Robbins
51f2ddd7af Cross reference sem(4) so users know which kernel options are required
to use these semaphore functions.
2003-01-14 03:39:09 +00:00
Tim J. Robbins
a91b25dc1c Add the newly created semaphore to the named semaphore list in sem_open()
so that multiple opens of the same semaphore without an intervening
sem_close() return the same object, and so that sem_close() does not
segfault while trying to remove the item from the list.
2003-01-14 03:36:45 +00:00
Tim J. Robbins
7a1dd698e8 Including <time.h> before <aio.h> has not been necessary for a while now. 2003-01-14 02:37:06 +00:00
Joerg Wunsch
b4206324a5 Mention the oddities and requirements for mount operations executed by
non-root users.

PR:		docs/42651
Submitted by:	Thomas Seck <tmseck@netcologne.de>
MFC after:	3 days
2003-01-13 19:42:21 +00:00
Tim J. Robbins
d8b504e33c Refer to 1003.1 instead of 1003.2 in the Standards section. 2003-01-13 10:37:11 +00:00
Tim J. Robbins
2c19171bc1 Lock the stream before calling __sfileno() to retrieve the file descriptor.
1003.1-2001 requires that fileno() behave as if it locks the stream.
2003-01-13 02:58:18 +00:00
Tim J. Robbins
83bb3b4979 Add missing word to "Return Values" section. 2003-01-13 01:29:14 +00:00
Mike Barcroft
0f0ca6ffc9 Fix struct iovec documentation to match reality.
Submitted by:	Craig Rodrigues <rodrigc@attbi.com>
2003-01-12 15:18:47 +00:00
Tim J. Robbins
b0efb842b9 Add a manual page for the lio_listio() syscall. Still needs a bit
of polishing.
2003-01-12 09:28:16 +00:00
Marcel Moolenaar
42cf585a69 Implement missing fpgetround() and fpsetround(). 2003-01-11 07:24:54 +00:00
Matthew Dillon
57e6d29b1e Remove all use of the LOG2() macro/inline, undoing some non-optimal cruft
that crept in recently.  GCC will optimize the divides and multiplies for us.

Submitted by:	David Schultz <dschultz@uclink.Berkeley.EDU>
MFC after:	1 day
2003-01-11 01:09:51 +00:00
Daniel Eischen
c54f72859c Increase the scheduler stack to 4 pages. This should prevent a stack
overflow when dumping thread info (generated by receipt of SIGINFO).

Reported by:	jmallet
2003-01-11 00:43:20 +00:00
John Baldwin
f3c6522625 Use the fstype obtained from the GEOM dumpconf output to set the fstype
of BSD part chunks when opening a disk.

Reviewed by:	phk
MFC after:	2 days
2003-01-10 19:45:10 +00:00
John Baldwin
53465bf736 - Make New_Disk() non-static so it can be used in Create_Chunk_DWIM().
- In Create_Chunk_DWIM(), if there is a freebsd chunk that has no
  children chunks, then trying to add a child part chunk will fail even
  though there is free space.  Handle this special case by adding an
  unused chunk the full size of the freebsd chunk as a child of the
  freebsd chunk before adding the new part chunk.  This situation can
  happen when changing the type of an existing slice to be a FreeBSD
  slice type or when installing onto a blank disk on Alpha (which has
  no slices.)

Reviewed by:	phk
MFC after:	2 days
2003-01-10 19:25:38 +00:00
Jacques Vidrine
e0bc74123b About September 2001, I consulted with all the previous authors of
pam_krb5 to consolidate the copyright texts.  The semi-official
pam_krb5 module has been distributed with this new license text ever
since, but I'm just now getting around to updating the text here.
2003-01-10 13:38:44 +00:00
Tim J. Robbins
c24891e9e2 The macro versions of putc() and putchar() are gone. 2003-01-10 07:47:12 +00:00
Tim J. Robbins
9031030003 There is no macro version of getc() anymore. 2003-01-10 07:45:24 +00:00
Tim J. Robbins
72c9dabbb7 Bring the list of function-like macros up to date with reality. 2003-01-10 07:38:38 +00:00
Alfred Perlstein
d2b9b6b10c spell multiple correctly. 2003-01-10 06:52:19 +00:00
Tim J. Robbins
4549f62011 Document clearerr_unlocked(), feof_unlocked(), ferror_unlocked()
and fileno_unlocked().
2003-01-10 06:22:28 +00:00
Tim J. Robbins
4d844c09ac Add a manual page for flockfile(), ftrylockfile(), and funlockfile(). 2003-01-10 05:34:11 +00:00
Tim J. Robbins
cbee408df1 Document getc_unlocked(), getchar_unlocked(), putc_unlocked(),
and putchar_unlocked().
2003-01-10 04:56:20 +00:00
Tim J. Robbins
a5b0089e65 Add function versions of getchar_unlocked(), getc_unlocked(),
putchar_unlocked(), putc_unlocked(), feof_unlocked(), ferror_unlocked(),
clearerr_unlocked(), and fileno_unlocked(). The first four are required
by POSIX. The rest are provided for consistency.
2003-01-10 04:35:08 +00:00
Tim J. Robbins
098b8611cb Avoid a memory leak by using reallocf() instead of realloc(). 2003-01-10 02:58:25 +00:00
Tim J. Robbins
73e8989de8 Prototype __getcwd() to avoid a warning. 2003-01-10 02:54:37 +00:00
Tim J. Robbins
826f01cb9e #include <ctype.h> for prototypes (or macro versions) of
tolower() and isdigit().
2003-01-10 02:46:32 +00:00
Max Khon
f7ed1917e2 pthread_attr_get_np() now takes 'pthread_t' (not 'pthread_t *')
to be consistent with other pthread_XXX functions
2003-01-07 21:43:30 +00:00
Chris Costello
6e238d7604 Correct a couple small typos.
Submitted by:	Attila Nagy <bra@fsn.hu>
2003-01-07 13:18:21 +00:00
Chris Costello
d69f82076b Document the file system firewall interface library functions.
Sponsored by:	DARPA, Network Associates Laboratories
2003-01-07 11:23:43 +00:00
Tim J. Robbins
6398b9c017 #include "namespace.h" to get a prototype for _err(). 2003-01-07 06:55:58 +00:00
Tim J. Robbins
16fdde11b7 Remove an unused variable: mbresult. 2003-01-07 06:20:47 +00:00
Tim J. Robbins
0b4b7b65ed #include <stdlib.h> for free()'s prototype. 2003-01-07 06:17:13 +00:00
Tim J. Robbins
2005f192e5 Use hidden names (_close, _dup2, _waitpid, etc.) where appropriate. 2003-01-07 06:07:56 +00:00
Tim J. Robbins
cdfbf19246 Add waitpid to the list of hidden names for use by wordexp.c and grantpt.c. 2003-01-07 06:05:35 +00:00
Giorgos Keramidas
a58d3725ee Typo fixes.
PR:		docs/46815
Submitted by:	SUZUKI Koichi <koich@cac.co.jp>
2003-01-07 05:06:27 +00:00
Tom Rhodes
dc3b2f9d33 Remove redundant documenation.
PR:		46253
Submitted by:	Jeroen Ruigrok van der Werven <asmodai@wxs.nl>
2003-01-06 23:20:55 +00:00
Tim J. Robbins
b211af11e2 strfmon(3) does not correctly handle multibyte characters in the
format string.
2003-01-06 06:21:25 +00:00
Tim J. Robbins
e2b090f34f Note that the printf(3) and scanf(3) family of functions don't deal with
multibyte characters in the format string correctly.
2003-01-06 06:19:19 +00:00
Marcel Moolenaar
4b1d654efb Port libc_r to ia64. We need to do things slightly different
because we have 2 stacks per thread: the regular downward
memory stack and the irregular upward register stack. This
implementation lets both stacks grow toward each other. An
alternative scheme is to have them grow away from each other.
The alternate scheme has the advantage that both stack grow
toward guard pages. Since libc_r is virtually dead and we
really want the *context stuff for thread switching, we don't
try to be perfect, just functional.
2003-01-06 00:56:23 +00:00
Thomas Moestl
f8a9708151 Build libc_r on sparc64, it should work now. 2003-01-05 22:37:54 +00:00
Thomas Moestl
54a701f52e Add MD definitions for sparc64. This is based on work by des. 2003-01-05 22:37:03 +00:00
Thomas Moestl
e15d881535 Add an implementation of _atomic_lock for sparc64. This was submitted by
des; I tweaked it slightly by extending the membar and making it match
the style of the rest of the sparc64 assembler code.
2003-01-05 22:23:11 +00:00
Thomas Moestl
e506034ec1 Rewrite longjmp() and _longjmp() to directly restore the saved frame,
instead of unwinding the call stack. This makes them usable to switch
stacks, e.g. for libc_r.
Do not save the frame pointer in setjmp() and _setjmp(), it is not needed
any more.
Rename _longjmp() to ___longjmp(), with a weak alias to _longjmp(), like
the other architectures did.
2003-01-05 22:17:32 +00:00
Thomas Moestl
6c83076634 Rename siglongjmp() to __siglongjmp(), with a weak alias to siglongjmp(),
like the other architectures do.
2003-01-05 22:10:06 +00:00
Bill Fenner
a6497df52c Use in_addr_t for the right size of an IPv4 address, and copy into
an unaligned destination using bcopy instead of an assignment.

Submitted by:	Hartmut Brandt <brandt@fokus.gmd.de>
PR:		sparc64/46729
2003-01-05 14:05:24 +00:00
Tim J. Robbins
051900864f No need to include <assert.h> here. 2003-01-05 02:43:18 +00:00
Tim J. Robbins
33161c7a6e strptime(), like strftime(), does not handle multibyte characters
in the format string correctly.
2003-01-04 09:50:04 +00:00
Tim J. Robbins
e751b764f8 Mention in the BUGS section that strftime() does not handle multibyte
characters in the format string correctly.
2003-01-04 09:47:40 +00:00
Yoshihiro Takahashi
404a379e4a Rename the dos_partition structure for pc98 to pc98_partition. 2003-01-04 08:50:48 +00:00
Tim J. Robbins
2f69381059 Fix three warnings:
o #include <stdio.h> to make sprintf()'s prototype visible.
 o Remove unused variable: sbuf.
 o Don't use assignment as truth value.
2003-01-04 08:10:55 +00:00
Tim J. Robbins
33c0e6ef8b style(9): return type on separate line from function name. 2003-01-04 07:34:41 +00:00
Tim J. Robbins
fe634ca75f Fix a number of bugs noticed by more extensive testing:
o Call waitpid() if an error occurs after forking the child process
   to avoid leaving zombies around.
 o Handle the WRDE_DOOFS|WRDE_APPEND combination correctly
 o Do not confuse $( substitution with $(( shell arithmetic
     (noticed by wollman)
 o Handle backslash escaping properly
 o Allow $( and ${ to be quoted
2003-01-04 06:07:44 +00:00
Tim J. Robbins
86e1d4729f Rename UL_GETSIZE to UL_GETFSIZE and UL_SETSIZE to UL_SETFSIZE; these are
the names required by 1003.1-2001. The old names are retained for
source compatibility with FreeBSD 5.0 and will be removed before 6.0.
2003-01-04 01:11:49 +00:00
Tim J. Robbins
f2bc7cd262 Remove unused variable: sz. 2003-01-04 00:24:35 +00:00
Tim J. Robbins
e61ca145b8 Remove unused variable: size. 2003-01-04 00:20:54 +00:00
Tim J. Robbins
81b3ad59c2 #include <string.h> for strcmp()'s prototype. 2003-01-04 00:18:50 +00:00
Tim J. Robbins
a97ab40a26 Remove unused variable: omask. 2003-01-04 00:15:15 +00:00
Tim J. Robbins
4ee99abcd1 #include <sys/linker.h> for kldload()'s prototype. 2003-01-04 00:13:00 +00:00
Tim J. Robbins
e8cfa64a75 #include <string.h> for strlen()'s prototype. 2003-01-04 00:11:11 +00:00
Tim J. Robbins
185ec971c5 #include <ctype.h> for isspace()'s prototype (or a macro version). 2003-01-03 23:55:58 +00:00
Tim J. Robbins
2b6839cf10 Add missing #include "namespace.h". 2003-01-03 23:38:21 +00:00
Tim J. Robbins
7599ad308f Remove unused variable: ntmp. 2003-01-03 23:34:26 +00:00
Tim J. Robbins
3ecbeb2d3a #include <string.h> for strcmp()'s prototype. 2003-01-03 23:31:50 +00:00
Tim J. Robbins
43a240930c #include "local.h" to make __svfscanf()'s prototype visible. 2003-01-03 23:27:27 +00:00
Tim J. Robbins
02ba3221ff Remove an unused variable: `sb' in fts_read(). 2003-01-03 23:25:25 +00:00
Tim J. Robbins
d3701b0441 Remove an unused variable, `sverrno', which has not been used since 1.11. 2003-01-03 23:16:55 +00:00
Mike Barcroft
e37f8b5313 Optimize errstr() by reducing the number of times it walks a string.
As a side effect, it makes the code easier to read and requires less
pointer arithmetic.

Test by:	strerror regression test
Submitted by:	Tim Kientzle <kientzle@acm.org>
2003-01-03 16:44:42 +00:00
Poul-Henning Kamp
42c43e6031 Make struct swblock kernel only, to make vm/swap_pager.h userland includable.
Move struct swdevt from sys/conf.h to the more appropriate vm/swap_pager.h.
Adjust #include use in libkvm and pstat(8) to match.
2003-01-03 16:23:12 +00:00
Tim J. Robbins
276ba5b4fa Reset the stream orientation to 0 (unoriented) in freopen(), as required
by the C standard.
2003-01-03 12:27:19 +00:00
Tim J. Robbins
7d3125b3ac It is no longer necessary to include sys/types.h before wordexp.h. 2003-01-03 12:04:36 +00:00
Tim J. Robbins
c0595bfc20 popen() is a function, not an argument. 2003-01-03 05:21:59 +00:00
Tim J. Robbins
77e2381a3e Protect pidlist with a mutex to avoid a race causing a duplicate free()
when the same pipe FILE is pclosed()'d in different threads, and to avoid
corrupting the linked list when adding or removing items. The symptoms of
the linked list getting corrupted were pclose() either not finding the pipe
on the list, or the list becoming circular and pclose() looping infinitely.
2003-01-03 04:35:04 +00:00
Dag-Erling Smørgrav
f8020ddefe Set auto-retry mode to avoid some spurious errors.
Submitted by:	Andre Albsmeier <andre.albsmeier@siemens.com>
MFC after:	7 days
2003-01-03 02:45:10 +00:00
Juli Mallett
d3951ad162 Implement POSIX grantpt(3) functionality, and add a pt_chown utility (akin
to Solaris, it is in /usr/libexec) to perform the handing over of tty nodes
to the user being granted the pty.

Submitted by:	Ryan Younce <ryany@pobox.com>
Reviewed by:	security-officer@, standards@, mike@
2003-01-02 20:44:41 +00:00
Thomas Quinot
464ef179a0 In cgetmatch(3), return -1 if a NULL or 0-length name parameter is used.
This situation most notably arises in chkprintcap, when a /etc/printcap
entry has an empty rp= attribute. In that case, cgetmatch would enter
an infinite loop if any entry in the file has multiple names.

This causes lpd to hang at boot time on 5.0-DP2 when both conditions
are met (:rp=: and multiple names -- not necessarily on the same entry).

Reviewed by:	roberto
2003-01-02 10:19:43 +00:00
Jens Schweikhardt
9d5abbddbf Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup,
especially in troff files.
2003-01-01 18:49:04 +00:00
Jens Schweikhardt
d64ada501a 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
David E. O'Brien
c2e55537ec Back out the s/int */size_t */ commit.
It makes a difference on 64-bit arches, and no one really wants a 2^64
block size [yet].
2002-12-30 11:12:16 +00:00
David E. O'Brien
c20e9fe932 This compiles fine w/WARNS. 2002-12-30 09:25:30 +00:00
Marcel Moolenaar
2bc46a6452 Fix LP64 architectures and especially ia64. Functions that return
a pointer and lack a prototype will have the return value (assumed
to be an integer) zero-extended to a pointer. On ia64 this is
unconditionally fatal as it zeroes-out the region bits, forming an
invalid pointer. Fix the sigsegv by including <stdlib.h>.

Pointy hat: bbraun
2002-12-30 01:41:14 +00:00
Robert Watson
e4c3e988a5 Remove BUGS section indicating that these calls are unimplemented.
Update copyrights.

Obtained from:	TrustedBSD Project
2002-12-29 20:52:42 +00:00
Robert Watson
93724388fc Update acl_set.3, missed in last round:
- Update BUGS: this stuff is implemented.
- Update last modified date.
- Document acl_set_link_np() call.

Obtained from:	TrustedBSD Project
2002-12-29 20:50:30 +00:00
Robert Watson
6394f703dc Update libc POSIX.1e code and documentation to reflect:
- Updated copyrights, modified dates
- Remove "BUGS" entry indicating that ACLs are unimplemented
- Implement acl_*_link() library wrapper variants for get, set,
  delete, aclvalid.
- Document acl_*_link() calls.

Obtained from:	TrustedBSD Project
2002-12-29 20:47:05 +00:00
Mike Barcroft
07842325eb Use useconds_t' instead of u_int' or `unsigned int' where appropriate. 2002-12-29 00:59:09 +00:00
Daniel Eischen
3f28905813 Fix typos in comment.
Submitted by:	Craig Rodrigues <rodrigc@attbi.com>
2002-12-28 05:20:03 +00:00
Jens Schweikhardt
57bd0fc6e8 english(4) police. 2002-12-27 12:15:40 +00:00
Alfred Perlstein
beb24986a7 Silence casting away constness warnings.
Make cgetmatch's locals const.
Make cdbget take a const string and copy it into a buffer.
2002-12-27 08:43:40 +00:00
Tim J. Robbins
cd203b8ead Fix a small typo. 2002-12-27 08:28:53 +00:00
Julian Elischer
57ee6bd3db Slight tuning if teh KSE man page to indicate some functionality is
not yet inplemented and to clear up some wording.
2002-12-27 08:21:15 +00:00
Jake Burkholder
3eb81c6900 Teach libkvm to deal with direct mapped addresses. 2002-12-27 01:45:05 +00:00
Tim J. Robbins
97c1c8f886 Be more consistent with "static". 2002-12-27 01:01:03 +00:00
Yoshihiro Takahashi
7a6b06168b Return an error if the size of the sector is zero. This is for removable
devices that is not inserted any media.

This is MFC candidate.

Submitted by:	ISAKA Yoji <isaka@cory.jp>
2002-12-26 15:50:45 +00:00
Tim J. Robbins
faea1495bf Add an implementation of the POSIX wordexp() and wordfree() functions,
which perform shell-style word expansion on strings. This is still a
little rough around the edges.

PR:		13420
2002-12-26 14:34:18 +00:00
Ruslan Ermilov
074ad11567 Spelling: s/then/than/ where appropriate. 2002-12-24 16:52:31 +00:00
Ruslan Ermilov
facc67676f mdoc(7) police: Deal with self-xrefs. 2002-12-24 13:41:48 +00:00
Tom Rhodes
3c094e54a7 Document protection bits.
PR:		46252
Submitted by:	Jeroen Ruigrok van der Werven <asmodai@wxs.nl>
2002-12-23 19:25:03 +00:00
Ruslan Ermilov
463cfa804d Fixed the abuses of .Ql visible on stderr in troff mode.
PR:		docs/37176
2002-12-23 16:04:51 +00:00
Ruslan Ermilov
fb3acdd2a2 mdoc(7) police: removed gratuitous .Pp call. 2002-12-23 15:21:57 +00:00
Alexander Kabaev
e34402d357 Back out the -fpcc-struct-return fixes.
Approved by:	re (rwatson)
2002-12-22 06:41:09 +00:00
Juli Mallett
6e5328af01 Fix style (no space after return, twice-too-big continuation) and
cast (casting long to a void pointer, rather than intptr_t to a
void pointer) bogons.

Reviewed by:	bde
2002-12-22 03:20:16 +00:00
Rob Braun
81781ca042 Reduce libc's memory footprint by lazily allocating memory used internally
by setproctitle().

Reviewed by: jkh
2002-12-21 22:04:50 +00:00
Rob Braun
5fb691beab Reduce libc.so's memory footprint by lazily allocating memory used internally
by basename() and dirname().
Reviewed by: eric
2002-12-21 07:12:35 +00:00
Tim J. Robbins
2226ce021a Import newer versions of div() and ldiv() from NetBSD which handle
the -fpcc-struct-return calling convention properly instead of
returning garbage. This may break backwards compatibility with some old
binaries that were compiled when -fno-pcc-struct-return was the default.
2002-12-21 05:11:39 +00:00
Tim J. Robbins
4aca04ee5c Document the fact that the printf() family of functions return negative
values (EOF in our case) on error, and some of the possible errno values
in an Errors section.

PR:		39257
2002-12-20 08:28:10 +00:00
Tim J. Robbins
5a7405be50 C99 standardised the vscanf() family of functions, update Standards
section to reflect this.
2002-12-20 07:46:01 +00:00
Mike Barcroft
68cd9bedfb Stylistic changes:
o Fix an English error (comma splice) and poorly worded sentence.
o Fix KNF ordering of variables (pointers come before arithmetic types).
o Restore hand-optimization of sizeof()-1, instead of strlen().
o Remove unneeded local variables in strerror_r().

Test by:	strerror regression test
Requested by:	bde
Reviewed by:	bde
2002-12-20 05:26:10 +00:00
Tom Rhodes
bd8dfc819e Document what really occurs when we obtain an error.
PR:		43357
Submitted by:	David Schultz <dschultz@uclink.Berkeley.EDU>
2002-12-20 01:01:24 +00:00
Matthew Dillon
914d31686b The zalloc pool's size calculation breaks if sbrk() does not return
contiguous chunks of memory.  It happens to do so in the bootstrap
code, but not necessarily in other places.
MFC after:	7 days
2002-12-19 23:23:20 +00:00
Ceri Davies
9d99e59872 Grammatical fixup: s/be the -1/be -1/
MFC after: 1 day
2002-12-19 21:48:43 +00:00
Jake Burkholder
7c6c018c0c Renamed the loader's zipfs to gzipfs. zipfs.c was repo-copied to gzipfs.c. 2002-12-19 19:34:59 +00:00
Ruslan Ermilov
8d436e783f Make accept(), connect(), recvfrom(), recvmsg(), sendmsg(),
and sendto() cancelation points, as required by POSIX.1-2001.

Reviewed by:	deischen
2002-12-19 11:39:20 +00:00
Tim J. Robbins
c0dd63a8a8 Add back the Standards section claiming conformance to 1003.1-2001 and
C99 now that all known standards-related bugs have been fixed.
2002-12-19 10:24:52 +00:00
Tim J. Robbins
37d2356335 Write the message to stderr, not file descriptor 2, so that perror()
writes to the correct stream if stderr has been redirected with freopen().
2002-12-19 09:53:26 +00:00
Tim J. Robbins
a207a8e3f1 Use strerror_r() to format the error message so that strerror()'s static
buffer does not get clobbered.

ISO/IEC 9899:1999 7.21.6.2 3:
"The implementation shall behave as if no library function calls the
strerror function."
2002-12-19 09:50:10 +00:00
Ruslan Ermilov
2efeeba554 mdoc(7) police: "The .Fa argument.". 2002-12-19 09:40:28 +00:00
Ruslan Ermilov
3ca4c01eea mdoc(7) police: Fixed a few .Fa abuses. 2002-12-19 09:33:34 +00:00
Ruslan Ermilov
454e286809 mdoc(7) police: excessive quotes. 2002-12-19 08:13:27 +00:00
David E. O'Brien
f37d6d4463 Update with the 4.7 libraries, and add libposix1e to the mix. 2002-12-18 18:05:07 +00:00
Mike Barcroft
5a98f074e6 Rearrange strerror() so that its itoa procedure can be used with
strerror_r().  Doing this allows us to ensure that strerror_r() always
fills the supplied buffer regardless of EINVAL or ERANGE errors.

strerror()'s semantics have changed slightly such that an argument of
0 is now considered invalid and errno is set to EINVAL.

Remove internal regression test for strerror() and strerror_r().  This
will be reincarnated in src/tools/regression/lib/libc/string.

In strerror(3), add a comment about strerror()'s bogus return type.

PR:	44356
2002-12-18 16:53:31 +00:00
Ruslan Ermilov
5c564bae0a mdoc(7) police: Fixed abuses of the .Ar and .Em macros. 2002-12-18 13:33:04 +00:00
Ruslan Ermilov
1fae73b137 mdoc(7) police: "The .Fn function". 2002-12-18 12:45:11 +00:00
Ruslan Ermilov
a0ce78ec1d mdoc(7) police: "The .Fn system call". 2002-12-18 12:39:25 +00:00
Ruslan Ermilov
95f4226b27 mdoc(7) police: "The .Fn function". 2002-12-18 10:13:54 +00:00
Ruslan Ermilov
b92cc9b878 mdoc(7) police: Fixed the .Nm abuse. 2002-12-18 10:10:32 +00:00
Ruslan Ermilov
2faeeff4c9 mdoc(7) police: Tidy up the syscall language.
Stop calling system calls "function calls".

Use "The .Fn system call" a-la "The .Nm utility".

When referring to a non-BSD implementation in
the HISTORY section, call syscall a function,
to be safe.
2002-12-18 09:22:32 +00:00
Tim J. Robbins
e4ceb70f7a Document what happens when the format string contains insufficient
conversion specifications to completely specify the resulting struct tm.

PR:		46331
Submitted by:	Christian S.J. Peron
MFC after:	2 weeks
2002-12-18 05:00:54 +00:00
Martin Blapp
fb4c80619a Change the name for the local unix-socket based protocol
from "unix" back to "local".  Add some compat stuff so both
ways work for some time.

Reviewed by:    phk
Approved by:    imp (UPDATING)
Requested by:   iedowse, lukem@netbsd.org
2002-12-16 22:24:26 +00:00
Dag-Erling Smørgrav
32f0c0487b Merge in most non-style differences from Andrew Korty's pam_ssh 1.7. 2002-12-16 14:33:18 +00:00
Maxim Konovalov
a61f5b202b o getsockopt(2) 'level' argument should be 0, not SOCK_STREAM. It
does not hurt anything because uipc_ctloutput() does not check
sopt->sopt_level.

Pointed out by:	ru
MFC after:	1 week
2002-12-16 13:42:13 +00:00
Matthew Dillon
92da00bb24 This is David Schultz's swapoff code which I am finally able to commit.
This should be considered highly experimental for the moment.

Submitted by:	David Schultz <dschultz@uclink.Berkeley.EDU>
MFC after:	3 weeks
2002-12-15 19:17:57 +00:00
Maxim Konovalov
04e30a1ce6 o Fix bogus getsockopt(2) call: swap SOCK_STREAM and LOCAL_PEERCRED.
The bug does not affect anything because SOCK_STREAM == LOCAL_PEERCRED == 0x1.

PR:		bin/46165
Submitted by:	Alain Thivillon <at@rominet.net>
Reviewed by:	dd
MFC after:	1 week
2002-12-15 09:37:54 +00:00
Ruslan Ermilov
0fcfb0df3a mdoc(7) police: markup overhaul. 2002-12-14 15:29:27 +00:00
Bill Fenner
43ac5a2340 Add an implementation of the POSIX.1 sockatmark(3). 2002-12-13 22:22:55 +00:00
Ruslan Ermilov
c8d40b7d34 mdoc(7) police: sort xrefs in SEE ALSO. 2002-12-13 16:53:51 +00:00
Tom Rhodes
6883c2e5ae Fix the HISTORY to match reality. They were never MFC'ed to 4.X.
Submitted by:	R. Imura <imura@ryu16.org>
Approved by:	re (murray)
2002-12-12 22:22:51 +00:00
Ruslan Ermilov
8d5d039f80 Uniformly refer to a file system as "file system".
Approved by:	re
2002-12-12 17:26:04 +00:00
Ruslan Ermilov
87e9be3900 mdoc(7) police: .Dt is ALL UPPERCASE.
Approved by:	re
2002-12-12 08:19:47 +00:00
Ruslan Ermilov
051bb54bd3 mdoc(7) police: Added the missing .Os call; it's not strictly
necessary nowadays, but is documented as "required", and may
become so again in the future.

Approved by:	re
2002-12-11 15:55:29 +00:00
Ruslan Ermilov
8416165a24 Fixed the parameter's name.
PR:		docs/46183
Submitted by:	Dirk Gouders <gouders@et.bocholt.fh-ge.de>
Approved by:	re
2002-12-11 14:04:37 +00:00
Ruslan Ermilov
a9a15f3ea4 mdoc(7) police: tiny nits.
Approved by:	re
2002-12-09 14:11:37 +00:00
Ruslan Ermilov
fd779e0181 mdoc(7) police: tiny nits.
Approved by:	re
2002-12-09 14:04:05 +00:00
Ruslan Ermilov
187f61df61 mdoc(7) police: overhaul.
Approved by:	re
2002-12-09 13:54:29 +00:00
Ruslan Ermilov
142de08d3a mdoc(7) police: nits.
Approved by:	re
2002-12-09 13:14:15 +00:00
Ruslan Ermilov
60849ee115 mdoc(7) police: nits.
Approved by:	re
2002-12-09 12:47:18 +00:00
Ruslan Ermilov
e199383992 mdoc(7) police: overhaul. 2002-12-09 12:41:29 +00:00
Daniel Eischen
84001cde8f For now, build and install this as libkse instead of libpthread.
This will avoid any accidental use of an experimental library.

Suggested by:	rwatson
Approved by:	re (jhb)
2002-12-08 22:43:31 +00:00
Peter Wemm
878c9687ec Do not guarantee an overflow of tm_year when doing the binary search in
localtime/mktime/tmcomp and friends on ia64.

Approved by:	re
2002-12-05 19:54:47 +00:00
Ruslan Ermilov
db8993ce9e Capitalize ASCII code names.
Approved by:	re
2002-12-05 08:50:00 +00:00
Ruslan Ermilov
ae82896268 Consistently mark std(in|out|err) with .Dv, because that's how they
are marked up in stdio(3), and because they are defined expressions
of type "FILE *".

Approved by:	re
2002-12-04 18:57:46 +00:00
Ruslan Ermilov
898f520da8 mdoc(7) police: markup overhaul.
Approved by:	re
2002-12-04 17:49:15 +00:00
Ruslan Ermilov
3b29692060 mdoc(7) police: markup overhaul.
Approved by:	re
2002-12-04 16:28:45 +00:00
Ruslan Ermilov
304d1f73fe mdoc(7) police: overhaul.
Approved by:	re
2002-12-04 15:47:41 +00:00
Peter Grehan
8238b87b55 Minimal libc for PowerPC.
Reviewed by: benno

Approved by: re (blanket)
2002-12-04 07:25:14 +00:00
Jake Burkholder
7b628f43e0 Reduce WARNS level to 3 in the non-crypto case to fix make release on sparc64.
This may only be turning up now to changes in the cpp predefines for sparc64,
which may be turning on more strict alignment checking.

Approved by:	re
2002-12-04 04:34:59 +00:00
Jake Burkholder
5afad5832a Update the second copy of libstand to deal with the new ufs2 superblock
format.  The one in sys/boot/libstand is not connected to the build.

Approved by:	re
2002-12-03 16:25:29 +00:00
John Baldwin
ba0b471d64 Break up a bunch of crazy if statements to use a case statement instead
to be cleaner.  Also, when deleting a chunk, try to find the mother chunk
as a whole chunk by default if this isn't a BSD partition or a unused or
whole chunk.  Before we just did this for FreeBSD and FAT slices, which
means that other chunk types such as EFI and mbr (mbr is used for slices
that don't have their own chunk type).

Submitted by:	nyan (mostly)
Approved by:	re
2002-12-02 21:42:29 +00:00
Peter Wemm
a5bf4e71ef Replace rev 1.33 with a real fix. The problem was integer overflows
when trying to store the year in a signed int.  The maximum time_t on ia64
is around 292 billion years in the future, but 'int' and struct tm.tm_year
can only represent then ext 2.1 billion years or so.

This solves the problem of mktime/localtime looping on ia64.  Unfortunately,
the standards say that tm_year is an 'int', so we are still stuck with a
y2147483647 bug.  bash2's configure script looks for bugs in mktime() and
fails on ia64 because of this.  However, mktime() on FreeBSD fails the test
normally anyway so this is no big loss.

This change does not affect any other platforms besides ia64.

Approved by:	re
2002-12-02 01:05:08 +00:00
Bruce Evans
4ce32d5dee Backed out previous commit (alignment suitable for RELENG_4) as planned
since it has been MFC'ed.  See the log message for the previous commit
for more details.  The alignment bug in gcc-3 has not been fixed, but
it is not very serious and the previous commit just moved it (as intended).

Approved by:	re (murray)
2002-12-01 17:36:18 +00:00
Ruslan Ermilov
279062fae1 mdoc(7) police: sweep. 2002-11-29 17:35:09 +00:00
Ruslan Ermilov
92b1f2f7a3 mdoc(7) police: sweep. 2002-11-29 16:42:23 +00:00
Ruslan Ermilov
1798791d24 mdoc(7) police: formatting nits.
Approved by:	re
2002-11-29 15:57:50 +00:00
Dag-Erling Smørgrav
bb16bd87d7 Whitespace nits.
Approved by:	re (bmah)
2002-11-28 20:11:31 +00:00
Dag-Erling Smørgrav
3fdd8a4036 Add a PAM_MODULE_ENTRY to this module so it'll actually do something.
Approved by:	re (bmah)
2002-11-28 20:05:42 +00:00
Hajimu UMEMOTO
c86d6b6cb7 try SIOCGIFINDEX 1st to be able to use network aliasing.
Submitted by:	jlemon
Approved by:	re
2002-11-28 17:46:40 +00:00
Dag-Erling Smørgrav
d5216a4fb7 Implement and document support for an HTTP_REFERER environment variable.
PR:		28171
Submitted by:	Andre Albsmeier <andre.albsmeier@mchp.siemens.de>
Approved by:	re (bmah)
MFC after:	1 week
2002-11-28 12:07:15 +00:00
Kirk McKusick
ada981b228 Create a new 32-bit fs_flags word in the superblock. Add code to move
the old 8-bit fs_old_flags to the new location the first time that the
filesystem is mounted by a new kernel. One of the unused flags in
fs_old_flags is used to indicate that the flags have been moved.
Leave the fs_old_flags word intact so that it will work properly if
used on an old kernel.

Change the fs_sblockloc superblock location field to be in units
of bytes instead of in units of filesystem fragments. The old units
did not work properly when the fragment size exceeeded the superblock
size (8192). Update old fs_sblockloc values at the same time that
the flags are moved.

Suggested by:	BOUWSMA Barry <freebsd-misuser@netscum.dyndns.dk>
Sponsored by:   DARPA & NAI Labs.
2002-11-27 02:18:58 +00:00
Jonathan Mini
e9d0431f0b Schedule spinlocked threads by moving them through the work queue, instead
of the wait queue.

Approved by: re (blanket)
Stolen from: davidxu
2002-11-24 06:45:45 +00:00
Jonathan Mini
4df51f23bb Get the wall clock time from the KSE mailbox, rather than doing another
syscall.
2002-11-24 06:43:21 +00:00
David Xu
2442bdd81b Directly load %edx from mailbox 2002-11-23 04:39:52 +00:00
Archie Cobbs
e804e4b013 Describe newly added fields in the KSE and thread mailboxes.
Approved by:	re
2002-11-22 23:48:38 +00:00
Chris Costello
2db19028d3 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
David Xu
4949943c48 In _thread_enter_uts, fix eflags saving bug.
In _thread_switch, set current thread pointer in kse mailbox
only after all registers copied out of thread mailbox, kernel will do
upcall at trap time, if set current thread pointer before loading all
registers from thread mailbox, at trap time, the thread mailbox data
will be overwritten by kernel, result is junk data is loaded into CPU.
2002-11-22 11:43:06 +00:00
David Xu
662c0429b9 Fix idle timeout bug, use correct current time of day. 2002-11-20 12:35:59 +00:00
Ruslan Ermilov
c51d717f0c libc_r wasn't so tied to libc for 22 months. 2002-11-18 09:50:57 +00:00
Marcel Moolenaar
ed7ba3cfc2 This file has reincarnated as src/include/uuid.h with a whole new
future ahead of it.
2002-11-18 08:06:39 +00:00
Marcel Moolenaar
c544e42bcf libc header files are normally in src/include. Therefore, uuid.h has
been repo-copied from src/lib/libc/uuid to src/include. Update the
makefiles.

While in src/include/Makefile, reformat and resort INCS. Reverting
the functional change only involves removing uuid.h.

Pompted by: ru
2002-11-18 07:34:56 +00:00
David Xu
4ab365e720 Adjust code for new mailbox format.
Reviewed by: deischen, mini
2002-11-18 02:02:08 +00:00
Peter Wemm
f316609eb4 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
Mike Barcroft
4624c61c2d Update SYNOPSIS to reflect the standardized header. Add STANDARDS
section.

PR:	43270
2002-11-17 16:34:07 +00:00
Yoshihiro Takahashi
1cfcbbd71c - Ease sanity check to get cylinders.
- Get the slice name from the result of kern.geom.conftxt.
2002-11-17 13:51:22 +00:00
Doug Barton
7fd268cce6 goto break; != break;
I've no idea if this is the right behavior for the library, but this
at least fixes the build, and matches what seems to be alfred's intent
in the commit message for 1.19.
2002-11-17 08:54:29 +00:00
Alfred Perlstein
f51c1e897d Rework the sysconf(3) interaction with aio:
sysconf.c:
  Use 'break' rather than 'goto yesno' in sysconf.c so that we report a '0'
  return value from the kernel sysctl.

vfs_aio.c:
  Make aio reset its configuration parameters to -1 after unloading
  instead of 0.

posix4_mib.c:
  Initialize the aio configuration parameters to -1
  to indicate that it is not loaded.
  Add a facility (p31b_iscfg()) to determine if a posix4 facility has been
  initialized to avoid having to re-order the SYSINITs.
  Use p31b_iscfg() to determine if aio has had a chance to run yet which
  is likely if it is compiled into the kernel and avoid spamming its
  values.
  Introduce a macro P31B_VALID() instead of doing the same comparison over
  and over.

posix4.h:
  Prototype p31b_iscfg().
2002-11-17 04:15:34 +00:00
Marcel Moolenaar
f8739dd5f9 Implement the lock with a cmpxchg instruction instead of a xchg.
Both are atomic, but the cmpxchg has memory ordering hints. We
give this acquire semantics.

NOTE: The unlock in libc_r is implemented by a "normal" assign
statement. This is not correct on ia64 due to the memory ordering
characteristics of the architecture. We need release semantics
for an unlock.
2002-11-16 17:05:06 +00:00
Daniel Eischen
9ed358fddc Disconnect the userland get/set/swapcontext() functions from
libc.  I want to keep these in some version for the thread
library/ies, but don't know whether to have them repo-copied
to libc_r or renamed and kept in libc.

Change the name of an alpha macro that was changed with the
system call commit.
2002-11-16 06:39:11 +00:00
Alfred Perlstein
3d8ce33a50 Provide more correct default values for sysconf(3) reporting of the AIO
subsystems capabilities:

_SC_AIO_LISTIO_MAX returns the default of _POSIX_AIO_LISTIO_MAX
_SC_AIO_MAX returns the default _POSIX_AIO_MAX
_SC_AIO_PRIO_DELTA_MAX returns the default of 0

Without these adjustments the values returned are -1 even when the
aio side of the kernel returns '0' for them which is incorrect.

Noticed by: Craig Rodrigues <rodrigc@attbi.com>
2002-11-16 06:35:20 +00:00
Marcel Moolenaar
fef38f259f Sort SRCS. 2002-11-16 01:41:33 +00:00
Peter Wemm
6ceeb6902a utmp.ut_time and lastlog.ll_time are explicitly int32_t rather than
time_t.  Deal with the possibility that time_t != int32_t.  This boils
down to this sort of thing:
 -   time(&ut.ut_time);
 +   ut.ut_time = time(NULL);
and similar for ctime(3) etc.  I've kept it minimal for the stuff
that may need to be portable (or 3rd party code), but used Matt's time32
stuff for cases where that isn't as much of a concern.

Approved by: re (jhb)
2002-11-15 22:42:00 +00:00
Yoshihiro Takahashi
021587f8c1 Fixed style(9) 2002-11-15 13:24:29 +00:00
Archie Cobbs
e46cac58cd When about to do an execve(), don't reset the O_NONBLOCK flag on any file
descriptors that have the close-on-exec flag set, as that will have no
effect anyway and might screw something else up if the file descriptor
happens to be shared with another process.

PR:		standards/43335
MFC after:	1 week
2002-11-15 00:34:28 +00:00
Ruslan Ermilov
3f66c888ec Make dynamic PAM modules depend on dynamic PAM library.
Requested by:	des, markm
2002-11-14 19:24:51 +00:00
Robert Drehmel
7ea630865e Define `Sudden_Underflow' when compiling for the Alpha
architecture, mainly to avoid getting a SIGFPE signal sent
when calling strtod(3) with certain input.

The SIGFPE has been sent because the code was not aware that
a Gradual Underflow is handled in software via traps on the
Alpha architecture, but is not implemented in our Alpha kernel
layer.

With `Sudden_Underflow' defined, strtod(3) should not depend
on Gradual Underflow and adjust its calculations accordingly,
which means that other, more subtle errors than the sending of
SIGFPE could be solved by this.

Discussed with:	bde
PR:		alpha/12623
PR:		alpha/17032
PR:		alpha/43567
MFC after:	7 days
2002-11-14 17:06:01 +00:00
Warner Losh
cf04ed1bdf bde points out that the LIBC_MAJOR macro doesn't exist and requests
that we not use it here.  In its place I've put a comment about the
current state of play.

Submitted by: bde
2002-11-14 14:06:14 +00:00
Ruslan Ermilov
bedff4e805 Reset LogTag to NULL in closelog(3). This fixes mysterious crashes
caused by dynamic PAM modules that call openlog(3) and closelog(3),
e.g. ports/security/pam_pwdfile.

What happened here is that the module first registered its "ident"
with openlog(3), then PAM library unloaded module with dlclose(3),
and the next call to syslog(3) resulted in SIGSEGV.

MFC after:	3 days
2002-11-14 12:40:14 +00:00
Marcel Moolenaar
122dd01309 o Fix _longjmp() to return 1 when the return value is given as 0.
o  Remove the unwanted smartness in _longjmp() where it compares
   the current ar.bspstore with the saved ar.bspstore and restores
   ar.rnat based on it. This either avoids saving ar.rnat in the
   jmp_buf or is the consequence of not saving ar.rnat. All this
   complexity breaks libc_r where we use longjmp() to switch to
   different threads and the current ar.bspstore has no relation
   to the saved ar.bspstore. Thus: we save ar.rnat in setjmp()
   and simply restore ar.bspstore and ar.rnat in longjmp().

This code needs a cleanup.
2002-11-14 06:40:23 +00:00
Daniel Eischen
fcfc20c88a Argh, change declaration of two-dimensional array so that it actually
builds.
2002-11-13 21:55:22 +00:00
Daniel Eischen
28c104a549 Make this compile with whatever error-checking is enabled in buildworld
and/or beast.
2002-11-13 19:35:40 +00:00
Daniel Eischen
f38fac1471 At initialization, override the pthread stub routines in libc
by filling in the jump table.

Convert uses of pthread routines within libc_r to use the internal
versions (_pthread_foo instead of pthread_foo).

Remove a couple of globals from application namespace.
2002-11-13 18:13:26 +00:00
Daniel Eischen
fb22a377c6 Use a jump table (a la Solaris) for pthread routines with default
entries in the table being stubs.  While I'm here, add macros to
auto-generate the stubs.  A conforming threads library can override
the stub routines by filling in the jump table.

Add some entries to namespace.h and sync un-namespace.h to it.
Also add a comment to remind folks to update un-namespace.h
when changing namespace.h.
2002-11-13 18:12:09 +00:00
Jacques Vidrine
7c2274dc95 The pam_krb5 module stored a reference to a krb5_ccache structure as
PAM module state (created in pam_sm_authenticate and referenced later
in pam_sm_setcred and pam_sm_acct_mgmt).  However, the krb5_ccache
structure shares some data members with the krb5_context structure
that was used in its creation.  Since a new krb5_context is created
and destroyed at each PAM entry point, this inevitably caused the
krb5_ccache structure to reference free'd memory.

Now instead of storing a pointer to the krb5_ccache structure,
we store the name of the cache (e.g. `MEMORY:0x123CACHE') in
pam_sm_authenticate, and resolve the name in the other entry points.

This bug was uncovered by phkmalloc's free'd memory scrubbing.

Approved by:	re (jhb)
2002-11-13 17:46:15 +00:00
Jacques Vidrine
88c8bcce6c Use krb5_get_err_text' instead of error_message' so that instead of
e.g.

   Unknown error: -1765328378

we get

   Client not found in Kerberos database

Another way to accomplish this would have been to leave
`error_message' alone, but to explicitly load the Kerberos com_err
error tables.  However, I don't really like the idea of a PAM module
dorking with global tables.

Approved by:	re (jhb)
2002-11-13 17:44:29 +00:00
Ruslan Ermilov
b448dd2f9e Actually check if stdbool.h exists when BOOTSTRAPPING. 2002-11-13 13:47:48 +00:00
Ruslan Ermilov
4192cfffe2 Bootstrapping aid for 4.0-RELEASE. 2002-11-13 11:50:40 +00:00
Marcel Moolenaar
c3e6b1182b Handle EFI partitions the same as regular FAT partitions. The only
difference between the two from a low-level point of view is that
the partition type is different. This change adds EFI related cases
to existing switch statements with existing FAT related cases.
2002-11-13 05:31:32 +00:00
Robert Watson
433c28e012 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
Archie Cobbs
6578194b8b Fix bogus return values from libc_r's writev() routine in situations where
a partial-write is followed by an error.

PR:		43335
MFC after:	3 days
2002-11-12 19:01:49 +00:00
Jonathan Mini
1cb53a1828 Schedule an idle context to block until timeouts expire without blocking
further upcalls.
2002-11-12 00:55:01 +00:00
Chad David
86b62d35bf - Document the chunk_name() function that replaces chunk_n[].
- Rearrange things a tiny bit.
2002-11-11 19:37:19 +00:00
Chad David
8ff8da756b Remove parameter names from function prototypes (at least one collided
with stdlib.h).

discussed with: phk
2002-11-11 18:55:57 +00:00
Poul-Henning Kamp
efb14d4614 Remove debugging printfs. 2002-11-11 10:08:46 +00:00
Marcel Moolenaar
7aa65edc75 ia64 ABI breaker:
Don't force 16-byte alignment at run-time. Do it at compile-time.
This saves us the pointer fiddling by the setjmp functions and
reduces complexity. While here, increase the jmp_buf by 16 bytes
to an even 512 bytes. Coincidentally, due to the way alignment
was handled prior to this change, the jmp_buf has not changed in
size, but only in how the space is used. Prior to this change
the 16 bytes were reserved for enforcing alignment; now they are
reserved by us for future extensions.
Therefore, this ABI breaker is relatively save: the failure is
always an alignment trap.
2002-11-11 08:11:44 +00:00
Marcel Moolenaar
cd5a1c3b76 MBR slices are named the same on ia64 as they are on i386. 2002-11-11 04:46:39 +00:00
Marcel Moolenaar
40e2de8b79 Given that we have 3 places to document UUID related information,
namely uuidgen(1), uuidgen(2) and uuid(3), the following division
has been choosen:
	uuidgen(1)	A description of the command line utility,
			and other user oriented UUID information.
	uuidgen(2)	A mostly technical description of UUIDs.
	uuid(3)		A description of the functions and other
			programmer oriented UUID information.

According to the division: add more technical contents.

Contributed by: Hiten Pandya <hiten@uk.FreeBSD.org>
Edited and enhanced: marcel
2002-11-11 00:29:01 +00:00
Jake Burkholder
83702273a3 Write the boot block to the first 16 sectors of all partitions, instead of
always to the first 16 sectors of the disk.  The firmware reads the boot
code from a partition, defaulting to 'a' if none is specified, which only
corresponds to the first 16 sectors of the disk if 'a' is first.  Solaris
often makes the swap partition first, instead of the root partition, and
users expect to be able to do the same with freebsd as well.  This also
allows one to temporarily boot from another partition if the boot block
on the root partition gets scrambled somehow.
2002-11-10 21:07:29 +00:00
Marcel Moolenaar
7593e0d3c5 Add efi to the list of types for which we need to return tha name.
Also, return chunk type efi in case we find an EFI partition in
the GPT. We used to return FAT due to a lack of EFI type.
2002-11-10 20:53:10 +00:00
Marcel Moolenaar
c9a3bb24d6 Add an efi chunk type. We need to be able to create an EFI partition
on ia64, because that's where we need to put the loader and the
kernel.
2002-11-10 20:49:28 +00:00
Marcel Moolenaar
255bef40ce General cleanup:
o  Remove all code guarded by !defined(__ia64__). This file is
   specifically written for ia64,
o  Handle the case when read_block() or write_block() fails. We
   don't want sysinstall(8) to signal a thumbs-up on error,
o  Set the starting (cyl,hd,sect) triple to 0xFFFFFF when either
   bios_hd or bios_sect is zero or the LBA us not representable
   with the triple. In that case automaticly initialize the
   ending triple with 0xFFFFFF as well,
o  Reindent Write_Int32() as it was different than the rest of
   the file,
o  Remove some unused variables that appeared to be used but
   were effectively useless.
o  Plug a memory leak: The second timne we read the MBR, we write
   out a modified block, but didn't free the memory after writing.
o  Replace d1->sector_size with 512 when we read/write the MBR.
   We ignore the sector size in cases we shouldn't but adhered to
   it in cases it would be wrong if the sector_size wasn't 512.

This file should eventually be rewritten to write out a GPT. For
now, a MBR will do...
2002-11-10 20:47:02 +00:00
Tim J. Robbins
b18146b4c2 Add cross references to mbrtowc(3) and wcrtomb(3). 2002-11-10 11:14:58 +00:00
Tim J. Robbins
2f5154a2c1 Don't check whether the first byte of the buffer is a null byte when
the buffer has zero length (n == 0).
2002-11-10 10:49:14 +00:00
Warner Losh
c906b66373 Restore Peter's version of static __sF. There's too much pain for it
to be static for 5.0.  I may remove this for 5.1 or 5.2.  No more
binaries or libarires will be generated with __sF starting as of
yesterday.  Originally the plan had been to eliminate this for 5.0,
but we didn't get the __std{in,out,err}p changes merged into -stable
until yesterday (rather than in September 2001 like it should have
been).  Given that didn't happen on time, we can't do the other part
of the scheme now.

# Please do not change this without talking to me first.
2002-11-10 08:44:38 +00:00
Tim J. Robbins
7183f43d95 Describe the n' and ps' arguments to mbrlen(). 2002-11-09 10:21:01 +00:00
Tim J. Robbins
f4937dbebc Typo: pointer to -> pointed to 2002-11-09 09:47:06 +00:00