394 Commits

Author SHA1 Message Date
bde
77a5ba68eb Fixed spelling of EACCES. 1997-11-23 17:58:55 +00:00
jraynard
3056e64ca3 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
bde
ea4fadd311 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
bde
9eee7eb270 stat() the correct file in execvp() so that the fine tuned errno handling
actually works.
1997-11-20 15:09:38 +00:00
wpaul
5a4ed48dff Close PR #4867: improve _listmatch() to avoid returning false positives.
PR: 4867
1997-11-16 03:02:39 +00:00
jdp
1d2927c9fa Change L_SET to SEEK_SET for POSIX compliance.
Submitted by:	Dean Gaudet <dgaudet@arctic.org>
1997-10-26 00:41:51 +00:00
ache
2e52ab6886 Back out part of OpenGroup specs about limiting max arg since it may break
compatibility.
1997-10-22 12:04:49 +00:00
ache
3cb44cbe93 Reflect usleep code changes:
Limit max arg
Change return type to int
1997-10-22 11:27:20 +00:00
ache
6591ace30d 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
bde
ea35ce8d73 Sorted lists. 1997-10-21 08:41:15 +00:00
ache
988fe95f98 Add $Id 1997-10-17 09:40:08 +00:00
ache
47a375370a 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
ache
c726b4d4aa 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
ache
892dc3af7f Reflect current sleep/usleep implementations state 1997-10-16 13:42:03 +00:00
ache
ac9461d96b Cleanup #includes 1997-10-16 13:35:25 +00:00
bde
ef5c98dd45 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
peter
d359eb4add 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
b998805f25 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
bde
100ea42694 Moved `SRCS+= frexp.c' to the correct Makefile.inc. 1997-10-14 07:43:18 +00:00
bde
eff0c86059 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
wpaul
36e2a3d8e9 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
wpaul
0fffdd6061 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
charnier
b93d92dbcd Staticize usage(). Cosmetics. 1997-10-10 06:27:07 +00:00
wosch
8ee659dd96 Sort cross refereces in section SEE ALSO. 1997-09-29 19:11:55 +00:00
msmith
40be271011 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
msmith
4606b60a1f Fix typo in signal() prototype 1997-09-28 03:28:09 +00:00
peter
21be387d72 Apply fts() fix from PR#4593
Submitted by:  Dmitrij Tejblum <dima@tejblum.dnttm.rssi.ru>
1997-09-22 12:48:40 +00:00
phk
d8ac409160 Many places in the code NULL is used in integer context, where
plain 0 should be used.  This happens to work because we #define
NULL to 0, but is stylistically wrong and can cause problems
for people trying to port bits of code to other environments.

PR:		2752
Submitted by:	Arne Henrik Juul <arnej@imf.unit.no>
1997-09-18 14:08:40 +00:00
peter
d96eb92b4f Put a system call not present checking wrapper around the call to
__getcwd().  I've got this libc code running on one of my machines
at the moment without the __getcwd() syscall being present.
1997-09-16 06:00:50 +00:00
wosch
bfe383d033 Fix yet a minor stylistic nit from Bruce.
(`cvs diff -ib' print one new char ;-).
1997-09-15 19:37:23 +00:00
phk
e9ff6fa415 Fix yet a minor stylistic nit from Bruce (Doesn't he have more
important things to do ?? :-)

Prepare for the likely case of a change in kernel algorithm.
1997-09-15 17:40:15 +00:00
phk
6df69d4086 Fix a buglet and a couple of stylistic nits from Bruce. 1997-09-15 08:25:14 +00:00
wosch
5c10b1ba45 Potential bufferflow in getpwent(), getpwnam() and getpwuid()
PR: bin/4134
Submitted by:	nick@foobar.org
1997-09-14 18:16:11 +00:00
phk
bb6f420228 Add __getcwd() syscall, and have getcwd() take a shot at it.
If your kernel doesn't support __getcwd() or if __getcwd() cannot
deliver because of cache expiry, it does the canonical thing.
1997-09-14 16:57:27 +00:00
bde
fe44e14243 Fixed synopsis. The envp arg for execle() can't be given in the prototype.
Fortunately, the man page doesn't refer to "envp" so just deleting it is OK.
1997-09-03 03:25:35 +00:00
bde
901de0acb7 Fixed inclomplete function type in synopsis. 1997-08-31 21:54:10 +00:00
peter
39f822f3ed Initial elf nlist support, mostly stolen from OpenBSD (they use standard
#defines that are compatable with ours).  I made some some minor tweaks
to the leading '_' tests.

Again, this is off by default for the moment.  This probably should be
split into seperate files (like some of our other libc files that could
do with some splitting).

Obtained from: OpenBSD (plus some minor tweaks)
1997-08-31 00:08:35 +00:00
kato
22c8a8129b Added HW_MACHINE_ARCH. 1997-08-30 02:26:36 +00:00
imp
02b5c984e2 Merge in the safe chdir changes from Todd Miller's mods to the OpenBSD
tree.  Also merge in fix to NetBSD PR #1495.  These represent 1.3-1.9 in
the OpenBSD tree.  Make minor KNF changes to new code (which is in the
OpenBSD as 1.10).  This avoids the symlink race problems.

These patches should go into 2.2.5 before the ship if they don't
break anything in -current.
Reviewed by:	Bruce Evans
Obtained from:	OpenBSD
1997-08-29 22:56:41 +00:00
ache
dbbb9f298f Use getpwnam(getlogin()) before getpwuid(getuid()) 1997-08-27 13:36:34 +00:00
imp
4e4e5cd87b Don't getenv(HOME) when set[ug]od. This can lead to a buffer overflow and
elevated privs.
Obtained from: OpenBSD
1997-08-27 05:27:53 +00:00
dg
a6696ae844 Fixed file descriptor leak that occurs after certain types of failures.
PR:		3516
Submitted by:	Matthew Flatt <mflatt@cs.rice.edu>
1997-08-15 05:21:16 +00:00
ache
da5b9d9f11 Describe upper limit based on itimerfix restriction 1997-08-14 07:44:57 +00:00
ache
051a2e06f5 Oops, fix logic for previous commit 1997-08-14 06:46:44 +00:00
ache
b537b1ccca Remove wrong machine-dependent phrase about maximum microseconds
limit. Small cleanup.
1997-08-14 06:32:25 +00:00
ache
6ee68884c1 Break loop if error != EINTR occurse or it can take forever with
time_remaining unchanged
1997-08-14 06:23:48 +00:00
ache
cc75a271ba Note that default behaviour (restarting signals) is only for signal(3) 1997-08-13 18:40:57 +00:00
ache
54c8d4859c Handle syscalls error return slightly better 1997-08-13 18:22:41 +00:00
ache
4dd0f70342 Back out itimerfix hack since nanosleep1 fixed now
Handle syscalls error return slightly better
1997-08-13 18:13:17 +00:00
ache
73828b4148 Rearrange itimerfix loop doing it inside SIGALRM handling section 1997-08-12 19:54:31 +00:00