Commit graph

4225 commits

Author SHA1 Message Date
Dmitrij Tejblum
ffd73a0043 Fix a memory leak: free the thread-specific poll_data, used in the select()
implementation.

PR:		13368
Submitted by:	Steve Bernacki, Jr. <steve@copacetic.net>
1999-08-30 15:45:42 +00:00
Sheldon Hearn
8559ed58e8 Only issue a warning for the first occurrence of a UID > USHRT_MAX and
the first occurrence of a GID > USHRT_MAX.

PR:	13344
Reviewed by:	bde
1999-08-30 09:55:42 +00:00
Peter Wemm
430299d4e7 Don't build libtermcap, libcurses, libmytinfo, just libncurses. 1999-08-30 08:15:02 +00:00
Peter Wemm
99af2e21c7 Use src/contrib/ncurses, v5.0.990821 prerelease.
This isn't quite finished yet, there are still some unresolved problems
with ospeed and the sgtty.h (non-posix) terminal interface.  Mostly
this only causes problems with src/games.

The other tools and libraries (libform,libpanel,libmenu) will come
shortly but are seperate.

Beware, there be dragons here!  (The build will be broken for a short
while)
1999-08-30 07:58:08 +00:00
Daniel Eischen
3e12058d25 When checking for valid timevals in the wrapped select() and poll()
routines, don't return EINVAL but set errno to EINVAL and return -1.
Added a check in pthread_cond_timedwait for a null timespec pointer.
1999-08-30 00:02:08 +00:00
Bill Fumerola
a5a388c7ab Add $FreeBSD$ and spell Eklund properly.
Approved by:	brian (well, he approved adding $Id$)
1999-08-29 23:17:04 +00:00
Mike Pritchard
229494cb51 Add $FreeBSD$ lines to man pages that are missing them to make it
easier for translation teams.

PR:		docs/13418
Submitted by:	Alexey Zelkin <phantom@cris.net>
1999-08-28 23:10:20 +00:00
Mike Pritchard
ba79fc6822 Add $FreeBSD$ lines to man pages that are missing them to make
it easier for translation teams.

PR:		docs/13418
Submitted by:	Alexey Zelkin <phantom@cris.net>
1999-08-28 23:04:49 +00:00
Peter Wemm
a1a4f1a0d8 $Header$ -> $FreeBSD$ 1999-08-28 05:11:36 +00:00
Kazutaka YOKOTA
fbe39a1af1 - Handle the signal SIGTERM.
- Slightly rearrange VGLCheckSwitch() to ensure the display content
  will be correctly restored when switching back to the vty where
  the vgl program is running.
- VGLEnd() should clear the screen only when the vty is in the
  foreground.

Discussed with: sos
1999-08-28 02:39:10 +00:00
Peter Wemm
97d92980a9 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
Peter Wemm
c3aac50f28 $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
Peter Wemm
7f3dea244c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
Peter Wemm
a4add9a9b1 $Id$ -> $FreeBSD$ 1999-08-27 23:45:13 +00:00
Peter Wemm
2a4562393f $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00
Mike Pritchard
8a951d305e Remove some 4.3BSDish anacronisims that stated that it was an
error for a pathname to contain a character with the high-order
bit set.

Inspired by:  joerg's previous commit
1999-08-27 20:21:18 +00:00
Joerg Wunsch
b6e3808f9b Remove a 4.3BSDish anachronism that claimed EPERM for an attempt to
mknod() a pathname containg a ``character with the high-order bit
set''.
1999-08-27 14:25:00 +00:00
Bruce Evans
480bc7e108 Don't open the swap file. The open descriptor for it hasn't been used
for over 5 years since we switched to using procfs for kvm_uread().
This cleanup was motivated by recent breakage of the default swap file
(/dev/drum) when swapon() has not been called.
1999-08-25 03:01:54 +00:00
Chris Costello
1d71a557cc Document ENOSYS error.
PR:		docs/13290
1999-08-23 11:07:29 +00:00
Brian Somers
7765ab6476 Aallow ppp to work with Nortel Networks Extranet Switch
product and Windows NT tunneling.

Submitted by: Chain Lee <chain@nortelnetworks.com>
1999-08-22 23:32:01 +00:00
Tim Vanderhoek
a395af9036 Typo: 102 => 192 (PR: docs/13310 - Maxim Sobolev <sobomax@altavista.net>) 1999-08-22 19:23:33 +00:00
Kazutaka YOKOTA
5e7a62b28b Assorted bug fixes.
keyboard.c
- Call tcsetattr() in VGLKeyboardEnd() to restore tty, only when
  tty attributes have been previously saved.
  PR: misc/9524
  Submitted by: Katusyuki 'kei' Maeda (kei@nanet.co.jp)
- Set up the tty raw mode correctly.

main.c
- Restore VESA_800x600 raster text mode correctly in VGLEnd().
  Submitted by: des

text.c
- Allocate the correct size of a font buffer in VGLSetFontFile().
  I forgot the submitter ;-(

simple.c, bitmap.c
- Fix address calculation for the VGA mode X in VGLGetXY() and
  VGLBitmapCopy().
- Fix typo (dsty -> dstx) in __VGLBitmapCopy().

Reviewed by: sos
1999-08-22 03:31:13 +00:00
Brian Feldman
fa62586ae7 This is the addition of a syslog(3) security.* top-level category. This
should be used from now on for anything security but not auth-related.
Included are updates for all relevant manpages and also to /etc files,
creating a new /var/log/security. Nothing in the system logs to
/var/log/security yet as of the time of this commit.

Reviewed by:	rgrimes, imp, chris
1999-08-21 18:24:29 +00:00
Warner Losh
028aace8e1 Add warnings, ala mktemp, to tempnam and tmpnam as a reminder that
these are inherently unsafe interfaces.

Do not allow TMPDIR to override path for setuid/setgid programs.
1999-08-21 17:56:44 +00:00
Alfred Perlstein
89f6acf96a move sanity check of timeval struct so as not to segfault when passed
a null pointer.

Pointed out by: Thomas Gellekum <tg@ihf.rwth-aachen.de>
Reviewed by:    eivind
1999-08-20 21:06:20 +00:00
Andrzej Bialecki
da33d9001c Restore INTERNALLIB.
Noticed by:	bde,jdp
1999-08-20 18:32:45 +00:00
Matthew N. Dodd
70ff7ab750 Fix MLINKS.
Noticed by: Norman C. Rice <nrice@emu.sourcee.com>
1999-08-20 17:37:22 +00:00
John Birrell
e4065e8294 When checking if there is a stack to free, observe the fact that it
might have been mmapped, and if so, passing the pointer to free() is
really not a good idea.

[ In the next millenium, when I've taken over the world, I'm going
  to ban 8 character tabs. You've been warned. ]
1999-08-20 12:17:09 +00:00
Ralf S. Engelschall
49b1e06a15 Fix EINVAL related descriptions. 1999-08-20 07:00:22 +00:00
Matthew N. Dodd
90cc1fbc53 Add 2 functions: el_data_set() and el_data_get() which do what you
would expect.  (Allow user data to be associated with an EditLine context).

As this changes no existing interfaces and doesn't alter any structs
visable to the user I've been told that its not necessary to bump
the version of the library.
1999-08-20 01:17:12 +00:00
Alfred Perlstein
4c263f605c time_to_sleep->tv_nsec > 1000000000
-to-
time_to_sleep->tv_nsec >= 1000000000
1999-08-19 23:18:07 +00:00
Alfred Perlstein
91518882e0 Sanity check time structures passed in, return EINVAL like the system
calls do to avoid corrupting the thread library's concept of wakeup
time.

PR:		kern/12141
Reviewed by:	deischen, eivind
1999-08-19 23:06:11 +00:00
Alfred Perlstein
c81c6baf1d handle under/overflow of time values in a more robust manner,
there may be an overflow that need to be adjusted more than once.

Pointed out by: Fabian Thylmann <fthylmann@stats.net>

Reviewed by:	eivind, jb
1999-08-19 16:49:53 +00:00
Andrzej Bialecki
c747c0c757 Add pam_radius.so manual page.
Reviewed by:	jdp
1999-08-18 19:04:24 +00:00
Chris Costello
f437b38cf7 Fix a bunch of broken cross-references 1999-08-18 05:55:22 +00:00
Kenneth D. Merry
46aa5a9271 Take out a reference to ccb(4). I never got around to writing it.
Reported by:	"Alexey M. Zelkin" <phantom@cris.net>
1999-08-17 22:03:40 +00:00
Ralf S. Engelschall
526148f2b9 Fix description of the _thread_autoinit_dummy_decl trick. 1999-08-17 09:50:21 +00:00
Peter Holm
91289ebc39 Reverted to revision 1.8 as previous fix causes fts_open with with a
path name argument with a trailing '/' to fail.

Reviewed by:	phk
1999-08-15 19:21:29 +00:00
Mike Pritchard
74804d58a0 Various man page cleanup:
- Sort xrefs
- FreeBSD.ORG -> FreeBSD.org
- Be consistent with section names as outlines in mdoc(7)
- Other misc mdoc cleanup.

PR:		doc/13144
Submitted by:	Alexy M. Zelkin <phantom@cris.net>
1999-08-15 09:51:25 +00:00
Peter Holm
82f712dfaf Reviewed by: phk
When fts_open is used with option FTS_NOCHDIR the full
path entry of type FTS_DP is returned with a trailing
'/' if the final directory is empty.
This fix coresponds to netbsd's __fts13.c v. 1.16
1999-08-14 12:19:40 +00:00
Chris Costello
a3f2a0a926 Bad reference to exit(2) changed to exit(3). 1999-08-14 08:13:35 +00:00
Chris Costello
f815187c41 Bad reference exit(2) changed to exit(3) 1999-08-14 08:05:46 +00:00
Chris Costello
ab9120cd42 Add $Id$ tag. 1999-08-14 07:59:58 +00:00
Chris Costello
823e5a6438 Bad reference time(2) changed to time(3) 1999-08-14 07:57:52 +00:00
Chris Costello
27f42f4fd8 Bad reference of termios(3) changed to termios(4). 1999-08-14 07:52:29 +00:00
Chris Costello
b21e4aed42 Bad reference of sysctl(1) changed to sysctl(8) 1999-08-14 07:46:50 +00:00
Chris Costello
84f347708b Bad reference to lstat(3) changed to lstat(2) 1999-08-14 07:43:02 +00:00
Chris Costello
a251398eea Fix .Xr line for `getpagesize' 1999-08-14 07:33:15 +00:00
Chris Costello
b07158f71c Fix some bad references:
fopen(2) -> fopen(3)
  fclose(2) -> fclose(3)
1999-08-14 07:07:46 +00:00
Chris Costello
e5721f2fd3 Change reference to mount(1) to mount(8) 1999-08-14 06:17:24 +00:00
Chris Costello
2d3a25e901 Change reference from kldload(3) to kldload(2) 1999-08-13 21:02:39 +00:00
Sheldon Hearn
7312edcec3 Axe LOGIN_CAP_AUTH.
PR:	10115
Reported by:	Gene Skonicki <gene@cif.rochester.edu>
Requested by:	jdp
1999-08-13 16:51:40 +00:00
Daniel Eischen
936aa6b443 Add check for runnable threads before polling file descriptors.
Submitted by:	tegge
1999-08-12 19:34:39 +00:00
Robert Nordier
18e08df153 Treat an attempt to read from a write-only stream more consistently.
Submitted by: Anton Berezin <tobez@plab.ku.dk>
PR          : 12852
1999-08-10 21:36:51 +00:00
Warner Losh
d64292d252 Use the latest version of these files from OpenBSD.
1) Safty change from casper dik was added to OpenBSD's sources since I
   grabbed them. milltert@openbsd.org
2) Split up strlcpy to improve efficiency of the common case.
   milltert@openbsd.org
3) Cleanup of cross references for man page.  {alex,aaron}@openbsd.org

Pointed out by: deraadt@openbsd.org
1999-08-10 05:58:58 +00:00
Warner Losh
a41df9e30e Import strl{cat,cpy} from OpenBSD.
Obtained from: OpenBSD
1999-08-10 05:21:31 +00:00
Bruce Evans
749a33625d Fixed missing "G" in the list item for the main description of %g and
%G formats.
1999-08-08 11:00:01 +00:00
Daniel Eischen
fa7c4d5575 Add RCS IDs to those files without them.
Fix copyrights (s/REGENTS/AUTHOR).

Suggested by:	tg
Approved by:	jb
1999-08-05 12:15:30 +00:00
Daniel Eischen
8b5d18ec76 Fix thread initialization to allow for the case where stdio file
descriptors are not opened.

PR:		bin/12853
Reviewed by:	jb
1999-08-05 12:08:10 +00:00
Tim Vanderhoek
cc5aedfb1a Mention that EXIT_SUCCESS and EXIT_FAILURE are preferred over
sysexits.h-values as exit codes for portable programs.
1999-08-01 20:46:45 +00:00
Bruce Evans
176ef327fa Fixed $Id$.
Removed POSIX.1/NetBSD markup (braces) for NAME_MAX, etc.  We don't
define this.  Most FreeBSD man pages hard-code the limits; in fact,
utimes.2 recently became the only file in libc/sys/*.2 that mentions
NAME_MAX.  There probably should be mandoc macros for this.
1999-07-31 22:29:17 +00:00
Bruce Evans
fbcc97c9d2 Removed a duplicate reference to System V.4. 1999-07-31 22:14:46 +00:00
Bruce Evans
1c8deedd38 Fixed syntax error in previous commit. 1999-07-31 22:10:17 +00:00
Bruce Evans
d3ac30dd5e FIxed disordering in previous commit. Fixed some old disorder. 1999-07-31 22:00:09 +00:00
Nik Clayton
83f7951bfc Document that writev(2) can fail with ENOBUFS.
Text is a compromise based on messages from Wes Peters, Ville-Pertti
Keinonen, and Matt Dillon.

PR:             docs/10512
Submitted by:   Howard Goldstein <hgoldst@mpcs.com>
1999-07-30 21:20:09 +00:00
Mike Pritchard
6a8edfca23 Use the .At macro when referencing versions of AT&T UNIX.
Note: you need to install the current groff tmac macros for these
man pages to format correctly.  Specifically, rev 1.21 of
contrib_groff/tmac/doc-syms in -current, or rev 1.17.24 for 3.2-stable
1999-07-30 12:45:20 +00:00
Mike Pritchard
afb7dc43a9 Document the getdents(2) system call. The documentation was
added to the getdirentries(2) man page because 95%+ of that
man page comprised the text of the getdents(2) man page
I obtained from NetBSD.
1999-07-30 11:32:08 +00:00
Mike Pritchard
07677e5025 Document the lchmod(2) system call.
Pointed-out-by: bde
1999-07-30 10:08:21 +00:00
Mike Pritchard
38cf40702d Add a manual page for getdents(2). This was taken from NetBSD, but
still needs some cleanup which is why it hasn't been added to the
Makefile yet.

Obtained from:	NetBSD
Pointed-out-by: bde
1999-07-30 09:26:50 +00:00
Mike Pritchard
db58ff7d87 Document the lutimes() and futimes() system calls.
PR:		kern/11213
Obtained from:	NetBSD w/some minor changes by me
1999-07-30 09:01:45 +00:00
Mike Pritchard
4f8d723376 Mdoc cleanup. 1999-07-30 07:45:40 +00:00
Sheldon Hearn
c4cebec42e Add missing cause for an EINVAL return (msgtype < 1).
PR:	12783
Submitted by:	Kevin Day <toasty@dragondata.com>
1999-07-26 11:39:02 +00:00
Sheldon Hearn
4a9e5bd0db Correct HISTORY section, according to CVS logs.
PR:	12810
Submitted by:	Alex Perel <veers@disturbed.net>
1999-07-26 09:37:47 +00:00
Andrey A. Chernov
77eb0fc601 remove <ctype.h> - not needed 1999-07-26 05:50:43 +00:00
Andrey A. Chernov
89b86d020c unsigned char cleanup
fix wrong index from p_simp_re()

PR: 8790
Submitted by: Alexander Viro <viro@math.psu.edu> (partially)
1999-07-26 01:33:38 +00:00
Tim Vanderhoek
6a8e2895aa asprintf() does use realloc() internally, but saying so in the manpage can be
misinterpreted to mean that the pointer passed to asprintf() must be suitable
for passing to realloc() as-is (ie. either a NULL pointer or a valid pointer).
1999-07-25 17:38:59 +00:00
Nick Hibma
ebec760f9a Update the manpage for the number of symlinks in ELOOP
PR:		12634 (partial)
Submitted by:	Julian H. Stacey jhs@FreeBSD.ORG
1999-07-24 16:45:57 +00:00
Bruce Evans
6b288cfa64 Backed out previous commit. devname.3 and devname.c were broken in Lite1
(devname() returned "??" when the lookup failed, but callers expected it
to return NULL).  This was fixed in Lite2, but until recently the changes
were only merged into devname.3.  A day or two after devname.c was fixed,
devname.3 was made inconsistent again by backing out most of the Lite2
changes.
1999-07-24 00:33:27 +00:00
Nik Clayton
d4cd00eae1 Correct the information about the return value when no device matches
(or no information is available).

PR:             docs/12707
Submitted by:   Chris Costello <chris@calldei.com>
1999-07-20 20:48:40 +00:00
Nik Clayton
206ccf0420 Correct some grammar and style problems with this page.
Submitted by:   Kris Kennaway <root@rebel.net.au>
1999-07-20 20:46:26 +00:00
Brian Feldman
a2dca20711 Various cleanups. 1999-07-19 17:37:42 +00:00
Poul-Henning Kamp
9d4ee2f2ef Make devname(3) return something more intelligent than NULL if it doesn't
find anything in the database.
1999-07-18 10:19:48 +00:00
Hidetoshi Shimokawa
daa2e8d835 Enable gmon/mcount on alpha. 1999-07-16 07:05:34 +00:00
Hidetoshi Shimokawa
480d03cbdd Enable gcrt1.o. 1999-07-16 06:59:27 +00:00
Hidetoshi Shimokawa
f2fd63aff2 Make profil() 64bit-safe for alpha.
uintfptr_t may be better for offset, but we must wait until
the definition of uintfptr_t moves from machine/profile.h.

Reviewed by: bde
1999-07-16 06:28:55 +00:00
Jonathan Lemon
9a670a9a6c Reference correct sysctl: kern.maxsockbuf --> kern.ipc.maxsockbuf 1999-07-15 17:15:24 +00:00
Nik Clayton
d7dcd048aa Be a little clearer about login_getpwclass(3), and its penchant for
looking up a record called "root".

PR:             docs/12377
Submitted by:   Adrian Filipi-Martin <adrian@ubergeeks.com>
1999-07-14 22:36:10 +00:00
Nik Clayton
fbc400a67a Add $Id$, to make it simpler for members of the translation teams to
track.

The $Id$ line is normally at the bottom of the main comment block in the
man page, separated from the rest of the manpage by an empty comment,
like so;

     .\"    $Id$
     .\"

If the immediately preceding comment is a @(#) format ID marker than the
the $Id$ will line up underneath it with no intervening blank lines.
Otherwise, an additional blank line is inserted.

Approved by:            bde
1999-07-12 20:50:10 +00:00
Nik Clayton
3be5f1f5ce Add $Id$, to make it simpler for members of the translation teams to
track.

The $Id$ line is normally at the bottom of the main comment block in the
man page, separated from the rest of the manpage by an empty comment,
like so;

     .\"    $Id$
     .\"

If the immediately preceding comment is a @(#) format ID marker than the
the $Id$ will line up underneath it with no intervening blank lines.
Otherwise, an additional blank line is inserted.

Approved by:            bde
1999-07-12 20:24:20 +00:00
Dmitrij Tejblum
6ff19e189d Use USRSTACK (defined in <machine/vmparam.h>) to get top of the initial stack.
PTHREAD_STACK_TOP was wrong for all supported architectures.
1999-07-12 16:09:30 +00:00
Sheldon Hearn
a9b00e4d5f Fix commented out CFLAGS addition for LOGIN_CAP_AUTH, which was missing
a make -D option.

PR:	12591
Submitted by:	Craig Leres <leres@ee.lbl.gov>
1999-07-12 14:27:58 +00:00
Jason Evans
66da783384 Fix a couple more coding style nits. 1999-07-11 06:06:52 +00:00
Jason Evans
34582929f1 Modify previous changes to conform better to libc_r's coding style.
Always use mmap() for default-size stack allocation.  Use MAP_ANON instead
of MAP_STACK on the alpha architecture.

Reduce the amount of code executed while owning _gc_mutex during stack
allocation.
1999-07-11 05:56:37 +00:00
Wes Peters
b7edc98010 Fixed a minor style nit in the EXAMPLE section. 1999-07-10 19:18:42 +00:00
Poul-Henning Kamp
38edd9beb9 Clarify an explanation a little bit. 1999-07-09 21:35:37 +00:00
Dag-Erling Smørgrav
65b97b034e Back out previous commit after discussing it with Dmitrij Tejblum. 1999-07-07 21:01:20 +00:00
Dag-Erling Smørgrav
c58b5cffa1 Always set errno to ENOMEM when returning 0 from malloc() or realloc().
Approved by:	phk
1999-07-07 19:54:08 +00:00
David E. O'Brien
cb7a4779cb Make the new %Z addition thread-safe. 1999-07-06 05:05:39 +00:00
Jason Evans
876cc3dae0 Always use growable thread stacks on the i386. The VM_STACK kernel option
must be made default for the alpha before growable thread stacks are
enabled for the alpha.
1999-07-06 00:25:38 +00:00
Mike Smith
d84c9e2a65 Merge from -stable; support for the 'ida' driver, move fla to major 102 1999-07-05 09:43:29 +00:00
Jason Evans
439cce0e4b Disable growable stacks by default, as advertised. 1999-07-05 00:38:12 +00:00
Jason Evans
ecaa6e8c9e Use growable stacks for thread stacks that are the default stack size.
Cache discarded default thread stacks for use in subsequent thread creations.

Create a red zone at the end of each stack (including the initial thread
stack), with the hope of causing a segfault if a stack overflows.

To activate these modifications, add -D_PTHREAD_GSTACK to CFLAGS in
src/lib/libc_r/Makefile.  Since the modifications depend on the VM_STACK
kernel option, I'm not sure how to safely use growable stacks by default.

Testing, as well as algorithmic and stylistic comments are welcome.
1999-07-05 00:35:19 +00:00
David E. O'Brien
b47f20df89 Actually impliment the documented %Z specifier. 1999-07-04 08:54:26 +00:00
Mike Pritchard
4343edfe20 Nuke the BUGS sections of these man pages because they are not appropriate. 1999-07-01 21:13:06 +00:00
Mike Pritchard
ec8dae7070 Fix typos/spelling errors. 1999-07-01 21:09:57 +00:00
Mike Spengler
2c7d6d81ef Modify code to be -Wall'able.
PR: bin/11315
1999-07-01 20:48:59 +00:00
Wes Peters
96f31ff872 Add mising aio_* man pages. Fixed a minor typo in aio_read.2,
and "corrected" statement of Posix conformance.
1999-07-01 19:58:12 +00:00
Kris Kennaway
c47148499f Spelll 'asynchronous' coriectly 1999-07-01 13:31:30 +00:00
Sheldon Hearn
940b9c82a0 Fix the NAME section of the kldload.2 manpage, which made reference to
kldunload. Add proper cross-references to the whole family.

PR:	12472
Submitted by:	Chris Costello <chris@calldei.com>
1999-07-01 12:16:06 +00:00
Dmitrij Tejblum
db06cf96d5 Defer signals, so we will not wait for SIGCHLD after it was delivered. 1999-06-29 19:57:07 +00:00
Bill Fumerola
71ed709ce2 Clarify what happens if fd is set to -1
Submitted by:	Alfred Perlstein <bright@rush.net>
1999-06-29 16:32:22 +00:00
Pierre Beyssac
9d1163f7c3 Move call to umask(0) back into pw_util(), because the latter
function is also used by chpass(1) and passwd(1).
1999-06-29 01:04:10 +00:00
Mike Pritchard
f858a016d8 Document that mlock() and munlock() can return EPERM if the
caller is not the super-user.  Also document that we do not
currently support the per-process RLIMIT_MEMLOCK limit.

PR:		doc/11607
1999-06-27 00:28:55 +00:00
Hidetoshi Shimokawa
d71d50b89c Just return `curbrk' for sbrk(0) to avoid syscall overhead. 1999-06-26 15:22:33 +00:00
Pierre Beyssac
2ece3ed4c8 Force umask to 077 (instead of 000) during the edit phase, to get
secure permissions in case the user attempts to save something to
a file of his own.

Move umask stuff out of pw_init() into main() for better visibility
of overall umask tweaking logic.

PR:		misc/11797
1999-06-26 12:15:39 +00:00
Sheldon Hearn
af2d5f9b31 Add -d option to vipw(8) to allow selection of an alternative directory
for the password files.

PR:	2703
Submitted by:	jmg
1999-06-26 07:16:42 +00:00
Dmitrij Tejblum
2467b7977b Fix few warnings on the alpha. 1999-06-23 15:01:22 +00:00
Brian Somers
0622eafc89 Don't get caught in an infinite recursion when PKT_ALIAS_REVERSE
is set.
Document PKT_ALIAS_REVERSE.

Pointed out by:	Jonathan Hanna <jh@cr1003333-a.crdva1.bc.home.com>
PR:		12304
1999-06-22 11:20:03 +00:00
Joseph Koshy
c6b8c5fe4b Correct troff sequence for backslashes in manual page.
PR:		docs/12322
Submitted by:   Marc Ramirez <mrami@gbtb.com>
1999-06-21 09:37:38 +00:00
John Birrell
38329e8a07 Remove -DNOPOLL from the compilation flags now that there is a poll wrapper
in libc_r.

Bump the library version number (the scheduler now uses a poll syscall
instead of select).
1999-06-20 08:32:37 +00:00
John Birrell
02292f131a In the words of the author:
o The polling mechanism for I/O readiness was changed from
    select() to poll().  In additon, a wrapped version of poll()
    is now provided.

  o The wrapped select routine now converts each fd_set to a
    poll array so that the thread scheduler doesn't have to
    perform a bitwise search for selected fds each time file
    descriptors are polled for I/O readiness.

  o The thread scheduler was modified to use a new queue (_workq)
    for threads that need work.  Threads waiting for I/O readiness
    and spinblocks are added to the work queue in addition to the
    waiting queue.  This reduces the time spent forming/searching
    the array of file descriptors being polled.

  o The waiting queue (_waitingq) is now maintained in order of
    thread wakeup time.  This allows the thread scheduler to
    find the nearest wakeup time by looking at the first thread
    in the queue instead of searching the entire queue.

  o Removed file descriptor locking for select/poll routines.  An
    application should not rely on the threads library for providing
    this locking; if necessary, the application should use mutexes
    to protect selecting/polling of file descriptors.

  o Retrieve and use the kernel clock rate/resolution at startup
    instead of hardcoding the clock resolution to 10 msec (tested
    with kernel running at 1000 HZ).

  o All queues have been changed to use queue.h macros.  These
    include the queues of all threads, dead threads, and threads
    waiting for file descriptor locks.

  o Added reinitialization of the GC mutex and condition variable
    after a fork.  Also prevented reallocation of the ready queue
    after a fork.

  o Prevented the wrapped close routine from closing the thread
    kernel pipes.

  o Initialized file descriptor table for stdio entries at thread
    init.

  o Provided additional flags to indicate to what queues threads
    belong.

  o Moved TAILQ initialization for statically allocated mutex and
    condition variables to after the spinlock.

  o Added dispatching of signals to pthread_kill.  Removing the
    dispatching of signals from thread activation broke sigsuspend
    when pthread_kill was used to send a signal to a thread.

  o Temporarily set the state of a thread to PS_SUSPENDED when it
    is first created and placed in the list of threads so that it
    will not be accidentally scheduled before becoming a member
    of one of the scheduling queues.

  o Change the signal handler to queue signals to the thread kernel
    pipe if the scheduling queues are protected.  When scheduling
    queues are unprotected, signals are then dequeued and handled.

  o Ensured that all installed signal handlers block the scheduling
    signal and that the scheduling signal handler blocks all
    other signals.  This ensures that the signal handler is only
    interruptible for and by non-scheduling signals.  An atomic
    lock is used to decide which instance of the signal handler
    will handle pending signals.

  o Removed _lock_thread_list and _unlock_thread_list as they are
    no longer used to protect the thread list.

  o Added missing RCS IDs to modified files.

  o Added checks for appropriate queue membership and activity when
    adding, removing, and searching the scheduling queues.  These
    checks add very little overhead and are enabled when compiled
    with _PTHREADS_INVARIANTS defined.  Suggested and implemented
    by Tor Egge with some modification by me.

  o Close a race condition in uthread_close.  (Tor Egge)

  o Protect the scheduling queues while modifying them in
    pthread_cond_signal and _thread_fd_unlock.  (Tor Egge)

  o Ensure that when a thread gets a mutex, the mutex is on that
    threads list of owned mutexes.  (Tor Egge)

  o Set the kernel-in-scheduler flag in _thread_kern_sched_state
    and _thread_kern_sched_state_unlock to prevent a scheduling
    signal from calling the scheduler again.  (Tor Egge)

  o Don't use TAILQ_FOREACH macro while searching the waiting
    queue for threads in a sigwait state, because a change of
    state destroys the TAILQ link.  It is actually safe to do
    so, though, because once a sigwaiting thread is found, the
    loop ends and the function returns.  (Tor Egge)

  o When dispatching signals to threads, make the thread inherit
    the signal deferral flag of the currently running thread.
    (Tor Egge)

Submitted by: Daniel Eischen <eischen@vigrid.com> and
              Tor Egge <Tor.Egge@fast.no>
1999-06-20 08:28:48 +00:00
Ruslan Ermilov
ac88d62d8f Typo in previous commit. 1999-06-18 10:41:13 +00:00
Ruslan Ermilov
ca9807fc17 Mention that pid 1 is not affected by kill(-1, SIGXXX) too. 1999-06-18 10:24:12 +00:00
Kenneth D. Merry
7c903b3d7e Add a MAINTAINER line to modules that I maintain.
Suggested by:	brian, markm
1999-06-18 00:41:47 +00:00
Brian Feldman
bdf43556fe Minor English corrections were made; SEE ALSO was also fixed (no commas). 1999-06-17 23:43:35 +00:00
Mike Pritchard
3d416122d3 cam_get_device() was returning 0 on failure, and 1 on success, while
camcontrol(8) and the documentation in camlib.c and cam(3) all expect
-1 on failure and 0 on success.  Updated camlib.c to return the values
specified by the documentation.

PR:	12023
1999-06-15 20:03:01 +00:00
Mike Pritchard
49cb735198 Fix a minor style nit in the NAME section. 1999-06-11 16:26:29 +00:00
Mike Pritchard
fa91ff2797 Move the description of the strncmp() function from the RETURN VALUES
section to the DESCRIPTION section.

PR: 12133
Submitted by:	Sheldon Hearn <sheldonh@uunet.co.za>
1999-06-11 16:16:32 +00:00
Mark Murray
1bcd27ee72 Improvement in the description of what this does.
Prompted by (and thanks to): W Richard Stevens
1999-06-10 22:48:27 +00:00
Dmitrij Tejblum
141894af60 Ensure that host_addr (which is returned in struct hostent::h_addr_list[0])
is aligned so that pointer to it can be safely casted to struct in_addr *.
1999-06-07 16:30:27 +00:00
Steve Price
7fb94d9a7c Spell the .St macro correctly.
PR:		11704
1999-06-07 03:59:56 +00:00
Steve Price
e71d2b8ee3 Spell isinf(3) correctly.
PR:		11974
1999-06-07 02:42:31 +00:00
John Polstra
5ae2733874 Call do_ctors() and do_dtors() using indirect calls through function
pointers.  The calls are in different sections from the functions
being called, and they can potentially be far away.  On a very large
program, the 21-bit displacement field of the BSR instruction
overflowed at link time.
1999-06-06 15:59:08 +00:00
Justin M. Seger
20e36bb38b Update of intro(2)/errno(2) in the ongoing effort of the Programmer's
Documentation Project <http://home.wxs.nl/~asmodai/pdp.html>

Submitted by:	Jeroen Ruigrok van der Werven <asmodai@wxs.nl>
PR:		docs/12030
1999-06-06 14:15:14 +00:00
Peter Wemm
f05a568074 Change an internal variable from "class" to "ns_class" for C++'s benefit.
Apparently BIND-8.2.1 uses ns_class.

Submitted by: John Plevyak <jplevyak@inktomi.com>
1999-06-04 22:38:27 +00:00
Bill Paul
a180d48db0 Apply patch for PR #12008: remember to reset _yp_enabled flag in
endpwent() so we don't trip over a NULL db pointer later.

PR: 12008
Submitted by: Valentin Netchayev <netch@lucky.net>
1999-06-04 02:27:35 +00:00
Pierre Beyssac
8f823235a9 Typo.
PR:		docs/11832
Submitted by:	Ralf S. Engelschall <rse@engelschall.com>
1999-05-25 11:52:30 +00:00
Wes Peters
b7edcd43b5 Added Posix rand_r function. 1999-05-24 23:30:14 +00:00
John Birrell
994d9b67a5 Added a missing comma to the static condition variable initialisation
definition.

Submitted by: David Leonard <David.Leonard@csee.uq.edu.au>, an OpenBSD guy.
1999-05-24 07:22:55 +00:00
John Birrell
5095f1917a Remove the static declaration from the line[] variable to allow
openpty() to be called from a threaded application.
1999-05-24 01:15:28 +00:00
Brian Somers
6961f3da13 brucify
Mentioned by: sprice@hiwaay.net
1999-05-23 13:52:05 +00:00
John Birrell
eb9dc34d8b Fix a problem with static initialisation of mutexes and condition
variables.

Submitted by: Dan Eischen <eischen@vigrid.com>
1999-05-23 10:55:33 +00:00
Doug Rabson
a604540eab Cope with non page-aligned arguments to ioperm. 1999-05-22 17:35:04 +00:00
David E. O'Brien
4b139d33a7 I seem to be having some CVS problems... I don't know why this wasn't
commited with the Makefile fixes.  CVS/Entries clearly show it being added...
1999-05-22 16:21:47 +00:00
David E. O'Brien
52313da9a5 Add an a.out ld.so so these distributions are standalone. 1999-05-21 18:40:54 +00:00
David E. O'Brien
8633336bf1 Need a few more dependacies. 1999-05-21 18:37:33 +00:00
David E. O'Brien
c3ae3db8b7 Add usr/libexec/ld.so 1999-05-21 18:35:57 +00:00
Jean-Marc Zucconi
e1e705c5b5 Chflags was clearing all flags supplied on the command line after a
clearing flag like dump or noschg, etc.

PR:		bin/10071
Submitted by:	Andreas Klussmann <andreas@infosys.heitec.net>
1999-05-21 17:04:13 +00:00
Mike Spengler
ebf7b1ce80 Print SPANS addresses in the correct byte order.
PR: 11691
Submitted by: Jim Pirzyk <Jim.Pirzyk@disney.com>
1999-05-20 23:52:15 +00:00
Eivind Eklund
5164f52665 Make incoming packets work as keepalives, too. This should fix problems
for some games.

Notified of problem by:	tim@turbinegames.com
1999-05-20 20:20:24 +00:00
Bruce Evans
a425c38dfd Fixed disordering and duplication of MLINKS in previous commit to
libc/string/Makefile.inc.  psignal.3 doesn't live in libc/string.
1999-05-19 06:32:00 +00:00
Peter Wemm
78121e79aa Add a strsignal(3) (like strerror(3)) for libc compatability with other
systems. NetBSD, Linux, SVR4 etc all have it.
1999-05-18 04:48:58 +00:00
Archie Cobbs
f24c2153d5 Add a note that when a stream opened via fdopen() is closed via fclose(),
the underlying file descriptor is also closed. To me at least this wasn't
immediately obvious.
1999-05-17 23:47:27 +00:00
Poul-Henning Kamp
d8bd3ac418 $ brucify -deblunder 1999-05-16 10:51:52 +00:00
John Birrell
65d33b21e6 Ensure that an existing thread gets it's state set to PS_DEAD to
prevent being rescheduled.

Submitted by: Dan Eischen <eischen@vigrid.com>
1999-05-16 05:25:37 +00:00
Nate Williams
283f072c78 - Fixed bug where we NULL'd before we freed the data causing a memory leak.
Submitted by:	 Ralf S. Engelschall
Obtained from:	PR i386/11713
1999-05-14 21:36:16 +00:00
Alexander Langer
b2e3e4382d Removed extraneous comma in xrefs. 1999-05-14 21:03:23 +00:00
Alexander Langer
c2a44ea9e0 Added missing comma in xrefs. 1999-05-14 21:03:11 +00:00
Andrey A. Chernov
121ba32d78 fix potential memory overwrite in escape parsing
PR: 11687
Submitted by: Don Lewis <Don.Lewis@tsc.tdk.com>
1999-05-13 16:16:46 +00:00
Mike Smith
5ca13e05f7 Fix my own Pie Floater.
(Correctly handle 'wd' devices)
1999-05-12 23:50:50 +00:00
Peter Wemm
bf0e1ee370 Tidy up references to <sys/rlist.h> and support for the old swap management
that went away in January.
1999-05-11 14:32:18 +00:00
Kris Kennaway
ee3afcaf3b More typos. 1999-05-09 13:46:31 +00:00
Kris Kennaway
80bdfd1362 Typo.
Obtained from:	OpenBSD
1999-05-09 13:41:19 +00:00
Doug Rabson
c914395258 Back out the last change to disk.c - a kernel change removed the need.
Enabled writing to the disklabel when writing a disk (only affects alpha).
1999-05-09 11:34:58 +00:00
John Birrell
608fa2c9e7 Mutex test program.
Submitted by: Daniel Eischen <eischen@vigrid.com>
1999-05-09 07:55:24 +00:00
John Birrell
33859c8093 Add mutex test program. 1999-05-09 07:50:31 +00:00
Doug Rabson
756b11d957 Make libdisk see the existing partitiions on the alpha. 1999-05-08 21:21:50 +00:00
David E. O'Brien
d96a7ccf05 Hookup compat22/a.out libs. 1999-05-08 18:50:53 +00:00
David E. O'Brien
2c9f087615 Compatability libraries for 2.2.x binaries.
Note that these are thus our a.out compatability libraries.
1999-05-08 17:54:02 +00:00
Jason Evans
c578efe575 Back out patch for cond_timedwait() bug from -current, since other changes
have made the patch obsolete, as pointed out by Daniel Eischen
<eischen@vigrid.com>.

PR:		bin/8872
1999-05-08 07:50:05 +00:00
John Polstra
d65b34db7d Revive the pam_deny and pam_permit modules from Linux-PAM. They are
simple enough to be trusted.

Add account management functionality to the pam_unix module.

These changes should make it possible to use PAM in some ports.

Submitted by:	Max Khon <fjoe@iclub.nsu.ru>
1999-05-08 01:59:27 +00:00
Foxfair Hu
85484fbd41 PR: 10918
Submitted by:	Yung-Jen Hung <winard@u3717a.dorm.ccu.edu.tw>
Reviewed by:	bearscorp.bbs@bbs.life.nthu.edu.tw
_BIG5_sgetrune() in libc doesn't work well, this commit will fix it.
1999-05-07 13:24:58 +00:00
Jason Evans
a1aefaec27 Apply patch included in bin/8872. This fixes a bug that occurs when
pthread_cond_timedwait() times out.

PR:		bin/8872
Submitted by:	Jason Evans <jasone@canonware.com>
Reviewed by:	David Schwartz <davids@webmaster.com>
1999-05-07 07:59:44 +00:00
Joseph Koshy
ad2713b522 Correct prototype for tigetstr().
PR:		docs/11489
Submitted by:	Andrew <andrew@ugh.net.au>
1999-05-05 02:51:45 +00:00
Mike Smith
003afcdfdb Clean up after another half-Danish.
Add 'ad' as another known disk driver of the same kind as 'wd'.
1999-05-04 22:44:48 +00:00
Guy Helmer
a2b79fbea1 writev(2) can return EDESTADDRREQ when attempting to write to a
UNIX domain socket on which connect(2) had been used to set a destination
address and the destination goes away.

PR:		docs/10451
1999-05-04 20:07:44 +00:00
Guy Helmer
badc7a22e9 Show "#include <machine/param.h>" in SYNOPSIS to get declaration of
PAGE_SIZE for sys/shm.h.

PR:		docs/8464
1999-05-04 17:59:29 +00:00
Guy Helmer
ce423e99c5 Note the effect of close(2) on fcntl(2) record locks.
PR:		docs/3522
1999-05-04 17:45:12 +00:00
Brian Somers
f1dfc9571e Add missing ``.''. 1999-05-04 10:56:13 +00:00
Doug Rabson
d4af94988c Declare the return address for __divX, __remX so that gdb can step over
calls properly.
1999-05-02 12:05:09 +00:00
Tim Vanderhoek
61f74535f6 Change references from "passwordperiod" to "passwordtime", since
"passwordtime" is what passwd(1) has actually been using.  I suspect
passwordperiod was the original intent.  I can't figure-out which,
if either, BSDi uses.  If anyone knows...
1999-04-30 18:19:46 +00:00
Guy Helmer
1e1d43cd38 Document ishexnumber, isideogram, isnumber, isphonogram, isrune,
and isspecial.

PR:		docs/9854
1999-04-29 21:54:20 +00:00
Guy Helmer
275d1ee30b The accept(2) call can fail with EINTR (at least in the threaded context).
PR:		docs/8858
1999-04-29 20:32:54 +00:00
Poul-Henning Kamp
75c1354190 This Implements the mumbled about "Jail" feature.
This is a seriously beefed up chroot kind of thing.  The process
is jailed along the same lines as a chroot does it, but with
additional tough restrictions imposed on what the superuser can do.

For all I know, it is safe to hand over the root bit inside a
prison to the customer living in that prison, this is what
it was developed for in fact:  "real virtual servers".

Each prison has an ip number associated with it, which all IP
communications will be coerced to use and each prison has its own
hostname.

Needless to say, you need more RAM this way, but the advantage is
that each customer can run their own particular version of apache
and not stomp on the toes of their neighbors.

It generally does what one would expect, but setting up a jail
still takes a little knowledge.

A few notes:

   I have no scripts for setting up a jail, don't ask me for them.

   The IP number should be an alias on one of the interfaces.

   mount a /proc in each jail, it will make ps more useable.

   /proc/<pid>/status tells the hostname of the prison for
   jailed processes.

   Quotas are only sensible if you have a mountpoint per prison.

   There are no privisions for stopping resource-hogging.

   Some "#ifdef INET" and similar may be missing (send patches!)

If somebody wants to take it from here and develop it into
more of a "virtual machine" they should be most welcome!

Tools, comments, patches & documentation most welcome.

Have fun...

Sponsored by:   http://www.rndassociates.com/
Run for almost a year by:       http://www.servetheweb.com/
1999-04-28 11:38:52 +00:00
Joerg Wunsch
a44388523d Mention that you can only create a block or char special file using
mknod(2).
1999-04-28 10:04:48 +00:00
Tim Vanderhoek
e21de373a2 Mention that set-id bits are not honoured for shell scripts and
filesystems with the "nosuid" option.  Mention that syscall tracing
is disabled sometimes.

PR:		misc/11328
1999-04-27 03:56:10 +00:00
Warner Losh
dcb0ae4ed8 More egcs warning fixes:
o use braces to avoid potentially ambiguous else
	o don't default to type int (and also remove a useless register
	  modifier).
	o Use parens around assignment values used as truth values.
	o Remove unused function.

Reviewed by: obrien and chuckr
1999-04-25 22:29:30 +00:00
Wes Peters
aba0410b29 Re-fixed to start at 1969 per the actual Posix requirement. Also
fixed a typo on the man page.
1999-04-25 07:28:39 +00:00
Wes Peters
a00b1d8f7a Bring two-digit years up-to-date with POSIX requirements.
70-00 are intepreted in the 20th century; 01-69 in the
21st century.  (Yes, 2000 is the last year of the 20th
century, not the first year of the 21st.)

Submitted by:	Sergey Babkin <babkin@bellatlantic.net>
1999-04-25 01:42:18 +00:00
Poul-Henning Kamp
00c7dcf63e Add missing strings.
PR:		11285
Submitted by:	Chris Costello <chris@calldei.com>
Reviewed by:	phk
1999-04-24 18:28:24 +00:00
Andrey A. Chernov
8a2deaa1de oops, add pwd!=NULL check to previous fix 1999-04-24 17:17:42 +00:00
Andrey A. Chernov
ae70257435 Switch to user UID/GID before checking/reading its ~/.login_conf
- some NFSes have root read access disabled
1999-04-24 17:01:58 +00:00
Andrey A. Chernov
ab39fdb694 add MLINKS for two functions used from login_auth.c
comment out unused functions from login_auth.3
1999-04-24 16:30:30 +00:00
John Polstra
4e54ad63db Remove some left-over stuff from NetBSD that we don't need. This
eliminates the need to include the dynamic linker's private header
file, as well as two other headers from <sys>.
1999-04-24 02:07:17 +00:00
David E. O'Brien
9a15e81395 Add libf2c.so.2 for our FORTRAN friends. 1999-04-22 19:10:48 +00:00
John Polstra
d7e19a1d6a Don't build with -g. The a.out egcs can't handle it at the moment.
This seems to have snuck back into the Makefile in an unrelated
commit (rev. 1.8).
1999-04-22 15:47:21 +00:00
Warner Losh
6d34f07c9d Fix all the mipseb Makefiles. They were broken when I checked them in
before.

Added SYS.h for mipseb and mipsel.

I now get part way through building libc in the cross environment that
I have (along with pending mipse[bl] changes to the intree egcs) with
these changes.
1999-04-22 07:16:11 +00:00
John Polstra
6d30b16752 Back out my change from 6 April PDT that added a new dlversion()
function.  It was an ill-considered feature.  It didn't solve the
problem I wanted it to solve.   And it added Yet Another Version
Number that would have to be maintained at every release point.
I'm nuking it now before anybody grows too fond of it.
1999-04-22 01:54:38 +00:00
Luoqi Chen
46d28b4462 Work around an egcs optimizer bug (i386). This should fix the active ftp
hang problem. A bug report has been sent to cygnus.
1999-04-21 21:28:01 +00:00
David E. O'Brien
f6e41545ea Remove the old libf2c. libg2c is now serving us well. 1999-04-21 16:43:03 +00:00
Guy Helmer
ec407dbb0d Revise for KLD's.
Prompted-By:	Nathan Ahlstrom <nrahlstr@winternet.com>
1999-04-20 20:36:36 +00:00
David E. O'Brien
4da1577ed0 Add the compat3x series of uuencoded, gziped balls of fun. 1999-04-20 11:34:20 +00:00
David E. O'Brien
0e37570243 Welcome to the compat3x series. 1999-04-20 11:32:10 +00:00
Peter Wemm
f4e6d58dca vfsload maps into kldload only now, no more fork/exec of modload(8). 1999-04-19 14:28:45 +00:00
David E. O'Brien
94d3e4cb5c Turn off libf2c. Superseeded by EGCS's libg2c. 1999-04-18 09:50:58 +00:00
David E. O'Brien
09ee9e267c Remove references to libg++ and libf2c that aren't needed post-EGCS. 1999-04-14 23:59:09 +00:00
Dmitrij Tejblum
88874fcfe6 Document pread() and pwrite().
Obtained from:	NetBSD (mostly)
1999-04-11 21:14:40 +00:00
Nik Clayton
3ef0a1c27c Contains the para
Unlike other filesystem objects, symbolic links do not have an owner,
  group, access mode, times, etc.  Instead, these attributes are taken from
  the directory that contains the link.  The only attributes returned from
  an lstat() that refer to the symbolic link itself are the file type
  (S_IFLNK), size, blocks, and link count (always 1).

This is bogus, and disagrees with the implementation and symlink(7).

Removed it.

PR:		docs/10269
Submitted by:	Tolik <tolik@sibptus.tomsk.ru>
1999-04-10 20:49:27 +00:00
Bruce Evans
34597fa67f Oops, the previous log message should have been:
Include <machine/ansi.h> so that this file is self-sufficient again.
Rev.1.6 doesn't do this as claimed unless <nlist.h> has nonstandard
pollution.

Cleaned up includes.
1999-04-10 03:49:43 +00:00
Warner Losh
26ba999e7e Various language and style concerns fixed.
Noted by: bde
1999-04-09 18:26:46 +00:00
Bruce Evans
95a7753b24 Declare mkstemps(). 1999-04-09 15:06:56 +00:00
Bruce Evans
1dc547e7a9 Fixed missing include in synopsis.
Fixed some mdoc usage errors.
1999-04-09 14:31:59 +00:00
John Polstra
1306c069d2 Ugh. I didn't know this Makefile was reaching over into the dynamic
linker sources for some of its header files.  Add a -I flag to pick
up a new directory over there.
1999-04-09 05:56:23 +00:00
Brian Somers
d746fb6643 If given host.domain:nn[.nn], trimdomain() now reduces it to
host:nn[.nn] (if the domain is the same as the local one).
1999-04-09 01:54:10 +00:00
Brian Somers
c1df83d996 bcopy -> memmove
Suggested by: archie
1999-04-08 08:00:06 +00:00
Brian Somers
0c059599f6 Tidy up trimdomain() and document it.
Don't truncate one byte short of the passed length.
1999-04-07 14:03:31 +00:00
John Hay
c7b579a379 Add aout to the links also.
Reviewed by:	peter
1999-04-07 10:57:26 +00:00
Brian Somers
5b3f0a74e1 Handle hostnames up to MAXHOSTNAMELEN-1 in length.
Use bcopy() instead of strcpy() to handle potentially
overlapping regions.
Un-obscure/complicate some code.
1999-04-07 08:27:04 +00:00
Brian Somers
bc19c8517d Put parenthesis around sizeof args.
Allow for host names up to MAXHOSTNAMELEN - 1 in length.

Prompted by: bde
1999-04-07 08:26:50 +00:00
John Polstra
a35ed6d00d Add manpage link for dlversion(3). 1999-04-07 02:59:47 +00:00
John Polstra
14f5fa0596 Add a new function dlversion() which returns the version number of
the dynamic linker in the same form as __FreeBSD_version.  This is
mainly intended for checking the dynamic linker version during a make
world.
1999-04-07 02:43:11 +00:00
Brian Somers
595f220e04 Add realhostname() - a function to correctly lookup
a name by address and ensure that the name resolves
back to the original address.
1999-04-06 23:02:35 +00:00
John Polstra
ce9f8663f9 Fix bug that prevented accounts with empty passwords from logging
in.

Submitted by:	Paul Traina <pst@juniper.net>
1999-04-06 19:48:53 +00:00
Peter Wemm
28976ae4f1 Install these compat libs to /usr/lib/compat/aout. I think this will work
with the release builds.
1999-04-06 12:51:43 +00:00
Bruce Evans
940b0c98ca Fixed disordering in previous 2 commits. Fixed an English error. 1999-04-05 07:38:07 +00:00
Dmitrij Tejblum
1b30ac5124 Add wrappers for pread and pwrite syscalls. 1999-04-04 21:46:24 +00:00
Warner Losh
2ee878400e Add mkstemps to the man page, and create a link for it.
Obtained from: OpenBSD
Poked in the eye about committing new functions without a manpage: obrien
1999-04-04 21:15:37 +00:00
Warner Losh
06b6a8ab98 Add mkstemps from OpenBSD. This has been in my tree for months and
hasn't caused any problems until the egcs import.  This fix breaks the
world build, but my very next commit will remove mkstemps from the
egcs build.
1999-04-04 20:28:04 +00:00
Doug Rabson
67022433f8 Manpages for the KLD system calls.
PR:		docs/10412
Submitted by:	Chris Costello <chris@calldei.com>
1999-04-04 12:29:31 +00:00
John Polstra
07963c8cbf Fix a macro name typo that made a word disappear. 1999-04-03 22:47:25 +00:00
Andrey A. Chernov
b53aaddfad Add data storage for two application-provided variables.
GNU configure goes very mad when sensing anything with -lwrap
since those two vars are missing
1999-04-03 03:29:14 +00:00
Nick Sayer
96d29cd5c2 Cause PORT commands to use the high IP port range. This makes fetch
(and its friends) more firewall friendly.

PR:		10580
Submitted by:	nsayer
1999-03-30 22:06:08 +00:00
Poul-Henning Kamp
5b26e84968 Disable the "Hint" option in phkmalloc as default. Recent VM system
changes have made this too expensive.  This gains about 1.25% on
worldstone on my SMP machine.

Swap-less machines, for instance PicoBSDs, and machines which experience
page-out trafic, check with top(1), will probably want to reenable this
with:
	ln -s H /etc/malloc.conf

Suggested by: alc (&dyson ?)
1999-03-28 14:16:05 +00:00
Dag-Erling Smørgrav
9b030d1073 Partial fix for the forking problem: if we can't access the master maps,
try again with the unrestricted map.

PR:		bin/10821
1999-03-27 21:51:33 +00:00
Doug Rabson
a02290da19 Rename when building libc_r. 1999-03-25 18:43:17 +00:00
Brian Somers
42889ed1d5 PacketAliasProxyRule takes a const char *
Reminded by: bde
1999-03-25 06:48:05 +00:00
Brian Somers
942759e756 Add a ``const'' and remove some inconsistent prototype args. 1999-03-24 20:28:58 +00:00
Peter Wemm
5fe5a4dd73 Fix a (relatively harmless) braino. I confused myself over the for() loop
that counted the number of elements in argv.  The counter is incremented
in the next-iteration section of the loop, not the body, so at termination
it's already "counted" the element that failed the continuation test - in
this case the NULL argv terminator.

Noted by:  bde
1999-03-24 02:43:05 +00:00
Bill Fumerola
26bb956563 Remove duplicate line.
Reviewed by:	eivind
1999-03-23 23:01:15 +00:00
Peter Wemm
ce04fea445 Remove last remaining references to malloc/realloc and functions that
call them.  All the execX() libc functions should be vfork() safe now.
Specifically:
- execlp() does the argument count-and-build into a vector from alloca
    (like the others) - buildargv() is no longer used (and gone).
- execvp() uses alloca/strcpy rather than strdup().
- the ENOEXEC handler uses alloca rather than malloc.
- a couple of free() calls removed - alloca works on the local stack and
    the allocations are freed on function exit (which is why buildargv
    wasn't useful - it's alloca() context would disappear on return).
Along the way:
- If alloca() fails (can it?), set errno = ENOMEM explicitly.
- The ENOEXEC recovery routine that trys again with /bin/sh appeared to
    not be terminating the new argv[] array for /bin/sh, allowing it to
    walk off the end of the list.

I dithered a bit about using alloca() even more as it's most commonly
associated with gcc.  However, standalone portable (using malloc) and
machine-specific assembler alloca implementations appear to be available
on just about all the architectures we're likely to want to port to.
alloca will be the least of our problems if ever going to another compiler.
1999-03-23 16:40:34 +00:00
Poul-Henning Kamp
cc7532aaf0 Add a sysctl variable which can help stop chroot(2) escapes.
kern.chroot_allow_open_directories = 0
	chroot(2) fails if there are open directories.

kern.chroot_allow_open_directories = 1 (default)
	chroot(2) fails if there are open directories and the process
	is subject of a previous chroot(2).

kern.chroot_allow_open_directories = anything else
	filedescriptors are not checked.  (old behaviour).

I'm very interested in reports about software which breaks when
running with the default setting.
1999-03-23 14:26:40 +00:00
John Birrell
58a7cc5d1b [ The author's description... ]
o Runnable threads are now maintained in priority queues.  The
    implementation requires two things:

      1.) The priority queues must be protected during insertion
          and removal of threads.  Since the kernel scheduler
          must modify the priority queues, a spinlock for
          protection cannot be used.   The functions
          _thread_kern_sched_defer() and _thread_kern_sched_undefer()
          were added to {un}defer kernel scheduler activation.

      2.) A thread (active) priority change can be performed only
          when the thread is removed from the priority queue.  The
          implementation uses a threads active priority when
          inserting it into the queue.

    A by-product is that thread switches are much faster.  A
    separate queue is used for waiting and/or blocked threads,
    and it is searched at most 2 times in the kernel scheduler
    when there are active threads.  It should be possible to
    reduce this to once by combining polling of threads waiting
    on I/O with the loop that looks for timed out threads and
    the minimum timeout value.

  o Functions to defer kernel scheduler activation were added.  These
    are _thread_kern_sched_defer() and _thread_kern_sched_undefer()
    and may be called recursively.  These routines do not block the
    scheduling signal, but latch its occurrence.  The signal handler
    will not call the kernel scheduler when the running thread has
    deferred scheduling, but it will be called when running thread
    undefers scheduling.

  o Added support for _POSIX_THREAD_PRIORITY_SCHEDULING.  All the
    POSIX routines required by this should now be implemented.
    One note, SCHED_OTHER, SCHED_FIFO, and SCHED_RR are required
    to be defined by including pthread.h.  These defines are currently
    in sched.h.  I modified pthread.h to include sched.h but don't
    know if this is the proper thing to do.

  o Added support for priority protection and inheritence mutexes.
    This allows definition of _POSIX_THREAD_PRIO_PROTECT and
    _POSIX_THREAD_PRIO_INHERIT.

  o Added additional error checks required by POSIX for mutexes and
    condition variables.

  o Provided a wrapper for sigpending which is marked as a hidden
    syscall.

  o Added a non-portable function as a debugging aid to allow an
    application to monitor thread context switches.  An application
    can install a routine that gets called everytime a thread
    (explicitly created by the application) gets context switched.
    The routine gets passed the pthread IDs of the threads that are
    being switched in and out.

Submitted by: Dan Eischen <eischen@vigrid.com>

Changes by me:

  o Added a PS_SPINBLOCK state to deal with the priority inversion
    problem most often (I think) seen by threads calling malloc/free/realloc.

  o Dispatch signals to the running thread directly rather than at a
    context switch to avoid the situation where the switch never occurs.
1999-03-23 05:07:56 +00:00
Joseph Koshy
f5a7833449 Typo fix.
PR:		docs/10733
Submitted by:	Steve Coltrin <spcoltri@io.com>
1999-03-23 05:01:11 +00:00
Bruce Evans
3c697e0a62 Simplified using new SYMLINKS macro, mainly to test this macro. The
ifdefs are too ugly for this to be much of a simplification.  The
existence tests are even uglier now.  Note that the previous commit
was not submitted by me.  It missed the point and just added a second
layer of unused removals.

Fixed hard-coded "libcrypt"s.  The LCRYPTBASE macro mainly makes
things hard to read, but use it while we have it.
1999-03-23 03:41:09 +00:00
Alexander Langer
da69a97ff0 Typo fix (set --> get).
Obtained from:	OpenBSD (David Leonard)
1999-03-22 23:13:37 +00:00
Poul-Henning Kamp
057cfd176a Address our users in a civilized manner. (They may know better, but probably
just forgot it, it is certainly no reason to don't insult them.)
1999-03-22 10:38:07 +00:00
Warner Losh
43b4fd733d Don't be so selective about which errors cause us to continue and
which ones cause us to fail.  Now all open errors on the databse file
will cause the next file in the list to be tried.

Submitted by: Arne Henrik Juul <arnej@math.ntnu.no>
PR: 4585
1999-03-21 03:45:58 +00:00
John Polstra
c30965b3bd Add "-fkeep-inline-functions" to CFLAGS so that higher optimization
levels (-O3 and above) won't remove essential code.  Many thanks
to Dmitrij Tejblum <dima@tejblum.dnttm.rssi.ru> for pointing out
that it was the optimizer's removal of this code that caused make
world with -O3 to break.  With this change, make buildworld now
completes.
1999-03-15 21:56:54 +00:00
Alexander Langer
ee28fadec0 EACESS -> EACCES 1999-03-15 00:14:57 +00:00
Mark Murray
f3fc2030ea Build libwrap - the core to tcp_wrappers. 1999-03-14 17:56:11 +00:00
John Polstra
0738f6e0c3 Reverse the order of processing object files within an executable or
shared library when invoking global constructors and destructors.
For constructors, the object files used to be processed from first
to last; now they're done from last to first.  (Destructors are done
in the opposite order, as required by the C++ standard.)  This makes
us consistent with standard gcc and egcs compilers.  It also
eliminates ordering differences between dynamic and static
executables.

Bump the value of __FreeBSD_version to 400002 to reflect this
change.
1999-03-13 01:35:44 +00:00
John Polstra
bb2b869188 Move the code for the ".init" and ".fini" sections outside of a
C function so the compiler won't try to emit line numbers for it
with "-g", breaking the build.  This has the nice side-effect of
making crtbegin.o and crtbeginS.o a little bit smaller.

Remove "-Wno-unused" from the Makefile.  Replace it with "__unused"
on particular function and variable declarations.
1999-03-12 17:33:28 +00:00
Andrew Gallatin
cad59f82df make libkvm capable of dealing with a crashdump on alphas
Reviewed by: Doug Rabson <dfr@nlsystems.com>
1999-03-12 14:47:33 +00:00
Doug Rabson
93263596ac Add support for long long modifier (e.g. %llx, %lld).
Reviewed by: bde
1999-03-11 22:44:02 +00:00
Brian Somers
3c42a9c08a Get the pid right if a stale lock file exists.
PR:	10531
Submitted by: Lawrence D. Lopez <lopez@cisco.com>
1999-03-11 09:09:20 +00:00
Ollivier Robert
1e06f30845 PID_MAX is now 99999.
PR:		docs/10530
Submitted by:	Ben Smithurst <ben@scientia.demon.co.uk>
1999-03-10 20:55:23 +00:00
Brian Somers
4c32f5d217 Remove all diagnostics to stdout/stderr with #ifdef DEBUG
Statify functions in alias_nbt.c
1999-03-09 23:44:00 +00:00
Guy Helmer
6e6019dc13 Explain ENXIO error status with respect to fifos.
PR:		docs/8559
1999-03-07 18:45:35 +00:00
Brian Somers
164928d385 Document PacketAliasPptp() and allow it to be disabled
by passing INADDR_NONE.
1999-03-07 18:13:23 +00:00
Brian Somers
b862eda467 Remove unused function stubs. 1999-03-07 15:36:58 +00:00
Brian Somers
ac8e3334de Mention that PacketAliasProxyRule() doesn't accept host names,
just IP numbers.
1999-03-07 15:02:22 +00:00
Brian Somers
619d1a30a1 Document PacketAliasProxyRule() and fix a typo. 1999-03-06 21:58:43 +00:00
Bruce Evans
e7720fa877 Fixed prototype for fetchParseURL(). 1999-03-05 18:45:32 +00:00
Bruce Evans
dcb964fa34 Fixed bitrot in synopsis (some const poisoning hadn't reached here). 1999-03-05 18:43:00 +00:00
Bruce Evans
114d756447 Don't use u_long in the synopsis, since u_long is not part of the kvm
interface.
1999-03-05 17:32:53 +00:00
Bruce Evans
aedadd1cb9 Fixed missing header in synopsis (<devstat.h> unfortunately depends on
<sys/dkstat.h>).
1999-03-05 17:14:05 +00:00
Bruce Evans
7970c1137e Fixed missing header in synopsis (<camlib.h> includes half the universe
but not <stdio.h>).
1999-03-05 17:11:37 +00:00
Bruce Evans
19ee2ea58c Fixed bitrot in synopsis (some const poisoning had not reached here). 1999-03-05 17:08:23 +00:00
Bruce Evans
4eb316f782 Fixed bitrot in synopsis (some const poisoning hadn't reached here). 1999-03-05 15:50:07 +00:00
Bruce Evans
6da7e7c6fb Don't bogotify the synopsis by attempting to describe err_set_file() there.
Fixed some disorder.
1999-03-05 15:36:23 +00:00
Alexander Langer
1f34b7f3f8 Fixed references to unmount(2) specified as umount.
Submitted by:	Markus Friedl <markus.friedl@informatik.uni-erlangen.de>
		via OpenBSD
1999-03-05 15:16:31 +00:00
Bruce Evans
dcf01d60ba Fixed disordering and incoinsistent style in previous commit. 1999-03-05 13:01:22 +00:00
Bruce Evans
b300c1d8f9 The pseudocode in the synopsis didn't come close to actually
compiling, since <stdio.h> correctly doesn't declare off_t although
the pseudo-prototypes for the new fseeko() and ftello() functions
use it.  Handle this like the corresponding problem for va_list
versus the vprintf() family.

Fixed some English errors.
1999-03-05 12:56:37 +00:00
Bruce Evans
12d9948ac8 Don't use undocumented markup "{}". Use 32767 instead of LINK_MAX to
give bug for bug compatibility with intro.2.
1999-03-05 10:39:50 +00:00
Bruce Evans
07799a2af1 Backed out most of rev.1.4. I didn't submit it; I only submitted a
request for it something like it.  It was poorly worded and too
far from both POSIX wording and normal (mal)practice by referring to
sysconf(_SC_NGROUPS_MAX) instead of {NGROUPS_MAX} or NGROUPS.  POSIX.1
uses curly braces to mark up "symbolic constants or limits [that may
be] defined in certain headers".  Since we don't document this markup,
don't use it.  Just use NGROUPS_MAX.
1999-03-05 10:29:34 +00:00
Poul-Henning Kamp
c40956e25d Use sysctlbyname() instead of sysctl(). 1999-03-05 10:01:24 +00:00
Bruce Evans
5d57729b8a Forgot to add $Id$ and change date in previous commit. 1999-03-05 09:44:59 +00:00
Bruce Evans
abd022381d Changed the type of quotactl()'s 4th arg from char *' to void *'
so that non-sloppy applications can call it without using disgusting
casts to avoid warnings.  The 4th arg is sort of varargs -- it must
sometimes represent a filename, sometimes a struct pointer, and is
sometimes unused.  The arg type is still caddr_t in the kernel.

Obtained from:	mostly from NetBSD
1999-03-05 09:28:33 +00:00
Warner Losh
4afab83f7d These were missing from the previous commit. 1999-03-03 07:08:03 +00:00
Warner Losh
d7ee48f115 Bring in initial libc support for mips. These files were taken from
the OpenBSD tree and should be considered preliminary.  They are here
to facilitate building of the tree.
1999-03-03 07:06:17 +00:00
Andrey A. Chernov
5365c4e788 add more MLINKS 1999-03-02 22:53:24 +00:00
Guy Helmer
6e062fe1b7 Correct synopsys: getsubopt is declared in unistd.h, not stdlib.h.
PR:		docs/9376
1999-03-02 02:35:57 +00:00
Guy Helmer
42b47d96f0 Mention that getservbyport requires its port parameter to be in
network byte order.

PR:		docs/9376
1999-03-02 02:34:23 +00:00
Garrett Wollman
303dec3b53 Don't even attempt to build the assembly-language versions of RIPEMD160
and SHA-1 when OBJFORMAT is not ELF.  Add a warning to the man page
about how SHA-1 uses bswapl, which will trap on 80386es (and the kernel
should, but doesn't currently, emulate).
1999-03-01 02:39:45 +00:00
Chuck Robey
719f9de58d fix for incorrect specification of alignment (it worked for the elf
build, but broke while doing the aout legacy build).  Now using
.p2align instead of .align.  Fixes broken buildworld.

Submitted by:	John Polstra
Reviewed by:	John Polstra
1999-02-28 18:55:39 +00:00
Matt Jacob
a5f6fb0686 No, this isn't what I submitted. Seems like the patch I sent
was ignored and an incorrect hand edit was used instead.
1999-02-27 02:45:31 +00:00
Brian Somers
7d96f4efd2 Version 3.0: January 1, 1999
- Transparent proxying support added.
    - PPTP redirecting support added based on patches
      contributed by Dru Nelson <dnelson@redwoodsoft.com>.

Submitted by: Charles Mott <cmott@srv.net>
1999-02-27 02:16:01 +00:00
Guy Helmer
2704b2cb2b Corrected use of backslash escaping in sample code.
PR:		docs/10284
Submitted by:	Alfred Perlstein <bright@cygnus.rush.net>
1999-02-27 00:54:40 +00:00
Garrett Wollman
617f28f744 Fixes for Alpha.
Submitted by:	mjacob
1999-02-26 20:06:46 +00:00
Garrett Wollman
7c0b1b7add Don't build the assembly for shared linkage, PIC isn't implemented. 1999-02-26 18:43:01 +00:00
Garrett Wollman
d00ed29992 Add Eric Young's RIPEMD160 implementation as well, in case SHA-1
should prove weak.  Also fix a few problems with the SHA-1 build.
1999-02-26 18:41:47 +00:00
Garrett Wollman
c177a86b92 Fix bug in MDx test suite.
Add Eric Young's SHA-[01] implementations.
1999-02-26 04:25:01 +00:00
Tim Vanderhoek
654b249ced Decapitalize function name by prepending with word "The".
PR:		docs/10247
1999-02-26 01:28:06 +00:00
Bruce Evans
ea28904cd5 Fixed tab lossage in previous commit. 1999-02-25 11:27:52 +00:00
Andrey A. Chernov
7a129df7d0 remove ctype.c - unused and confusing 1999-02-23 15:13:51 +00:00
Joseph Koshy
f28529d798 Add a note about ELF executables requiring to be linked with -export-dynamic
for dlsym() searches inside the executable to work.
1999-02-17 02:41:04 +00:00
Bruce Evans
2c404454ac EOPNOTSUPP also applies to fchflags(). 1999-02-15 13:16:02 +00:00
Dmitrij Tejblum
bd54ec1edf From rev. 1.12 of usr.sbin/pstat/pstat.c by phk:
Reflect the fact that we do not swap on the first <dmmax> blocks of a
swapdev, to protect disklabels and other such magic stuff.
1999-02-14 21:42:05 +00:00
Dag-Erling Smørgrav
9429c06824 Mention that chflags can fail with EOPNOTSUPP. 1999-02-14 13:58:18 +00:00
Andrey A. Chernov
7345cf9025 remove BUGS section, now behaviour is predictable enough 1999-02-13 09:57:58 +00:00
Andrey A. Chernov
9cee5c5b5c more words about return value 1999-02-13 00:04:54 +00:00
Andrey A. Chernov
e7f6db3ccb re-phrase things a bit 1999-02-12 23:52:29 +00:00
Andrey A. Chernov
f0e6ee9f05 fix wrong return result
fix n=0 case
improve manpage
1999-02-12 23:40:41 +00:00
Andrey A. Chernov
be92e0e6cd fix tabs lost apparently in copy&paste 1999-02-12 19:45:53 +00:00
Daniel C. Sobral
8871c529f8 Remove float-point dependency from i386's version of setjmp()/longjmp(). 1999-02-12 17:22:30 +00:00
Daniel C. Sobral
64b0ea0c05 Copy _setjmp.S from libc in preparation for loader-specific version. 1999-02-12 17:20:19 +00:00
Alexander Langer
43d1df332e Removed occurrences of consecutive repeated words (such as "the the"). 1999-02-12 02:12:08 +00:00
Garrett Wollman
48ee93d6f3 Add a note about the insecurity of MD4 and potential vulnerability of
MD5 to similar attacks.
1999-02-11 20:31:49 +00:00
Dmitrij Tejblum
7307d07db6 Added functions fseeko() and ftello() (from susv2).
Fixed fgetpos() and fsetpos() for offsets > 2GB.

PR:		8637
Submitted by:	 Dan Nelson <dnelson@emsphone.com> (adjusted by me a little)
1999-02-08 21:32:38 +00:00
Matthew Dillon
f3401d0c26 Handle case where no swap is configured 1999-02-06 06:31:57 +00:00
Brian Somers
48caee2acd Allow an alternate to rad_send_request() for programs that
don't wish to wait for the RADIUS server to respond.
Reviewed by: jdp
1999-02-05 11:23:44 +00:00
Joerg Wunsch
c3ad4b4583 Update to the most recent version. Among other things, this also solves
the function naming problem for complex double function i've recently
aksed for in -committers.  (The recently committed rev 1.5 of proc.c
was actually also part of this update.)

Should the mailing lists come to an agreement that f2c better belongs
into the ports, this could be done nevertheless.  For the time being,
we've at least got a current version now.

Thanks, Steve!

Submitted by:	Steve Kargl <sgk@troutmask.apl.washington.edu>
1999-02-03 17:23:49 +00:00
Jordan K. Hubbard
ff834009ea Oops. Missed this in the last commit.
Submitted by: Daniel C. Sobral <dcs@newsguy.com>
1999-02-01 12:32:37 +00:00
Alexander Langer
255f294aa6 Document type for 'req' argument to clnt_control. 1999-01-31 16:13:25 +00:00
Brian Somers
d30ad2abf7 Install -C radlib.h
Don't insist that RAD_USER_PASSWORD is supplied before
calling rad_send_request().  Instead, insist on only one
of RAD_USER_PASSWORD and RAD_CHAP_PASSWORD.

Sponsored by: Internet Business Solutions Ltd., Switzerland
1999-01-29 22:44:47 +00:00
Dag-Erling Smørgrav
5a5375540a Add MAINTAINER. 1999-01-29 12:15:34 +00:00
Jordan K. Hubbard
35ea9462db More support for Alpha installs.
Submitted by:   dfr
1999-01-29 11:39:24 +00:00
Bruce Evans
45908a6a19 Removed evil typedef kvm_swap_t and all uses of it (not many).
Hoped for by:	wollman
1999-01-27 11:29:15 +00:00
Joseph Koshy
8ad8dc79db Typo: kern.somaxconn' -> kern.ipc.somaxconn'
PR:		docs/9717
Submitted by:	Nathan Dorfman <nathan@rtfm.net>
1999-01-27 05:13:17 +00:00
Joseph Koshy
b1e30cf60f Correct typo.
PR:		docs/9597
Submitted by:	Christoph Kukulies <kuku@FreeBSD.ORG>
1999-01-27 04:35:02 +00:00
Joseph Koshy
221188c6cb Clarify format of exit status code. Note when a return code of -1 can
be expected.

PR:		docs/9701
Submitted by:	Marc van Kempen <marc@bowtie.nl>
1999-01-27 03:54:09 +00:00
Julian Elischer
2907af2a96 Mostly remove the VM_STACK OPTION.
This changes the definitions of a few items so that structures are the
same whether or not the option itself is enabled. This allows
people to enable and disable the option without recompilng the world.

As the author says:

|I ran into a problem pulling out the VM_STACK option.  I was aware of this
|when I first did the work, but then forgot about it.  The VM_STACK stuff
|has some code changes in the i386 branch.  There need to be corresponding
|changes in the alpha branch before it can come out completely.

what is done:
|
|1) Pull the VM_STACK option out of the header files it appears in.  This
|really shouldn't affect anything that executes with or without the rest
|of the VM_STACK patches.  The vm_map_entry will then always have one
|extra element (avail_ssize).  It just won't be used if the VM_STACK
|option is not turned on.
|
|I've also pulled the option out of vm_map.c.  This shouldn't harm anything,
|since the routines that are enabled as a result are not called unless
|the VM_STACK option is enabled elsewhere.
|
|2) Add what appears to be appropriate code the the alpha branch, still
|protected behind the VM_STACK switch.  I don't have an alpha machine,
|so we would need to get some testers with alpha machines to try it out.
|
|Once there is some testing, we can consider making the change permanent
|for both i386 and alpha.
|
[..]
|
|Once the alpha code is adequately tested, we can pull VM_STACK out
|everywhere.
|

Submitted by:	"Richard Seaman, Jr." <dick@tar.com>
1999-01-26 02:49:52 +00:00
Julian Elischer
88c5ea4574 Enable Linux threads support by default.
This takes the conditionals out of the code that has been tested by
various people for a while.
ps and friends (libkvm) will need a recompile as some proc structure
changes are made.

Submitted by:	"Richard Seaman, Jr." <dick@tar.com>
1999-01-26 02:38:12 +00:00
Matthew Dillon
876c5c1135 Fix swap radix tree dump formatting ( pstat -ss ), it was printing the
wrong radix for recursive subnodes.
1999-01-25 04:07:07 +00:00
Andrew Gallatin
f0f3d5af23 gethostbyname2() was broken for lookups via NIS on FreeBSD/alpha
due to _gethostbynis() setting h.h_length to sizeof(u_long), which
works out to 8 on alphas.  And 8!= NS_INADDRSZ.
1999-01-25 03:26:45 +00:00
Mark Murray
1b340441b7 Fix symlinking. Without the -f "force" option, the wrong version
can be found.
Submitted by:   Bruce
1999-01-24 07:51:33 +00:00
Bruce Evans
57687b2e1f Backed out most of previous commit to go with backing out support for
revoke() on non-device files.
1999-01-24 06:43:30 +00:00
Mark Murray
4fdd3d5417 The new crypt code broke "make world". Back it out. 1999-01-23 08:27:46 +00:00
Bruce Evans
9bcaf304c6 Fixed missing cross reference to kvm_getfiles.
This man page may be overdoing the cross references by referencing
man pages that are just links to other pages that are referenced.

kvm_uread() is still completely undocumented in kvm*.3.
1999-01-23 08:12:12 +00:00
Bruce Evans
8bb84da720 Fixed unsorting of SRCS and MAN3 in previous commit.
Sorted MLINKS.
1999-01-23 07:55:15 +00:00
Bruce Evans
9457cf9c59 Fixed unsorting of cross references in previous commit. 1999-01-23 07:34:56 +00:00
Matthew Dillon
b8808468dd Oops, forgot this. Needed by libkvm. 1999-01-23 04:58:35 +00:00
John Polstra
abea79b879 Fix breakage for the static a.out case. The a.out linker doesn't
consider a linker set definition to be sufficient reason to pull an
object module from an archive library.  This caused undefined
symbols when linking with libpam.a using a.out.  I solved it by
linking in the object that references the linker set in the "ld -r"
step.
1999-01-22 12:43:42 +00:00
Matthew Dillon
6a389e5182 Fix type-o's in manual 1999-01-22 11:03:55 +00:00
Matthew Dillon
a14dedd13c Add SWIF_DEV_PREFIX flag to add "/dev/..." to device name. 1999-01-22 10:57:03 +00:00
Matthew Dillon
e92324a21e Implement kvm_getswapinfo() libkvm function. Will be used by
pstat, top, and systat.
1999-01-22 10:36:04 +00:00
Brian Somers
abac9a9ee3 Typo police. 1999-01-22 01:43:25 +00:00
John Polstra
a397d09e64 Revert my last change, "Rename some globals to reduce namespace
pollution."  Unfortunately, some of these globals are used by ftpd,
and I broke make world.  Pointy hat, please.
1999-01-21 22:02:31 +00:00
Garrett Wollman
6efae010ca Merge from vendor branch: timezone file structure changes and doco.
Fix localtime.c to deal with new magic number field.

Obtained from: ftp://elsie.nci.nih.gov/pub/tzcode1999a.tar.gz
1999-01-21 17:22:59 +00:00
Brandon Gillespie
6bf154696d Moved from the old secure/lib/libcrypt area, because of the rewrite to how
the Makefile handles des support by just including the single .c file.

Reviewed by:	Mark Murray
1999-01-21 13:51:04 +00:00
Brandon Gillespie
da5c7089a3 Rewrite of crypt library to be more modular, and addition of the
Secure Hashing Algorithm - 1 (SHA-1), along with the further
refinement of what $x$salt$hash means.  With this new crypt the
following are all acceptable:

    $1$
    $MD5$
    $SHA1$

Note: $2$ is used by OpenBSD's Blowfish, which I considered adding
as $BF$, but there is no actual need for it with SHA-1.  However,
somebody wishing to add OpenBSD password support could easilly add
it in now.

There is also a malloc_crypt() available in the library now, which
behaves exactly the same as crypt(), but it uses a malloced buffer
instead of a static buffer.  However, this is not standard so will
likely not be used much (at all).

Also, for those interested I did a brief speed test Pentium 166/MMX,
which shows the DES crypt to do approximately 2640 crypts a CPU second,
MD5 to do about 62 crypts a CPU second and SHA1 to do about 18 crypts
a CPU second.

Reviewed by:	Mark Murray
1999-01-21 13:50:09 +00:00
John Polstra
4479239b60 Rename some globals to reduce namespace pollution. 1999-01-20 22:50:37 +00:00
John Polstra
9294327d4a Make it possible to use PAM in statically-linked applications. 1999-01-20 21:55:30 +00:00
John Polstra
83068b622c Install man page link for strtok_r. 1999-01-19 23:45:48 +00:00
John Polstra
32150a6766 Spell check and minor grammar fix. 1999-01-19 23:42:44 +00:00
Don Lewis
3146a70d74 Document the errno return if the restrictions on the fcntl(F_SETOWN, ...)
argument implemented by the security patch in PR kern/7899 are violated.
PR:		kern/7899
1999-01-19 09:33:14 +00:00
Hidetoshi Shimokawa
49837d6cd0 Initialize __progname by argv[0] before striping leading path,
otherwise we always get empty name.
1999-01-19 06:58:31 +00:00
Joseph Koshy
8425e985b7 revoke(2) is supported on regular files under current. Change wording
in manual page that indicated otherwise.

PR:		docs/9517
Submitted by:	David Malone <dwmalone@maths.tcd.ie>
1999-01-18 02:37:03 +00:00
Dag-Erling Smørgrav
a135bdb9a0 Use the correct type for uid and gid in struct passwd. Document it. 1999-01-18 02:14:20 +00:00
John Birrell
0883c4c31b Increase the size of private thread flags so that the test for a
thread trying to call pthread_exit() from a cleanup handler actually
works.

Submitted by: David Leonard <david.leonard@csee.uq.edu.au> OpenBSD
1999-01-15 00:21:03 +00:00
Poul-Henning Kamp
5a5a489faf Bring us one step closer to sysinstall'ing on a DOC2k device. 1999-01-14 21:48:13 +00:00
John Polstra
9a7030e9fc Fix an NFS-related installation problem.
Submitted by:	asami
1999-01-11 16:08:02 +00:00
Mike Smith
a79658408c POSIX introduced optreset to deal with multiple invocations
of getopt (as in, multiple input lines :). This is documented in the
man page and is used in the code, but unistd.h and stand.h do not
declare it. Incidentally, it prevents me fixing a bug in loader's
code... :-)

PR:		misc/9373
Submitted by:	"Daniel C. Sobral" <dcs@newsguy.com>
1999-01-11 06:01:29 +00:00
Warner Losh
d0c4729014 Fix a minor security problem in libc_r.
Submitted by: Alexandre Snarskii <snar@paranoia.ru>
Approved by: John Birrell
Reminded me that I'd been sitting on this too long: snar@paranoia.ru
1999-01-11 00:02:37 +00:00
Peter Wemm
41d54c8049 Merge changes from vendor branch (1.1.1 -> 1.1.3) into mainline. 1999-01-10 09:53:51 +00:00
Peter Wemm
52454dcd09 This commit was generated by cvs2svn to compensate for changes in r42468,
which included commits to RCS files with non-trunk default branches.
1999-01-10 09:47:00 +00:00
Peter Wemm
628b9c3475 Import zlib 1.1.3 onto the vendor branch.
Obtained from: ftp.cdrom.com:/pub/infozip/zlib
1999-01-10 09:47:00 +00:00
Brian Somers
a2743da670 If we can't open alias.log, don't try to write to the
resulting NULL FILE *.
PR:	9403
1999-01-10 02:05:13 +00:00
John Polstra
f92bdbd010 Switch to using ".So" as the extension for PIC object files rather
than ".so".  The old extension conflicted with well-established
naming conventions for dynamically loadable modules.

The "clean" targets continue to remove ".so" files too, to deal with
old systems.
1999-01-09 21:51:00 +00:00
Jordan K. Hubbard
a864ef37a3 Changes for alpha support.
Submitted by:	dfr
1999-01-08 00:32:19 +00:00
Steve Price
0997d762cf Strip the leading path from __progname.
Ok'd by:	jdp
1999-01-07 20:18:18 +00:00
Dag-Erling Smørgrav
eec1dbe6ce Make the implementation and documentation agree. Specifically:
- document that sysctl() and sysctlbyname() return 0 on success

 - if the provided buffer is too small, set errno to ENOMEM and return -1
   instead of returning ENOMEM.
1999-01-06 18:11:53 +00:00
David E. O'Brien
1108d69cee add MLINKs for all the functions covered by the manpage 1999-01-06 05:00:17 +00:00
David E. O'Brien
5db9ad2cb0 spell check 1999-01-06 04:59:53 +00:00
Dmitrij Tejblum
de16000123 Make ctime_r, asctime_r, gmtime_r, and localtime_r available in libc. 1999-01-04 20:45:20 +00:00
Garrett Wollman
600c04ff93 Add STANDARDS section.
s/bytes/characters/g to be consistent with Standard C terminology.
Update date and add RCS Id.
1999-01-03 01:07:41 +00:00
Garrett Wollman
5b9e6e493e Fix grammar in the description of timegm() by totally rewriting it. Remove
a potentally inflammatory comment from BUGS, and add a more useful comment
about the lack of reentrancy in the timezone-setting interface.
1999-01-03 00:35:31 +00:00
Bruce Evans
2e4513990b Ignore the fs_spec entry for "/" in /etc/fstab if the device which
is actually mounted on "/" can be determined using statfs() and is
in /dev.  This fixes fsck operating on the wrong device when the
fs_spec entry is only an alias.  The aliased case became more
dangerous when the ROOTSLICE_HUNT hack was committed in mount(8).
ROOTSLICE_HUNT may be unnecessary now.
1999-01-01 14:14:44 +00:00
Bruce Evans
d82478ba84 Updated type of ss_size in struct sigaltstack.
Removed bogus prerequisite <sys/types.h>.
1999-01-01 12:22:11 +00:00
Jordan K. Hubbard
649ff492d7 Eliminate all dependence on boot1 and boot2. This is passed in by
Set_Boot_Blocks() anyway and should thus have never been a part of
libdisk, it should have been provided by the client of libdisk since
passing the information in is already part of the API.
1998-12-31 02:35:43 +00:00
Jordan K. Hubbard
e188aa994d Transition libdisk to use /boot since what it's looking for (boot1 and boot2)
are now there.
1998-12-30 13:29:11 +00:00
Bruce Evans
40b843918b Backed out previous commit. It depends on a.out utilities and libraries
somehow being available even on pure elf systems.
1998-12-30 12:06:08 +00:00
Bruce Evans
621be74548 Fixed bootstrapping of /usr/mdec/boot[12]. 1998-12-30 11:26:24 +00:00
Bruce Evans
3581d64b8d Fixed type mismatches in args to __syscall(). One for mmap() broke on
i386's with 64-bit longs -- the padding between mmap()'s 5th and 6th
is an int, not a long.  The other mismatches were benign.
1998-12-27 15:47:15 +00:00
Bruce Evans
d07b0a6163 Avoid using ld -O (as in bsd.lib.mk).
Fixed `make cleandepend'.  The default is null because SRCS is null.
1998-12-27 15:24:21 +00:00
Bruce Evans
7a5cfeb446 Fixed CLEANFILES. 1998-12-27 15:04:33 +00:00
Steve Price
a124f32704 Strip the leading path from __progname as is done in the a.out case. Also
bring in stddef.h so we can use NULL instead of 0 for pointer comparisons.

Hinted at by:	Bruce Evans
Reviewed by:	John Polstra
1998-12-24 18:19:47 +00:00
Doug Rabson
6f93bf5f4b Disable building with alpha software completion options until we upgrade
compilers.
1998-12-24 13:17:58 +00:00
Doug Rabson
6b387220be [This is a null commit to supply the correct log entry]
Rename 'cerror' to '.cerror' so that programs which have a function or
global variable named 'cerror' don't completely break the syscall error
reporting mechanism.
1998-12-23 11:55:42 +00:00
Doug Rabson
b7f762137a Implement fpsetmask() and other fp*() functions. Programs should use
#include <ieeefp.h>

to access these functions instead of the i386 specific

	#include <machine/floatingpoint.h>

Submitted by: Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
1998-12-23 11:50:52 +00:00
Dag-Erling Smørgrav
ce71b7364c Implement and document file list retrieval. 1998-12-21 19:41:50 +00:00
Wes Peters
a8e94191e8 Added documenation for the existing implementation of asctime_r,
ctime_r, gmtime_r, and localtime_r.
1998-12-20 06:22:06 +00:00
Poul-Henning Kamp
3d7b283155 Add "fla" to Disk_Names() 1998-12-19 18:48:33 +00:00
Julian Elischer
6626c6045c Reviewed by: Luoqi Chen, Jordan Hubbard
Submitted by:	 "Richard Seaman, Jr." <lists@tar.com>
Obtained from:	linux :-)

Code to allow Linux Threads to run under FreeBSD.

By default not enabled
This code is dependent on the conditional
COMPAT_LINUX_THREADS (suggested by Garret)
This is not yet a 'real' option but will be within some number of hours.
1998-12-19 02:55:34 +00:00
Dag-Erling Smørgrav
d941fd2df9 Don't specify a language to compile_et.
Rename fetchConnect to _fetch_connect since it's internal.
1998-12-18 14:32:48 +00:00
Doug Rabson
12e25f330b Enable building libio on the alpha. 1998-12-17 23:02:11 +00:00
Eivind Eklund
70efdda93d Note that dying on NULL is an implementation detail. 1998-12-17 17:13:47 +00:00
Eivind Eklund
630dc76f4e Restore old semantics (broken in rev 1.47's buffer overflow fix). 1998-12-17 16:31:02 +00:00
Bruce Evans
bc701368b4 <sys/types.h> isn't a prerequisite for <kvm.h>. 1998-12-16 19:12:14 +00:00
Bruce Evans
424a876474 The previous commit was bogus. <stdlib.h> was never a prerequisite
for <kvm.h> or kvm_getloadavg(), and <sys/types.h> was only a
prerequisite for <kvm.h> when <kvm.h> was broken.
1998-12-16 19:04:54 +00:00
Bruce Evans
b245b90a64 Declare size_t and ssize_t if they are not already declared, so that
<kvm.h> is self-sufficient again.

Moved typedefs and forward struct declarations out of __BEGIN_DECLS/
__END_DECLS.

Don't comment out the prototype for kvm_uread().  This was a 4 year
old kludge for previous breakage of self-sufficiency.  The prototypwe
was broken instead.

Fixed bitrot (const poisoning) in the type of kvm_uread().

Fixed order of the declaration of kvm_uread().
1998-12-16 18:59:47 +00:00
Bruce Evans
60160c5e50 Adjust for kern.ps_strings and PS_STRINGS not being a pointer. This
fixes a type mismatch in the call to kvm_uread().  The bug has gone
undetected for almost 3 years because kvm_uproc()'s protoype has been
disabled for almost 4 years.

Trust sysctlbyname() to work properly if it succeeds.

Fixed style bugs in revs. 1.19 and 1.22.
1998-12-16 18:31:51 +00:00
Bruce Evans
8495e302f6 Declare setproctitle() as printf0-like. 1998-12-16 17:52:15 +00:00
Bruce Evans
d529713846 Adjust for kern.ps_strings and PS_STRINGS not being a pointer. This is
an unimprovement here.  I thought it would be an improvement, as in libkvm,
but here we can access the strings directly.

Use sysctlbyname() instead of sysctl() and trust it to give a nonzero
address if it succeeds.
1998-12-16 17:34:05 +00:00
Dag-Erling Smørgrav
5aea254ff0 Implement and document fetchStatFTP.
Update description of struct url_stat in the man page.
Clean up error handling in ftp.c.
1998-12-16 15:29:03 +00:00
Dag-Erling Smørgrav
3b7a67401b Remove unused header files. Fix a few shadowing bugs. Improve error reporting. 1998-12-16 11:44:31 +00:00
Dag-Erling Smørgrav
0fba3a0005 Add verbose flag, and support functions.
Brucify the Makefile.
Differentiate atime and mtime in fetch*Stat().
Fix a few pointer bugs.
Tweak some error messages.
Don't #include sys/param.h and stdio.h in fetch.h.
Document that sys/param.h and stdio.h must be #included before fetch.h.
1998-12-16 10:24:55 +00:00
Peter Wemm
3cc1b1bf9c Old stuff laying around: Don't use a function called getstr(), that has
nasty consequences when the system curses is ncurses as this conflicts
with a ncurses funciton and causes recursion.
1998-12-16 06:04:29 +00:00
Warner Losh
81e4e6a2d6 Add reminder to return memory allocated by this call.
Obtained from: OpenBSD
1998-12-16 04:39:23 +00:00
Dag-Erling Smørgrav
2878b30827 Fix the "Unknown HTTP error" message.
Make compile_et generate prototypes.
1998-12-15 12:24:26 +00:00
Wes Peters
b1e12513fa Reviewed by: JKH
Submitted by:	Wes Peters

Added strtok_r (reentrant) function and man page.
1998-12-14 05:11:26 +00:00
Matthew Dillon
374fad8b17 Reviewed by: freebsd-current
Add bounds checking to netbios NS packet resolving code.  This should
    prevent natd from crashing on badly formed netbios packets (as might be
    heard when the machine is sitting on a cable modem or certain DSL
    networks), and also closes potential security holes that might have
    exploited the lack of bounds checking in the previous version of the
    code.
1998-12-14 02:25:32 +00:00
Steve Price
4c1a815f94 Commit out caveat about hardlinks to directories since they are
no longer possible.

PR:		8337
1998-12-13 23:35:01 +00:00
Matthew Dillon
9a0d08d599 PR: docs/9050
Add reference to required include file #include <stdlib.h> for
    getloadavg(3) function call.
1998-12-13 02:34:56 +00:00
Matthew Dillon
36058b68da Add required #include references to manual page 1998-12-13 02:32:59 +00:00
Matthew Dillon
0e31b6b580 oops. Fix indentation of the 'for' loop I just added. 1998-12-13 01:39:32 +00:00
Matthew Dillon
f16d2ab2d3 Handle the race condition where vipw may lock a password file which has
just been replaced.  After our lock succeeds we check if st_nlink is 0
    and if it is we close the descriptor and retry our open/lock sequence.
1998-12-13 01:36:45 +00:00
Doug Rabson
25b30a3ebb Add a simple library for accessing i/o ports and memory on the alpha.
This is only intended for use by the X server.
1998-12-12 18:05:06 +00:00
John Birrell
b6776b7488 CALL -> PCALL for sigaltstack for libc_r. 1998-12-10 20:36:24 +00:00
John Birrell
7897c2a418 Don't hide mknod, it doesn't need a wrapper and never has had one. 1998-12-10 20:27:52 +00:00
Steve Price
7b505024ed Add missing int to prototypes of mvaddstr and mvaddnstr.
PR:		8110
Submitted by:	Stephen J. Roznowski <sjr@home.net>
1998-12-10 02:35:24 +00:00
Bruce Evans
0fe8d9f3dd Removed unused include of <kvm.h>. It was alarming for libc to apparently
depend on libkvm.

Removed obsolete `#define _NEW_VFSCONF'.
1998-12-07 11:26:28 +00:00
Matthew Dillon
4bc34f94d6 Obtained from: "Jan B. Koum " <jkb@best.com>
Add a reference to pam(8) in the login(1) and login.access(5) manual
    pages.
1998-12-01 17:05:08 +00:00
Nate Williams
738006fa2c - Fix modulo bug that was masked by the correct code in libgcc.a which is
used in almost all programs unless a shared library specifically
  ignores libgcc.a.
1998-11-30 20:25:37 +00:00
Doug Rabson
3e0f4b28d6 On the alpha, sizeof(char*) != sizeof(int) which was assumed in
term_init().  This is the cause of /usr/bin/ftp faulting on the alpha.

Submitted by: Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
1998-11-30 10:12:03 +00:00
Bruce Evans
d14e80a4d3 Fixed SUBDIR order. 1998-11-29 02:47:52 +00:00
Eivind Eklund
07bab7c6a4 Add support for pthread_mutexattr_settype(). As a side effect of
testing this, fix MUTEX_TYPE_COUNTING_FAST.  Recursive locks now work.
1998-11-28 23:52:58 +00:00
Joseph Koshy
2d08e623c1 Enable aio_read(2). 1998-11-24 08:15:08 +00:00
Joseph Koshy
5f67a9c8a1 Don't mention exit(3) in explanation; _exit(2) is a better choice. 1998-11-23 03:23:14 +00:00
John Polstra
c273f24b99 Install PAM modules into ${SHLIBDIR}, not ${LIBDIR}.
Noticed by:	bde
1998-11-22 19:33:27 +00:00
John Polstra
1fc5cffd7b Explicitly depend on libcrypt and libmd for a.out too. Fixes a PAM
related problem on a.out systems.
1998-11-22 19:26:39 +00:00
Jordan K. Hubbard
efbcb4ae03 Better document the file format, add in support for nested {}'s in multi-line
property values.
1998-11-22 13:20:09 +00:00
John Polstra
60da54eec3 Make sure libskey is built before libpam. It is required for one of
the PAM modules.

Fix the comments describing the PAM dependencies to be consistent
with other related comments.

Restructure the library-building loop slightly, per suggestion from
bde.
1998-11-20 02:03:45 +00:00
John Polstra
b2052ac8cf Fix a couple of typos. 1998-11-19 18:07:28 +00:00
Joseph Koshy
cbffe59841 Man page for aio_read(2).
Submitted by:	Terry Lambert <terry@whistle.com> on the -doc lists.
1998-11-19 04:07:55 +00:00
John Polstra
4820dc85d6 Enable the building of libpam. Move libradius and libtacplus up in
the list, because they are prerequisites for libpam.
1998-11-18 02:02:27 +00:00
John Polstra
9a10bb17e1 Build structure for contribified Linux-PAM, plus some home-grown
modules for FreeBSD's standard authentication methods.  Although
the Linux-PAM modules are present in the contrib tree, we don't
use any of them.

The main library "libpam" is composed of sources taken from three
places.  First are the standard Linux-PAM libpam sources from the
contrib tree.  Second are the Linux-PAM "libpam_misc" sources, also
from the contrib tree.  In Linux these form a separate library.
But as Mike Smith pointed out to me, that seems pointless, so I
have combined them into the libpam library.  Third are some additional
sources from the "src/lib/libpam" tree with some common functions
that make it easier to write modules.  Those I wrote myself.

This work has been donated to FreeBSD by Juniper Networks, Inc.
1998-11-18 01:44:37 +00:00
Jean-Marc Zucconi
9ba91dd44b Add an emply MAIN__() function. This avoid an unresolved reference error
during link phase when using fortran subroutines with non-fortran 'main()'.
1998-11-16 23:51:14 +00:00
Jacques Vidrine
90d1ac3b67 Update to reflect reality.
PR:		kern/8629
1998-11-16 03:49:39 +00:00
Kenneth D. Merry
b735c71405 Use snprintf to make sure we don't overflow a buffer. 1998-11-15 23:17:39 +00:00
Kenneth D. Merry
2327ec3a76 Fix an error message. (it was using an uninitialized variable)
Reported by:	dan@math.berkeley.edu (Dan Strick)
1998-11-15 23:12:42 +00:00
John Birrell
4896148e72 Interrupt threads waiting in select etc.
Submitted by: Alec Wolman <wolman@cs.washington.edu>
1998-11-15 10:01:34 +00:00
John Birrell
e7b7b3f3de Close a window between unlocking a spinlock and changing the thread state. 1998-11-15 09:58:26 +00:00
John Polstra
468662e864 Enable libradius and libtacplus. 1998-11-13 01:01:37 +00:00
John Polstra
2c195535b5 Initial import of TACACS+ client library donated by Juniper Networks, Inc. 1998-11-13 00:54:26 +00:00
John Polstra
082bfe6741 Initial import of RADIUS client library donated by Juniper Networks, Inc. 1998-11-13 00:53:01 +00:00
John Polstra
d3b89ae3a4 Build libmd shared for a.out too. Required for some PAM modules. 1998-11-12 04:08:10 +00:00
Dima Ruban
ac1b417f7c Cleanup. Make it compile on alpha. 1998-11-10 06:35:24 +00:00
Joseph Koshy
bee0365a4a Fix a .Nm -> .Fn fix that was missed in the previous commit.
Pointed-out-by:	Bruce Evans
1998-11-09 06:52:46 +00:00
Dag-Erling Smørgrav
08f9fcbfa8 fetch_err.h is a generated file, so don't look for it in ${.CURDIR}. 1998-11-07 08:59:38 +00:00
Dag-Erling Smørgrav
d8acd8dc5c Second of a series of cleanups to libfetch.
This commit introduces the following features:

 a) the fetchStat*() functions, which return meta-information for a
    document, such as size, modification time, etc.

 b) the use of the com_err(3) facilities to report errors.

It also fixes a bunch of style bugs and a few logic bugs and somewhat
improves the man page.

Changed files, in alphabetical order:

 Makefile:
  Don't generate macros in {ftp,http}err.c.

  Generate category fields for the error message lists.

  Compile the error table.

  Install fetch_err.h along with fetch.h.

 common.c:
  Remove the _netdb_errstring() macro, and add FETCH_ERR_NETDB to the
  error code in the _netdb_seterr() macro.

  Add categories to the _netdb_errlist table.

  Report errors through the Common Error library.

 common.h:
  Add the DEBUG macros.

  Add prototype for fetchConnect().

  Remove the prototype for _fetch_errstring(), which is local to common.c

  Add a categroy field to struct fetcherr, and define constants for
  error categories.

  Define macros for _{url,netdb,ftp,http}_seterr().

 errors.et: (new file)
  List error categories.

 fetch.3:
  Document the fetchStat*() functions.

  Move the "unimplemented functionality" comments from NOTES to BUGS.

  Document that applications which use libfetch must also use
  libcom_err, and list existing error codes.

  Undocument fetchLastErr{Code,String}.

  Remove the (empty) DIAGNOSTICS section.

  Mention Eugene Skepner in the AUTHORS section.

 fetch.c:
  Move the DEBUG macros to common.c

  Add fetchStat() and fetchStatURL().

  Generate error messages for URL parser errors, and fix a minor bug
  in the parser.

  Use 'struct url' instead of 'url_t'.

  Remove fetchLastErr{Code,String}.

 fetch.h:
  Use 'struct url' instead of 'url_t', and remove the typedef.

  Define struct url_stat (used by fetchStat()).

  Add prototypes for fetchStat*().

  Remove the declarations for fetchLastErr{Code,String}.

  Include fetch_err.h.

 fetch_err.et: (new file)
  Error table for libfetch.

 file.c:
  Add fetchStatFile().

  Use 'struct url' instead of 'url_t'.

 ftp.c:
  Add fetchStatFTP().

  Use 'struct url' instead of 'url_t'.

  Don't use fetchLastErrCode.

 ftp.errors:
  Add categories to all error messages.

 http.c:
  Add fetchStatHTTP().

  Use 'struct url' instead of 'url_t'.

  Don't use fetchLastErr{Code,Text}.

 http.errors:
  Add categories to all error messages.

Prompted by: jkh and Eugene Skepner
Numerous sugestions from: Garett Wollman and Eugene Skepner
1998-11-06 22:14:08 +00:00
Dmitrij Tejblum
171a7528a8 Don't call pthread_mutex_lock with _SPINLOCK held.
Made pthread_cond_wait() more similar to pthread_cond_timedwait().

PR:		8375
1998-11-06 21:04:02 +00:00
David Greenman
adcac26551 Added info about non-blocking support. 1998-11-06 19:35:58 +00:00
Joseph Koshy
41a3e3b022 Update manual page to reflect changes in rev 1.12 of
"src/lib/libc/gen/popen.c" --- popen() in the child
now closes any copies of popen()'ed descriptors in the parent.
1998-11-06 07:09:22 +00:00
Dag-Erling Smørgrav
842a95cc23 First of a series of cleanups to libfetch. Changed files, in
alphabetical order:

 Makefile:
  Add common.c to SRCS.

  Make debugging easier by making 'CFLAGS += -DNDEBUG' conditional on DEBUG

  Don't declare struct {ftp,http}err in {ftp,http}err.c; use struct fetcherr
  instead.

 README:
  Remove the todo list, which is out of date anyway.

 common.c: (new file)
  Gather utility functions in this file.

  Merge the error reporting functions intp _fetch_errstring(),
  _fetch_seterr() and _fetch_syserr().

  Set fetchLastErrCode and fetchLastErrText appropriately when fetchConnect
  fails.

 common.h: (new file)
  Gather internal prototypes and structures in this files.

 fetch.3:
  Undocument fetchFreeURL().

  Document a few more known bugs.

  Document fetchLastErrCode and fetchLastErrText.

 fetch.c:
  Add descriptive comments to all functions that lacked them.

  Move fetchConnect() to common.c.

  Obviate the need for fetchFreeURL(), and remove it.

 fetch.h:
  Modify struct url_t so the document part is at the end.

 ftp.c:
  Remove code that is duplicated elsewhere.

 http.c:
  Remove code that is duplicated elsewhere.

Prompted by: jkh
1998-11-05 19:48:17 +00:00
David Greenman
eff8678df3 Added a manual page for sendfile(2). 1998-11-05 14:43:29 +00:00
Peter Wemm
49a35712aa Remove stray .endif from previous commit (I hope this is right) 1998-11-04 12:49:31 +00:00
Robert Nordier
8d2c3c32bd Include mergesort() in description of errors. 1998-11-04 09:27:03 +00:00
Robert Nordier
df5a1b840e Drop unused labels. 1998-11-04 09:22:07 +00:00
Robert Nordier
7fb5f2bae4 Handle a zero elements argument.
PR:		8566
Submitted by:	Archie Cobbs <archie@whistle.com>
1998-11-04 08:55:34 +00:00
Mike Smith
400a056059 Don't need this one anymore. 1998-11-04 07:40:05 +00:00
Mike Smith
b8ffd2a51c Well I never. Seems like _setjmp()/_longjmp() are just what the doctor
ordered.  This brings the Alpha back to parity, and should bring us
BootForth on both platforms.

Submitted by:	John Birrell (jb@freebsd.org)
1998-11-04 07:39:53 +00:00
Mike Smith
1add1a81da Improve the quality of isspace() to match expectations. This should make
the Ficl interpreter read its softwords array OK.
1998-11-04 07:04:00 +00:00
Mike Smith
797ed6379a Don't try to build (nonexistent) Alpha setjmp until we have one. 1998-11-04 00:32:08 +00:00
Mike Smith
25c3957dfd Move setjmp/longjmp implementations here from libc; no signal handling
in libstand, only for i386 until I locate an alpha setjmp/longjmp.

Minimal 64-bit gcc integer support for i386.  This is kinda nasty, and
should be revisited once we decide whether the bootblocks need
quad arithmetic.
1998-11-04 00:23:18 +00:00
Peter Wemm
86854f0360 A feeble attempt at kld compatability. The mount_* programs assume that
they cannot mount a filesystem that they cannot see in getvfsbyname().
Part 1 of this is a hack, make vfsisloadable() always return true - the
ultimate decider of whether it's loadable or not is kldload() or mount().
Part 2 of this is to have vfsload() call kldload(2) and return success if
it works.  This means that we will use a viable kld module in preference
to an LKM!
Ultimately, the thing to do is remove the hacks to do a vfsload in all the
mount_* commands and let the kernel do it by itself in mount(2).
1998-11-03 15:02:29 +00:00
Mike Smith
17bcf9c00a Add:
assert()
	setjmp()/longjmp()
	vsprintf()
1998-11-01 09:31:08 +00:00
Mike Smith
2baf3bb5a0 Add a new field to the devsw structure; dv_print, to print all valid units
etc. associated with the device entry.
Consider EOF an 'error' for fgetstr if we haven't read anything yet.

You *MUST* recompile and reinstall libstand before rebuilding the bootstrap.
1998-10-31 02:48:29 +00:00
Jean-Marc Zucconi
65f14a74bd Typo. 1998-10-30 23:50:48 +00:00
Mike Smith
ebed2088fe Prevent buffer overflow in getpwnam()
PR:		bin/8176
Submitted by:	Archie Cobbs <archie@whistle.com>
1998-10-29 23:16:24 +00:00
Robert Nordier
30af884929 Clarify processing of the string argument by psignal(). 1998-10-29 22:17:46 +00:00
Robert Nordier
4a3bc52a9c (Whoops: make it better instead of worse this time). Clarify
processing of the string argument by perror().
1998-10-29 22:08:59 +00:00
Robert Nordier
94cc971811 Clarify processing of the string argument by perror(). 1998-10-29 21:59:38 +00:00
Robert Nordier
e524a581b1 Check for a zero-length as well as a NULL string argument. 1998-10-29 14:40:20 +00:00
Robert Nordier
d223b5868e The man page implies that the string argument to psignal() may be
NULL, in line with perror(3).  However, the code presently checks only
for a zero-length string.  Check for both.
1998-10-29 11:39:39 +00:00
John Polstra
76a2643efb Handle ELF symbols better. This fixes "vmstat -i" for the case
where "/var/db/kvm_kernel.db" doesn't exist.
1998-10-28 06:37:49 +00:00
Mike Smith
f5ce88ded8 Fixes for handling 'wfd' (and any other disk with a non-2-character name)
Submitted by:	Some from Satoh Junichi (junichi@astec.co.jp)
1998-10-27 21:14:03 +00:00
Bill Fenner
551677729e ('): and ('); -> (:') and (;') 1998-10-26 19:36:38 +00:00
David E. O'Brien
af3212bd1d Bogon I somehow inserted between compiling and commiting... 1998-10-26 13:33:39 +00:00
David E. O'Brien
642201c23e Quiet many compiler warnings. Still fails -Wconversion in one case.
Required because:	-Werror is in Makefile
1998-10-26 11:54:36 +00:00
David E. O'Brien
2100aed918 Slight style police.
Add some content from objformat(1).
1998-10-25 13:29:57 +00:00
Andrey A. Chernov
a4beee718b fix unsigned overflow
PR: 8437
1998-10-25 05:06:42 +00:00
Dima Ruban
964b832929 Fix types. 1998-10-21 09:48:35 +00:00
Peter Wemm
ed1bbda829 Revert last change. mkstemp() wasn't to blame, it's nvi. However,
mkstemp() is not behaving as documented.
1998-10-20 15:33:21 +00:00
Peter Wemm
eb356f9af0 Stop mk*temp() from being pathologically stupid in the face of a umask(0);
There are other ways to fix this than wrapping _gettemp(), but this was
the most convenient.

Discovered by: bde
1998-10-20 12:36:36 +00:00
Dag-Erling Smørgrav
4da8edd59e Since vfork() was changed to fork(), we have to pass errno back from the
child to the parent somehow.

PR:		8353
Submitted by:	Andrew J. Korty <ajk@purdue.edu>
1998-10-20 11:34:11 +00:00
Doug Rabson
5a911c6263 Implement a hook to allow us to reclaim the memory used by the first stage
of the bootstrap (the bit which loads /boot/loader).
1998-10-19 09:08:40 +00:00
David E. O'Brien
d58fb9293a To clarify last commit, msmith says:
The reason the Alpha has less room than the i386 is because the bootstrap
is given a 256K mapping by the firmware; to add more requires extra work.
1998-10-17 22:20:06 +00:00
Mike Smith
95f5cf3349 Reduce the sbrk() increment from 64K to 4K. There's not much room on the
Alpha, and wasting potentially 64K-4 bytes of RAM just isn't an option.
1998-10-16 19:23:37 +00:00
Dag-Erling Smørgrav
af806462dc Fix style issues in execl(), and make execle() vfork()-safe.
Reviewed by:	bde
Approved by:	jkh
1998-10-15 17:14:15 +00:00
Mike Smith
26c51fb453 Conform to POSIX and close any copies of popen() descriptors inherited by a
popen()ed child.

PR:		misc/7810
Submitted by:	Wayne Scott <wscott@ichips.intel.com>
1998-10-15 01:47:40 +00:00
Kenneth D. Merry
17ee2b2055 Fix a couple of potential buffer overrun cases.
Submitted by:	imp
1998-10-14 23:28:26 +00:00
Dag-Erling Smørgrav
7ea577e550 Correct braino in previous commit. I get the pointy hat again. 1998-10-14 20:23:40 +00:00
Dag-Erling Smørgrav
dea625c872 Make execl() vfork()-safe. This should fix potential bugs in rcp,
telnet and tip, and probably a few other apps.

Reviewed by:	bde
Approved by:	jkh
1998-10-14 18:53:36 +00:00
Jordan K. Hubbard
eed80d041b correct prototype. 1998-10-14 11:04:36 +00:00
Kenneth D. Merry
01a4eb824c Add man pages for many of the functions in the CAM library. This covers
most of the open/close routines, and the buffer/cdb parsing routines
derived from the old scsi(3) library.

The cam_cdbparse(3) man page borrows from the old scsi(3) man page, so the
copyright and history section reflect that.

The many scsi_* functions and other functions that are pulled in from the
kernel aren't documented yet, but will be eventually.
1998-10-14 06:20:36 +00:00
Bruce Evans
47acf5563c Updated library order and comments about it. This fixes libm not
being built before libf2c and libmd not being built before libatm.
1998-10-13 16:48:43 +00:00
Dag-Erling Smørgrav
1fd98d7d88 Calls one or more of malloc(), warn(), err(), syslog(), execlp() or
execvp() in the child branch of a vfork(). Changed to use fork()
instead.

Some of these (mv, find, apply, xargs) might benefit greatly from
being rewritten to use vfork() properly.

PR:		Loosely related to bin/8252
Approved by:	jkh and bde
1998-10-13 14:52:33 +00:00
Kenneth D. Merry
621a60d46b Add a "dummy light" (actually two dummy lights) to catch people who don't
have the passthrough device configured in their kernel.

This will hopefully reduce the number of people complaining that they can't
get {camcontrol, xmcd, tosha, cdrecord, etc.} to work.

Reviewed by:	gibbs
1998-10-12 21:54:13 +00:00
Dag-Erling Smørgrav
b2d3d0f097 Avoid the "Cannot allocate memory" problem that appears on heavily
loaded systems by retrying the sysctl() with a larger buffer if it
fails with ENOMEM. For good measure, allocate 10% more memory than
sysctl() claims is necessary.

PR:		8275
Reviewed by:	David Greenman <dg@freebsd.org>
1998-10-12 20:36:33 +00:00
Kenneth D. Merry
13a5277c23 Fix a curses bug exposed by the ":numbers" display of systat -iostat.
This bug showed up when you had more than 3 devices displayed.  (thus
requiring a second line of display)

Here's a quote From the PR:

 When wrefresh() is called with a subwindow as argument, __set_subwin
 might be called with reversed arguments if wrefresh() decides to calls
 quickch().  This may cause use of negative array indexes, with a
 resulting segfault.

 Since quickch() manipulates the line structures belonging to curscr,
 it looks like all subwindows of curscr should be updated.

PR:		bin/8086
Submitted by:	Tor Egge <Tor.Egge@fast.no>
1998-10-12 16:32:32 +00:00
John Polstra
0651835dae Eliminate nested comment warning.
Submitted by:	lh@aus.org
1998-10-11 17:14:56 +00:00
Bruce Evans
a9d7016af5 Fixed removing of obsolete shared libraries:
- the directory was wrong if ${SHLIBDIR} != ${LIBDIR}.  It's still wrong
  if the installation of the obsolete library was done before /aout was
  appended to LIBDIR.
- the version would have become wrong when the default in ../Makefile.inc
  is changed from 2.0.
- the comment mostly described moving of libraries to /usr/lib/compat, but
  we don't do that.
1998-10-11 16:33:02 +00:00
Peter Wemm
0c372549f6 Avoid the need for calling functions that malloc after a vfork(). 1998-10-11 14:11:51 +00:00
Peter Wemm
b550818d8d libopie also depends on libmd. Programs using libopie shouldn't have to
know about libopie's internals in order to use it.
1998-10-11 04:45:50 +00:00
Peter Wemm
78c6a7e037 libf2c.so.* depends on libm.so. I'm not sure that this matters in this
case because I expect the f2c front-end should add the -lm automatically.
1998-10-11 04:44:12 +00:00
Peter Wemm
85a6383125 libatm uses libmd; add it to the dependency list so that programs using
libatm are not forced to know the internals of it's implementation.
1998-10-11 04:41:43 +00:00
Peter Wemm
5cc7d6a524 Deal with /usr/lib/compat/aout, and that we've been installing things
in the wrong places for a while.
Also, the the libtermlib.so -> libtermcap.so manually for elf, otherwise
the hard link follows the symlink and the result looks rather wierd.  The
*.a files are still hard linked under elf as before.
1998-10-11 04:39:56 +00:00
Peter Wemm
29b678437f Don't build elf libresolv.so*, no elf freebsd binaries have used it ever.
Also, the a.out compat version is supposed to go into /usr/lib/compat/aout.
Try and clean up the mess left behind in /usr/lib/compat.
1998-10-11 04:21:56 +00:00
Peter Wemm
94614a780f Don't install an elf libgnumalloc.so* in /usr/lib/compat.. No elf binaries
have been linked against it.  Try and clean up the leftovers.  Also, put
the a.out libs in /usr/lib/compat/aout since that's where the default
a.out ldconfig compat path points to.
1998-10-11 04:18:30 +00:00
Peter Wemm
46cc15fe3d Don't install an elf liby.so[.2] in /usr/lib/compat. We have never had
any elf binaries linked against it.  Try and clean up the mess left over..
1998-10-11 04:10:14 +00:00
Bruce Evans
0890dc6f44 vfork -> fork. The child calls execl() which calls malloc(), so
vfork() can't be used.  We could use alloca() in execl() so that
it can be called between vfork() and execve(), but a "portable"
popen() shouldn't depend on this.  Calling execle() instead of
execl() should be fairly safe, since execle() is supposed to be
callable from signal handlers and signal handlers can't call
malloc().  However, execle() is broken.
1998-10-10 19:30:45 +00:00
Eivind Eklund
b41c848d46 Remove the description of EBADF (that's an implementation detail if I
ever saw one), and move the description of NULL behaviour out to a
'NOTES' section, with an extra note that programs should not rely up
on it.

Kinda-approve-by:	bde (by not replying to the mail with the diff)
1998-10-10 13:31:32 +00:00
Dmitrij Tejblum
4b12016bab Fix some bugs in pthread scheduler:
make pthread_yield() more reliable,
  threads always (I hope) preempted at least every 0.1 sec, as intended.

PR:		bin/7744
Submitted by:	"Richard Seaman, Jr." <dick@tar.com>
1998-10-09 19:01:30 +00:00
Jordan K. Hubbard
8b1ef8d464 Now take stdio.h out of files that don't require it. 1998-10-09 11:24:20 +00:00
Jordan K. Hubbard
475ae25ac1 Update docs to match interface change. 1998-10-09 07:33:58 +00:00
Jordan K. Hubbard
50dfa596d3 o move path in libutil.h to paths.h
o make property_read() take a fd instead to avoid stdio.h mess
o update auth to new interface.
1998-10-09 07:32:38 +00:00
Jordan K. Hubbard
72671863e8 Take the path spec back out. 1998-10-09 07:28:14 +00:00
Jordan K. Hubbard
b8c11ec197 All these have to include stdio.h now. 1998-10-09 00:39:09 +00:00
Jordan K. Hubbard
146c3cf45c remove stdio.h include; I forgot Bruce's cardinal rule that header files
shouldn't include other ones (which, unfortunately, is also a hellish
rule since he broke interfaces like sysctl this way by requiring undocumented
header files to be included just in order to be able to use them now - SIGH!).
1998-10-08 23:10:41 +00:00
Jordan K. Hubbard
3b29c89296 Add some rudimentary documentation for my new functions. 1998-10-08 06:53:32 +00:00
Jordan K. Hubbard
69761016be Correct a build error that got past my build test somehow. 1998-10-08 01:56:49 +00:00
Jordan K. Hubbard
b704025f3c Add a simple mechanism for reading property lists from files (which
I'll convert sysinstall to use shortly) and a simple call which uses
this mechanism to implement an /etc/auth.conf file.  I'll let Mark Murray
handle the format and checkin of the sample auth.conf file.
Reviewed by:	markm
1998-10-07 17:32:49 +00:00
Mike Smith
745f11adb6 Add strcasecmp source file required for dosfs operation. 1998-10-07 13:50:17 +00:00
Julian Elischer
29595ffd90 Fix a memory leak
PR: 7923
Submitted by: Archie Cobbs <archie@whistle.com>

        The scandir() function returns -1 if it fails.
	In many cases when this happens, it does not free
	the memory that it allocated, resulting in a memory
	leak, or close the directory opened with opendir().
	BAD DOG, BAD!
1998-10-07 01:30:02 +00:00
Mike Smith
40fd46f77d Enable the DOS filesystem. This allows reading from various DOS filesystems
(FAT12/16/32, VFAT).

Make a private copy of strcasecmp, as the "real" one uses the system ctype
header, which introduces locale poisoning.
1998-10-06 19:23:57 +00:00
Doug Rabson
5b4c313702 Teach libdisk about alpha boot blocks. 1998-10-06 11:57:08 +00:00
Doug Rabson
e0ce825e94 64bit portability fixes.
Submitted by: Andrew Gallatin <gallatin@cs.duke.edu>
1998-10-05 18:35:04 +00:00
Mike Smith
3f9423cca2 Don't build with -g. 1998-10-04 08:10:29 +00:00
Eivind Eklund
aef1f383cf program written under FreeBSD -> programs written under FreeBSD
Noticed by:	Alex Nash <nash@mcs.net>
1998-10-03 16:17:30 +00:00
Mike Smith
31a014da28 Prune unused zalloc components as recommended by Matt Dillon. Extra debugging
code is still enabled (it's not very expensive).
1998-10-01 17:35:08 +00:00
Jordan K. Hubbard
e886e3bd22 Add libdisk back to alpha build. 1998-10-01 14:49:57 +00:00
Jordan K. Hubbard
55ff249dd5 Eliminate unaligned access on Alpha and also neaten up this code a little.
Submitted by:	dfr
1998-09-30 21:40:51 +00:00
Dmitrij Tejblum
60abf62bfa Debug when an environment variable set, no when it is unset. 1998-09-30 19:17:51 +00:00
John Birrell
cffdbf7096 Revise test code for sigwait and add test code for sigsuspend.
Submitted by: Daniel M. Eischen <eischen@vigrid.com>
1998-09-30 07:14:02 +00:00
John Birrell
058716097d Revise test code for sigwait and add test code for sigsuspend.
Submitted by: Daniel M. Eischen <eischen@vigrid.com>
1998-09-30 07:08:09 +00:00
John Birrell
f51ea46d24 Fix a comment. 1998-09-30 06:42:29 +00:00
John Birrell
d3bb66886d Cosmetic cleansing. This code requires extra work to keep the garbage
collector thread running after a fork.
1998-09-30 06:41:16 +00:00
John Birrell
dc3a8b52c0 Move the cleanup code that frees memory allocated for a dead thread from
the thread kernel into a garbage collector thread which is started when
the fisrt thread is created (other than the initial thread). This
removes the window of opportunity where a context switch will cause a
thread that has locked the malloc spinlock, to enter the thread kernel,
find there is a dead thread and try to free memory, therefore trying
to lock the malloc spinlock against itself.

The garbage collector thread acts just like any other thread, so
instead of having a spinlock to control accesses to the dead thread
list, it uses a mutex and a condition variable so that it can happily
wait to be signalled when a thread exists.
1998-09-30 06:36:56 +00:00
John Birrell
05f3e91279 Use snprintf instead of sprintf to avoid long source file paths from
launching an application into space when someone tries to debug it.

The dead thread list now has it's own link pointer, so use that when
reporting the grateful dead.
1998-09-30 06:29:54 +00:00
John Birrell
54059e9f3f Implementation of an additional state called SIGWAIT (with the previous
one renamed to SIGSUSPEND) to fix sigwait().

Submitted by: Daniel M. Eischen <eischen@vigrid.com>
1998-09-30 06:27:31 +00:00
John Birrell
92ce833722 NULL a pointer after it is freed to avoid trying to free it again. 1998-09-30 06:24:57 +00:00
John Birrell
a247f83316 - Fix the debug macros.
-  Add support of a thread being listed in the dead thread list as well
   as the thread list.
-  Add a new thread state to make sigwait work properly. (Submitted by
   Daniel M. Eischen <eischen@vigrid.com>)
-  Add global variable for the garbage collector mutex and condition
   variable.
-  Delete a couple of prototypes that are no longer required.
-  Add a prototype for the garbage collector thread.
1998-09-30 06:22:07 +00:00
John Birrell
a0aa389007 Delete the XXX comments that refer to spinlock recursion. The malloc/free/
realloc functions check for recursion within the malloc code itself. In
a thread-safe library, the single spinlock ensures that no two threads
go inside the protected code at the same time. The thread implementation
is responsible for ensuring that the spinlock does in fact protect malloc.
There was a window of opportunity in which this was not the case. I'll fix
that with a commit RSN.
1998-09-30 06:13:59 +00:00
Joseph Koshy
7669e9013b `kern.maxproc' is not changeable from sysctl(8).
Reminded by:	Bruce Evans <bde@zeta.org.au>
1998-09-29 05:16:45 +00:00
Jordan K. Hubbard
7998601706 Allow minigzip to be invoked more like gzip, checking to see
if we're being called as gunzip as well as dealing with the -c
flag.
Submitted by:	jhay
1998-09-29 04:56:30 +00:00
Eivind Eklund
8bd4c21699 Document that we will core-dump on getting a NULL pointer. 1998-09-28 15:34:24 +00:00
Dag-Erling Smørgrav
db5f8ceb40 Bring the man page more or less up to date with the code. 1998-09-26 20:42:44 +00:00
Doug Rabson
f0a3692000 Don't cast int pointers to long pointers when reading labels from
/etc/disktab.
1998-09-26 14:44:06 +00:00
Jordan K. Hubbard
e96d0b23ba /usr/lib/compat -> /usr/lib/compat/aout
This change will need to be reviewed just as soon as we start generating
ELF compat libs, but for now it does the right thing for a.out libs.
1998-09-26 11:54:02 +00:00
Doug Rabson
f069bf5a2c * Enable old UFS compatibility code for booting from Digital Unix formatted
disks.
* Fix a whole raft of warnings, printf and otherwise.
* Make zalloc work for alpha (just a case of using the right typedef).
* Add some (disabled) malloc debug printing to stand.h.
1998-09-26 10:48:50 +00:00
Matthew Dillon
f69e7cfc4d Fixed setting of mp_End in zextendPool(). A case was missing and mp_Size
no longer reflects the mp_End - mp_Base equivalent.
1998-09-26 03:24:14 +00:00
Mike Smith
95b50c2be3 Replace the old and extremely icky Mach/NetBSD allocator with a similarly
compact and much better one donated by Matt Dillon.  Implement a simple
sbrk() which uses the existing setheap() api.

Remove the custom allocator from the UFS code.  It wasn't working quite
right, and it shouldn't be needed with the new allocator.

Fix a serious problem with changing the value of already-existent
environment variables.  Don't attempt to modify the supposedly-const
argument to putenv()

Fix an off-by-one sizing error in the zipfs code detected by the new
allocator.

Submitted by:	zmalloc from Matt Dillon <dillon@backplane.com>
1998-09-26 01:42:40 +00:00
David E. O'Brien
5846581c2e Apply patch to properly sscanf(3) when there is whitespace in the format
string.  From the submitted patch:

Credit for patch:	Chris Torek <torek@bsdi.com>
			Tod Miller  <millert@openbsd.org>

This makes us in line with SunOS 4.1.3_U1, Solaris 2.6, OpenBSD 2.3,
HP-UX 10.20, Irix 5.3.  The previous behavior was in line with Ultrix 4.4.

PR:		bin/7970
Submitted by:	Niall Smart nialls@euristix.ie
1998-09-25 12:20:27 +00:00
Doug Rabson
f7506f876c Use unsigned chars instead of signed chars when extracting bits of the
inet address.
1998-09-23 21:35:40 +00:00
Doug Rabson
cea1d019fe Use 8k pagesize on alpha, not 4k. 1998-09-23 21:26:04 +00:00
Jordan K. Hubbard
0b3c226f0e Include "stand.h", not <stand.h>. 1998-09-21 06:07:34 +00:00
Doug Rabson
02c40feecd Allocate disk buffers using a custom allocator. The standard allocator fragments
extremely badly if disk buffers are freed back into the main heap and the alpha
bootstrap has a restricted address space which just ran out :-(.
1998-09-20 21:42:20 +00:00
Doug Rabson
b554c7492a Use a simple version of inet_ntoa(). The libc one uses inet_ntop which is too
complicated.
1998-09-20 21:40:28 +00:00
Alexander Langer
d988805a1f Back out part of previous commit (even though it's technically correct).
Our spinlock implementation allows a particular thread to obtain a lock
multiple times, but release the lock with a single unlock call.  Since
we're detecting recursion, we know the lock is already owned by the
current thread in a previous call and must not be released in the
current call.  This is really far too dependent on this particular
spinlock implementation, so I've added commented out calls to
THREAD_UNLOCK in the appropriate places.  We can activate this code when
spinlock is taught to count each lock operation.
1998-09-20 01:07:50 +00:00
Kenneth D. Merry
bcc6a3da92 Change the devstat generation number from an int to a long. The int-sized
generation was causing unaligned access faults on the Alpha.

I have incremented the devstat version number, since this is an interface
change.  You'll need to recompile libdevstat, systat, iostat, vmstat and
rpc.rstatd along with your kernel.

Partially Submitted by:	Andrew Gallatin <gallatin@cs.duke.edu>
1998-09-20 00:11:23 +00:00
Alexander Langer
366248e086 Correctly back out of free if a recursive call into malloc.c is detected.
Set malloc_func *after* grabbing the thread lock.

Noticed by:	Simon Coggins <simon@oz.org>
1998-09-19 20:55:36 +00:00
Mike Smith
ec5cd5b130 Nuke prototype for strerror, consumers get it from <string.h>
Fix overlooked nullopen() implementation.
1998-09-18 23:00:57 +00:00
Mike Smith
4ce36a791b Path arguments to *_open functions should be const, but we were mangling
them.

Submitted by:	write-protected text segment in BTX
1998-09-18 22:58:01 +00:00
Kenneth D. Merry
71bf9f8a93 Remove scsi_da.c from the list of things compiled into the CAM library.
The functions that were being compiled into the library have been moved to
scsi_all.c.

One warning:  Any programs using scsi_start_stop() or scsi_read_write()
              that included scsi_da.h but not scsi_all.h will need to be
              changed to include scsi_all.h.  This doesn't affect
              camcontrol, and I don't think it affects any ports, but you
              never know.

PR:		kern/7969
Reviewed by:	gibbs
1998-09-18 22:29:35 +00:00
Luoqi Chen
ae45749a50 Simplify implementation and eliminate a register preservation problem.
Reviewed by:	Bruce Evans <bde@zeta.org.au>
1998-09-18 05:50:52 +00:00
Kenneth D. Merry
eded794a13 Fix some error message format problems in checkversion() and getversion().
Reported By: bde
1998-09-18 02:35:25 +00:00
Poul-Henning Kamp
8d54281ce7 s/yellow pages/NIS/
PR:		7949
Reviewed by:	phk
Submitted by:	Norihiro Kumagai <kuma@jp.freebsd.org>
1998-09-17 08:29:16 +00:00
Justin T. Gibbs
c3deaba902 libscsi is obsoleted by CAM. 1998-09-17 03:56:23 +00:00
Kenneth D. Merry
53398df2a8 Fix some Alpha portability problems, and add some belt-and-suspenders
checking in some functions.

Submitted by:	dfr
Modified by:	ken
1998-09-16 20:42:19 +00:00
Doug Rabson
4fab6203a9 Adjust the declarations of kvm_read and kvm_write to match reality a little
closer.
1998-09-16 09:30:14 +00:00
Doug Rabson
1624bd7303 Change to a code sequence which is more likely to work on SMP systems.
Now all I need is an alpha SMP box to port FreeBSD to :-)
1998-09-16 09:27:05 +00:00
Joseph Koshy
0a843f2afb Sort table and descriptions.
Pointed out by: bde
1998-09-16 07:25:34 +00:00
Warner Losh
e8420087b0 Replace memory leaking instances of realloc with non-leaking reallocf.
In some cases replace if (a == null) a = malloc(x); else a =
realloc(a, x); with simple reallocf(a, x).  Per ANSI-C, this is
guaranteed to be the same thing.

I've been running these on my system here w/o ill effects for some
time.  However, the CTM-express is at part 6 of 34 for the CAM
changes, so I've not been able to do a build world with the CAM in the
tree with these changes.  Shouldn't impact anything, but...
1998-09-16 04:17:47 +00:00
Warner Losh
e70c6df958 o Don't reference non-existant function freealloc.
o Properly order things

Pointed out by: bde
1998-09-16 04:07:31 +00:00
Warner Losh
9a5722f2e8 Fix style problems noted by Bruce:
o No copyright on reallocf.
	o Order makefile list correctly.
	o indent reallocf properly.
1998-09-16 03:16:06 +00:00
Bill Fenner
27d941cbbf Bump minor version number and add version.c to update to version 0.4
PR:		bin/7877
1998-09-15 19:34:01 +00:00
Dmitrij Tejblum
b5acd0014e Don't initialize NIS until it is really necessary. Now, in case of network
or NIS server problems, local user can login without a pause.

Also, -Wsomething cleanup.
1998-09-15 16:22:30 +00:00
Poul-Henning Kamp
3f8c45065e (this is an extract from src/share/examples/atm/README)
===================================
                HARP  |  Host ATM Research Platform
                ===================================

                              HARP 3

What is this stuff?
-------------------
The Advanced Networking Group (ANG) at the Minnesota Supercomputer Center,
Inc. (MSCI), as part of its work on the MAGIC Gigabit Testbed, developed
the Host ATM Research Platform (HARP) software, which allows IP hosts to
communicate over ATM networks using standard protocols.  It is intended to
be a high-quality platform for IP/ATM research.

HARP provides a way for IP hosts to connect to ATM networks.  It supports
standard methods of communication using IP over ATM.  A host's standard IP
software sends and receives datagrams via a HARP ATM interface.  HARP provides
functionality similar to (and typically replaces) vendor-provided ATM device
driver software.

HARP includes full source code, making it possible for researchers to
experiment with different approaches to running IP over ATM.  HARP is
self-contained; it requires no other licenses or commercial software packages.

HARP implements support for the IETF Classical IP model for using IP over ATM
networks, including:

   o IETF ATMARP address resolution client
   o IETF ATMARP address resolution server
   o IETF SCSP/ATMARP server
   o UNI 3.1 and 3.0 signalling protocols
   o Fore Systems's SPANS signalling protocol

What's supported
----------------
The following are supported by HARP 3:

   o ATM Host Interfaces
        - FORE Systems, Inc. SBA-200 and SBA-200E ATM SBus Adapters
        - FORE Systems, Inc. PCA-200E ATM PCI Adapters
        - Efficient Networks, Inc. ENI-155p ATM PCI Adapters

   o ATM Signalling Protocols
        - The ATM Forum UNI 3.1 signalling protocol
        - The ATM Forum UNI 3.0 signalling protocol
        - The ATM Forum ILMI address registration
        - FORE Systems's proprietary SPANS signalling protocol
        - Permanent Virtual Channels (PVCs)

   o IETF "Classical IP and ARP over ATM" model
        - RFC 1483, "Multiprotocol Encapsulation over ATM Adaptation Layer 5"
        - RFC 1577, "Classical IP and ARP over ATM"
        - RFC 1626, "Default IP MTU for use over ATM AAL5"
        - RFC 1755, "ATM Signaling Support for IP over ATM"
        - RFC 2225, "Classical IP and ARP over ATM"
        - RFC 2334, "Server Cache Synchronization Protocol (SCSP)"
        - Internet Draft draft-ietf-ion-scsp-atmarp-00.txt,
                "A Distributed ATMARP Service Using SCSP"

   o ATM Sockets interface
        - The file atm-sockets.txt contains further information

What's not supported
--------------------
The following major features of the above list are not currently supported:

        o UNI point-to-multipoint support
        o Driver support for Traffic Control/Quality of Service
        o SPANS multicast and MPP support
        o SPANS signalling using Efficient adapters

This software was developed under the sponsorship of the Defense Advanced
Research Projects Agency (DARPA).

Reviewed (lightly) by:	phk
Submitted by:	Network Computing Services, Inc.
1998-09-15 11:44:44 +00:00
Joseph Koshy
61a4defd54 Turn off replies to ICMP echo requests for broadcast and multicast
addresses by default.

Add a knob "icmp_bmcastecho" to "rc.network" to allow this
behaviour to be controlled from "rc.conf".

Document the controlling sysctl variable "net.inet.icmp.bmcastecho"
in sysctl(3).

Reviewed by: dg, jkh
Reminded on -hackers by: Steinar Haug <sthaug@nethelp.no>
1998-09-15 10:49:03 +00:00
Justin T. Gibbs
d02ee3ee3e Remove references to the "od" device. 1998-09-15 10:23:17 +00:00
Justin T. Gibbs
9bb268091e Hook up libcam and libdevstat. 1998-09-15 10:22:54 +00:00
Poul-Henning Kamp
1820df7a2d Add new files for HARP3
Host ATM Research Platform (HARP), Network Computing Services, Inc.
This software was developed with the support of the Defense Advanced
Research Projects Agency (DARPA).
1998-09-15 08:23:17 +00:00
Justin T. Gibbs
28fb27ba21 Device statistics library. Used by iostat, vmstat, and systat to
format and analyze the output of the new device statistics sysctls.

Submitted by:	"Kenneth D. Merry" <ken@FreeBSD.org>
1998-09-15 06:23:21 +00:00
Justin T. Gibbs
e82ea42037 I hate late night commits. These should be nuked from the atticy by
the CVS meister.
1998-09-15 06:20:29 +00:00
Justin T. Gibbs
f736a45077 CAM userland utility library, a replacement for libscsi.
Submitted by: "Kenneth D. Merry" <ken@FreeBSD.org>
1998-09-15 06:16:46 +00:00
Mike Smith
0dd47c30aa Remove (wrong) OBJFORMAT setting. 1998-09-15 02:30:22 +00:00
Garrett Wollman
75a21a3859 Replace accidentally-deleted `x' which caused warnx() to misbehave. 1998-09-15 01:49:32 +00:00
Joseph Koshy
6e2affc98f Correct a typo that I noticed. 1998-09-15 00:24:19 +00:00
Warner Losh
b8a328fc74 o use strncpy safely
o Only allow options and domain name to be set when we aren't running
  setuid.

Obtained from: OpenBSD
1998-09-14 21:13:06 +00:00
Warner Losh
94ad719cf4 Add reallocf to the library. This function is simliar to realloc, but
when it returns NULL to indicate failure, it will also free the memory
that was passed to it, if that was non-null.

This does not change the semantics of realloc.

A second commit will be done to commit the conversion of those places in
the code that can safely use this to avoid memory leaks when confronted
with low memory situations.

Beaten-to-death-but-finally-approved-in: -current
1998-09-14 20:34:34 +00:00
Luoqi Chen
02bc6ef2c8 Fix a cut 'n paste mistake. 1998-09-13 20:32:45 +00:00
Dmitrij Tejblum
8ab6008b79 Don't clobber errno if we are not going to fail. 1998-09-13 15:33:42 +00:00
Dmitrij Tejblum
99c167bba4 Don't lock newfd if it is not opened.
PR:		5961
1998-09-13 12:48:47 +00:00
Dmitrij Tejblum
deb9688ae1 In libc_r, rename vfork syscall to _thread_sys_vfork and make vfork an alias
to fork. It is difficult to do real vfork in libc_r, since almost every
operation with file descriptsor changes _thread_fd_table and friends.

popen(3) works much better with this change.
1998-09-12 22:03:20 +00:00
Garrett Wollman
48f4157055 Document the fact that shutdown(2) is expected to comply with Posix.1g,
when it happens.
1998-09-12 21:38:30 +00:00
Dmitrij Tejblum
f0cefaccae Change return type of strptime from const char* to char*.
const char* was wrong and nonstandard.
1998-09-12 21:13:29 +00:00
Garrett Wollman
b4b4fb871e A small last-minute iitem for 3.0:
- Fix some style errors I made back in 1995.

- Add a new flavor of the err(3) family, which takes an explicit
  errno argument rather than implicitly examining errno.  This
  will make it easier to use these functions in conjunction with
  modern library interfaces that return an errno value explicitly.
1998-09-12 21:02:22 +00:00
Joseph Koshy
05e13b1b5d Use ellipsis in synopsis.
Requested by: bde
1998-09-12 01:27:34 +00:00
Warner Losh
2e9e5d3b4c Define PBUFSIZ in terms of MAXPATHLEN rather than hard coding it to
512.

Obtained, I think, from: OpenBSD
1998-09-11 05:44:41 +00:00
Warner Losh
c0f3e0b9b0 $@ -> ${.TARGET} 1998-09-11 05:42:37 +00:00
Warner Losh
546bc251ae $* -> ${.PREFIX} 1998-09-11 05:40:12 +00:00
Warner Losh
530c496f92 Remove definition of malloc and realloc. Instead include stdlib.h. 1998-09-11 05:39:08 +00:00
Warner Losh
aa1b326112 $@ -> ${.TARGET} 1998-09-11 05:34:37 +00:00
Warner Losh
df196cc87c Change obsolete $@ to ${.TARGET}. 1998-09-11 05:31:45 +00:00
Warner Losh
77740e7e34 Don't trust TMPDIR if we're setuid root. This is used only for the
backing file for an anonymous (memory based) btree, and I don't think
that any setuid programs actually use it, but it is better to be safe
than sorry.  This has been in my tree for a long time, maybe a year or
more...

Inspired by: Similar changes in OpenBSD, if memory serves (like nearly
a year ago)
1998-09-11 05:29:47 +00:00
Brian Somers
8456d89b54 Mention which system interface functions are signal-safe.
Suggested on -current by: Terry Lambert <tlambert@primenet.com>
1998-09-09 20:44:51 +00:00
Guy Helmer
b697833cb3 Document a number of VM sysctl variables with help from old emails
written by John Dyson.
1998-09-09 18:36:14 +00:00
Dmitrij Tejblum
f0f066ec83 Fixed bug, caused threads to wait for locks which nobody hold.
Fixed sign extension bug, caused undefined behavior if FILE live in stack.
1998-09-09 16:50:33 +00:00
KATO Takenori
d7feb25bdf Change ${MACHINE} into ${MACHINE_ARCH} to support MACHINE=pc98. 1998-09-09 11:27:33 +00:00
KATO Takenori
d22114bfb8 Change i386 in a few paths to ${MACHINE} to support MACHINE=pc98. 1998-09-09 11:22:28 +00:00
Joseph Koshy
3d2b8efaa1 Add $Id$, remove quoting for `...'.
Requested by: bde
1998-09-09 01:30:25 +00:00
John Polstra
cfa4d73988 Add a new library function getobjformat(). It checks all the
standard places ("/etc/objformat", ${OBJFORMAT}, argv) for an
indication of the user's preferred object file format.  This
consolidates some code that was starting to be duplicated in more
and more places.

Use the new function in ldconfig.

Note: I don't think that gcc should use getobjformat(), even though
it could.  The compiler should limit itself to functions that are
widespread, to ease porting and cross-compilation.
1998-09-09 01:21:25 +00:00
David E. O'Brien
c304ad8a23 Add support for the RPC 64-bit integer type ``hyper''. 1998-09-08 17:33:12 +00:00
Andrey A. Chernov
7f41a65ede restore rev 1.23 to give clear SIGALRM handling example, 68 years
are too long to affect real code
1998-09-08 09:44:46 +00:00
Joseph Koshy
434f577807 Use ellipsis in the synopsis, and an appropriate explanation in
the text of the manual page.

Suggested by: bde
1998-09-08 02:02:50 +00:00
John Polstra
5584f22bb3 Make profiling work for ELF. gprof now autodetects the format of
the executable file, so it will work for both a.out and ELF format
files.  I have split the object format specific code into separate
source files.  It's cleaner than it was before, but it's still
pretty crufty.

Don't cheat on your make world for this update.  A lot of things
have to be rebuilt for it to work, including the compiler and all
of the profiled libraries.
1998-09-07 23:32:00 +00:00
Alexander Langer
cecc7b0974 Removed unused variables. 1998-09-07 21:55:01 +00:00
Alexander Langer
e66632a35c Removed some variable initializations which were unnecessary and divergent
from style(9).
1998-09-07 21:07:59 +00:00
Alexander Langer
23424a1f9a -Wall clean. 1998-09-07 19:23:55 +00:00
Alexander Langer
c0e366326f Implement pthread read/write locks as defined by Version 2 of the Single
UNIX Specification.

As with our standard mutexes, process shared locks are not supported at
this time.
1998-09-07 19:01:43 +00:00
Bruce Evans
54020d8a7b Fixed SUBDIR order (libm is no longer a prerequisite for libtcl). 1998-09-07 13:59:15 +00:00
Matthew Dillon
49d6409ac7 Reviewed by: Andrey A. Chernov <ache@nagual.pp.ru>, Doug Rabson <dfr@nlsystems.com>
Rewrote sleep() to remove int/long typing assumptions between the argument
    to the function and the timespec structure.
1998-09-06 09:11:06 +00:00
Joseph Koshy
fe6894b6dc Use a varargs style prototype in the manual page, with accompanying
explanation in the text.
1998-09-06 08:50:49 +00:00
Satoshi Asami
ff5fcc93d4 Remove tcl from /usr/src, according to prior agreement. BTW, tcl-8.0 *is*
a port so there is nothing to be done on that side now.

Approved by:	jkh
===
To: "Jordan K. Hubbard" <jkh@time.cdrom.com>
cc: Andreas Klemm <andreas@klemm.gtn.com>, current@freebsd.org
Subject: Re: Make this a relese coordinator decision (was Re: ports-current/packages-current discontinued)
From: David Greenman <dg@root.com>
Date: Sun, 03 Aug 1997 20:23:31 -0700

>decision is, I'll respect it.

   Another chance to architect people's principles...I can hardly wait. Seems
quite appropriate for a Sunday - I just need to get one of those collection
plates (and money envelopes) so I can profit, too. :-)
   Tcl stays in /usr/src for now, but it needs to be kept up to date; same
for perl. If Jordan doesn't have "setup" (written in tcl) ready for 3.0,
then tcl will be yanked prior to the 3.0 release (and made into a port).
   As for the ports tree only supporting the last FreeBSD release, this seems
sensible to me. The "ports" have always been a moving target between releases
and the problem is only going to get worse when we expand to supporting other
processor architectures. In any case, Satoshi is and always has been in charge
of the ports tree and whatever he wants to do with it (within reason :-)) is
his decision.
   Does this cover the issue completely? I admit to deleting messages in this
thread with unusual fervor (people have FAR too much time on their hands!).
There's a fair bit of reasoning behind the above, but since everyone is sick
of arguing about this, I'll spare you the analysis.

-DG

David Greenman
Core-team/Principal Architect, The FreeBSD Project
1998-09-05 12:25:55 +00:00
John Birrell
fed060ba0a Change MACHINE to MACHINE_ARCH when testing for i386 to support
MACHINE=pc98.

There are a lot unsupported machines here.
1998-09-05 08:35:53 +00:00
John Birrell
ae59c2591e Use INT_MAX instead of LONG_MAX since the variable being compared
is an int, not a long.
1998-09-05 08:01:26 +00:00
John Birrell
9b801a0d86 Change a test for NETBSD_SYSCALLS to __alpha__. We're not ready to
do profiling on alpha yet.
1998-09-05 07:57:43 +00:00
John Birrell
683728f17d Change the profile data file name from gmon.out to progname.gmon
where progname comes from __progname in crt0 or crt1.
1998-09-05 07:56:36 +00:00
Bruce Evans
ac648592d9 Keep build-tools objects separate from `all' objects so that my
cross-builds work.
1998-09-02 15:22:11 +00:00
Bruce Evans
cb997c9220 Fixed the elf case of the creation of the libcrypt.so -> libscrypt->so
link.  Shared libraries are in ${SHLIBDIR}, not necessarily in ${LIBDIR}.
1998-09-02 15:09:15 +00:00
Bruce Evans
0f09aefa00 csu must be built before all shared libaries for ELF, since ELF shared
libraries are linked to at least crti.o.  Always build it first.
1998-09-02 15:02:18 +00:00
John Polstra
cb690d1f0b Implement the weak aliases for private entry points in the inet_*
and res_* modules in a way that works for ELF.  I moved the aliases
out of res_stubs.c and into the individual modules where the entry
points are defined.  Weak aliases don't work in ELF unless that is
the case.  (Actually, I'm surprised it worked for a.out.)

This should fix the undefined "inet_addr" and related symbols in
various applications that fail to include <arpa/inet.h> or
<resolv.h> as they are supposed to do.
1998-09-02 00:53:17 +00:00
Wolfram Schneider
acd8019083 Sort cross references. 1998-08-31 16:41:09 +00:00
Brian Somers
7100135f12 Remove OpenBSD build support - let the Makefile vary per
OS rather than making it a mess and potentially screwing
up cross builds.
Suggested by: bde

Add Id keyword.
1998-08-31 12:14:30 +00:00
Brian Somers
e8ede338eb Add OpenBSD build support 1998-08-30 23:53:25 +00:00
Mark Murray
0be70b48dd While I am no longer making a shared library, it is a good plan to nuke
the old ones to prevent ld picking it up spuriously.
1998-08-30 13:07:16 +00:00
John Birrell
839de40e6e BINFORMAT -> OBJFORMAT ready for E-day. 1998-08-30 02:52:04 +00:00
John Birrell
8deb7ff0b0 BINFORMAT -> OBJFORMAT ready for E-day. 1998-08-30 01:57:55 +00:00
Mark Murray
2c6110f682 Stop making a shared library for libtelnet. This should have happened
a long time ago.
1998-08-29 20:23:14 +00:00
Joseph Koshy
1380f780e0 Typo fix. 1998-08-28 04:36:21 +00:00
Robert Nordier
b131044669 Add support for reading directories as files.
Sort out fs_ops, alloc/free.
1998-08-27 10:45:20 +00:00
John Birrell
5f867deba5 Don't automatically restart syscalls for the signals that the thread
kernel needs.
1998-08-26 20:55:31 +00:00
John Birrell
353a159590 Back out most of the last commit. It created problems with sigpause. 1998-08-26 20:50:42 +00:00
John Birrell
4591e62dc7 Test program for sigwait.
Submitted by: Daniel M. Eischen <eischen@vigrid.com>
1998-08-25 12:35:16 +00:00
John Birrell
ad8f637466 Add support for building test programs. 1998-08-25 12:33:22 +00:00
John Birrell
42f37683ee Fix for sigwait problem.
Submitted by: Daniel M. Eischen <eischen@vigrid.com>
PR:           misc/7039
1998-08-25 11:19:14 +00:00
Doug Rabson
c2ac238c40 The length argument to sysctl is now size_t. 1998-08-25 07:52:33 +00:00
Bruce Evans
8d95788ee7 Fixed syntax errors (__dead should have gone away years ago, and
__attribute__(()) is a gccism - we use __dead2).
1998-08-24 02:54:33 +00:00
Steve Price
93bb6f1172 Describe what constitues an exceptional condition.
PR:		7666
Submitted by:	Archie Cobbs <archie@whistle.com>
1998-08-24 01:09:34 +00:00
Gary Palmer
253ab58f6f Nuke unsupported architecture files 1998-08-22 14:34:59 +00:00
Gary Palmer
d78dcde236 Building `compat' on alpha is meaningless (they are i386 libraries) 1998-08-22 14:31:39 +00:00
John Birrell
34c91739be Remove the bootstrap hack that prevented the use of the rtld. 1998-08-20 21:37:22 +00:00
Mike Smith
a8d0d4d632 Add libstand. 1998-08-20 08:24:07 +00:00
Mike Smith
b07983d9ab Install libstand header <stand.h> and manpage (libstand.3) 1998-08-20 08:23:12 +00:00
Mike Smith
6b4f575cb1 This is libstand; a support library for standalone executables (eg. bootstrap
modules).
Obtained from: NetBSD, with some architectural changes and many additions.
1998-08-20 08:19:55 +00:00
Andrey A. Chernov
9e466b2091 do not include private copy of bpf.h - it leads to dangerous mismatch
of kernel/user bpf interface - include updated /sys/net/bpf.h instead
1998-08-18 10:29:37 +00:00
Bruce Evans
90152d9d21 Made this actually work when there's an object directory:
- replaced bogus dependencies of distribution sources on generated
  sources by the same ones that bsd.lib.mk would generate if it knew
  all the sources.  We shoot ourself in the foot by not naming the
  generated (included) sources *.h, so we can just put the generated
  sources in SRCS.
- replaced -I${.CURDIR} by `-I.'.  Here `.' is an alias for ${.OBJDIR}.
  -I${.CURDIR} didn't do anything, since ${.CURDIR} is the default in
  all cases here (it would be necessary for ""-style includes made from
  sources in ${.OBJDIR}.

Don't use `+=' for setting CLEANFILES for the first time.

Added $Id$.
1998-08-17 20:39:09 +00:00
Dag-Erling Smørgrav
163074e1ca Cross my fingers and enable libfetch. 1998-08-17 09:32:07 +00:00
Dag-Erling Smørgrav
ecc9135299 Commit a bunch of patches that have been accumulating:
- Fix the README to reflect the new status of the ftp code.
 - Change tons of 'if (xxx < 0)' to 'if (xxx == -1)'
 - Add two new interface functions
 - Fix the Makefile so it actually works (yay!)

Now the manpage is lagging even further behind... :( Next on the todo
list is to clean up the http code.
1998-08-17 09:30:19 +00:00
Doug Rabson
744857bc1c Update to use the new elf headers. 1998-08-17 08:47:19 +00:00
John Birrell
b4869285da Remove support for NetBSD syscalls. 1998-08-17 03:46:10 +00:00
John Birrell
4f27f01e1d Remove the comment about how to get NetBSD syscalls since there are
now programs built on alpha that _must_ use FreeBSD syscalls to work.
1998-08-17 03:35:09 +00:00
Poul-Henning Kamp
38a0ff129f Add missing #include of <sys.types.h> 1998-08-15 20:53:34 +00:00
Poul-Henning Kamp
7a55a3c230 I have added the support for BIG5 encoding into libc/libxpg4/mklocale.
the diff is attached below. This is done on the 3.0 source-tree.
I have test this on 2.2-stable before, but I don't have a 3.0 machine
right now.

This patch is mainly to make libc support BIG5 encoding, thus add
zh_TW.BIG5 locale to 3.0.

Submitted by:	Chen Hsiung Chan <frankch@waru.life.nthu.edu.tw>
1998-08-15 12:51:49 +00:00
John Birrell
18381dac5f Build libkvm on alpha too. 1998-08-15 12:36:42 +00:00
Doug Rabson
36fe61fe12 Add an alpha machdep for kvm. The vatop functions are stubbed out for
now (mainly because I haven't ported them from the NetBSD crash dump
environment).

Obtained from: NetBSD
1998-08-15 12:12:22 +00:00
John Birrell
f68e5c78bb Make the locally built and executed build tools in this directory
static to avoid them trying to use shared libraries before we're
ready. During the initial elf buildworld, the shared loader only
exists in the obj tree, so it can't be used.
1998-08-15 07:15:51 +00:00
John Polstra
d89bd1ac0f Add missing initialization of the length variable passed to
getsockopt().  Use a separate variable for clarity, instead of
overloading an unrelated variable.
1998-08-12 20:29:29 +00:00
John Birrell
bbf157fac4 Add extra initialisation code that is required for processes that
are started instead of init (pid = 1). This allows an embedded
implementation quite like VxWorks, with (possibly) a single threaded
program running instead of init. The neat thing is that the same threaded
process can run in a multi-user workstation environment too.
1998-08-10 01:24:22 +00:00
John Birrell
57eec98d62 If using FreeBSD syscalls, handle the syscalls that don't require
default asm code the same way as on i386.
1998-08-08 02:25:46 +00:00
John Birrell
2a957ed7cc Include FreeBSD's syscall.h if not using NetBSD syscalls. 1998-08-08 02:24:03 +00:00
John Birrell
dc43d96540 Allow for the fact that NetBSD syscalls are no longer the default. Call
sigaltstack by default if using FreeBSD syscalls.
1998-08-08 02:20:24 +00:00
John Birrell
920ee4896e Make NetBSD compatibility conditional on NETBSD_SYSCALLS being defined.
This is no longer the default.
1998-08-08 02:18:07 +00:00
John Birrell
61020cc681 References to NetBSD syscalls changed to just a comment about what to
add to /etc/make.conf to use FreeBSD's libc with a NetBSD/Alpha kernel.

From now on, FreeBSD/Alpha is just FreeBSD.
1998-08-08 02:14:45 +00:00
John Polstra
757be9d291 Correct the description of skeyaccess(). It determines whether Unix
passwords are permitted, not whether S/Key passwords are permitted.

This manual page could use a good going over.
1998-08-05 23:42:10 +00:00
Bruce Evans
90afb6a523 Fixed bitrot in prototypes in synopsis. 1998-08-03 17:52:27 +00:00
Bruce Evans
30b854394a Changed prototype in synopsis to match prototype in <pthread.h>. 1998-08-03 16:54:51 +00:00
Bruce Evans
71101898e8 Fixed missing header in synopsis. 1998-08-03 16:29:31 +00:00
Bruce Evans
8023e3dd93 isnetworktty -> isnettty. ttyent.h has already gone through 3
revisions to match the confusing spelling in getttyent.c (1 to
break it to match the man page and 1 in each of 2 branches to fix
it).  This function seems to be orphaned and unused.
1998-08-03 15:35:41 +00:00
Alexander Langer
8ac3b85e63 The pthreads standard has been published. Change:
...is expected to conform to IEEE (``POSIX'') Std 1003.1c when it is
   published.
to:
   ...conforms to ISO/IEC 9945-1 ANSI/IEEE (``POSIX'') Std 1003.1 Second
   Edition 1996-07-12.

Discussed with:	jb
1998-08-03 00:58:37 +00:00
Alexander Langer
b4ff1b7295 A style fix for my previous commit. 1998-08-02 23:07:25 +00:00
Alexander Langer
27aa2e8958 Fixed a race condition during the first lock/trylock of a statically
initialized mutex.  Statically initialized mutexes are actually
initialized at first use (pthread_mutex_lock/pthread_mutex_trylock).
To prevent concurrent initialization by multiple threads, all
static initializations are now serialized by a spinlock.

Reviewed by:	jb
1998-08-02 17:04:25 +00:00
Bruce Evans
92f896a9cc Fixed printf format errors. 1998-08-02 14:41:34 +00:00
Poul-Henning Kamp
1fbdc08dfe I've put together man pages for the pthread_cleanup, pthread_cond, and
pthread_mutex routines. I've also tweaked pthread_create.3 to point to
pthread_cleanup_push(3) and pthread_cleanup_pop(3).

PR:		7450
Submitted by:	Brian Cully <shmit@kublai.com>
1998-07-31 09:09:19 +00:00
Andrey A. Chernov
9f3a9c3a18 Print uid/gid as u_long per bde suggestion 1998-07-29 14:05:01 +00:00
Bruce Evans
5b632b56e5 Fixed disordering in previous commit. 1998-07-29 13:43:06 +00:00
Tim Vanderhoek
542f2aacfa Add missing period. We don't allow maternity leaves. 1998-07-29 05:13:39 +00:00
Jonathan Lemon
525187f914 u_int --> unsigned int, remove (now unneeded) <sys/types.h> 1998-07-28 15:22:51 +00:00
Jonathan Lemon
8d0517cffd oops, forgot to do ``cvs add'' first. 1998-07-28 03:39:04 +00:00
Jonathan Lemon
f88a03565a Add wrappers for i386_*_ioperm, i386_vm86 so userland code does
not have to call sysarch() directly.
Added man pages for above, as well as sysarch()
1998-07-28 03:33:27 +00:00
Andrey A. Chernov
e8f9ae6c6e cast arg to (long) to match format 1998-07-28 01:30:16 +00:00
Andrey A. Chernov
dfb1b7aea6 Provide meaningful errno value on error return 1998-07-14 18:27:43 +00:00
Bruce Evans
37889b394a Changed to the C9x draft spelling of the (unsigned) integral type
suitable for holding object pointers (ptrint_t -> uintptr_t).
Added corresponding signed type (intptr_t).  Changed/added
corresponding non-C9x types for function pointers to match.  Don't
use nonstandard types to implement these types, and don't comment
on them in <machine/types.h>.
1998-07-14 05:09:48 +00:00
Dag-Erling Smørgrav
44bcb03a54 Forgot to remove base64.c from SRCS in the Makefile. 1998-07-12 22:37:45 +00:00
Dag-Erling Smørgrav
f62e5228fd Base64 code (and the MIT copyright) moved to http.c
FTP STORe and APPEnd added.
FTP proxy support added (untested).
1998-07-12 22:34:40 +00:00
Dag-Erling Smørgrav
346298f0de FTP retrieve works. 1998-07-11 21:29:08 +00:00
Dag-Erling Smørgrav
8e3986ea36 Too many changes to list. Basically, FTP is nearly there and error
reporting is kinda sorted out. Now HTTP needs to catch up...
1998-07-11 18:56:01 +00:00
Bruce Evans
930a642372 Oops, fptrint_t still needs to be declared in <machine/profile.h> in the
!KERNEL case.  The kludge to get it declared in libc/gmon/mcount.c wasn't
sufficient because fptrint_t is used in <sys/gmon.h>.
1998-07-10 09:26:41 +00:00
Bruce Evans
2e480d34aa Added a kernel-only typedef (ptrint_t) giving an integral type that is
least unsuitable for holding an object pointer.  This should have been
used to fix warnings about casts between pointers and ints on alphas.

Moved corresponding existing general typedef (fptrint_t) for function
pointers from the i386 <machine/profile.h> to a kernel-only typedef
in <machine/types.h>.  Kludged libc/gmon/mcount.c so that it can
still see this typedef.
1998-07-10 02:27:16 +00:00
Dag-Erling Smørgrav
4ca1ab9434 Imported libfetch into the tree. It compiles, but there's still some
work to do. I especially need help with the man page.
1998-07-09 16:52:44 +00:00
Joseph Koshy
2177df3cd2 Correct wording on range of addresses examined by `msync(2)'.
PR: 7180
1998-07-09 06:16:22 +00:00
Dmitrij Tejblum
9b003a4c74 Add lockf(). 1998-07-08 15:42:57 +00:00
Dmitrij Tejblum
abe2fe8a8b Make this look more FreeBSDish. 1998-07-08 15:38:06 +00:00
Dmitrij Tejblum
6975deff55 An implementation of lockf() function call.
Obtained from:	NetBSD (author: Klaus Klein)
1998-07-08 15:28:56 +00:00
Dmitrij Tejblum
f1f57565d4 This commit was generated by cvs2svn to compensate for changes in r37510,
which included commits to RCS files with non-trunk default branches.
1998-07-08 15:28:56 +00:00
Peter Wemm
64a965e707 Replace my original asprintf() and vasprintf() hacks with something
more cleanly integrated with stdio.  This should be faster and cleaner
since it doesn't memcpy() the data into a seperate buffer.  This lets
stdio allocate and manage the buffer and then hand it over to the user.

Obtained from: Todd Miller <Todd.Miller@courtesan.com> via OpenBSD
1998-07-08 00:44:56 +00:00
Bruce Evans
6d31e616a0 Added a `build-tools' target for internal tools. 1998-07-07 01:51:18 +00:00
Poul-Henning Kamp
8a507b98ab fts_close calls free(sp), the ISSET(FTS_NOCHDIR) which is a macro that
references sp. The free needs to follow ISSET

PR:		7148
Reviewed by:	phk
Submitted by:	Ken Mayer <kmayer@freegate.com>
1998-07-03 08:21:05 +00:00
Eivind Eklund
38cf631922 Cross-reference to sysconf(3). 1998-06-30 22:56:39 +00:00
Poul-Henning Kamp
35e6b695d6 Allow /dev/null as path for the "/dev/mem" file, and assume that people
know what they're doing if they do that.  This will allow ps to use
the kvm_proc.c bits without having access to /dev/mem.

Fix kvm_proc.c to not need /dev/mem for access to argv/envp
1998-06-30 21:29:44 +00:00
Bruce Evans
9f15c7ece5 Fixed printf format errors. 1998-06-30 18:06:23 +00:00
Bruce Evans
65a87ccc7c Fixed print format errors. 1998-06-30 18:03:05 +00:00
Bruce Evans
bcc58f6898 Fixed a printf format error. Didn't fix assumption that sigset_t is
integral.
1998-06-30 18:00:11 +00:00
Bruce Evans
a7f8e53079 Fixed printf format errors. 1998-06-30 17:30:22 +00:00
Bruce Evans
2a29b52b98 Fixed scanf format errors. The error handling is not quite bug for bug
compatible.  I think small negative uids are handled compatibly but
other out of bounds ones are truncated differently for certain sizes of
uid_t.
1998-06-30 17:21:48 +00:00
Bruce Evans
c6966b0c4a Fixed printf format errors. Don't assume so many things about time_t.
Obtained from:	partial merge of ADO version tzcode96h (was fully merged
                in 1.10 but backed out in 1.11; the FreeBSD code for %s
		was earlier, prettier but buggier).
1998-06-30 16:49:47 +00:00
Brian Somers
10d9142685 Fixes assorted problems with the history edit functions in libedit. This
affects sh, ftp (and others?).

Submitted by: Max Euston <meuston@jmrodgers.com>
PR:           6516
1998-06-27 16:10:40 +00:00
John Polstra
fd898ba100 Extend the existing hackery to set the disk type to SCSI for the
"da" and "od" devices.  Formerly ESDI was used for them, causing
problems for fresh installations of CAM systems.
1998-06-27 02:01:25 +00:00
Guido van Rooij
7d0cc08e7f Fix btree problems. This passes regressions tests.
PR:	7009
Obtained from: http://www.sleepycat.com/update/patch.185.html, patches 1.2,
		1.3 and 1.4
1998-06-25 18:50:06 +00:00
John Birrell
ff09ba5fbb Add the missing {} that caused the function to return ESRCH if it
had to wait for the thread to exit and if the caller didn't want the
thread exit status.
1998-06-25 00:04:21 +00:00
Brian Somers
0579bd7175 Add CUSEEME support. This has *not* been tested, nor
could I find anyone to test it, so please report any
problems to me.
1998-06-24 06:58:00 +00:00
Andrey A. Chernov
2ed2c53bd8 Fix keypad on/off for ^Z suspends by replacing reset_*_mode()
from libmytinfo
1998-06-19 16:12:41 +00:00
Andrey A. Chernov
7bc8e89840 Add check for non-NULL cur_term
Add #pragma weak for reset_*_mode() they will be replaced in libncurses
1998-06-19 16:09:20 +00:00
Peter Wemm
2f92c56cc3 preserve errno across the readlink() calls. There is no value in trashing
errno during a successful malloc() call.
1998-06-18 09:13:16 +00:00
John Birrell
b9148b8a3e Don't allow a SIGCHLD to wake up a thread if the process has the default
signal handler installed for SIGCHLD. The ACE MT_SOCK_Test was hanging
as the result of being interrupted when it didn't expect to be.
1998-06-17 22:29:12 +00:00
John Birrell
d989fc8faa If a thread is waiting on a child process to complete, the SIGCHLD
signal can arrive before the thread is woken from it's wait4. In this
case, don't return an EINTR, just set the thread state to running and
the wait4 wrapper will loop and get the exit status of the process.
1998-06-17 03:53:16 +00:00
Peter Wemm
02a93d74e0 Don't compile in the use of poll() when building libc_r. This isn't
so much a "fix", rather a bandaid to buy time to fix it properly
within the thread engine.
1998-06-14 11:25:46 +00:00
John Birrell
597035b4db If a short write, only loop if no error. 1998-06-14 09:36:14 +00:00
Bruce Evans
ef2e5f62e3 Document EINVAL return value. 1998-06-14 08:22:05 +00:00
Peter Wemm
21cd354328 Understand elf library naming rules for libtermlib alias.
Don't do the libtermcap un-bump hack for anything but a.out
1998-06-12 15:57:59 +00:00
Peter Wemm
f3f4b57ac9 Make nlist() understand elf unconditionally 1998-06-12 15:02:03 +00:00
John Birrell
0b99d9d8ac Add poll to the list of hidden syscalls so that it gets renamed. This
propagates a bug (that there is no poll wrapper in libc_r), but it
prevents GNU configure scripts from trying to use it in preference
to select. libc_r really needs to change it's wait interface to use
poll instead of select because poll is more a superset of select that
the other way around.

This should allow the Roxen web server to work out-of-the-box. It's
configuration intercae is kinda neat. The code isn't. Shiver. 8-)
1998-06-12 02:21:27 +00:00
John Birrell
06ca87e9f7 Update the caller's descriptor masks even if there are none ready for
I/O for those applications that don't believe the return value of zero as
meaning that THERE ARE *NO* DESCRIPTORS READY.
1998-06-12 02:17:18 +00:00
Peter Wemm
bdf905f07c Sigh, mkdep doesn't know about all the CFLAGS to pass during depend
generation.
1998-06-11 10:39:32 +00:00
Peter Wemm
ff55f42545 Remove components that would duplicate those in libc now that the
includes and interfaces have been merged with the 8.1.2 update.

This essentially leaves the isc/* files that named and named-xfer use.
It might be best to just compile them with .PATH in both cases rather than
bothering with libbind.
1998-06-11 09:06:54 +00:00
Peter Wemm
14b93edab3 Update the resolver parts to bind-8.1.2 level. I have not touched the
getXXXXbyYYYY() interfaces yet.

Obtained from: diff relative to bind-8.1.2 sources
1998-06-11 09:03:02 +00:00
John Birrell
8eb25828ad Check the access mode in the flags before waiting on a read or a write
that might never be possible if the file was not opened in the corrent
mode. This prevents a hang for bad programs. Why do people code like that?
1998-06-10 22:28:45 +00:00
John Birrell
aef774b0d5 Remove SA_RESTART from the signal dispatch in user-space since this
seems to be tripping up a lot of applications.
1998-06-10 22:25:18 +00:00
John Birrell
3c165ef7b7 When doing a F_SETFL, read the flags back so that the ones stored
in the file descriptor table are exactly what the kernel knows subject
to the O_NONBLOCK flag being requested by the user.
1998-06-10 22:24:12 +00:00
John Polstra
63b7c21cc3 Move ftok() from libcompat to libc, so that it can be closer to its
friend shmget().

PR:		closes misc/6763
1998-06-10 16:20:21 +00:00
Daniel O'Callaghan
9b0662e646 Fix grammar, "null" -> "NUL" 1998-06-10 12:37:45 +00:00
Poul-Henning Kamp
1499abeef4 Spelling fixes.
PR:		6903
Reviewed by:	phk
Submitted by:	Josh Gilliam <josh@quick.net>
1998-06-10 12:34:27 +00:00
John Polstra
363e8996d7 This is a null commit to log the fact that I have done a repository
copy to bring these files into libc from libcompat.  I will enable
them and kill off the libcompat versions on the main branch soon.

PR:		step one toward closing misc/6763
1998-06-10 04:24:21 +00:00
Brian Somers
dfcb634be3 Quieten gcc 2.8.1 1998-06-10 00:26:19 +00:00
Brian Somers
6c78a7b0e8 Cast pid_t to int for sprintf.
Pointed out by: Charlie Sorsby <crs@hgo.net>
1998-06-10 00:16:28 +00:00
John Birrell
627961e45f Add a commented out CFLAGS entry that can be uncommented to compile thread
lock debug into libc_r. I don't know if this is the best place to document
this, but at least it is recorded somewhere. 8-)
1998-06-09 23:25:13 +00:00
John Birrell
ddc8afd422 Implement compile time debug support instead of tracking file name and
line number every time a file descriptor is locked.

This looks like a big change but it isn't. It should reduce the size
of libc_r and make it run slightly faster.
1998-06-09 23:21:05 +00:00
John Birrell
a675022188 Add compile time debug instead of doing this all the time. Reduce the
time that a thread keeps the file descriptor table locked. In particular,
perform malloc/free calls outside the lock and handle the situation
where two threads can race to initialise the table entry for the same
file descriptor.
1998-06-09 23:16:53 +00:00
John Birrell
3411c10600 Add support for compile time debug. This is enabled if libc_r is built
with -D_LOCK_DEBUG. This adds the file name and line number to each lock
call and these are stored in the spinlock structure. When using debug
mode, the lock function will check if the thread is trying to lock
something it has already locked. This is not supposed to happen because
the lock will be freed too early.

Without lock debug, libc_r should be smaller and slightly faster.
1998-06-09 23:13:10 +00:00
John Birrell
74ebed9424 POSIX says that pthread_exit() is not allowed to be called from a
cleanup destructor, so trap this case to prevent me from being being
burnt again by applications that try to do this. With this change, an
application (like one using a mis-configured ACE) will exit the process
after displaying a message quoting the POSIX section that the application
has violated.
1998-06-09 23:08:41 +00:00
John Birrell
27949f44dc Add compile time thread lock debug support.
Add a thread specific flag to trap the case where pthread_exit() is
called from a destructor in violation of the Posix standard.
1998-06-09 23:02:43 +00:00
John Birrell
4bc711423a Remove __NETBSD_SYSCALLS from CFLAGS now that it is set in sys.mk. 1998-06-09 22:59:16 +00:00
John Birrell
0b0ae157f8 Rename calls when building libc_r. 1998-06-09 22:57:34 +00:00
John Birrell
f4086bc0cb Make this thread-safe in both libc as well as libc_r. 1998-06-09 22:56:24 +00:00
John Birrell
9e0370f742 Rename when building libc_r. 1998-06-09 22:45:39 +00:00
John Birrell
929140ffab Add rename support for libc_r. 1998-06-09 22:43:34 +00:00
Bill Paul
55e07e869f Fix potential resource leak: when call to des_crypt_1() fails, remember
to destroy the RPC CLIENT handle before returning.
1998-06-09 17:38:33 +00:00
John Birrell
6fe173c87b Implement compile time thread lock debug. 1998-06-09 08:37:35 +00:00
John Birrell
bc99dd746b Rename fstat as _thread_sys_fstat if being built into libc_r. 1998-06-09 08:35:42 +00:00
John Birrell
3b6533a024 Implement thread support for libc_r. Make the lseek syscall directly
to avoid recursive locking.
1998-06-09 08:34:35 +00:00
John Birrell
86af3ff9b0 Implement compile time debug mode for thread locks. 1998-06-09 08:32:23 +00:00
John Birrell
3d853e107e Add support for thread lock debug. No impact of the malloc code. 1998-06-09 08:30:32 +00:00
John Birrell
f374bfcd3c Implement compile time debug support for spinlocks.
Simplify the atomic lock prototype, removing the lock value.

Delete the unlock prototypes that are not required.
1998-06-09 08:28:49 +00:00
John Birrell
7d24d0302f Delete the atomic unlock function since it is no longer required.
Simplify the atomic lock to just write a value of 1 to the lock instead
of taking the value passed by the caller (which just confused things).
1998-06-09 08:25:41 +00:00
John Birrell
3dcb4f7556 Atomic lock asm code for the alpha version of libc_r. 1998-06-09 08:21:55 +00:00
Brian Somers
b5ce85fe32 Don't call PunchFWHole() ifdef NO_FW_PUNCH
Pointed out by: "Steve Sims" <SimsS@IBM.Net>
1998-06-06 21:52:37 +00:00
Steve Price
e110cb41dd Fix this so that it compiles in the !__STDC__ case.
Also be consistent about usage of #if ...

Pointed out by:	bde
1998-06-06 18:52:43 +00:00
John Birrell
2d8a580416 Add a warning message for a thread locking against itself. This is
not supposed to happen, but I have seen bogus g++ code that causes
it.
1998-06-06 07:27:06 +00:00
John Birrell
c6831395f4 Simplify the handling of thread specific data. Only track if a key
is allocated or not, rather than keeping a count and attempting to
know it it is in-use. POSIX says that once a key is deleted, using the
key again results in undefined behaviour.
1998-06-06 07:24:24 +00:00
John Birrell
c359f976b4 Re-design the thread specific key structure. 1998-06-06 07:20:23 +00:00
John Birrell
717d1611f4 I got the last commit back to front. 1998-06-06 07:02:27 +00:00
Joseph Koshy
9c727d2ca9 Spelling corrections.
PR: 6868
Submitted by: Josh Gilliam <josh@quick.net>
1998-06-06 05:50:53 +00:00
Joseph Koshy
aae2142e5f Spelling nits.
Pointed out by: Sue Blake <sue@welearn.com.au>
1998-06-06 04:56:13 +00:00
John Birrell
756534d117 Fix the signal behaviour for internal states which set the thread
state to running despite the SA_RESTART flag which is really just for
syscalls.
1998-06-05 23:31:55 +00:00
Andrey A. Chernov
0ea569ff6f Fix handling more than 1 char with non-C locale
Misc. cleanup
PR: 6825
Submitted by: Sergey Gershtein <sg@mplik.ru>
1998-06-05 09:49:51 +00:00
Joseph Koshy
5239c0a5dd Mention that tftpd(8) also uses syslog(3). 1998-06-05 09:20:19 +00:00
Andrey A. Chernov
15af1c9b5d Add missing uu_lock_txfr() prototype 1998-06-05 08:21:33 +00:00
Steve Price
32c2131395 Fix a bunch of spelling errors.
PR:		6856
Submitted by:	Josh Gilliam <josh@quick.net>
1998-06-04 21:06:07 +00:00
John Birrell
346406cd60 No longer need the architecture specific include from libc now that
NetBSD syscalls are defined in sys.mk if they are being used.
1998-06-03 08:55:20 +00:00
John Birrell
ac4898ab0d If using NetBSD syscalls the rtprio syscall doesn't exist, so just
don't try to use it to set special priorities.
1998-06-03 08:12:00 +00:00
Joseph Koshy
70e8940332 Correct wrong claim about `telldir()' cookie lifetimes.
PR: 4043
Submitted by: Joe Orthoefer <j_orthoefer@tia.net>
1998-06-03 06:54:24 +00:00
Mike Smith
d4a7e4ca5d Add a trivial mechanism for returning a useful default value if one is
available and the kernel MIB setting is zero.

Return the result from getpagesize() if the p1003_1b.pagesize MIB
value is zero.

Suggested by:		Joerg Schilling <schilling@fokus.gmd.de>
1998-06-01 20:58:03 +00:00
Atsushi Murai
89caae2932 Trim a domain part for wtmp as same as showed by "netstat -r".
Here is a some example for avoiding a confusion.

 It asssumes a logged host domain is "spec.co.jp". All
example is longer than UT_HOSTNAMELEN value.

   1) turbo.tama.spec.co.jp: 192.19.0.2  -> trubo.tama
   2) turbo.tama.foo.co.jp : 192.19.0.2  -> 192.19.0.2
   3) specgw.spec.co.jp    : 202.32.13.1 -> specgw

Submitted by:	Atsushi Murai <amurai@spec.co.jp>
1998-06-01 08:47:04 +00:00
John Birrell
fca35cd32f I shouldn't do things early in the morning.
I shouldn't do things early in the morning.
[...]
I shouldn't do things early in the morning.
1998-06-01 02:14:34 +00:00
John Birrell
23c82db7a3 send and recv are wrappered in libc, so they shouldn't appear here. 1998-06-01 02:12:15 +00:00
John Birrell
8680cc3c47 Remove some syscalls that should have been renamed (libc_r doesn't need
to wrapper them) and add a couple that should have been there.
1998-05-31 23:53:50 +00:00
John Birrell
382306949d Add some missing syscall wrappers. 1998-05-31 23:48:30 +00:00
John Birrell
5d359b97bb Remove some stale code.
Pointed out by: Amancio
1998-05-31 23:47:06 +00:00
John Birrell
d972680a31 Don't restart a syscall when a SIGCHLD is received by a thread waiting
on a child process.
1998-05-31 23:46:01 +00:00
Steve Price
c3572d2769 Allow this to include from C++ programs.
PR:		2382
Submitted by:	Peter Jeremy <perer.jeremy@alcatel.com.au>
1998-05-31 20:12:06 +00:00
Bruce Evans
67b780b03b Fixed double slashes in pathnames. 1998-05-31 11:32:38 +00:00
Steve Price
3f58cad638 Several sources including Unix98 say that semctl's fourth
parameter is optional except where:
	cmd == {IPC_SET || IPC_STAT || GETALL || SETVAL || SETALL}

PR:		2448
Reviewed by:	bde
Submitted by:	Tim Singletary <tsingle@sunland.gsfc.nasa.gov>
Minor tweaks by: steve
1998-05-31 04:09:09 +00:00
Steve Price
5b32180784 Remove references to getvfsbytype. Also remove getvfsbyname
as it has its own manpage.

Discussed with:	bde
1998-05-30 18:20:37 +00:00
Brian Somers
46cf264a26 Add uu_lock_txfr() to transfer ownership of a successful
uu_lock() to another process.
1998-05-28 23:17:09 +00:00
Peter Wemm
c4a04f5540 Turn on the rcsid storage so that it's easier to tell the difference
between libscrypt.a and libdescrypt.a
1998-05-28 12:52:03 +00:00
Peter Wemm
c932f88612 If building and installing libdescrypt, do it first so that the symlinks
point to it rather than libscrypt.

This was how it was done prior to libscrypt being added in.  This should
stop more people getting burnt with the /usr/lib -> /usr/lib/aout
transition, and the same when the ELF libs come online.
1998-05-27 18:42:36 +00:00
Jordan K. Hubbard
3081c7cd68 Don't use absolute path.
Submitted by:	jhay
1998-05-27 07:39:05 +00:00
John Birrell
01029f8f17 Make a copy of the caller's iovec array, mallocing if necessary,
and modify that if the writev() syscall does not completely write
all bytes in a single call.
1998-05-27 00:44:58 +00:00
John Birrell
b46dfe97ae Remove error check from call to set the file descriptor to non-blocking
instead of explicitly ignoring some errors. This allows for the case
where a device is naturally non-blocking.
1998-05-27 00:41:22 +00:00
Søren Schmidt
cabb97dcbf ELF preparation step 2:
Move a.out libraries to /usr/lib/aout to make space for ELF libs.
Make rtld usr /usr/lib/aout as default library path.
Make ldconfig reject /usr/lib as an a.out library path.
Fix various Makefiles for LIBDIR!=/usr/lib breakage.

This will after a make world & reboot give a system that no
longer uses /usr/lib/*, infact one could remove all the old
libraries there, they are not used anymore.

We are getting close to an ELF make world, but I'll let this
all settle for a week or two...
1998-05-26 20:12:56 +00:00
Steve Price
14d8151513 Remove a couple style bugs from the code snippet that
slipped in on the previous commit.

Submitted by:	bde
1998-05-26 02:53:06 +00:00
John Birrell
e5a8a007e1 When doing a blocking write, keep looping until all the bytes are
written without returning to the caller. This only occurs on pipes
where either the number of bytes written is greater than the pipe
buffer or if there is insufficient space in the pipe buffer because the
reader is reading slower than the writer is writing.
1998-05-25 21:45:52 +00:00
Steve Price
de285a13cc Update code example to reflect current practice. 1998-05-25 21:42:51 +00:00
Steve Price
e172f0e587 Allow setting of idle or realtime processing priorities per
login class.

PR:		6636
Submitted by:	Jason Young <doogie@forbidden-donut.anet-stl.com>
1998-05-25 03:55:23 +00:00
Atsushi Murai
fb9cd36d0d Primary verison of NetBIOS over TCP/IP. Now you can connect Windows
DOMAIN as DOMAIN user through NAT function. See also RFC1002 for
futher detail of SMB structure.

Submitted by:	Atsushi Murai <amurai@spec.co.jp>
1998-05-24 03:03:10 +00:00
Bill Paul
65923d6bff The incorrect select() timeout calculation that I fixed in svc_tcp.c
also exists here (the timeout can expire much sooner than it's supposed
to).
1998-05-21 15:22:39 +00:00
Bill Paul
1ce4aec2b4 Change the sanity test here. It's not correct to assume that the record
size we receive here should fit into the receive buffer. Unfortunately,
there's no 100% foolproof way to distinguish a ridiculously large record
size that a client actually meant to send us from a ridiculously large
record size that was sent as a spoof attempt.

The one value that we can positively identify as bogus is zero. A
zero-sized record makes absolutely no sense, and sending an endless
supply of zeroes will cause the server to loop forever trying to
fill its receive buffer.

Note that the changes made to readtcp() make it okay to revert this
sanity test since the deadlock case where a client can keep the server
occupied forever in the readtcp() select() loop can't happen anymore.
This solution is not ideal, but is relatively easy to implement. The
ideal solution would be to re-arrange the way dispatching is handled
so that the select() loop in readtcp() can be eliminated, but this is
difficult to implement. I do plan to implement the complete solution
eventually but in the meantime I don't want to leave the RPC library
totally vulnerable.

That you very much Sun, may I have another.
1998-05-20 15:56:11 +00:00
David E. O'Brien
7863f660a2 Add new NetBSD FFS with FDISK partition ID 0xa9
Obtained from:	Frank van der Linden <frank@wins.uva.nl>
1998-05-19 11:15:44 +00:00
Bill Paul
0a11c79d42 Toss publickey.c in the attic and remove it from the Makefile.
If we have it in libc, we don't need it here.
1998-05-18 21:59:53 +00:00
Bill Paul
14afd12e8c Replace the getpublickey() stub with the real thing. 1998-05-18 21:59:15 +00:00
Bill Paul
a6e95b4420 Improve DoS avoidance in RPC stream oriented transports. The TCP transport
uses readtcp() to gather data from the network; readtcp() uses select(),
with a timeout of 35 seconds. The problem with this is that if you
connect to a TCP server, send two bytes of data, then just pause, the
server will remain blocked in readtcp() for up to 35 seconds, which is
sort of a long time. If you keep doing this every 35 seconds, you can
keep the server occupied indefinitely.

To fix this, I modified readtcp() (and its cousin, readunix() in svc_unix.c)
to monitor all service transport handles instead of just the current socket.
This allows the server to keep handling new connections that arrive while
readtcp() is running. This prevents one client from potentially monopolizing
a server.

Also, while I was here, I fixed a bug in the timeout calculations. Someone
attempted to adjust the timeout so that if select() returned EINTR and the
loop was restarted, the timeout would be reduced so that rather than waiting
for another 35 seconds, you could never wait for more than 35 seconds total.
Unfortunately, the calculation was wrong, and the timeout could expire much
sooner than 35 seconds.
1998-05-18 16:12:13 +00:00
Joseph Koshy
53e85f8664 Add warning about interaction of S/Key and login(1) for users without S/Key
passwords attempting to invoke login(1) on a pty.

PR: 3289
1998-05-18 09:36:31 +00:00
John Birrell
307253bb9f This library builds from libc source, so it also needs to know what
syscall style libc is using otherwise the library can contain calls
(like issetugid) that you don't find out until you build X programs.
1998-05-18 04:41:07 +00:00
Joseph Koshy
c38eceafa4 kill.1: Remove reference to obsolete sigvec(2) man page. Removed
self reference in sigaction(2) man page.

Submitted by: Josh Gilliam <josh@quick.net>
PR: 6617
1998-05-18 03:33:11 +00:00
Bill Paul
a9352e90f0 Patch RPC library to avoid possible denial of service attacks as described
recently in BUGTRAQ. The set_input_fragment() routine in the XDR record
marking code blindly trusts that the first two bytes it sees will in fact
be an actual record header and that the specified size will be sane. In
fact, if you just telnet to a listening port of an RPC service and send a
few carriage returns, set_input_fragment() will obtain a ridiculously large
record size and sit there for a long time trying to read from the network.

A sanity test is required: if the record size is larger than the receive
buffer, punt.
1998-05-15 22:57:31 +00:00
Bill Paul
9c69f26836 Patch RPC library to avoid possible denial of service attacks as described
recently in BUGTRAQ. If a stream oriented transport fails to properly decode
an RPC message header structure where there should be one, it should mark
the stream as dead so that the connection will be dropped.
1998-05-15 22:53:47 +00:00
Andrey A. Chernov
59fcc4ce0f Low level use of 'vidattr()' can cause a NULL pointer to be
dereferenced.  This is because 'SP' is only initialized via 'newterm()'
(which is not required if you are going to interact with the 'terminfo'
database without using 'ncurses').

PR: 6648
Submitted by: Max Euston <meuston@jmrodgers.com>
1998-05-15 21:35:53 +00:00
David E. O'Brien
361854f773 Change an arbitarly hardcoded `10' to MAX_NO_DISKS, which is currently "20".
Otherwise can't see sd10 (obtained using wired down sd unit numbers),
reguardless of the number of actual disks you have.
1998-05-15 21:17:01 +00:00
John Birrell
4bf15af17e Remove a big hack after adding a small one to libc/gen/getcwd.c to
handle the lack of __getcwd syscall in NetBSD.
1998-05-15 12:01:06 +00:00
John Birrell
efda37108b NetBSD doesn't have a __getcwd syscall, so set have__getcwd to `no'
when building libc with NetBSD syscalls.
1998-05-15 11:59:00 +00:00
John Birrell
cfc1614a48 int -> long changes that reduce the diffs with the NetBSD version to
work in a 64-bit environment.
1998-05-14 21:45:18 +00:00
Andrey A. Chernov
01929df9e0 Remove reference to signanosleep 1998-05-14 14:39:58 +00:00
Peter Wemm
f202e67dfe Nuke signanosleep() 1998-05-14 11:36:16 +00:00
John Birrell
d788c4fb65 libtcl now builds (with lots of pointer to int cast warnings) on alpha. 1998-05-13 22:54:03 +00:00
John Birrell
ae43c7299f Make -Werror i386 specific because gcc with -nostdinc on alpha belches
warnings about static inline functions that cause the build to fail.

And for some reason, alpha needs MD5. Find that out later!
1998-05-11 09:15:03 +00:00
John Birrell
9a6a1cbee4 Cast a pointer to a long, not an int and make the arg passed to the function
a long too (it does have a proper prototype).
1998-05-11 09:10:38 +00:00
John Birrell
36af80b1a0 Remove a 'const' because it was getting thrown away anyway. 1998-05-10 23:48:18 +00:00
John Birrell
43f3c8ed20 There is no alpha asm code like on i386, so all the functions that
the i386 builds with a __generic prefix need to have that stripped.
1998-05-10 23:46:01 +00:00
John Birrell
adaa81ba92 Cast a pointer to a long, not an int before masking it. 1998-05-10 21:22:47 +00:00
John Birrell
cc4473c104 Remove 'of type long' from a sentence talking about four 4-byte values
because that is wrong on alpha.
1998-05-10 21:21:01 +00:00
Bruce Evans
881b7b471b Fixed the usual missing dependencies on headers generated by rpcgen. 1998-05-10 15:54:22 +00:00
Bruce Evans
ee4b699da3 Fixed the usual missing dependencies on headers generated by rpcgen.
Use rpcgen's -C option, although using it for non-headers breaks K&R
support.  A local copy of yp.h is built to avoid adding
-I/usr/include/rpcsvc to CFLAGS.  This version of yp.h differed from
<rpcsvc/yp.h> only in not declaring prototypes.

Fixed style bugs.
1998-05-09 15:10:53 +00:00
Brian Somers
ec791cadb1 Add a BUGS section and describe a problem I've been having for
a few weeks now.
1998-05-09 14:45:06 +00:00
Bruce Evans
55554ef2c3 Simplified by using new yacc rules. 1998-05-08 06:43:07 +00:00
John Birrell
184fcab826 This is a hack to workaround source that is coded to use long variables
but also assumes that they are 32-bits. This is one place where I don't
think it is appropriate to change 'long' to 'int'. I don't see why the
code couldn't be fixed so that using natural long variables does the
right thing. It's spaggetti code so it'll take some effort. Obviously
NetBSD thought so too because they change 'long' to 'int32_t' etc
and left it at that. As a temporary measure FreeBSD/Alpha can use the
NetBSD code and put this on the list of things to fix.
1998-05-08 05:41:57 +00:00
John Birrell
f9a8e5fafb Remote the NetBSD kludge for vfprintf.c 1998-05-08 05:17:11 +00:00
John Birrell
77af5d1ac8 Don't assign the va_list variable 'ap' directly to the argtable because
va_list is not a pointer on alpha. Instead, use the va_arg() macro
to return the address that is stored in the argtable.
1998-05-08 05:10:32 +00:00
John Birrell
b2dd537249 Use the thread-aware errno definition all the time. 1998-05-05 22:07:02 +00:00
John Birrell
75831c5b8f Build the syscalls (in libc, not libc_r) with weak symbols so that
libpthread can override them as required.
1998-05-05 22:06:16 +00:00
John Birrell
e659da100d Remove extern int errno and #include <errno.h> to get the proper definition. 1998-05-05 22:04:13 +00:00
John Birrell
e095485cdb Remove leading underscores from the FILE lock functions that POSIX
specifies.
1998-05-05 22:02:29 +00:00
John Birrell
4c717fd74d Remove leading underscores for the functions (weak symbols here) that
POSIX defines.
1998-05-05 21:56:42 +00:00
John Birrell
ffa54cc6bb The __set_ospeed() function is coded against the speed_t type declared
in termios.h, but it's prototype in termcap.h and the main file use
the underlying definition (which is now an int, not a long for
compatibility with NetBSD). Really termcap.h should use speed_t too,
but I guess that this might break sources that don't include termios.h
first.
1998-05-05 21:54:26 +00:00
John Birrell
9839f9695a Treat the lock value as volatile. 1998-05-05 21:47:58 +00:00
John Birrell
f1daac6f22 In a threaded library, expect the lock field to be declared volatile,
so provide function prototypes that respect that, avoiding a gcc
warning that `volatile' is being thrown away.
1998-05-05 21:46:30 +00:00
Robert Nordier
a55fccb456 Fix a few nits in quoted code fragments and elsewhere. 1998-05-04 23:16:50 +00:00
John Birrell
ec7fa2a51e Force BOOTSTRAP mode all the time while the headers are broken on alpha
as the result of i386 changes.
1998-05-04 02:06:09 +00:00
James Raynard
c52c933ddd Typo fixes 1998-05-03 22:59:47 +00:00
James Raynard
b92f77cae9 Typo fix. 1998-05-03 22:50:14 +00:00
James Raynard
66c15901aa Pedantry (NULL -> NUL). 1998-05-03 22:42:45 +00:00
James Raynard
e6488a0f2f Don't imply sigset_t == int. 1998-05-03 22:27:29 +00:00
Peter Wemm
8e3465ed9f Add libbind 1998-05-03 05:06:13 +00:00
Peter Wemm
17ee1b4919 Build libbind for named and friends (not installed in /usr/lib) 1998-05-03 05:04:21 +00:00
Peter Wemm
9e39714518 Resolve some unexpected differences when comparing with the 2.2 version.
One bug was relatively harmless (select's timeout had an uninitialized
tv_usec), the other I'm not so sure.. (neglected to catch select returns
less than zero).  Both of these were irrelevant on kernels with poll().
1998-05-02 15:51:54 +00:00
Peter Wemm
c8d2fd6da8 Update libc dns code to 4.9.7-T1B level. This involved chopping out large
chunks of res_comp.c and replacing it with chunks of bind-8.1.1's resolver
code.  (There are no interface changes though)
The other parts are better bounds checking related.
1998-05-02 13:11:02 +00:00
John Birrell
b1ad8d9155 Cleanup in the child, not the parent.
Submitted by: Tor Egge <Tor.Egge@idi.ntnu.no>
1998-05-02 03:42:20 +00:00
Brian Somers
8d41a9efa3 Go back to version 1.16 - it was correct the way it was.
Pointed out by:	bde
1998-05-01 19:41:12 +00:00
Bruce Evans
daf5eba573 Fixed disordering and other style bugs in rev.1.50. 1998-05-01 15:46:06 +00:00
Brian Somers
e79dc52bbf connect() returns -1 on error - not 0. 1998-05-01 01:16:39 +00:00
John Birrell
96efcebdfc Fix the incremental priority increment.
PR: bin/6467 Marino Ladavac <lada@pc8811.gud.siemens.at>
1998-04-30 21:50:29 +00:00
Andrey A. Chernov
d1793ae420 Add reference to setlocale(3) 1998-04-30 16:11:50 +00:00
Andrey A. Chernov
271632b02b Add reference to catopen(3) 1998-04-30 16:07:54 +00:00
Andrey A. Chernov
e3b0c2a695 Return -1 for invalid descriptor in catclose 1998-04-30 13:15:31 +00:00
Andrey A. Chernov
e97ef24c18 If passed catgets descriptor is NULL or -1, return default string immediately 1998-04-30 12:25:05 +00:00
Andrey A. Chernov
9ad256ad65 Force loadType to 0 1998-04-30 11:39:08 +00:00
Andrey A. Chernov
c897062234 Implement NL_CAT_LOCALE
Manpages cleanup
1998-04-30 11:06:12 +00:00
Andrey A. Chernov
1adba262d7 Prototypes/typedefs cleanup
Fix error return codes
1998-04-30 10:14:55 +00:00
John Birrell
9b7c9bc4f8 Oops, backout the previous change having confused my underscores.
__thread_create is a syscall that uses the default asm. It is
_thread_create that contains specific asm code, but that lives in
libpthread.
1998-04-30 10:02:44 +00:00
John Birrell
26dac90648 Change the description of errno to match the thread-aware implementation
from 3.0 on. With 3.0 being a major release, now is a good time to do
this.
1998-04-30 09:49:59 +00:00
John Birrell
3fece7a1aa Make cerror thread aware by calling __error() to get a pointer to the
thread-specific error variable. This change make libc use the same cerror
code that libc_r has been using.
1998-04-30 09:32:48 +00:00
John Birrell
68f87034f2 The syscall that creates a kernel thread is coming, but it doesn't use the
default syscall asm, so add it to NOASM. The other syscalls that manipulate
kernel threads use the default asm code, so they just get built
automatically.
1998-04-30 09:30:50 +00:00
John Birrell
cf6229a854 Build __error.c into libc, but not libc_r. The weak symbol in the
file works with libpthread, but when built into libc_r which has a non-weak
symbol of the same name, the linker behaves unpredicatably and sometimes
links the wrong symbol. The linker behaviour is a byproduct of what
the program calls from object to object so it is like winning a lottery
if the program actually works. The odds are quite good - 95:1, I think.
We need a sure thing, though, so weak symbols can't be used instead
of renaming things.
1998-04-30 09:13:48 +00:00
John Birrell
7bb870ac66 Change the name of this source file so that libc_r builds it instead
of the one in libc that contains the weak symbol for __error. FreeBSD's
make accumulates paths to the point that it can find *anything*, possibly
including the car keys.
1998-04-30 09:04:10 +00:00
Jean-Marc Zucconi
5679c69d0f Resurrect exit.c
PR:		misc/6433
1998-04-29 22:43:18 +00:00
Andrey A. Chernov
0b5e953b91 Basic support for LC_MESSAGES 1998-04-29 22:39:56 +00:00
John Birrell
ccd1da1333 Add spinlock. 1998-04-29 11:03:34 +00:00
John Birrell
4a027d50c7 Change signal model to match POSIX (i.e. one set of signal handlers
for the process, not a separate set for each thread). By default, the
process now only has signal handlers installed for SIGVTALRM, SIGINFO
and SIGCHLD. The thread kernel signal handler is installed for other
signals on demand. This means that SIG_IGN and SIG_DFL processing is now
left to the kernel, not the thread kernel.

Change the signal dispatch to no longer use a signal thread, and
call the signal handler using the stack of the thread that has the
signal pending.

Change the atomic lock method to use test-and-set asm code with
a yield if blocked. This introduces separate locks for each type
of object instead of blocking signals to prevent a context
switch. It was this blocking of signals that caused the performance
degradation the people have noted.

This is a *big* change!
1998-04-29 09:59:34 +00:00
John Birrell
312e185f9c Don't need wrappers for longjmp/setjmp anymore. 1998-04-29 09:40:51 +00:00
John Birrell
32664a7064 Remove empty files that were renamed some time ago. 1998-04-29 09:39:34 +00:00
John Birrell
1ce8c4dc49 Atomic lock source. 1998-04-29 09:36:03 +00:00
John Birrell
5178bcd1cf Stop renaming these in libc_r because wrappered versions don't make sense.
PR: i386/4826, bin/5953
1998-04-29 09:14:35 +00:00
John Birrell
72b42edfd4 Replace the threaded locking with spinlock calls for both threaded
and non-threaded programs. This makes malloc thread safe for linking
with libpthread and kernel threads.

Reviewed by: phk
1998-04-29 09:10:58 +00:00
John Birrell
96c76d66db Reference an external variable in threaded programs so that the
autoinitialiser gets linked in and therefore called before main().
1998-04-29 09:08:43 +00:00
John Birrell
7317e6b1fd Use signal() in both the threaded and non-threaded cases. 1998-04-29 09:06:13 +00:00
John Birrell
f0f62729ee Stubs are required in libc so that it can be used with libpthread
(and kernel threads), but weak symbols and non-weak symbols of the
same name built into libc_r result in unpredictable linking.
1998-04-29 09:02:16 +00:00
David Greenman
ec3a3b4594 Oops, revert part of a diff that wasn't supposed to have been committed. 1998-04-28 07:02:33 +00:00
David Greenman
214bed53a2 Cache the results of the ps_strings sysctl so that it doesn't have to be
redone for every call of setproctitle().
1998-04-28 06:59:14 +00:00
Poul-Henning Kamp
b37727fff9 sigprocmask()' man page references sigmask()' in synopsis.
Note odd `sigmask()' line in synopsis.  `sigsetops(3)' is better suited
for `sigprocmask' and is already referenced from the manual page.
(`sigmask()' is useful for the older (& deprecated) `sigsetmask()' API).
PR:		6395
Reviewed by:	phk
Submitted by:	Joseph Koshy <koshy@india.hp.com>
1998-04-26 06:19:24 +00:00
Andrey A. Chernov
1e0b4d8238 Make asctime_r static if !_THREAD_SAFE to prevent namespace pollution and
prototype mismatch
1998-04-25 00:00:57 +00:00
Paul Traina
5a36b24aa2 Back out last change 1998-04-23 04:44:08 +00:00
Robert Nordier
ac51e2822d Improve description.
Submitted by: Arne Henrik Juul <arnej@imf.unit.no>
1998-04-22 19:59:55 +00:00
Paul Traina
d84b14105f Fix cabs and cabsf definitions to be prototypes. 1998-04-22 06:26:18 +00:00
Dima Ruban
b4d829b84f indent 1998-04-20 22:13:50 +00:00
Poul-Henning Kamp
4f6eb9ceed Add a #ifdef _THREAD_SAFE around ctime_r 1998-04-20 10:09:37 +00:00
Andrey A. Chernov
53b8d408ff Describe timegm() 1998-04-20 00:52:32 +00:00
Dag-Erling Smørgrav
59bad7c53b Backed out lseek changes. 1998-04-19 22:20:32 +00:00
Brian Somers
9feab75ab7 o Support a compile-time -DNO_FW_PUNCH for portability
(and those of us that don't want the functionality).
o Don't assume sizeof(long) == 4.
Ok'd by: Charles Mott <cmott@srv.net>
1998-04-19 21:42:07 +00:00
Poul-Henning Kamp
3f643d87bb ctime_r and asctime_r are not implemented.
prototypes in time.h do not match POSIX.

PR:		6345
Reviewed by:	phk
Submitted by:	Dmitry Khrustalev <dima@xyzzy.machaon.ru>
1998-04-19 06:47:25 +00:00
Dag-Erling Smørgrav
9db4b478d6 Return EINVAL and do not changefile pointer if resulting offset is negative.
PR:		kern/6184
1998-04-18 19:24:22 +00:00
John Birrell
af139b98d4 Allow a thread dump to report the thread's sigmask when in the
PS_SIGWAIT state.
1998-04-17 09:39:37 +00:00
John Birrell
334fa8f215 When in PS_SIGWAIT state, still call signal handlers and set errno
to EINTR.
1998-04-17 09:37:41 +00:00
Poul-Henning Kamp
4fe6f197e0 Backup out the last commit, it was already there.
Noticed by:	bde
1998-04-17 08:31:07 +00:00
Poul-Henning Kamp
b881fb3d9c Manpages not installed
PR:		6327
Reviewed by:	phk
Submitted by:	Chia-liang Kao <clkao@cirx.org>
1998-04-17 07:26:51 +00:00
Brian Somers
5c570787fc Typo police 1998-04-17 00:59:15 +00:00
Andrey A. Chernov
3cfe146f65 Add some easy to implement XSI macros including attr_get 1998-04-15 23:13:36 +00:00
Peter Wemm
4fea76f539 Fix a nasty flaw as a result of using the arc4random() pre-seeding of
leading XXX's.  It could wrap an uppercase character through chars
like:  [ \ ] ^ _ `  in between Z and a.  The backslash and back tick
might be particularly nasty in a shell script context.  Also, since
we've been using upper-case generated values for a while now, go with
the flow and use them in the pathname search rotation.
1998-04-14 07:25:05 +00:00
John Birrell
d60f0fa60d Change the FILE locking to be by FILE, not by the underlying fd as
it was. Add a FILE_WAIT state and queue threads waiting for a FILE
lock. Start using the sys/queue.h macros instead of the way that MIT
pthreads did it.

Add a thread name to the private thread structure and a non-POSIX
function to set this. This helps (me at least) when sending a SIGINFO
to a threaded process to get a /tmp/uthread.dump to see what the
<expletive deleted> threads are doing this time. It is nice to be
able to recognise (yes, I spell that with an 's' too) which threads
are which.
1998-04-11 07:47:22 +00:00
John Birrell
ec216c2634 Add FILE locking stubs for libc.
Change the FILE locking to support kernel threads when linked with
libpthread (which you haven't see yet). This requires that libc become
thread-safe and thread-aware, testing __isthreaded before attempting
to do lock/unlock calls. The impact on non-threaded programs is minor.
This change works with libc_r, so it's the best compromise.
1998-04-11 07:40:47 +00:00
Poul-Henning Kamp
af3c7c8d85 Remove a nolonger implented "BUGS" description.
PR:		6240
Reviewed by:	phk
Submitted by:	Niall Smart rotel@indigo.ie
1998-04-11 07:37:44 +00:00
Poul-Henning Kamp
b7aac2f990 Correctly figure out that the remove cannot do passive mode.
PR:		6259
Reviewed & slightly modified by:	phk
Submitted by:	Archie Cobbs <archie@whistle.com>
1998-04-11 07:28:53 +00:00
John Birrell
f901bc2795 Add a global variable called __isthreaded that can be tested throughout
libc to determine if locking is required. This is needed in libc
for use with kernel threads, but until a thread is created, we don't
really want to bother locking things. The variable was added here
because the crt code calls exit(main()) so all programs will get the
variable.
1998-04-11 07:02:58 +00:00
John Birrell
01c70c0055 Add a private header file for libc/libc_r/libpthread to contain
definitions for things like locking etc.
1998-04-11 06:57:33 +00:00
John Birrell
883674371e Enable static initialisation of mutexes and condition variables. 1998-04-04 11:33:01 +00:00
John Birrell
5a2f1fed77 Change in name of the static initializer define. 1998-04-04 11:03:07 +00:00
John Birrell
f9c7be5357 Rename static initializer defines for opaque structures so that the
POSIX specified names can be declared in pthread.h.
1998-04-04 10:58:12 +00:00
John Birrell
377aa2cbb6 Move the magic field initialisation to a place when it is more magic. 1998-04-04 07:27:29 +00:00
John Birrell
ed92686917 Add a magic field to the pthread structure to help recognize valid
threads from invalid ones. The pthread structure is opaque to the user
so this change does not cause any incompatibilities.

Hopefully this change will help code that was written for draft 4
fail gracefully if the programmer ignores the compiler warning about
the change in the level of indirection for the argument passed to
pthread_detach(). I got burnt, so I fixed then (expletive deleted)
thing.

These functions comply with the revised standard. That should shut
Terry up!
1998-04-03 09:31:15 +00:00
John Birrell
4d2c1d2306 This function compiles with the standard, so say so. 1998-04-03 09:12:19 +00:00
John Birrell
bb8a420424 This function compiles with the standard, so say so.
Add a note about not touching errno and warn about previous drafts
of the standard which changed the level of indirection to the thread
argument. POSIX had a bit of trouble deciding what to do. So anyone
coding to both draft 4 and draft 10 (the final draft) will get burnt
by this function. I did. Grrr.
1998-04-03 09:11:15 +00:00
John Birrell
8999cfc9b5 Temporary fix for problems that occur if CFLAGS=-g is added to
/etc/make.conf. The tools can't handle generating debug code where
we fiddle with the ELF segments.
1998-04-01 03:24:19 +00:00
Peter Dufault
8a6472b723 Finish _POSIX_PRIORITY_SCHEDULING. Needs P1003_1B and
_KPOSIX_PRIORITY_SCHEDULING options to work.  Changes:

Change all "posix4" to "p1003_1b".  Misnamed files are left
as "posix4" until I'm told if I can simply delete them and add
new ones;

Add _POSIX_PRIORITY_SCHEDULING system calls for FreeBSD and Linux;

Add man pages for _POSIX_PRIORITY_SCHEDULING system calls;

Add options to LINT;

Minor fixes to P1003_1B code during testing.
1998-03-28 11:51:01 +00:00
Poul-Henning Kamp
c6bcf724da Split the padding out into a separate function.
Synchronize the kernel and libmd versions of md5c.c

PR:		misc/6127
Reviewed by:	phk
Submitted by:	Ari Suutari <ari@suutari.iki.fi>
1998-03-27 10:23:00 +00:00
John Birrell
20219d9a7b For 1.3, NetBSD replaced the swapon() syscall with swapctl() and moved
the only call to compat_12 which isn't there by default. Provide
a wrapper.
1998-03-23 21:04:06 +00:00
Bruce Evans
6b20a4e1b1 Fixed function types in synopsis.
Commented out docmentation of nonexistent authenticate() and
auth_timesok().  authenticate() seems to be obsolete and
auth_timesok() never existed in FreeBSD.
1998-03-23 13:29:49 +00:00
Bruce Evans
16a4564707 Fixed bitrot in synopsis. 1998-03-23 13:23:22 +00:00
Bruce Evans
b9f4538c63 Regenerate (install tclAppInit.c in the installhdrs step). 1998-03-23 13:21:35 +00:00
Bruce Evans
5c7e14e4fb Fixed a function arg type in the synopsis. 1998-03-23 13:07:17 +00:00
Bruce Evans
c7091c3117 (Ab)use .Vt instead of .Fd for a variable declaration. 1998-03-23 13:05:07 +00:00
Bruce Evans
73de262e04 Fixed bitrot in synopsis. Didn't fix bitrot elsewhere. 1998-03-23 13:02:37 +00:00
Bruce Evans
bf9a92b782 FixedSpellingErrorInAFunctionname. 1998-03-23 12:28:31 +00:00
Philippe Charnier
306005e78c .Sh AUTHOR -> .Sh AUTHORS. Use .An/.Aq. 1998-03-23 07:48:45 +00:00
John Birrell
a145fea480 For 1.3, NetBSD walloped the msync syscall and replaced it with
__msync13. The old one got moved to compat_12. Wrap __msync13 up
to look like FreeBSD's msync and be careful to respect the fact that
MS_SYNC is 0x0000 on FreeBSD, but 0x0004 on NetBSD.
1998-03-23 06:58:06 +00:00
Jordan K. Hubbard
698b7ad3c9 Add Compaq & SCO partition types.
PR:		6092
Submitted by:	Drew Derbyshire <ahd@kew.com>
1998-03-22 07:41:23 +00:00
John Birrell
0122d62264 Fix a problem of indirection unblocking signals that would have caused
signals to be unblocked even if they were already blocked when entering
the function.

Pointed out by: bde
1998-03-22 04:13:23 +00:00
Mark Murray
efa3929e79 Build both libscrypt and libdescrypt. There is no point in letting
libscrypt stagnate, even if it is superceded by libdescrypt. It is
a tiny library anyway, and building it is inexpensive.
1998-03-21 08:18:57 +00:00
Jordan K. Hubbard
a299349b09 MF22: teach about LS-120 devices. 1998-03-20 23:43:04 +00:00
Bruce Evans
682c5f7c6e Renamed the generated include file keys.tries to keys.tries.h so
that it can be put in SRCS for dependency generation to work
properly.  Don't use beforedepend, as usual.
1998-03-20 16:50:08 +00:00
Bruce Evans
c9811e98d6 Build the libraries in a correct order. Reorganized the ifdefs so
that the order is easy to see.
1998-03-19 16:56:58 +00:00
Bruce Evans
c8151f7b9b Don't use the beforedepend target. It was a no-op here except for
helping bsd.dep.mk break `make -jN depend'.
1998-03-19 15:27:08 +00:00
Philippe Charnier
a5941fc2aa .Sh AUTHOR -> .Sh AUTHORS. Use .An/.Aq 1998-03-19 07:34:22 +00:00
Eivind Eklund
38b22f2b1f <sys/errno.h> -> <errno.h> 1998-03-16 18:00:18 +00:00
Andrey A. Chernov
dd6f94f065 Add more AIX/DOS/Win95 partition types 1998-03-14 21:14:31 +00:00
Bruce Evans
df5cf212e6 Changed speed_t from long to unsigned long. POSIX.1 requires an
unsigned integral type.  Changing it doesn't seem to cause any
sign extension bugs in /usr/src.  In the kernel, this is partly
because `struct speedtab' and its lookup function are too bogus
to use speed_t's for speeds - they use ints.

Reminded by:	PR 5786
1998-03-12 14:09:55 +00:00
Bruce Evans
034abff918 Fixed disordering and inconsistent style in previous commit. 1998-03-12 12:05:14 +00:00
Bruce Evans
46986e6888 Separated header creation from header installation in libss. Create
the libss headers before installing them in `make world'.
1998-03-12 10:08:50 +00:00
John Birrell
f672a042cf Don't share sources with i386-elf. That was too difficult. 8-(
Add a bootstrap mode so that non-rtld versions of these objects can
be built when bootstrapping the system with NetBSD tools, headers
and libraries. Once the FreeBSD tools are built, the FreeBSD headers
are installed and *then* these objects can be recompiled with the
rtld references. Phew.
1998-03-11 20:41:55 +00:00
John Birrell
1901906aa6 Sharing the crt sources with i386-elf wasn't too successful. The crti
asm code didn't link the way it was supposed to and the calling convention
for the entry "function" turned out to be very different. On alpha
it's a true function, but on i386 it's a fudge. Blech.

So jdp suggested keeping separate sets of source and avoiding lots
of #ifdefs. These files are based on his i386-elf code, with crt1.c
borrowing code from NetBSD's crt0. The copyright reflects that.

Complicating matters, the code turned out to be difficult to bootstrap
build using NetBSD tools. To compile against the FreeBSD rtld header
requires FreeBSD specific headers, but these can't be installed until
the tools are built, and they can't be built without the FreeBSD crt
objects. Anal retentive. So I introduced a HAVE_RTLD #define that isn't
set during the build process until all the tools are built and the
headers installed.
1998-03-11 20:36:11 +00:00
John Birrell
b843e53a97 Trash startup sources from NetBSD in favour of jdp's FreeBSD source
now that has been committed.

The makefile is derived from the i386-elf version, modified to pick
up most of the source (except crt1.c) from i386-elf. With minor changes
to i386-elf/crt1.c, this directory can be combined with i386-elf to
be a single csu/elf directory for all seasons.
1998-03-10 07:04:18 +00:00
John Birrell
fbb2bc058d Import a sanitized version of jdp's crt1.c from i386-elf. I have removed
the rtld code pending implementation on the alpha.

The csu/i386-elf should be renamed as csu/elf and this directory
trashed. Consider this a temporary implementation.
1998-03-10 06:56:16 +00:00
John Birrell
0db2fac06a Nearly missed this one.
List non-default asm sources in MDASM so that they replace the defaults.

For funny or incomplete syscalls, list them in NOASM to stop them
from getting built as defaults.
1998-03-09 07:36:56 +00:00
John Birrell
45dd718425 Add #include <unistd.h> to get the prototype for __syscall().
Cast to long before casting to a void ptr to shut up gcc.
1998-03-09 07:27:58 +00:00
John Birrell
abd529ceba Yikes, this is the worst of the lot. Bruce suggested doing this (!).
Include the architecture specific sys makefile like previously, but
what this contains differs. It defines MDASM which list architecture
specific asm code that *replaces* syscalls of the same name defined
in MIASM (which gets defined by the syscall.mk or netbsd_syscall.mk
dependent of NETBSD_SYSCALLS being defined). If a syscall has a
C source implementation or something funny done to it, or just doesn't
need default asm source generated for it, then it is listed in NOASM.

syscall.mk is generated by makesyscalls.sh with other syscall files.
netbsd_syscall.mk is a hand-generated equivalent. So if a new syscall
is added and no other makefiles are edited, it will automatically have
the default asm source generated for it (whether you want it or not).

Anything listed in MDASM gets added to SRCS and gets built. For
each syscall name in MIASM, if it doesn't exist in MDASM or NOASM,
it gets added to the ASM or ASMR lists to have code generated for it.
If the syscall name was listed in HIDDEN_SYSCALLS (intended for use
by libc_r, not libc which has it defined, but empty), then the name
is added to the ASMR list and gets renamed before being built;
otherwise it is added to the ASM list and gets built with the same
name.

I wonder if this is too complicated. But it works on both i386 and alpha.
1998-03-09 07:22:12 +00:00
John Birrell
8258119519 Function to return a pointer to the non-threaded errno. This is declared
with a weak symbol so that it won't be linked when linking against
libc_r or libpthread.
1998-03-09 07:09:55 +00:00
John Birrell
e2e5d981b7 Compatibility functions for use when __NETBSD_SYSCALLS is defined. 1998-03-09 07:07:21 +00:00
John Birrell
c995d3ba90 Oops, we don't need NetBSD's malloc 'cause we can turn off utrace
in phk's malloc.
1998-03-09 07:03:06 +00:00
John Birrell
e4193688da NetBSD doesn't have a utrace syscall, so don't define that if
__NETBSD_SYSCALLS is defined.
1998-03-09 07:00:38 +00:00
John Birrell
9dbdb44326 When forking a process, only the running thread gets to live. All
other threads never see the light of day and if they leave things
locked, blame POSIX.
1998-03-09 06:54:50 +00:00
John Birrell
e7b6782c39 Added #include <string.h> to get prototypes. 1998-03-09 06:51:23 +00:00
John Birrell
196c0ee373 Change MACHINE to MACHINE_ARCH.
Add _spinlock.c (stubs) to sources.

Nuke tahoe and vax.
1998-03-09 06:48:25 +00:00
John Birrell
1b5fef40c7 Stub functions for thread locking with weak symbols so that they are
only linked when not linking an application against libc_r or libpthread.
1998-03-09 06:46:21 +00:00
John Birrell
03fcbeae91 Import sources from NetBSD, tweaked for building in FreeBSD. 1998-03-09 06:34:43 +00:00
John Birrell
3d46539c46 MACHINE -> MACHINE_ARCH 1998-03-09 06:24:02 +00:00
John Birrell
98617a2c12 Define empty variables in case no names are added to them. This avoids
substitution errors for variables that don't exist.

If a machine architecture dependent makefile exists, include it
to discover if libc or libc_r is being built with NetBSD syscalls
instead of FreeBSD ones.

Put a NO_QUAD thingy around the quad makefile so that 64-bit
architectures can ignore that sh*t.

In the test for MDSRCS being empty, add all MISRCS to SRCS, rather
than just ignoring them.
1998-03-09 06:21:41 +00:00
John Birrell
fdee84c996 Add an include path to private linc/libc_r/libpthread header files.
Define the HIDDEN_SYSCALLS macro as empty because libc doesn't have
renamed syscalls. This avoids an undefined macro error when
libc/sys/Makefile.inc goes to look though it. HIDDEN_SYSCALLS is
used by the equivalent makefile to this one in lib/libc_r to list
those syscalls that it needs to rename so that libc_r can provide
replacement functions.
1998-03-09 06:16:38 +00:00
John Birrell
96ef575882 Add lib/libc/include as an directory to search for header files.
Change MACHINE references to MACHINE_ARCH.

Declare the names of the syscalls that need to be renamed to allow
for the functions that libc_r provides replacements for. This list
used to be in lib/libc/sys/Makefile.inc, but has been moved here
to keep that makefile tidy and remove the temptation for people to
add things to the list without adding a libc_r replacement function.
1998-03-09 05:09:43 +00:00
John Birrell
0a31d34120 Add a private (to libc, libc_r and libpthread) header file containing
prototypes for the spinlock functions that will be used for thread locks.
libc will have stubs declared with weak symbols. libpthread and libc_r
will have functions that really do something.
1998-03-09 05:05:32 +00:00
John Birrell
03a9d2d7c8 Add FreeBSD/Alpha code to initialise a jmpbuf for a created thread.
Change a bunch of __alpha references to __alpha__.
1998-03-09 04:46:26 +00:00
John Birrell
30ac8b16e2 These files are very specific to FreeBSD kernels, so silently compile
no code when building a library with __NETBSD_SYSCALLS defined.
1998-03-09 04:42:19 +00:00
John Birrell
e91bce7ac7 NetBSD implements semctl using a __semctl syscall instead of the
semsys syscall that FreeBSD kernels use. Grumble. So make the call
dependent on if __NETBSD_SYSCALLS is defined.
1998-03-09 04:39:13 +00:00
John Birrell
ee51c92b78 getvfsbyname() doesn't existing NetBSD, so return ENOSYS if compiled
into a library with __NETBSD_SYSCALLS defined.
1998-03-09 04:36:07 +00:00
John Birrell
59fe2e5fd0 Change a variable to type size_t to suit the sysctl prototype.
Add #include <string.h> to get prototypes.
1998-03-09 04:34:16 +00:00
John Birrell
84d6500535 Cast pointer to a long instead of an int to keep a 64-bit compiler
happy. The code works either way, but I like a clean compile.
1998-03-09 04:29:00 +00:00
John Birrell
5f160d1454 Can build libc and libc_r on alpha now.
Changed MACHINE to MACHINE_ARCH with the expectation that pc98 will
use elf the same as i386.

Nuked tahoe and vax 'cause the files they reference aren't in the
tree. If you want vax goto NetBSD. If you want tahoe... tough.
1998-03-08 23:24:05 +00:00
Peter Dufault
aac4ad2c99 Reviewed by: bde
Changes to support building with _POSIX_SOURCE set to 199309L:

1. Add sys/_posix.h to handle those preprocessor defs that POSIX
says have effects when defined before including any header files;

2. Change POSIX4_VISIBLE back to _POSIX4_VISIBLE

3. Add _POSIX4_VISIBLE_HISTORICALLY for pre-existing BSD features now
defined in POSIX.  These show up when:

_POSIX_SOURCE and _POSIX_C_SOURCE are not set or
_POSIX_C_SOURCE is set >= 199309L

and vanish when:

_POSIX_SOURCE is set or _POSIX_C_SOURCE is < 199309L.

4. Explain these in man 9 posix4;

5. Include _posix.h and conditionalize on new feature test.
1998-03-08 17:25:38 +00:00
Stephen McKay
b8e5e42d0f Fixed a few ancient typos, added a little missing stuff, and updated
references to abort() in light of POSIX mandated behaviour.  I'm
still not 100% happy with much of the wording, but it's better
than it was.
1998-03-08 15:15:33 +00:00
John Birrell
08d6f1187e Add sched_yield() witch is the draft 10 equivalent of pthread_yield()
from draft 4. Move some of the schedule definitions to sched.h which
is a POSIX header.
1998-03-08 02:37:27 +00:00
John Polstra
f0a8e032c6 Enable csu/i386-elf under the appropriate conditions. 1998-03-07 20:30:18 +00:00
John Polstra
966a88d986 Import C startup files for ELF support.
Submitted by:	John Polstra <jdp@polstra.com>
1998-03-07 20:27:11 +00:00
John Polstra
1ab7c6cc77 Add support for ELF.
Switch to ANSI-style function definitions.
1998-03-07 19:57:05 +00:00
Andrey A. Chernov
56b19102ab Add primary fat-32 1998-03-07 08:45:46 +00:00
Bill Paul
4e6ace0853 Fix resource allocation problems:
- Completely recoded the ypmatch cache code. The old code could leak
  memory: it would allow the cache to grow, but never
  shrink. The new code imposes the following limits:

	o The cache is capped at a limit of 5 entries.
	o Each entry expires after five seconds, at which point
	  its slot is freed.
	o If an insertion is to be done and all five slots
	  are filled, the oldest entry is forcibly expired
	  to release its slot.

  Also, the cache is implemented on a per-binding basis rather than
  having a global cache covering all bindings. This means that each
  bound domain has its own 5 slot cache.

- Changed clntudp_create() to clntudp_bufcreate() so that the
  xmit/recv message buffer sizes can be set explicitly. NIS transactions
  are rarely much larger than 1024 bytes since YPMAXRECORD is 1024.
  The defaults chosen by clntudb_create() are actually much larger
  than needed. I set the xmit buffer to a little over 1024 and the
  recv buffer to a little over 2048. This saves a few Kbytes for each
  NIS binding.

- Add my name to the copyright. I think I've made enough changes to
  this file to merit it. :)

Note: these changes should go into the 2.2.x branch, but I'm waiting
on feedback from a tester to see if the cache fixes solve the reported
memory leak problem.
1998-03-07 05:06:10 +00:00
Bruce Evans
f3d015bd93 Use the standard method for avoiding concurrent builds of multiple targets
built by a single rule (.ORDER: foo.c foo.h ...).
1998-03-06 13:44:12 +00:00
Bruce Evans
2840666108 Fixed building with `make -jN'. Put ss_err.h in SRCS so that recent
changes to bsd.lib.mk can handle building it early enough.  Don't
use the same rule for ss_err.h and ss_err.c, else `make -jN' would
run the rule twice concurrently.  Don't put ss_err.c out of order
in SRCS; doing so was a kludge to get ss_err.h built early enough
for plain `make'.

Don't put a non-generated file in CLEANFILES.
1998-03-06 08:26:00 +00:00
Brian Somers
0b3b961e55 We don't need to NUL terminate our sun_path.
Pointed out by: Garrett Wollman <wollman@khavrinen.lcs.mit.edu>
1998-03-06 03:10:49 +00:00
Brian Somers
0d41e7b820 Nul terminate sockaddr_un::sun_path
Suggested by: Theo de Raadt <deraadt@openbsd.org>
1998-03-06 02:12:02 +00:00
Brian Somers
d584948ecd Make SyslogAddr a sockaddr_un rather than a sockaddr.
This wasn't a problem in practice as PATH_LOG and PATH_OLDLOG
are both < sizeof sockaddr::sa_data.
1998-03-05 22:17:59 +00:00
David E. O'Brien
e3d7eb92f6 Reconized OpenBSD partitions. 1998-03-05 03:08:16 +00:00
Peter Dufault
917e476dad Reviewed by: msmith, bde long ago
POSIX.4 headers and sysctl variables.  Nothing should change
unless POSIX4 is defined or _POSIX_VERSION is set to 199309.
1998-03-04 10:27:00 +00:00
Bruce Evans
87ad126763 Fixed uninitialized pointer in previous commit. mktemp() was broken.
I noticed cvs core dumps and uncleaned cvs temporary files in /tmp.

Fixed ANSIisms.
1998-03-03 14:38:36 +00:00
Steve Price
f48bc66239 Replace previous commit with a check disallowing ptr from running
off the end of the list variable.

PR:		5345, 5610
Submitted by:	nagao@cs.titech.ac.jp
1998-03-01 18:49:37 +00:00
James Raynard
df37b71c14 Strings are terminated by NUL, not NULL. 1998-02-28 18:05:42 +00:00
Andrey A. Chernov
271012d5b9 Install manpage too 1998-02-28 10:41:01 +00:00
Steve Price
e827b8c5cb foo.gz is created by 'make test' so add it to CLEANFILES. 1998-02-28 06:27:59 +00:00
Steve Price
163df7f801 algorithm.doc renamed to algorithm.txt in new distribution. 1998-02-28 06:10:08 +00:00
Steve Price
25552e1d6d Merge conflicts. 1998-02-28 06:08:17 +00:00
Steve Price
bd957a8d6c Initial import of zlib-1.1.1
PR:		5869
Reviewed by:	jdp
1998-02-28 06:04:26 +00:00
Steve Price
9521a6bb06 This commit was generated by cvs2svn to compensate for changes in r33904,
which included commits to RCS files with non-trunk default branches.
1998-02-28 06:04:26 +00:00
Steve Price
f2328ab40a Remove the config_* routines with permission from Poul-Henning Kamp,
the original author.

PR:		5834
Discussed with:	phk, jkh
1998-02-28 03:57:05 +00:00
Brian Somers
0ffaca1078 1) in CleanupAliasData, don't nullify entry in linkTableOut
since there might be permanent entries still left after
   calls to DeleteLink (it will be nullified by DeleteLink
   if all entries are deleted, won't it ?)

2) in PacketAliasSetAddress, set the aliasing address
   even when PKT_ALIAS_RESET_ON_ADDR_CHANGE is in effect.
   Just don't clean up links in this case.

Submitted by: Ari Suutari <ari@suutari.iki.fi>
         via: Charles Mott <cmott@srv.net>
PR: 5041
1998-02-27 23:07:07 +00:00
Paul Traina
897e6eb1f4 Compile under -W -Wall -Werror.
Fix API - keycrunch takes const char's, not chars.
1998-02-27 22:36:51 +00:00
Bruce Evans
5efd9b894a Don't add non-generated sources to CLEANFILES. There was no problem
in practice, even if there is no obj directory, because the sources
are not in ${.CURDIR} and the full path to them was not added.
1998-02-25 01:30:05 +00:00
Bruce Evans
3ee49aeb72 Don't add OBJS to CLEANFILES. bsd.obj.mk does it. Some objects were
duplicated.
1998-02-25 01:20:27 +00:00
Bill Fenner
15b873cc56 Change tty-related capability names to match the implementation ("ttys.",
not "tty.").
1998-02-21 23:29:59 +00:00
John Birrell
6af88557f9 Change MACHINE references to MACHINE_ARCH. 1998-02-20 08:41:46 +00:00
John Birrell
0107877e04 Change MACHINE references to MACHINE_ARCH. 1998-02-20 08:23:55 +00:00
John Birrell
4439d165b7 Add #include <string.h> to get prototypes. 1998-02-20 08:13:51 +00:00
John Birrell
dc2c8572e9 The NetBSD getlogin syscall has a different name. 1998-02-20 08:07:40 +00:00
John Birrell
6abbaf17ac Fix a bogus cast for a bogus pointer check. This only checks if the
pointer is 4-byte aligned. On a 64-bit machine it probably should
check that the pointer is 8-byte aligned (eh, Bruce?) 8-)
1998-02-20 08:00:01 +00:00
John Birrell
9fcbcd0217 NetBSD kernels don't have issetugid(), so #ifdef this out when
building FreeBSD's libc to run with a NetBSD kernel. We'll get to
the alpha kernel later, I promise. 8-)
1998-02-20 07:54:56 +00:00
John Birrell
05b706676b Add alpha support. m68k crept in too. Oops. 8-) 1998-02-20 07:44:29 +00:00
John Birrell
554ce32897 Avoid an uninitialised variable warning from gcc. I bet some people
don't like me doing this, but I want to see clean compiles. 8-)
1998-02-20 07:40:22 +00:00
Steve Price
1cd25b46da Need to #include <unistd.h> for nice(3).
PR:		5782
Submitted by:	David Malone <dwmalone@maths.tcd.ie>
1998-02-18 18:34:17 +00:00
Jordan K. Hubbard
24b687b8de MF22: add login_auth.3 to man page list. 1998-02-18 05:29:07 +00:00
Julian Elischer
39a9295edc Submitted by: Jeremy Allison (jallison@whistle.com)
fix a slight confusion about which draft of threads we are supporting.
this allows something as big and ugly as samba to be compiled with libc_r
and still work!  our user-level pthreads seems amazingly robust!
1998-02-18 01:20:33 +00:00
Jordan K. Hubbard
934fb1c520 correct a typo I just noticed. 1998-02-17 19:41:53 +00:00
Jordan K. Hubbard
a414d6056c Mention when bidirectional features first appeared. 1998-02-17 16:36:48 +00:00
John Birrell
c86afb6bc0 signal() returns SIG_ERR, not just -1. The sys/signal.h header file
provides the cast from -1 to the signal() return type, so no further
casting by programmers should be required.

Pointed out by: bde (of course).
1998-02-15 00:46:47 +00:00
Steve Price
0f4b8423e1 Note that '+' and '?' are not special characters in basic REs but they
can be simulated using bounds.

PR:		5708
Submitted by:	Oliver Fromme <oliver.fromme@heim3.tu-clausthal.de>
1998-02-14 18:26:29 +00:00
Steve Price
b916ff7fcc Correctly document h and m modifiers to the time format.
PR:		5739
Submitted by:	Matthew Cashdollar <mattc@rfcnet.com>
1998-02-14 16:12:53 +00:00
Bruce Evans
768950348d Describe signal handling. Don't describe the old implementation. Don't
define `microsecond'.  Cleaned up English.

Obtained from:	mostly from sleep.3
1998-02-13 04:44:49 +00:00
Bruce Evans
fb364c6d7d Describe signal handling. Don't describe the old implementation. Cleaned
up English.

Obtained from:	mostly from NetBSD
1998-02-13 03:34:11 +00:00
Warner Losh
2f253e75c8 Many security improvements from OpenBSD:
implement mkdtemp
	improve man page for mk*temp
	use arc4random to seed extra XXX's randomly
	Optionally warn of unsafe mktemp uses
From various commits by theo de raadt and Todd Miller.
Obtained from: OpenBSD

This should go into 2.2 after a testing period.
1998-02-13 02:13:24 +00:00
Julian Elischer
f5295b34ac Fixes from Jeremy Allison and Terry Lambert for pthreads:
specifically:
uthread_accept.c: Fix for inherited socket not getting correct entry in
                  pthread flags.
uthread_create.c: Fix to allow pthread_t pointer return to be null if
                  caller doesn't care about return.
uthread_fd.c: Fix for return codes to be placed into correct errno.
uthread_init.c: Changes to make gcc-2.8 thread aware for exception stack
                frames (WARNING: This is #ifdef'ed out by default and is
		different from the Cygnus egcs fix).
uthread_ioctl.c: Fix for blocking/non-blocking ioctl.
uthread_kern.c: Signal handling fixes (only one case left to fix,
                that of an externally sent SIGSEGV and friends -
		a fairly unusual case).
uthread_write.c: Fix for lock of fd - ask for write lock, not read/write.
uthread_writev.c: Fix for lock of fd - ask for write lock, not read/write.

Pthreads now works well enough to run the LDAP and ACAPD(with the gcc 2.8 fix)
sample implementations.
1998-02-13 01:27:34 +00:00
Bruce Evans
237ca38d86 Fixed disordering of MLINKS in previous commit. Fixed old disorder in
MLINKS.
1998-02-12 23:52:23 +00:00
Bill Paul
12228287c1 Fix _listmatch() again so that it works with group lists containing only
one group. Thanks to Dirk Froemberg for supplying a patch for this. I will
be closing out the PR and moving this to the 2.2.5 branch later: my login
sessions to freefall from Columbia are ridiculously spotty today.

PR:	5610
Submitted by:	Dirk Froemberg <ibex@physik.TU-Berlin.DE>
1998-02-12 19:29:05 +00:00
Nate Williams
6629ddfc54 - Bump the minor # due to the addition of the stringlist functions.
Reviewed by:	asami
1998-02-12 01:44:53 +00:00
John Polstra
0fbd9e9828 Remove the include of <dlfcn.h> from crt0.c; it is not needed now
that the dl* trampolines have been moved into libc.

Move dlfcn.h from src/lib/csu/i386 into src/include.  Nothing in
src/lib/csu/i386 uses it any more.
1998-02-11 04:57:25 +00:00
Guido van Rooij
3ff9c00752 Do signal handlig he Posix way
Obtained from: NetBSD (after complains from Bruce)
1998-02-10 20:05:15 +00:00
Jordan K. Hubbard
f1a98d56f2 Be more verbose if we can't determine device major/minor. 1998-02-10 17:19:12 +00:00
Jordan K. Hubbard
74be6b27e1 environment variables missing from ftpio(3) man page
PR:		5691
Submitted by:	archie@whistle.com
1998-02-10 07:01:51 +00:00
John Polstra
645c4be38a Move the trampolines for dlopen and related functions from crt0.o
into libc.  This reduces the size of every dynamically linked
executable by 248 bytes, and it reduces the size of static executables
by a lesser amount.  It also eliminates some global namespace
pollution.

With this change in place, the source for dlfcn.h should probably
be moved to "/usr/src/include".  I'll save that for another day.

Compatibility note:  Programs which use dlopen, if compiled on
systems with this change, will not run on systems with a libc from
prior to this change.  Very few programs use dlopen, so I think
that is OK.
1998-02-09 06:05:25 +00:00
John Polstra
663690b388 Implement dladdr. 1998-02-06 16:46:46 +00:00
Julian Elischer
eb45f34378 slight cleanup in handling sockets and file descriptors.
Same fix already applied to other types of fds. This one was apparently missed.
1998-02-05 21:16:52 +00:00
Jonathan Lemon
4f36d4ac99 Document the fpgetprec/fpsetprec functions in their man page.
Add cross-references to the elusive fpsetmask() function to various other
man pages.
Reviewed by:	bde
1998-02-04 22:30:20 +00:00
Steve Price
f63999476c Cleanup the manpage now that setpwent has a void return type. 1998-02-01 17:13:12 +00:00
Steve Price
2e645a20cb XOpen says the void setpwent(void) is correct. Also call setpassent(0)
instead of duplicating code, albeit trivial (inspired by NetBSD).

PR:		5524
1998-02-01 06:16:08 +00:00
Warner Losh
52dbfb5c0f Kill lfs files that were causing make world to fail. 1998-01-31 05:53:57 +00:00
Daniel O'Callaghan
38ce39bde5 PR: 5573
Submitted by:	garbanzo@hooked.net
Add strncasecmp, strncmp to NAME field.
1998-01-27 07:01:09 +00:00
John Birrell
2b3f4eadb0 Fix a cast from a pointer to a long instead of an int which was enough
to ruin a 64-bit day.
1998-01-24 20:57:38 +00:00
Wolfgang Helbig
5aeee887af Don't swap carriage return and new line in quoted mode (after ^V). 1998-01-22 07:37:10 +00:00
Warner Losh
9f6c32362c Eliminate sprintf
Obtained from:OpenBSD (theo de raadt)
1998-01-21 21:46:36 +00:00
Bruce Evans
c7b367098d Fixed #includes in the synopsis and in an example. <sys/socket.h>
isn't a prerequisite, since it isn't required for the prototypes
and isn't always needed to call the functions (the address family
might be a variable).
1998-01-20 11:03:15 +00:00
Bruce Evans
2aeb5561dd Moved most of the (source-level) compatibility hacks for the vfsconf
interface from sys/mount.h to libc/getvfsent.c  The new interface is
now the default.
1998-01-20 10:36:24 +00:00
Alexander Langer
2768e0c4b5 Added cross references to mincore(2) and minherit(2).
Obtained from:	OpenBSD
1998-01-20 03:59:07 +00:00
Alexander Langer
891d6e5881 Added #include <sys/types.h> to synopsis.
Obtained from:	OpenBSD
1998-01-20 03:52:49 +00:00
Bruce Evans
1e69872de7 Started getting rid of the compatibility cruft for the Lite1 mount()
and the pre-Lite2 vfsconf interfaces.

For getvfsent.c, just define _OLD_VFSCONF.  This will give the
current default macro hacks in <sys/mount.h> when the default is
reversed.  This is an intermediate step.
1998-01-17 16:32:14 +00:00
Bruce Evans
ccb8bfa988 Don't install the tcl implementation headers. The tcl distribution
makefile doesn't install them, and they couldn't be used without
lots of undocumented -I's in CFLAGS.  tcl.h is still installed in
/usr/include/tcl/.  Note that rev.1.24 of tcl_bmake/mkMakefile.sh
broke all the section 3 tcl man pages by putting it there instead
of in /usr/include.
1998-01-17 15:52:32 +00:00
Bruce Evans
7eb44007dd Updated shlib version to 80.4 in the correct place.
Regenerated libtcl/Makefile.  This adds -DHAVE_ST_BLKSIZE=1 to CFLAGS.
It was broken by direct editing in rev.1.25.
1998-01-17 15:49:55 +00:00
Bruce Evans
060cc64852 Fixed bitrot in the prototype for logwtmp(). 1998-01-16 16:53:30 +00:00
Bruce Evans
d7fb4b13b9 Fixed bugs in the conversion of kvm to to use procfs in rev.1.3. All
are in kvm_uread():
- the setting of errno before checking it in the lseek() was lost.
- EOF handling was lost.  kvm_uread() retried forever on EOF.  EOF is
  not really an error, but report it one as in rev.1.2.
- reporting of errno after a read error was lost.

Fixed style bugs in rev.1.3 and rev.1.12.

Not fixed: errno is not reported after lseek() failures.
1998-01-16 16:45:05 +00:00
Bruce Evans
cf95d56dc5 Fixed wrong prototype for history().
Don't (mis)use .Fd outside of the synopsis.
1998-01-16 14:33:47 +00:00
Bruce Evans
c8b6b31f15 Fixed missing #include in synopsis. 1998-01-16 13:41:28 +00:00
Bruce Evans
a182428346 Fixed wrong prototype for clock_getres(). 1998-01-16 13:39:49 +00:00
Bruce Evans
d142a33b7f Fixed wrong prototypes. Most of the prototypes had missing return types,
or missing const's or `short *' instead of `[ug]id_t *' in argument types.
1998-01-16 13:33:09 +00:00
Bruce Evans
04b7c9479b Fixed missing return type in a prototype. 1998-01-16 13:10:18 +00:00
Bruce Evans
442a25bd7b Fixed a missing #include in the synopsis.
Fixed some wrong prototypes.
Fixed a misspelled function name.

The owner of this file should add a copyright and an Id.
1998-01-16 13:02:58 +00:00
Bruce Evans
bb6d5d9147 Added prototypes for functions that were documented in libalias.3
but not prototyped here.
1998-01-16 12:56:07 +00:00
Jordan K. Hubbard
76b851fda2 Non-intrusive changes to support Justin's CAM stuff. 1998-01-16 12:50:36 +00:00
Daniel O'Callaghan
fb9d219add PR: 5489
Submitted by:	Steve G. Kargl <kargl@troutmask.apl.washington.edu>
Repair corrupted text.
1998-01-15 23:28:18 +00:00
Stephen McKay
4773010d2f Return the correct errno from getcwd() even if free() or closedir()
overwrites it.  This actually showed up when running under an old
kernel when free() called the madvise() stub which set errno, causing
getcwd() to return EOPNOTSUPP instead of ERANGE.
1998-01-15 13:52:55 +00:00
John Birrell
c61e516832 Add #ifndef __NETBSD_SYSCALLS around calls to issetugid() which
do not exist in NetBSD 1.3.
1998-01-15 09:58:08 +00:00
Alexander Langer
cbc3778c2f Typo fix.
Added EOPNOTSUPP and EMLINK to errors section.
Added symlink(2) xref.

Obtained from:	OpenBSD
1998-01-15 04:31:28 +00:00
John Birrell
da8a9b61c7 Include string.h for memcpy function prototype. 1998-01-14 08:14:56 +00:00
Brian Somers
b563bd02f0 Remove __libalias_version. Ppp no longer uses it. 1998-01-14 01:24:49 +00:00
Alexander Langer
4d1b2e67ae Consistently reference init as .Xr init 8.
Obtained from:	OpenBSD
1998-01-13 05:09:16 +00:00
Alexander Langer
e3abfc8253 Return type and argument to sleep are unsigned int. 1998-01-13 04:32:00 +00:00
John Birrell
49f91abde3 When printf'ing the result of pointer arithmetic, cast the result to
long and use %ld, not %d.

We're going to need an abbreviation for this comment 'cause it's going
to be used a lot from now on.
1998-01-13 03:07:10 +00:00
Alexander Langer
26db1da8a9 Dump the constant NGROUPS in favor of the POSIX way:
sysconf(_SC_NGROUPS_MAX).

Submitted by:	bde
1998-01-13 01:30:17 +00:00
Alexander Langer
e4a6f1ad1f Use .Fn for sysconf(_SC_CLOCK_TCK) reference.
Added $Id$.
1998-01-13 01:21:19 +00:00
Eivind Eklund
920207a8e9 ${TARGET} -> ${.TARGET}
Tiny pointed hat goes to:	Our Makefile-meister.
1998-01-12 18:29:02 +00:00
Alexander Langer
73a8c56ec1 Formatting fix & improved comment for struct timeval.
Obtained from:	OpenBSD
1998-01-11 22:28:56 +00:00
Alexander Langer
d4b1275d66 Fixed brk(2) xref.
Obtained from:	OpenBSD
1998-01-11 22:22:50 +00:00
Alexander Langer
21bcb535ea Added sys/types.h to synopsis as per POSIX.
Obtained from:	OpenBSD
1998-01-11 22:16:11 +00:00
Alexander Langer
7ea0dca625 Replace sys/param.h with sys/types.h as per POSIX.
Document the special case of gidsetlen == 0.

Partially obtained from: OpenBSD
1998-01-11 22:01:20 +00:00
Alexander Langer
6eba99b0db Document that arg max is controllable via sysctl. 1998-01-11 21:43:38 +00:00
Eivind Eklund
58ba5f4a30 Remove use of <osreldate.h>.
Screwed up by: myself
1998-01-11 18:34:38 +00:00
Alexander Langer
92d7687ee6 Formatting fix.
Obtained from:	OpenBSD
1998-01-11 17:49:51 +00:00
Alexander Langer
fa70846939 Added EMFILE and ENFILE to errors section.
Obtained from:	OpenBSD
1998-01-11 17:07:20 +00:00
Alexander Langer
5e8b84b628 .Xr sigvec --> sigaction
Obtained from:	OpenBSD
1998-01-11 16:56:01 +00:00
Alexander Langer
a5c3b32774 Add <sys/types.h> to synopsis.
Correct a grammatical error.
Add cross-reference to setrlimit(2).

Obtained from:	OpenBSD
1998-01-11 16:51:49 +00:00
John Birrell
3c526fbfd3 CSU source for Alpha obtained from NetBSD. The makefile will require
more work when we get a half-way usable libc (which is next).
1998-01-11 03:30:39 +00:00
John Birrell
fdbac8827e We can now build libm on Alpha. There is very little MD alpha code. 1998-01-10 22:51:51 +00:00
John Birrell
11f8db59fb This is the only alpha math source that NetBSD has. 1998-01-10 22:17:24 +00:00
Steve Price
1f48070a27 Put back __libalias_version so ppp(8) build again. 1998-01-10 19:37:19 +00:00
Alexander Langer
1e73fe2ae8 Sync with ipfw interface change: fw_pts is now part of a union (a
necessary evil due to the 108 byte setsockopt() limit).
1998-01-10 16:14:18 +00:00
Jordan K. Hubbard
20f16cfce3 include <net/if.h> and restore this to sanity. 1998-01-10 15:04:06 +00:00
John Birrell
6a7a98c954 Bruce says that ${.CURDIR}/csu/${MACHINE} will prevent finding a
stale obj directory and we wouldn't want to do that! I trust he knows
what he's talking about. 8-)

Also avoid building libm at all until the NetBSD asm code is imported.
I wrongly commented this out last time. Oops.
1998-01-10 09:09:24 +00:00
John Birrell
d69fcdf283 Allow this to compile with NetBSD tools. 1998-01-09 23:51:04 +00:00
Eivind Eklund
8ddc51bc8b Teach libalias to work with IPFW firewalls (controlled by a flag).
Obtained from: Yes development tree (+ 10 lines of patches from
	Charles Mott, original libalias author)
1998-01-09 21:13:35 +00:00
John Birrell
b09f41a4b9 Don't build libc, libc_r or libm on Alpha yet. We'll do the other
libraries first and use NetBSD's libc/libm for now.
1998-01-09 19:46:30 +00:00
John Birrell
f1d896d117 Make a couple of the stat flags dependent on the sys/stat.h header file
that this source is compiled against. This source is referenced by
install which is needed as a build tool and must be able to compile
against NetBSD headers and libraries if we have a hope of supporting
another architecture.

With this change, that's two working programs down and 3945 (?) to go.
The other one was make, but that didn't need any changes to work under
FreeBSD/Alpha. 8-)
1998-01-09 06:14:59 +00:00
John Birrell
8d6fec39d2 Build lib/csu/${MACHINE} only if it exists so that when porting FreeBSD
to another architecture (in this case the Alpha) we can continue to use
the host csu objects (from NetBSD). This should be a non-function change
to FreeBSD/i386.
1998-01-09 05:37:41 +00:00
Warner Losh
3c8e19e155 handle long usernames more carefully
Reviewed by:	guido
Obtained from:	OpenBSD (Theo de Raadt)
1998-01-07 00:28:36 +00:00
Philippe Charnier
125c8263d8 Convert to mdoc format. 1998-01-05 07:12:16 +00:00
Andrey A. Chernov
b250f24856 size_t -> unsigned
in arguments length INT_MAX overflow check
Suggested-by: bde
1998-01-04 22:28:47 +00:00
Alexander Langer
e69bcfc3bc Expanded cross references. 1998-01-02 19:22:52 +00:00
Andrey A. Chernov
b8b68d9946 Remove unneeded code left from testing 1998-01-02 05:05:20 +00:00
Andrey A. Chernov
8bf5c1da27 1) Redo internal interface to be more latest ncurses-like
2) Fix winsdel called in last line of the window (nothing happens in
   old variant)
3) Add range checks to wscrl() and internal soft scroll function
1998-01-02 04:36:51 +00:00
Steve Price
e2263d244f Fix another problem with clearing the last line of the
display.

Submitted by:	Kouichi Hirabayashi <kh@mogami-wire.co.jp>
1998-01-01 23:27:10 +00:00
Andrey A. Chernov
8c6d2f42e1 1. EOF was returned when the buffer size was larger than INT_MAX. This
case has very little to do with the output size being larger than
   INT_MAX.
2. The new #include of <limits.h> was disordered.
3. The new declaration of `on' was disordered (integer types go together).
4. Testing an unsigned value for > 0 was fishy.

Submitted by: bde
1998-01-01 20:15:58 +00:00
Alexander Langer
5a5b9efe70 Drop the use of caddr_t in conjunction with mmap(2). 1997-12-31 03:15:06 +00:00
Alexander Langer
7167d5b04c Convert caddr_t --> void * for sys/mman.h functions.
mlock, mmap, mprotect, msync, munlock, and munmap are defined by
POSIX as taking void *.  The const modifier has been added to
mlock, munlock, and mprotect as the standard dictates.

minherit comes from OpenBSD and has been updated to conform with
their recent change to void *.

madvise and mincore are not defined by POSIX, but their arguments
have been modified to be consistent with the POSIX-defined functions.
mincore takes a const pointer, but madvise does not due to the
MADV_FREE case.

Discussed with:	bde
1997-12-31 01:22:01 +00:00
Alexander Langer
1948b335ba Fixed formatting of the MADV_FREE flag description.
Pointed out by:	bde
1997-12-30 05:17:33 +00:00
Alexander Langer
22d0a78532 Typo fix. 1997-12-30 04:05:47 +00:00
Alexander Langer
fd630dd1cc Document MS_SYNC. 1997-12-30 03:26:15 +00:00
Steve Price
b497d31373 Handle the condition where BS is typed while the cursor is
at the first position on either of the last two lines of the
screen.  Ie. append contents of current line to the previous
line and scroll the next line's contents up.

PR:		5392
Submitted by:	Kouichi Hirabayashi <kh@mogami-wire.co.jp>
1997-12-29 03:29:29 +00:00
Wolfram Schneider
de635b0683 The terminating character in strings is NUL', not NULL'. 1997-12-28 12:06:29 +00:00
Tim Vanderhoek
02e6c12b3c fork() checks RLIMIT_NPROC, not RLIMIT_NOFILE.
pr:		docs/5260
submitted-by:	Niall Smart [3]njs3@doc.ic.ac.uk
1997-12-26 16:11:49 +00:00
Alexander Langer
372787c102 Changed pthread_detach to conform to POSIX, i.e. the single argument
provided is of type pthread_t instead of pthread_t *.

PR:		4320

Return EINVAL instead of ESRCH if attempting to detach an already
detached thread.
1997-12-25 05:07:20 +00:00
Alexander Langer
3b7c07b1f2 Removed unnecessary initialization of hp in gethostbyaddr_r. 1997-12-25 04:21:08 +00:00
Andrey A. Chernov
92e88f87b9 Add overflow checks: if output size becomes bigger than INT_MAX,
just return EOF
1997-12-25 00:32:17 +00:00
Andrey A. Chernov
fb25537fb8 Correct type of stored argument place (from previous fix) 1997-12-24 23:54:19 +00:00
Andrey A. Chernov
947d101171 1) Restore back comment about snprintf()
2) Optimize string buffer copy to call memcpy() and update pointers
only for count > 0, it makes snprintf(NULL, 0, ...) more efficient
1997-12-24 23:23:18 +00:00
Andrey A. Chernov
6e690ad4ca Return back to BSD snprintf semantics which recent C9x standard adopts
instead of Singe Unix, thanx Bruce for explaining, I am not realize
standards war was there.

But now, fix n == 0 case to not return error and fix check for too
big n.

Things left to do: check for overflow in arguments.
1997-12-24 23:02:47 +00:00
Andrey A. Chernov
e0b123f6d0 1) Oops! Insert again if (n == 0) return 0.
Final word is Bruce's quote:

C9x specifies the BSD4.4-Lite behaviour:

       [#3] ...   Thus,  the
       null-terminated  output  has  been completely written if and
       only if the returned value is less than n.

It means that if we not have any null-terminated output as for n == 0
we can't return value less than n, so we forced to return value
equal to n i.e. 0

The next good thing is glibc compatibility, of course.

2) Do check for too big n in machine-independent way.
3) Minor optimization assuming EOF is < 0
1997-12-24 20:24:08 +00:00
Andrey A. Chernov
5ebfa8de69 Back out part related to "return 0 if n == 0" and return EOF as before.
The main argument is that it is impossible to determine if %n evaluated or not
when snprintf return 0, because it can happens for both n == 0 and n == 1.
Although EOF here is good indication of the end of process, if n is
decreased in the loop...
Since it is already supposed in many places that EOF *is* negative, f.e.
from Single Unix specs for snprintf
"return ... a negative value if an output error was encountered"
this not makes situation worse.
1997-12-24 14:32:40 +00:00
Andrey A. Chernov
97adcd5ba1 Fix snprintf(...%n...)
to pass not more than buffer size to %n agrument, old variant
always assume infinite buffer.
%n is for actually transmitted characters, not for planned ones.
1997-12-24 13:47:13 +00:00
Andrey A. Chernov
a65a537cb1 Remove wrong comment about snprintf:
"return the number of bytes needed, rather the number used"

According to Single Unix specs:

Upon successful completion, these functions return the number of bytes
transmitted excluding the terminating null
1997-12-24 13:17:13 +00:00
Andrey A. Chernov
4ecaf22055 snprintf return value fixes to conform Single Unix specs:
1) if buffer size is smaller than arguments size, return buffer
size, not arguments size as before.

2) if buffer size is 0, return 0, not EOF as before.
(now it is compatible with Linux and Apache implementations too).

NOTE: Single Unix specs says:

If the value of n {buffer size} is zero on a call to snprintf(), an
unspecified value less than 1 is returned.

It means we can't return EOF since EOF can take *any* value in general
not especially < 1. Better variant will be return -1 (it is less then
1 and different with n == 1 case) but -1 value is already occuped by
EOF in our implementation, so we can't distinguish true IO error
in that case. So 0 here is only possible case still conforming
to Single Unix specs.
1997-12-24 12:31:32 +00:00
John Birrell
68c887d440 Change errno usage as a field in a structure and as an argument to a
function from 'errno' to 'error' so that there is no conflict with the
thread-safe definition of errno in errno.h.
1997-12-20 04:06:06 +00:00
Bruce Evans
df4c52a9df Fixed the termcap 3.0 hacks. They were very broken in my configuration
where shared libraries are in /lib and almost everything is linked
shared.  First, they removed the old shared library before installing
the new one.  Second, they attemped a cross-device link from /lib
to /usr/lib/compat.
1997-12-19 22:11:29 +00:00
Bruce Evans
6a93659f24 Comment that long double is poorly implemented, not that it is unimplemented. 1997-12-19 21:59:22 +00:00
Bruce Evans
b86be9d1f7 Put the .PATH statement first as in all other libc Makefile.inc's. 1997-12-19 21:56:38 +00:00
Bruce Evans
b0e2424631 Format the MLINKS statement the same as in most other libc Makefile.inc's. 1997-12-19 21:53:35 +00:00
John Birrell
d5bc59bb81 Fix recursion problem which occurs when a signal is received during
a malloc. The signal handler creates a thread which requires a malloc...
For now, the only thing to do is to block signals. When we move user
pthreads to use the kernel threads, mutexes will be implemented in kernel
space and then malloc can revert.
1997-12-15 02:12:42 +00:00
Wolfgang Helbig
fa18377023 Delete "typedef ... date" (see style(9)).
In the man page Use ".Pp" instead of blank lines, adopt English
and stress that the Julian->Gregorian switch took place at
different dates in different countries.
Suggested by: Garrett.
1997-12-13 11:51:16 +00:00
Wolfgang Helbig
4000696ce7 Added easterog() and easteroj() which compute orthodox easter for
Gregorian and Julian Calendar.
Suggested by: Andrey
1997-12-07 19:04:14 +00:00
Wolfgang Helbig
974c421176 Add libcalendar. 1997-12-04 10:48:14 +00:00
Wolfgang Helbig
306a501f35 Provides date of easter and other calendar related arithmetic. 1997-12-04 10:41:49 +00:00
Peter Wemm
027e5abe40 "un-bump" the major number for libtermcap.so. This brings -current back
to the same version numbers as 2.2.x.
The problem with the way things were was:
 - if you took a 2.2.x binary, it either wouldn't run on -current or
   if you had the old -current version of libtermcap.so.2.1 then it could
   potentially be a security problem.
 - the alternative is to start a compat22 tree dist for -current with a
   uuencoded binary.  This makefile hack is less cost.
libtermcap.so.3.0 is provided via /usr/lib/compat to avoid transition
problems.
1997-12-02 11:56:36 +00:00
Peter Wemm
a987686543 s/geteid/geteuid/ - it's lucky I have a large supply of left-over pointy
hats from Tristan's last birthday party. :-]
1997-11-29 11:39:31 +00:00
Peter Wemm
cf8e055700 Work around the problems caused by calling issetugid() in libtermcap in
a similar way to libc. Sigh.  This is not pretty but seems to work.
Somthing like this was needed in preference to bogusly bumping the major
library number here.

The syscall(SYS_issetugid) idea is originally Bruce's.
1997-11-29 11:30:57 +00:00
Paul Traina
231db54530 Upgrade minor version 1997-11-27 20:52:28 +00:00
Alexander Langer
09bb0da60c Modify the return values to comply with POSIX. Previously these
functions would return -1 and set errno to indicate the specific error.
POSIX requires that the functions return the error code as the return
value of the function instead.
1997-11-25 01:29:16 +00:00
Alexander Langer
3234f7c1cc Added missing source file uthread_sigwait.c.
Submitted by:	Daniel M. Eischen <deischen@iworks.InterWorks.org>
1997-11-24 23:04:29 +00:00
Alexander Langer
666dfc8237 Correct the return value from pthread_cond_timedwait when a timeout
occurs (was EAGAIN, is now ETIMEDOUT).

Submitted by:	Daniel M. Eischen <deischen@iworks.InterWorks.org>
1997-11-23 22:58:26 +00:00
Bruce Evans
22301c4b46 Fixed spelling of EACCES. 1997-11-23 17:58:55 +00:00
Bruce Evans
8fddd06099 Fixed long double formats. They were mostly not implemented except
on systems where long doubles are just doubles.  FreeBSD hasn't
been such a system since it started using gcc-2.5 many years ago.
The fix is of low quality.  It loses precision.

scanf() of long doubles doesn't seem to be used much, but gdb-4.16
uses %Lg format in its expression parser if it thinks that the
system supports printf'ing of long doubles.  The symptom was that
floating point literals were usually interpreted to be 0.0.
1997-11-23 06:02:47 +00:00
Brian Somers
9822c98d98 const correctness for dl*() 1997-11-22 03:34:46 +00:00
James Raynard
46eba3e8b7 Fix bit-twiddling in sigismember(3).
Note this ONLY affects the function version - the macro version is always
used unless for some reason you put #undef sigismember in your code before
calling it.
PR:		3615
Submitted by:	Nanbor Wang <nw1@cs.wustl.edu> (slightly amended patch)
1997-11-21 23:18:05 +00:00
Bruce Evans
362f4dce74 Don't check for the unlikely case of useconds == 0 here. The kernel
checks it.

Fixed a style bug.
1997-11-20 15:13:20 +00:00
Bruce Evans
70df31a627 stat() the correct file in execvp() so that the fine tuned errno handling
actually works.
1997-11-20 15:09:38 +00:00
John Polstra
eb64128d8a Fix erroneous format string. 1997-11-18 05:34:45 +00:00
John Polstra
3359c58c41 Add cross-references to rfork(2). 1997-11-18 03:59:30 +00:00
Bill Paul
d9cc92f584 Close PR #4867: improve _listmatch() to avoid returning false positives.
PR: 4867
1997-11-16 03:02:39 +00:00
Julian Elischer
52bf64c787 Reviewed by: hackers@freebsd.org in general
Obtained from: Whistle Communications tree

Add an option to the way UFS works dependent on the SUID bit of directories
This changes makes things a whole lot simpler on systems running as
fileservers for PCs and MACS. to enable the new code you must
1/ enable option SUIDDIR on the kernel.
2/ mount the filesystem with option suiddir.
hopefully this makes it difficult enough for people to
do this accidentally.
see the new chmod(2) man page for detailed info.
1997-11-13 00:28:51 +00:00
Julian Elischer
b1f4a44b03 Reviewed by: various.
Ever since I first say the way the mount flags were used I've hated the
fact that modes, and events, internal and exported, and short-term
and long term flags are all thrown together. Finally it's annoyed me enough..
This patch to the entire FreeBSD tree adds a second mount flag word
to the mount struct. it is not exported to userspace. I have moved
some of the non exported flags over to this word. this means that we now
have 8 free bits in the mount flags. There are another two that might
well move over, but which I'm not sure about.
The only user visible change would have been in pstat -v, except
that davidg has disabled it anyhow.
I'd still like to move the state flags and the 'command' flags
apart from each other.. e.g. MNT_FORCE really doesn't have the
same semantics as MNT_RDONLY, but that's left  for another day.
1997-11-12 05:42:33 +00:00
KATO Takenori
45d4f12362 Describe MNT_NOCLUSTER{R,W} flags.
Pointed out by:		bde
1997-11-09 03:36:26 +00:00
John-Mark Gurney
f668085d2d changed prototype to match text
changed sysctl to lsvfs as "sysctl vfs" doesn't return a listing of
possible filesystem names
1997-11-05 10:09:33 +00:00
Steve Price
0ce1971c2a Correct description of which runes are encoded as two bytes.
PR:		4555
Submitted by:	Dmitrij Tejblum <tejblum@arc.hq.cti.ru>

[0x0400 - 0xffff] [bbbbbbbb.bbbbbbbb] -> 1110bbbb, 10bbbbbb, 10bbbbbb
.Ed
.Pp
If more than a single representation of a value exists (for example,
0x00; 0xC0 0x80; 0xE0 0x80 0x80) the shortest representation is always
used (but the longer ones will be correctly decoded).
.Pp
The final three encodings provided by X-Open:
.Bd -literal
[00000000.000bbbbb.bbbbbbbb.bbbbbbbb] ->
	11110bbb, 10bbbbbb, 10bbbbbb, 10bbbbbb

[000000bb.bbbbbbbb.bbbbbbbb.bbbbbbbb] ->
	111110bb, 10bbbbbb, 10bbbbbb, 10bbbbbb, 10bbbbbb

[0bbbbbbb.bbbbbbbb.bbbbbbbb.bbbbbbbb] ->
	1111110b, 10bbbbbb, 10bbbbbb, 10bbbbbb, 10bbbbbb, 10bbbbbb
.Ed
.Pp
which provides for the entire proposed ISO-10646 31 bit standard are currently
not implemented.
.Sh "SEE ALSO"
.Xr mklocale 1 ,
.Xr setlocale 3
@


1.4
log
@Don't use hardcoded *roff font change requests.  Do it
via mdoc macros instead.
@
text
@d37 1
a37 1
.Dd "June 4, 1993"
@


1.3
log
@Very minor mdoc cleanup.
@
text
@d44 2
a45 1
\fBENCODING "UTF2"\fP
@


1.2
log
@Another round of various man page cleanups.
@
text
@d65 1
a65 1
.sp
d81 1
a81 1
.sp
@


1.2.2.1
log
@YAMFC:

Commit all of the -current changes that apply to 2.2.  These fall into
several categories:

- Cosmetic/mdoc changes.  They don't really afect the output
  at all, but having them in 2.2 will make it easier to diff the man
  pages later when looking for real changes.
- Update some man pages to reflect the current 2.2 header files.
- Sort xrefs.
- A few typo fixes.
- And a few changes that actualy added text to the man page that should
  be reflected in 2.2.
- Add some missing MLINKS.

Requested by: bde
@
text
@d44 1
a44 2
.Nm ENCODING
.Qq UTF2
d65 1
a65 1
.Pp
d81 1
a81 1
.Pp
@


1.2.2.2
log
@MFC:  Just the locale fixes (small doc tweaks for the most part)
and the new strptime(3) call.  Having added something, does this
require a version bump?  Haven't we bumped once already?

There are a *LOT* of additional 3.0 changes to be merged but I'm not
entirely comfortable with some of them so I'll take the conservative
(read: cowardly :) way out and just merge this much.
@
text
@d37 1
a37 1
.Dd June 4, 1993
@


1.1
log
@Initial revision
@
text
@d41 1
a41 1
.Nm UTF2
@


1.1.1.1
log
@BSD 4.4 Lite Lib Sources
@
text
@@


1.1.1.1.6.1
log
@Phase 2 of merge - also fix things broken in phase 1.
Watch out for falling rock until phase 3 is over!

libc completely merged except for phkmalloc & rfork (don't know if David
wants that).

Some include files in sys/ had to be updated in order to bring in libc.
@
text
@d41 1
a41 1
.Nm utf2
@


1.1.1.1.6.2
log
@This 3rd mega-commit should hopefully bring us back to where we were.
I can get it to `make world' succesfully, anyway!
@
text
@d41 1
a41 1
.Nm UTF2
@
1997-11-05 04:18:42 +00:00
Steve Price
2948624f5d Make the login_getclassbyname prototype match reality.
PR:		4838
1997-11-05 04:03:05 +00:00
Joerg Wunsch
5b50b1e179 Typo.
Submitted by:	peter@rhiannon.clari.net.au (Peter Hawkins)
1997-10-28 07:46:27 +00:00
Philippe Charnier
acb61b9eb4 Statisize usage(). 1997-10-27 07:53:22 +00:00
Bill Paul
acbf996600 In clntudp_call(), it is possible that xdr_replymsg() might fail
partway through its attempt to decode the result structure sent by
the server. If this happens, it can leave the result partially
populated with dynamically allocated memory. In this event, the
xdr_replymsg() failure is detected and RPC_CANTDECODERES is returned,
but the memory in the partially populated result struct is not
free()d.

The end result is that memory is leaked when an RPC_CANTDECODERES
error occurs. (This condition can occur if a CLIENT * handle is created
using clntudp_bufcreate() with a receive buffer size that is too small
to handle the result sent by the server.)

Fixed by setting reply_xdrs.x_op to XDR_FREE and calling
xdr_replymsg() again to free the memory if an RPC_CANTDECODERES error
is detected.

I suspect that the clnt_tcp.c, clnt_unix.c and clnt_raw.c modules
may ha a similar problem, but I haven't duplicated the condition with
those yet.

Found by: dbmalloc
1997-10-26 18:47:31 +00:00
Wolfgang Helbig
60152ec531 Typo. 1997-10-26 10:37:35 +00:00
John Polstra
11ea2762eb Change L_SET to SEEK_SET for POSIX compliance.
Submitted by:	Dean Gaudet <dgaudet@arctic.org>
1997-10-26 00:41:51 +00:00
James Raynard
d877622a0d Fix a few typos. 1997-10-22 23:12:27 +00:00
Andrey A. Chernov
7a54ede12f Back out part of OpenGroup specs about limiting max arg since it may break
compatibility.
1997-10-22 12:04:49 +00:00
Andrey A. Chernov
45ea5f3053 Reflect usleep code changes:
Limit max arg
Change return type to int
1997-10-22 11:27:20 +00:00
Andrey A. Chernov
9a9098177b Changes in spirit of OpenGroup Singe Unix specs:
1) Limit max allowed argument to 1000000
2) Change return type from void to int to indicate premature termination
(by signal)
1997-10-22 10:55:49 +00:00
Joerg Wunsch
56728a2905 Document EINVAL as a possible return value from open(2). 1997-10-22 07:29:13 +00:00
Bruce Evans
b966cc2394 Sorted lists. 1997-10-21 08:41:15 +00:00
Andrey A. Chernov
4fcbf66f05 Remove terminfo manpage we don't have it 1997-10-20 17:53:55 +00:00
Bruce Evans
7280dd1a3b Removed unused file. It just forces a return value of 0 on success
(no carry), but mount() in the kernel has returned 0 on success since
prehistoric times.
1997-10-18 13:59:48 +00:00
Andrey A. Chernov
c717c2d74c Add $Id 1997-10-17 09:40:08 +00:00
Andrey A. Chernov
8cfedef0e6 Fix LONG_MAX overflowing
Return seconds if errno other than EINTR
Add $Id
Submitted by: bde with minor optimization by me
1997-10-17 09:35:50 +00:00
John Polstra
7019f59e32 Fix two bugs which caused various RPC programs (mountd, nfsd, ...)
to fail under certain circumstances.

1. In one spot, the ifr_flags member was being examined in the
wrong structure, thus it contained garbage.  On a machine in which
only the loopback interface was up, this caused everything that
wanted to talk to the portmapper to fail -- a particular problem
with laptops, where the pccard ethernet interface is likely to come
up long after the attempt to start mountd, nfsd, amd, etc.

2. Compounding the above problem, get_myaddress() returned a
successful status even though it failed to find an address that it
considered good enough.
1997-10-17 04:59:56 +00:00
Andrey A. Chernov
855a496c94 Copy time_to_sleep to time_remaining since it can be left
uninitialized if nanosleep returns early with agr error
1997-10-16 21:31:43 +00:00
Bruce Evans
a461908da4 Handle machine-dependent (stdlib) sources more automatically.
This fixes bugs in the manual handling.  abs.[cS] was handled too
specially and the wrong (.c) variant for each of div.[cS], labs.[cS]
and ldiv.[cS] was added to SRCS.  This caused the .c variant to be
used if `depend' was made and the .S version to be used otherwise.
1997-10-16 14:58:30 +00:00
Bruce Evans
1cbbb1ba4b Removed bogus .PATH statement. 1997-10-16 14:41:25 +00:00
Bruce Evans
da16ae8684 Removed the subdirectory paths from the definitions of MAN[1-9]. They
were a workaround for limitations in bsd.man.mk that were fixed about
2 years ago.
1997-10-16 14:26:13 +00:00
Bruce Evans
ae80efa54f Handle machine-dependent (m-d) (string) sources more automatically.
The names of m-d variants are now added (manually) to MDSRCS instead
of to SRCS, and the names of all machine-independent (m-i) variants
that can reasonably be replaced by an m-d variant are now added
(manually) to MISRCS instead of to SRCS, so that a simple substitution
can be used to discard the unused m-i variants.  MISRCS is potentially
all m-i sources, but the substitution is too simple to be fast, so
MISRCS should be kept reasonably small.

libc/Makefile.inc:
Do the substitution.

libc/i386/string/Makefile.inc:
Add to MDSRCS instead of to SRCS.  Add the names of all sources in this
directory, but no others.

libc/string/Makefile.inc
Add to MISRCS instead of to SRCS.  Add the names of all sources in this
directory.  Don't use (broken) explicit rules for special cases.
1997-10-16 13:46:50 +00:00
Andrey A. Chernov
74dcc37aef Reflect current sleep/usleep implementations state 1997-10-16 13:42:03 +00:00
Andrey A. Chernov
49620c896c Cleanup #includes 1997-10-16 13:35:25 +00:00
Søren Schmidt
9fb4ca060c Fix a couble of typos.
Submitted by: "Vanill I. Shu" <vanilla@MinJe.com.TW>
1997-10-16 09:12:31 +00:00
Masafumi Max NAKANE
d39b43a399 Proper spacing in the Synopsis. 1997-10-16 01:19:15 +00:00
Bruce Evans
c81c89b410 Include the machine-dependent Makefile.inc for sys in the correct place. 1997-10-15 16:29:14 +00:00
Bruce Evans
2bc3b4d735 Removed the subdirectory paths from the definitions of MAN[1-9]. They
were a workaround for limitations in bsd.man.mk that were fixed about
2 years ago.
1997-10-15 16:16:41 +00:00
Bruce Evans
e94b7ef033 Added some 2-line source files to get a direct correspondence
between sources and objects.  This will be used to avoid messy
special cases in Makefile.inc.
1997-10-15 15:27:19 +00:00
Peter Wemm
6173688707 Remove old SIGALRM absorbing back-compat code. It wasn't working at all
for the entire time that it was there, so obviously nothing needs it
anymore.

Note, unix98/single-unix spec v2 says that usleep() returns an int rather
than a void, to indicate whether the entire time period elapsed (0) or an
error (eg: signal handler) interrupted it (returns -1, errno = EINTR)
It is probably useful to make this change but I'll test it locally first
to see if this will break userland programs [much]...

Reviewed by: ache, bde
1997-10-15 14:11:08 +00:00
Peter Wemm
9f375c3252 Give up on the "try and compensate for broken programs" cruft and revert
back to the original single nanosleep() implementation.  This is POSIX and
Unix98 (aka single-unix spec v2) compliant behavior.  If a program sets
alarm(2) or an interval timer (setitimer(2)) without a SIGALRM handler
being active, sleep(3) will no longer absorb it, and the program will get
what it asked for..... :-]

The original reason for this in the first place (apache) doesn't seem to
need it anymore, according to Andrey.

Reviewed by: ache, bde
1997-10-15 14:06:15 +00:00
Bill Paul
4c45fb08aa Correct a bug in the 'allow arbitrary number of socket descriptors' changes
made to the RPC code some months ago. The value of __svc_fdsetsize is being
calculated incorrectly.

Logically, one would assume that __svc_fdsetsize is being used as a
substitute for FD_SETSIZE, with the difference being that __svc_fdsetsize
can be expanded on the fly to accomodate more descriptors if need be.
There are two problems: first, __svc_fdsetsize is not initialized to 0.
Second, __svc_fdsetsize is being calculated in svc.c:xprt_registere() as:

                __svc_fdsetsize = howmany(sock+1, NFDBITS);

This is wrong. If we are adding a socket with index value 4 to the
descriptor set, then __svc_fdsetsize will be 1 (since fds_bits is
an unsigned long, it can support any descriptor from 0 to 31, so we
only need one of them). In order for this to make sense with the
rest of the code though, it should be:

                __svc_fdsetsize = howmany(sock+1, NFDBITS) * NFDBITS;

Now if sock == 4, __svc_fdsetsize will be 32.

This bug causes 2 errors to occur. First, in xprt_register(), it
causes the __svc_fdset descriptor array to be freed and reallocated
unnecessarily. The code checks if it needs to expand the array using
the test: if (sock + 1 > __svc_fdsetsize). The very first time through,
__svc_fdsetsize is 0, which is fine: an array has to be allocated the
first time out. However __svc_fdsetsize is incorrectly set to 1, so
on the second time through, the test (sock + 1 > __svc_fdsetsize)
will still succeed, and the __svc_fdset array will be destroyed and
reallocated for no reason.

Second, the code in svc_run.c:svc_run() can become hopelessly confused.
The svc_run() routine malloc()s its own fd_set array using the value
of __svc_fdsetsize to decide how much memory to allocate. Once the
xprt_register() function expands the __svc_fdset array the first time,
the value for __svc_fdsetsize becomes 2, which is too small: the resulting
calculation causes the code to allocate an array that's only 32 bits wide
when it actually needs 64 bits. It also uses the valuse of __svc_fdsetsize
when copying the contents of the __svc_fdset array into the new array.
The end result is that all but the first 32 file descriptors get lost.

Note: from what I can tell, this bug originated in OpenBSD and was
brought over to us when the code was merged. The bug is still there
in the OpenBSD source.

Total nervous breakdown averted by: Electric Fence 2.0.5
1997-10-14 21:50:17 +00:00
Bruce Evans
b2fad8ae7a Moved `SRCS+= frexp.c' to the correct Makefile.inc.
Sorted SRCS.
1997-10-14 07:43:33 +00:00
Bruce Evans
9386dc4deb Moved `SRCS+= frexp.c' to the correct Makefile.inc. 1997-10-14 07:43:18 +00:00
Bruce Evans
1df595f25d Fixed searching of $PATH in execvp(). Do what sh(1) should do according
to POSIX.2.  In particular:

- don't retry for ETXTBSY.  This matches what sh(1) does.  The retry code
  was broken anyway.  It only slept for several seconds for the first few
  retries.  Then it retried without sleeping.
- don't abort the search for errors related to the path prefix, in
  particular for ENAMETOOLONG, ENOTDIR, ELOOP.  This fixes PR1487.  sh(1)
  gets this wrong in the opposite direction by never aborting the search.
- don't confuse EACCES for errors related to the path prefix with EACCES
  for errors related to the file.  sh(1) gets this wrong.
- don't return a stale errno when the search terminates normally without
  finding anything.  The errno for the last unsuccessful execve() was
  usually returned.  This gave too much precedence to pathologies in the
  last component of $PATH.  This bug is irrelevant for sh(1).

The implementation still uses the optimization/race-inhibitor of trying
to execve() things first.  POSIX.2 seems to require looking at file
permissions using stat().  We now use stat() after execve() if execve()
fails with an ambiguous error.  Trying execve() first may actually be a
pessimization, since failing execve()s are fundamentally a little slower
than stat(), and are significantly slower when a file is found but has
unsuitable permissions or points to an unsuitable interpreter.

PR:		1487
1997-10-14 07:23:16 +00:00
Bill Paul
e882d43eca Improve the innetgr() NIS+ compat kludge. We should only fail over to the
'slow' lookup if we get a YPERR_MAP (no such map in server's domain) error
instead of failing over on any error. In the latter case, if the 'fast'
search fails legitimately (i.e. the user or host really isn't a member
of the specified netgroup) then we end up doing the 'slow' search and
failing all over again. The result is still correct, but cycles are
consumed for no good reason.

Also removed the #ifdef CHARITABLE since the compat kludge is no longer
optional.
1997-10-13 17:09:15 +00:00
Satoshi Asami
fc702c5bc8 Make this file p-make clean. (Use "ld -O foo" instead of "ld; mv
a.out foo".)

Reviewed by:	bde (actually more like "Suggested by")
1997-10-11 02:37:42 +00:00
Bill Paul
c17942ca57 NIS+ compatibility kludge. A long time ago, I set up innetgr() so
that if searching through the special netgroup.byhost or netgroup.byuser
maps didn't work, we would roll over to the 'slow' method of grovelling
though the netgroup map and working out the dependencies on the fly.
But I left this option hidden inside an #ifdef CHARITABLE since I
didn't think I'd ever need it.

Well, the Sun rpc.nisd NIS+ server in YP compat mode doesn't support
the .byhost and .byuser reverse maps, so the  failover is necessary
in order to be compatible. *sigh*

This closes PR #3891, and should be merged into RELENG_2_2.
1997-10-11 00:03:25 +00:00
Peter Wemm
112dfe815d Also install pcap-int.h so things can call pcap_compile on arbitary
expressions (eg: in pppd)
1997-10-10 11:55:42 +00:00
Philippe Charnier
8b76e1d7a8 Staticize usage(). Cosmetics. 1997-10-10 06:27:07 +00:00
John Dyson
44f203cb96 Add the AIO/LIO to libc. They aren't fully done yet, but have been in the
kernel for a few months.
1997-10-10 05:48:16 +00:00
Joerg Wunsch
cfeb4fd273 Remove the claim that UUCP locking were not atomic. It is since
revision 1.8 of uucplock.c.
1997-10-07 07:24:50 +00:00
David E. O'Brien
b90b0ce7ab Add passwd(5) to "SEE ALSO".
ISSUES:
        An example and better explansion on how to specify a user's login
	class in /etc/master passwd is needed.
	(As I don't seem to be specifiying it right, I can't do it).
1997-10-07 05:40:36 +00:00
Jordan K. Hubbard
97fe7f477f Changes to support full make parallelism (-j<n>) in the world
target.
Reviewed by:	<many different folks>
Submitted by:	Nickolay N. Dudorov" <nnd@nnd.itfs.nsk.su>
1997-10-05 09:40:24 +00:00
Wolfgang Helbig
b9b51fb731 Merged in better support of ISO 8601 from elsie.nci.nih.gov.
Added the conversion specifiers %g and %G, that are replaced
by the year which contains the greater part of the week in question.
1997-10-03 19:06:57 +00:00
Bill Fenner
b1cb1b02f1 Teach ftpErrString to format UNIX errnos, since at least ftpLogin()
can return UNIX errnos.  When UNIX errnos catch up with FTP status
codes (e.g. at 100) a new way will have to be found to tell which
is which.

This allows fetch to print errors like
fetch: ftp.fu-berlin.de: No route to host
instead of
fetch: ftp.fu-berlin.de: Unknown error
1997-10-02 23:26:03 +00:00
Søren Schmidt
b478da3630 Add rudimentary support for using the keyboard. 1997-10-01 20:53:41 +00:00
Poul-Henning Kamp
62a9dc968b Update to tcl8.0 release version. 1997-10-01 13:37:27 +00:00
Andrey A. Chernov
b1769be32c Move locks from /etc/opielocks to /var/run/opielocks to keep
/etc  non-writeable as possible
1997-10-01 13:02:20 +00:00
Jordan K. Hubbard
dcb69d91c2 Correct an ancient bogon which involved trying to read() from a
nuked file descriptor.  This is probably why sysinstall's ftp xfer
occasionally SEGV'd if you left things alone for a long time and
the timeout code got called.  Whoops!
1997-10-01 07:21:41 +00:00
Andrey A. Chernov
7c92864437 Bump minor number 1997-09-29 21:40:17 +00:00
Wolfram Schneider
bf5cbf3551 Sort cross refereces in section SEE ALSO. 1997-09-29 19:11:55 +00:00
Wolfram Schneider
2af22b06a4 Endless loop.
$ vipw
[corrupt a line in editor, exit editor]
pwd_mkdb: corrupted entry
pwd_mkdb: at line #2
pwd_mkdb:
/etc/pw.012585: Inappropriate file type or format
re-edit the password file? [y]: n^D^D
[hang]
1997-09-29 13:13:51 +00:00
Andrey A. Chernov
5fb9db85bb Add setutent.c 1997-09-29 11:38:36 +00:00
Andrey A. Chernov
bcd05664ce EXT_KEYS gone, STD ommited 1997-09-29 10:55:46 +00:00
Andrey A. Chernov
3f3386c2a8 Add logwtmp.c 1997-09-29 10:49:21 +00:00
Andrey A. Chernov
e9fcc517e1 Merge 1997-09-29 10:33:14 +00:00
Mike Smith
af35b9ccb0 Revert the previous prototype un-typo. Add a brief comment warning that
"fixing" it is not a good idea.
1997-09-28 17:11:31 +00:00
Mark Murray
0e8089efef Changes for KTH KerberosIV 1997-09-28 09:08:48 +00:00