Commit Graph

882 Commits

Author SHA1 Message Date
jdolecek 8eb5a4184d xref symlink(7) 1999-09-26 21:18:53 +00:00
lukem d896261208 back out the #ifdef _DIAGNOSTIC argument checks; too many people complained.
_DIAGASSERT() is still retained.
1999-09-20 04:38:56 +00:00
lukem b48252f365 * use _DIAGASSERT() to check pointer arguments against NULL and file
descriptors against -1 (as appropriate).
* add actual checks which to detect stuff that would trigger_DIAGASSERT(),
  and attempt to return a sane error condition.
* knf some code
* remove some `register' decls.

the first two items result in the addition of code similar to the
following in various functions:

		_DIAGASSERT(path != NULL)
	#ifdef _DIAGNOSTIC
		if (path == NULL) {
			errno = EFAULT;
			return (-1);
		}
	#endif
1999-09-16 11:44:54 +00:00
lukem d21225500f revert previous (as per klaus). will diagassert() name == NULL check instead... 1999-09-16 11:36:19 +00:00
lukem f385db7764 check name != NULL before checking name[0] != '\0' 1999-09-16 08:12:21 +00:00
lukem 8423dd3490 implement __diagassert(). currently this just prints the assertion to
stderr and syslog()s to user.debug. (it does not abort).

XXX: implement a scheme similar to $MALLOC_OPTIONS which gives the
user control over whether to stderr, syslog, abort, do nothing, etc...
1999-09-15 23:57:21 +00:00
kleink 7d2e8d6525 Add an XSH5 ulimit()/<ulimit.h> implementation. 1999-09-13 18:38:04 +00:00
kleink d5cfef41b5 Add the inevitable __RCSID(). 1999-09-13 18:36:02 +00:00
kleink 734b2b9b5e Add an XSH5 fmtmsg() implementation. 1999-09-12 19:04:30 +00:00
kleink ecaa1449b5 Move the function implementations of (the non-ANSI) isascii() and toascii()
into separate modules to avoid namespace clashes.
1999-09-12 18:54:34 +00:00
kleink 03126e1c99 Use full month names with .Dd, as per mdoc.samples(7). 1999-09-12 18:47:10 +00:00
proff fb95c8ad2b Document return values and bugs 1999-09-03 13:12:44 +00:00
mycroft 07ccaa3409 HUGE_VAL -> infinity 1999-08-29 18:55:29 +00:00
mycroft 3b800f4a61 Mention more of the special cases. 1999-08-29 18:52:18 +00:00
mycroft 9a255f2ff2 Readd my change from fts.c rev 1.10, which was incorrectly removed in rev 1.19
(HI CHRISTOS!):
Avoid extra stat()s if a link count of 1 is returned for directories but the
d_type field is filled in.
1999-08-27 21:10:46 +00:00
mycroft 4c9100d48f Adjust fts_pow2() for LP64 before Ross bricks me. 1999-08-27 20:02:14 +00:00
mycroft ea03e67f3c GC one line of unneeded code. 1999-08-27 18:33:29 +00:00
mycroft 6b91e1fa70 Fix the comment above fts_palloc().
Also, fail with ENOMEM if fts_pathlen would overflow, rather than silently truncating the
path.
1999-08-27 18:29:08 +00:00
mycroft 8db2a166f9 Avoid memory leaks when realloc() fails (by storing the return value in a temporary, and
testing it before assigning it; fts_close(3) will deallocate the old memory).
1999-08-27 18:26:34 +00:00
mycroft b09ec9deb8 Fix multiple problems in the FTS_NOCHDIR case:
* There was an off-by-one error that caused the addition of a NUL or slash in fts_build() to
  overwrite other memory.
* After fts_palloc(), we need to reset `cp' so that it points to the new path name buffer;
  otherwise the addition of the file name before calling fts_stat() could lose.
Also, fix stupidity in the fts_palloc() interface.  We don't want N bytes more than the
current buffer size; we want N bytes more than the current length.  Just pass in the new
size, since we can't figure it out easily here.
1999-08-27 18:01:35 +00:00
mycroft ba3f600103 Allocate the path name buffer by powers of 2. 1999-08-27 06:17:33 +00:00
mycroft 8f599f97a7 Minor change to previous. 1999-08-26 20:28:53 +00:00
mycroft 8873459bcb Fix 3 bugs:
* When not using FTS_NOCHDIR, fts_accpath == fts_name.  fts_padjust should not
  try to move fts_accpath in this case.
* Previous entries at the same level also need to be adjusted.
* A bug was introduced in rev 1.8 (HI CHRISTOS!!) that caused the maxlen
  comparison to always fail (due to type promotions) when sp->fts_pathlen ==
  cur->fts_pathlen -- thus causing memory stompage.
1999-08-26 20:24:59 +00:00
mycroft af3e075076 Make some needed weak aliases. 1999-08-17 03:43:59 +00:00
kleink 9208fe856f Add header file inclusion, and Xref single-precision versions. 1999-08-16 23:12:19 +00:00
fvdl 0536609b97 Keep track of the number of encountered symlinks and fail with ELOOP
if they exceed MAXSYMLINKS.
1999-08-10 13:03:11 +00:00
sommerfeld 508d2d0e9e Avoid infinite loop if pathname is longer than the maximum the kernel
is willing to return from getcwd().
(this can only happen in -current).
1999-07-11 18:01:46 +00:00
kleink 7b67bca335 Add compile-time and run-time feature test knobs for the 1003.1 Mapped Files,
Process Memory Locking, Range Memory Locking and Memory Protection options.
1999-06-24 14:18:10 +00:00
thorpej 3787c5c3d8 MAP_COPY -> MAP_PRIVATE 1999-06-17 21:09:47 +00:00
simonb 5bef8a3c65 The prototype for this is in <stdlib.h>... 1999-06-15 12:14:08 +00:00
christos d3afd1cc44 make this compile under linux 1999-06-11 15:38:40 +00:00
christos 033ffd1215 make this compile under linux too. 1999-06-10 23:40:53 +00:00
kleink 9fa49f9cd5 Need <unistd.h> for declarations. 1999-05-26 15:39:36 +00:00
ad ccc7e59e1f Add new sysctl (net.inet.tcp.log_refused) that when set, causes refused TCP
connections to be logged.
1999-05-23 20:33:50 +00:00
christos 11f565478e Fix unaligned access lint warning. 1999-05-03 14:35:46 +00:00
christos c52c8cc0b1 int -> size_t problems, change do { } while (0) to for (;;) 1999-05-03 14:33:50 +00:00
ross 415d4c2f07 Fix fpgetmask.3 MLINKS braino. 1999-05-01 22:45:57 +00:00
ross c5a82dd848 * New MI man page for fp{set,get}{round,sticky,mask}(3).
* Implement fpgetsticky() for alpha.
* Direct fpsetsticky() and fp{get,set}mask() into alpha kernel via sysarch(2).
* Define new sysarch(2) stub for above and install and distribute sysarch.h
for alpha.  (The fpcr IS user mode r/w, but for reasons beyond the scope
of a commit message kernel calls are needed.) And much kernel Magick is
required before these do anything, but this way programs compiled under
1.4 will DTRT on future snapshots and releases.
1999-04-30 00:58:30 +00:00
ross c36a5f5190 Unconditionalize `rval' declaration referenced in usr.bin/chpass/ via .PATH 1999-04-27 06:08:58 +00:00
lukem df8debb219 change dns_getpw() to skip dodgy entries when doing getpwent(), rather
than returning NS_UNAVAIL. this means that a -ve uid entry in hesiod
doesn't stop getpwent() in its tracks. it also brings it in line with
how nis_getpw() works as well in this situation.
problem tracked down (with much pain & suffereing) by simonb.

XXX: we currently have no support for -ve uids, and this is painful in
XXX: hetrogenous environment... (this -ve check is enforced in __pwscan())
1999-04-26 04:01:32 +00:00
lukem 61ae8b4739 document duplicate suppression 1999-04-25 14:56:10 +00:00
lukem 253fa5cc72 suppress duplicate gids (e.g, when multiple sources are given in
nsswitch.conf and they contain similar information).

XXX: in the case where the given array is too small and -1 is returned,
the returned ngroups will be too large by a factor of the difference
between the given size and the number of matches. this is not considered
to be a major problem, since it's still going to be a smaller figure than
what the previous (non suppressive) behaviour returned.
1999-04-25 14:47:46 +00:00
lukem d438433458 * highlight that getgrent() doesn't suppress duplicate info from multiple
nsswitch.conf sources
* consistently refer to `functions', rather than occasionally referring
  to them as `routines'.
1999-04-25 13:47:37 +00:00
lukem 83e7ae6c5d * highlight that getpwent() doesn't suppress duplicate info from multiple
nsswitch.conf sources
* consistently refer to `functions', rather than occasionally referring
  to them as `routines'.
1999-04-25 13:45:02 +00:00
lukem 326483c4de change getgrent() backends so that a flag (per source) is set once the
source has been exhausted. this allows getgrent() across multiple
sources (e.g, ``group: files nis'') to work correctly. the flags are
reset in setgrent()/endgrent().

(as per similar change in getpwent.c rev 1.42)

XXX: this change means that code that uses getgrent() to obtain a list
of groups will have to do duplicate suppression... getgrouplist()
springs to mind; i'm about to modify that
1999-04-25 13:39:41 +00:00
lukem a8743ef778 change getpwent() backends so that a flag (per source) is set once the
source has been exhausted. this allows getpwent() across multiple
sources (e.g, ``passwd: files nis'') to work correctly. the flags are
reset in setpassent()/endpwent().

this fixes a bug noted in [lib/7449] by thorpej, and tracked down to
getpwent() as being the culprit by simonb.
1999-04-25 07:54:01 +00:00
lukem 73e9ef01be specifically include stdarg/varargs.h 1999-04-18 02:04:04 +00:00
drochner 2c6db68a95 remove unused label 1999-04-08 17:07:02 +00:00
pk 1cd395375d 1, 2, 3 and.. 4! 1999-04-06 20:24:37 +00:00
cgd b22750720f change:
.Sh "SEE ALSO"
to:
	.Sh SEE ALSO
The doc macros check for the latter (actually just for 'SEE' as the first
argument to .Sh) to set the section header SEE ALSO flag, which modifies
some behaviour (e.g. references done with .Rs/.Re).
1999-04-06 04:54:19 +00:00
mycroft 71ebbb8000 Return the full group count when it exceeds the maximum. Also DTRT if the
maximum is 0 (possibly used to size the list for memory allocation, rather
than core dumping).
1999-04-05 18:52:28 +00:00
lukem 3ebdcecd65 don't use warn() in initgroups(); it's not documented to do that, and
if stderr isn't valid the caller may dump core.
from Giles Lean <giles@nemeton.com.au> in [lib/7273]
1999-03-31 12:19:32 +00:00
abs ac83f64eca Cast argument to isspace to (unsigned char) to pass zoularis. 1999-03-29 09:27:29 +00:00
sommerfe bb8c6c869a move __getcwd prototypes to libc-private header file.
XXX duplicate the prototype in getcwd regression test (which needs to
call the syscall directly for reasonably complete testing).
1999-03-26 22:23:57 +00:00
sommerfe 27a01cc18e Use __getcwd() system call in getcwd() unless OLD_GETCWD is defined 1999-03-26 04:04:13 +00:00
mycroft 66902a3cfd Remove blank lines. 1999-03-24 06:14:18 +00:00
abs 5e69f8317f Fix 'suggest parentheses' warning noted by Erik E. Fair <fair@clock.org> 1999-03-23 02:58:50 +00:00
garbled 38c96853cf Last of the .Os cleanups. .Os is defined in the tmac.doc-common file,
so we shouldn't override it with versions in the manpages.  Wheee!
1999-03-22 19:44:33 +00:00
kleink 4d282292e2 Introduce EOVERFLOW. 1999-03-22 19:03:38 +00:00
abs 6c70403fe8 If we push a cap entry (usually from the environment), strip : deliminated
entries that only contain whitespace, in a similar fashion to reading from
a file.
1999-03-22 03:28:09 +00:00
christos 3eeda4afc6 Fix gcc-2.8.1 warnings. 1999-03-16 18:13:44 +00:00
is 592e2783ea Use SUN_LEN, not sizeof. 1999-03-16 14:00:58 +00:00
is 9f6e89f0d8 Use a struct sockaddr_un, so that the new _PATH_LOG actually fits into it. 1999-03-16 13:48:00 +00:00
kristerw a37972b8d8 daemon returns int. From OpenBSD. 1999-03-14 18:10:02 +00:00
erh bdfd2b2770 Add missing .El lines. 1999-03-09 19:45:09 +00:00
kleink be94d3fe24 Const poisoning, integer argument promotion. 1999-03-08 10:35:43 +00:00
christos 6ddc400a5b const poisoning. 1999-03-02 14:02:02 +00:00
drochner a34eb7c1b7 use ${ARCHDIR} instead of ${.CURDIR}/arch/${MACHINE_ARCH} where appropriate
libc builds on pmax again
1999-02-24 15:05:20 +00:00
mrg bdadd56346 add a new fstab type "dp" for the user-specified dump device.
change swapctl -A to see this and add it via swapctl(2).  also
add a new swapctl -D <device> to change the dump device on the
fly.
1999-02-23 17:00:53 +00:00
kleink df15a294f2 Dv vs. Va police. 1999-02-16 19:36:52 +00:00
lukem f177c46ba0 fix bug introduced in rev 1.8 during delint(1)ing which broke globbing ~/
(hi christos! ;)
1999-02-07 12:19:37 +00:00
kleink 0d5bfdd00f Make argv construction code reentrant. 1999-02-04 18:17:16 +00:00
kleink 4c1375bee7 Protect syslog descriptor state with a mutex. TODO: cleanup handling for
cancellation points.
1999-02-04 16:23:17 +00:00
thorpej 4fe22aef7f Sync w/ kvm_mkdb. 1999-01-29 22:23:54 +00:00
thorpej 7c2e6d4c42 Fix printf format errors. 1999-01-26 02:23:34 +00:00
lukem 7f1c203c11 always compile in support for `compat' backends (even if !YP & !HESIOD),
and make it the responsibility of the backends to fallback to `files'
if !YP & !HESIOD. fixes chsh problem noted by billc@netbsd.org.
1999-01-26 01:08:06 +00:00
lukem 147dea105a convert from hes_*() -> hesiod_*() 1999-01-25 01:09:34 +00:00
christos 6856868d29 - Use strsep() instead of strtok_r()
- Use warn{x,}() instead of home brewed error()
- Simplify some code.
1999-01-24 19:51:16 +00:00
lukem a17402b37c pre nsswitch default was more like "files [notfound=return] nis" 1999-01-22 03:25:31 +00:00
thorpej 45863a505b Fix two problems with the recent nsswitch changes to netgroups:
- The historic mode for netgroups was "files nis".  Change the default to
  this for when /etc/nsswitch.conf does not exist.
- The nis lookup dispatch was mistakenly conditional on -DHESIOD, not -DYP.
1999-01-21 22:21:13 +00:00
mycroft 4171e335d6 Use the right map for Hesiod lookups by uid. 1999-01-21 12:42:06 +00:00
christos 23ab75d421 - remove unneeded casts
- remove unreachable code
- delint
1999-01-20 13:12:07 +00:00
christos 78427083c5 - avoid unitialized warning.
- remove unreachable code.
- add ARGSUSED
- linted for const castaway.
1999-01-20 13:11:18 +00:00
lukem 40901ecd3c nsdispatch defaults now: "group: compat", "group_compat: nis" 1999-01-20 02:59:37 +00:00
mycroft 3d9372fc29 Simplify this code slightly. 1999-01-19 08:32:34 +00:00
lukem b247a8eceb * `passwd' defaults to `compat', and `passwd_compat' defaults to `nis'
* constify ns_dtab defs
1999-01-19 08:30:46 +00:00
lukem 6a471ed8f9 convert to new nsdispatch(3) 1999-01-19 08:07:58 +00:00
lukem 27323a9339 * maximum limit of names is MAXLOGNAME not UT_NAMESIZE. fixes [bin/6847] from
scott ellis.
* convert to new nsdispatch(3)
1999-01-19 08:04:27 +00:00
abs 593d6c65b9 Add '-f disktab' option to disklabel, via lib/6623 from
Greg A. Woods <woods@most.weird.com>. (Very) slightly tweaked disklabel.8
1999-01-19 06:24:08 +00:00
christos 6304dadc4d delint 1999-01-18 20:36:32 +00:00
lukem a360857d48 * fix _compat_getpw so that it returns _local_getpw(...) if there
isn't a `+' token in the files database.
  (this bug probably crept in when a merge to current occurred)
* ensure that the _bad_getpw callbacks in __getpwcompat have an
  argument for error reporting.
1999-01-18 00:59:10 +00:00
lukem e50f4e6efc fix some gid casts 1999-01-16 14:44:33 +00:00
lukem f016dbdf41 fix some uid casts 1999-01-16 14:42:54 +00:00
lukem d3f8abaacb reference nsswitch.conf(5) 1999-01-16 07:59:39 +00:00
lukem 0eb8645e3a pull nsswitch up to main branch 1999-01-16 07:47:18 +00:00
tsarna 531aeb7c25 Add a "class" entry to ttyent. Closes PR#4638. 1999-01-15 18:47:48 +00:00
bouyer dc306354b0 Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
1999-01-15 13:31:15 +00:00
is 1ab8cc2ed4 mention poll(2). 1998-12-11 22:38:44 +00:00
jonathan bf3db28f12 Move warnings about sys_errlist[], sys_nerr, __sys_errlist, _sys_nerr
to _sys_siglist.c, so the warning is shown once at link time, not three times
(once for errlist.c itself,  once each for the two includes in _sys_siglist.c).
1998-12-06 07:12:18 +00:00
jonathan 56f21e4806 Move warnings about sys_siglist[] and __sys_siglist to _sys_siglist.c,
so that the warning is shown once at link time, not three times.
1998-12-06 07:05:48 +00:00