Commit Graph

662 Commits

Author SHA1 Message Date
wpaul
d389236bb2 Add __dns_getanswer() hook to allow access to the gethostanswer()
functions from outside libc. (Needed for async DNS resolver in ypserv.)
1996-12-22 22:05:43 +00:00
joerg
0f3bc141ec Back out rev 1.5: the overflow condition is already handled elsewhere. 1996-12-22 15:48:06 +00:00
davidn
f46b074e3c Speeling fix. 1996-12-22 02:14:56 +00:00
mpp
bef6a10c82 Convert to mdoc format. 1996-12-21 22:56:48 +00:00
wpaul
1d2f995ed7 Add a missing #ifdef YP/#endif pair so that this module will
compile without -DYP.

Pointed out by: Wolfram Schneider
1996-12-21 18:36:44 +00:00
wpaul
9f9cef3ee4 Fix for bug noticed by Christoph Kukulies.
_yp_dobind() checks to see if a fork() happens (by checking PIDs) and
invalidates all bindings if it finds itself in a newly created child
process. (This avoids sharing RPC client handles and socket descriptors
with the parent, which would be bad.) Unfortunately, it summarily
calls clnt_destroy() on the handles, which may result in the destruction
of a descriptor that isn't really a socket.

This is fixed by replacing the explicit call to clnt_destroy() with a
call to _yp_unbind(), which deals with potentially hosed socket descriptors
an a safe manner.

This is basically a one-liner. Once I confirm that it fixes Christoph's
problem, I'd like permission to put it in the 2.2-RELENG branch.
1996-12-20 19:41:15 +00:00
swallace
0b3ad5ee30 Back out change. The last argument to semctl() IS union semun
for the C library call, which is a wrapper that passes it by reference
to the kernel.
1996-12-18 08:03:31 +00:00
jkh
d98e222355 Last argument to semctl() is union semun *, not union semun.
Pointed-Out-By: swallace
Person-With-Commit-Privs-By-Whom-It-Should-Have-Been-Committed: swallace
1996-12-17 21:58:00 +00:00
joerg
971f474616 Fix yet another buffer overflow. :-(
Vulnerable: all programs that use setlocale(LC_COLLATE),
setlocale(LC_CTYPE), or setlocale(LC_ALL).  The only setuid/setgid
binary i've found for this is w(1).

Should go into 2.2.
1996-12-16 17:32:58 +00:00
mpp
77a293a8d3 Mention FreeBSD explicitly along with 4.2BSD so that the
reader will know that this information does apply to FreeBSD also.

Closes PR# 1618.

This can go into 2.2.
1996-12-15 23:23:17 +00:00
mpp
9bc3e724e5 Correct some xrefs/mlinks. 1996-12-14 23:27:20 +00:00
steve
69ca26a305 Merge Lite2 mods, and -Wall cleaning. undelete(2) cruft
not yet implemented is protected by a define (BSD4_4_LITE)
that should be removed when this call is supported by the
kernel.
1996-12-14 06:03:29 +00:00
joerg
8f51351988 Fix the fix.
Pointed out by:	wollman, bde
1996-12-13 13:31:12 +00:00
joerg
95f7940131 Don't free the line buffer, since getttynam(3) might still reference
it.

Closes PR # bin/2196: Bug in src/libc/gen/gettty...

Submitted by:	davidn@blaze.net.au (David Nugent)
1996-12-12 23:52:34 +00:00
joerg
20ea94ba7d Fix an embarassing and rather obscure incarnation of an uninitialized
local variable use.

Found by:	actually using ascii2addr() :-/
1996-12-12 21:21:11 +00:00
alex
2bbb988ec4 POSIX.4 defines MAP_FAILED to be the error return from mmap(). 1996-12-12 01:00:14 +00:00
wollman
b569335b93 Get struct ether_addr directly from <net/ethernet.h> rather than pulling
in lots of unrelated junk from <net/if.h> and <net/if_ether.h>.  These
functions still aren't prototyped anywhere (but should be in
<net/ethernet.h>---got that, Bill?).
1996-12-10 17:19:11 +00:00
mpp
a18275598d Change another reference to host names to domain names, and restore some
changes that were lost.

Pointed out by: bde
1996-12-09 16:50:39 +00:00
msmith
dd680562f9 English pedantry : affect -> effect
Submitted by:	 Daniel O'Callaghan" <danny@panda.hilink.com.au>
1996-12-09 06:04:03 +00:00
ache
bf67909b4b Turn POSIX_SAVED_IDS off 1996-12-06 22:53:52 +00:00
jkh
eeb126378e I asked Bill Paul why _getnetbynis() was only being called with 2 parameters,
and he said:

	The 3rd agrument is new; looks like it was part of the upgrade to
	a new BIND with some IPv6 support. The third argument here should be
	AF_INET. In order for it to be anything else, I'd have to add new
	NIS functions to support IPv6 lookups. I don't even know what those
	look like yet.

So there ya go, add AF_INET as the 3rd argument to the call.

Submitted-by: wpaul
1996-12-06 00:12:31 +00:00
jkh
e1ff7f23f8 Remove more instances of passing arrays by address when they should
have simply been passed as arrays.  In some cases, casts had even
been added to remove the warnings generated by such misuse!  Aieee!
1996-12-05 18:46:19 +00:00
jkh
387fe043cb Eliminate 3 more examples of gratutiously passing arrays by address.
Everyone please call ParaSoft today and say "I will buy 57 copies of
Insure++ tomorrow, but first I want a FreeBSD version." :-)
1996-12-05 18:41:35 +00:00
jkh
04f6ba42ab sethostname() returns int, not long. I could get used to having this
copy of insure++, too bad the runtime only works for BSD/OS. :-(

Maybe they'll be so impressed by my initial 15 entry bug report for it
that they'll take the FreeBSD version more seriously. :-) :-)
1996-12-05 18:27:20 +00:00
jkh
d9e46a2d1a _key is a char array and we don't need to pass its address to _buildkey()
when buildkey is expecting a char *.
1996-12-05 18:22:00 +00:00
jkh
9f43ee6680 gethostname() returns int, not long. Answered my own question by
RTFM'ing.  Either both the header files and the man pages are wrong
or this code is, and I'll take the majority decision. :-)
1996-12-05 18:14:56 +00:00
jkh
bd235b6b0f make u_char * -> char * conversion explicit.
Found-By:  insight's "insure++" tool.
1996-12-05 18:05:11 +00:00
mpp
e4e60e9882 The semget man page uses the incorect symbol for alter
access.  Closes PR# 1712.

Submitted by:	Kent Vander Velden
1996-12-03 23:03:22 +00:00
wpaul
1aa66460f8 Add support for detecting and hopefully using the passwd.adjunct.byname
NIS map which is present on SunOS NIS servers with the SunOS C2 security
hack^Woption installed. I'm convinced that the C2 security option restricts
access to the passwd.adjunct.byname map in the same way that I restrict
access to the master.passwd.{byname,buid} maps (checking for reserved ports),
which means that we should be able to handle passwd.adjunct.byname map
correctly.

If _havemaster() doesn't find a master.passwd.byname map, it will now
test for a passwd.adjunct.byname map before defaulting back to the
standard non-shadowed passwd.{byname,byuid} maps. If _pw_breakout_yp()
sees that the adjunct map was found and the password from the standard
maps starts with ##, it will try to grab the correct password field
from the adjunct map. As with the master.passwd maps, this only happens
if the caller is root, so the shadowing feature is preserved; non-root
users just get back ##username as the encrypted password.

Note that all we do is grab the second field from the passwd.adjunct.byname
entry, which is designated to be the real encrypted password. There are
other auditing fields in the entry but they aren't of much use to us.

Also switched back to using yp_order() to probe for the maps (instead
of yp_first()). The original problem with yp_order() was that it barfed
with NIS+ servers in YP compat mode since they don't support the
YPPROC_ORDER procedure. This condition is handled a bit more gracefully
in yplib now: we can detect the error and just punt on the probing.
1996-12-03 17:55:49 +00:00
wosch
32491cf461 upgrade STANDARDS from POSIX 1003.1-88 to 1003.1-90 using .St macro
use ``is expected to conform to'' phrase, not ``conforms to''

Pointed out by: Bruce->NIST-PCTS
1996-12-02 20:03:58 +00:00
mpp
6d9e71335a Update getdomainname(3) to reflect that it operates on
domain names and not host names.

Pointed out by:  bde
Obtained from:  NetBSD
1996-12-01 00:10:28 +00:00
ache
e27f332f23 Add rcsid[]
Since locale reading code not resistent against stack overflowing or
similar intruder attacks, don't allow PATH_LOCALE env variable action
for s-bit programs (non-standard locale path setting)
1996-11-27 22:30:44 +00:00
ache
21606c3294 Add Id
Optimize/improve recently added locale restoration on failure
1996-11-26 08:00:17 +00:00
ache
aedf723373 Move PATH_LOCALE handling to setlocale.c, simplify locale path building,
don't treat empty encoding as C encoding
1996-11-26 02:52:52 +00:00
ache
de0f02e3b7 PATH_LOCALE: use this non-standard env variable first time only, i.e.
strdup() it to prevent unsetenv() or setenv() effects. Check its length to
not allow user to overflow internal locale buffer. Move PATH_LOCALE
handling code into one place.

POSIX: make better stub for LC_MONETARY & LC_NUMERIC, now it check
locale directory existance instead of refusing all non-C non-POSIX
locales. POSIX treats empty locale env variable as unset variable
while our old code treats it as "C" locale, fix it. Implement previous locale
restoring, if locale setting fails. Old code assumes success if some
of LC_ALL subset is successed even other fails, POSIX treats it as
failure with previous locale restoring, fix it.

Remove unneccessary length checking in currentlocale()
1996-11-26 02:49:53 +00:00
pst
b63c62d830 get_myaddress() wasn't following the interface array properly
Cannidate for: 2.2
1996-11-22 23:37:08 +00:00
bde
998611f369 Fixed execvp() of an empty pathname to fail POSIXly. Previously it
attempted to exec the components of $PATH and it usually set errno
to the wrong value.

Found by:	NIST PCTS
1996-11-18 19:24:47 +00:00
bde
93424e6cf9 Fixed uninitialized variables for the '/'-in-pathname case in execvp().
Garbage in `eacces' caused the wrong errno to be set for non-EACCES errors.
Garbage in `etxtbsy' caused a semi-random retry strategy for ETXTBSY errors.

Found by:	NIST-PCTS.  gcc -Wall reported the problem, but -Wall is not
		enabled for libc.
1996-11-18 16:56:51 +00:00
alex
76176371e0 Slight rewording of the BUGS section. 1996-11-13 23:55:28 +00:00
hsu
9c65a1a186 Parameters for localtime_r() and gmtime_r() definitions changed.
Parameters for pthread_getspecific() call changed.
pthread_keycreate() renamed to pthread_key_create().
1996-11-11 09:14:24 +00:00
hsu
15c6125d87 Parameters pthread_getspecific() changed. 1996-11-11 09:11:59 +00:00
joerg
16296391cd Merge from the 2.2 branch: describe MNT_FORCE for mount(2). 1996-11-10 09:28:20 +00:00
obrien
7d9f6cd5a3 Added to MNT_FORCE option description after seeing Bruce's commit message
dealing w/the fixit floppy.
Also added the MNT_RELOAD, MNT_WANTRDWR, MNT_ASYNC, MNT_NOATIME,
MOUNT_UNION flags.  Someone might want to check my description of MNT_RELOAD.

2.2-R candidate.  Not a 2.1.6-R candidate -- some current flags aren't in
2.1.5-R's version.
1996-11-10 05:56:43 +00:00
wpaul
844872c49d - Avoid possible SEGVs: never call clnt_destroy() without checking
for NULL RPC client handles. This should hopefully fix the problems
  Satoshi reported on -current.

- Add socket descriptor sanity checks to _yp_unbind().

- Fix yp_order() so that it handles the RPC_PROCUNAVAIL error gracefully.
  NIS+ in YP compat mode doesn't support the YPPROC_ORDER procedure.

This is a 2.2 candidate with bells on.
1996-11-08 01:42:02 +00:00
bde
bc07c30e0f Document that the `old' count is returned for the ENOMEM case. 1996-11-04 17:03:34 +00:00
peter
259bccfa49 Doc updates and cleanups made with the bind-4.9.4 update some time ago.
I thought I had committed these, but it seems not.
1996-11-01 06:29:00 +00:00
peter
f21a0e4418 Add an "officially undocumented" tweak for squid so that it can see the
TTL of DNS records that it looks up for it's resolver cache.

Obtained from: Endre Balint Nagy <bne@CareNet.hu>, via squid-1.1.x source.
1996-11-01 06:25:43 +00:00
dyson
8f7145a6d2 Correct a "spelling" error in a comment. 1996-10-31 17:50:45 +00:00
ache
81ff4cc5c7 collate_range_cmp -> __collate_range_cmp 1996-10-31 04:38:21 +00:00
ache
a96f64f92c collate_range_cmp -> __collate_range_cmp 1996-10-31 04:32:27 +00:00