summaryrefslogtreecommitdiff
path: root/lib/libc
Commit message (Collapse)AuthorAgeFilesLines
* This commit was manufactured by cvs2svn to create tagrelease/2.1.0_cvscvs2svn1996-01-01167-228/+231
| | | | | | | 'RELENG_2_1_0_RELEASE'. This commit was manufactured to restore the state of the 2.1-RELEASE image. Releases prior to 5.3-RELEASE are omitting the secure/ and crypto/ subdirs.
* This commit was manufactured by cvs2svn to create tagrelease/2.1.0cvs2svn1996-01-011-0/+201
| | | | | | | | 'RELENG_2_1_0_RELEASE'. Notes: svn path=/stable/2.1/; revision=13148 svn path=/release/2.1.0/; revision=13149; tag=release/2.1.0
* This commit was manufactured by cvs2svn to create branch 'RELENG_2_1_0'.cvs2svn1995-10-216-0/+886
| | | | Notes: svn path=/stable/2.1/; revision=11634
* Brought in changes from rev 1.10: various bugfixes.David Greenman1995-10-071-24/+41
| | | | Notes: svn path=/stable/2.1/; revision=11287
* Sync with main branch.David Greenman1995-10-051-5/+5
| | | | Notes: svn path=/stable/2.1/; revision=11228
* Brought in changes from main branch: add missing manual pages.David Greenman1995-10-051-1/+4
| | | | Notes: svn path=/stable/2.1/; revision=11227
* Sync with main branch.David Greenman1995-10-055-85/+102
| | | | Notes: svn path=/stable/2.1/; revision=11226
* Brought in changes from main branch: security fixes.David Greenman1995-09-261-18/+86
| | | | Notes: svn path=/stable/2.1/; revision=11013
* Brought in change from rev 1.2: indicate backlog limit is 32.David Greenman1995-09-151-1/+1
| | | | Notes: svn path=/stable/2.1/; revision=10790
* This commit was manufactured by cvs2svn to create branch 'RELENG_2_1_0'.cvs2svn1995-08-301-0/+7
| | | | Notes: svn path=/stable/2.1/; revision=10481
* Brought in changes from main branch: use ctime (again, sigh!).David Greenman1995-08-301-2/+1
| | | | Notes: svn path=/stable/2.1/; revision=10456
* Brought in changes from main branch: update to BIND 4.9.3-beta24David Greenman1995-08-308-217/+412
| | | | Notes: svn path=/stable/2.1/; revision=10432
* Brought in changes from main branch...everything except the BIND 4.9.3-b24.David Greenman1995-08-2826-396/+706
| | | | Notes: svn path=/stable/2.1/; revision=10357
* Fix an 'oops' in a previous commit - part of a patch got applied twice.David Greenman1995-08-281-4/+0
| | | | Notes: svn path=/stable/2.1/; revision=10356
* Brought in changes from revs 1.4-1.7: various bug fixes.David Greenman1995-08-251-5/+23
| | | | Notes: svn path=/stable/2.1/; revision=10267
* Brought in changes from rev 1.2: make NIS ethers data appear inserted atDavid Greenman1995-08-251-23/+8
| | | | | | | "+". Notes: svn path=/stable/2.1/; revision=10266
* Brought in change from rev 1.4: add missing fclose().David Greenman1995-08-251-0/+1
| | | | Notes: svn path=/stable/2.1/; revision=10265
* Brought in change from rev 1.3: add missing fclose().David Greenman1995-08-251-0/+1
| | | | Notes: svn path=/stable/2.1/; revision=10264
* Brought in changes from rev 1.4: NULL terminate strings, produce saneDavid Greenman1995-08-251-9/+13
| | | | | | | version string. Notes: svn path=/stable/2.1/; revision=10263
* Brought in changes from revs 1.10-1.11: various bug fixes.David Greenman1995-08-251-13/+187
| | | | Notes: svn path=/stable/2.1/; revision=10262
* Brought in changes from rev 1.4 and 1.5: deal with comment characters.David Greenman1995-08-061-0/+4
| | | | Notes: svn path=/stable/2.1/; revision=9955
* Brought in change from rev 1.11: YP_NODOM should map to YPERR_DOMAIN.David Greenman1995-08-051-2/+2
| | | | Notes: svn path=/stable/2.1/; revision=9925
* Brought in changes from rev 1.9: fixes for PRs 507, 508, and 509.David Greenman1995-08-051-7/+43
| | | | Notes: svn path=/stable/2.1/; revision=9924
* Brought in changes from main branch: check for NULL pointers.David Greenman1995-08-052-27/+39
| | | | Notes: svn path=/stable/2.1/; revision=9923
* Brought in changes from rev 1.4: backed out "NIS rebind" performanceDavid Greenman1995-08-041-14/+4
| | | | | | | improvement. Notes: svn path=/stable/2.1/; revision=9913
* This commit was manufactured by cvs2svn to create branch 'RELENG_2_1_0'.cvs2svn1995-06-1385-10179/+0
| | | | Notes: svn path=/stable/2.1/; revision=9211
* Merge RELENG_2_0_5 into HEADRodney W. Grimes1995-06-111-0/+9
| | | | Notes: svn path=/head/; revision=9202
* Remove trailing whitespace.Rodney W. Grimes1995-05-30128-720/+727
| | | | Notes: svn path=/head/; revision=8870
* Remove trailing whitespace.Rodney W. Grimes1995-05-301-1/+1
| | | | Notes: svn path=/head/; revision=8857
* Add a missing link from the setpgid manpage to the setpgrp manpage.Nate Williams1995-05-271-0/+1
| | | | Notes: svn path=/head/; revision=8786
* Fixed typo.David Greenman1995-05-151-1/+1
| | | | Notes: svn path=/head/; revision=8534
* Parse ^? now, our termcap use it and some termcaps from otherAndrey A. Chernov1995-05-141-1/+5
| | | | | | | systems use it too Notes: svn path=/head/; revision=8522
* Cosmetic changes and paranoia checks:Bill Paul1995-05-031-5/+5
| | | | | | | | | | | | | | | | | | ypbind.c: Make fewer assumtions about the state of the dom_alive and dom_broadcasting flags in roc_received(). If select() fails, use syslog() to report the error rather than perror(). Check that all our malloc()s succeed. Report malloc() failure in ypbindproc_setdom_2() to callers. yplib.c: Use #defined constants in ypbinderr_string() rather than hard-coded values. Notes: svn path=/head/; revision=8245
* Fix bracket error for LogMaskAndrey A. Chernov1995-05-021-1/+1
| | | | | | | Submitted by: Ruslan Belkin <rus@home2.UA.net> Notes: svn path=/head/; revision=8226
* Added function and man page for ftok(3), used in conjunction withJoerg Wunsch1995-05-012-0/+135
| | | | | | | | | | the so-called "System V IPC". Submitted by: jbeukema@HK.Super.Net (John Beukema) Obtained from: Th. Lockert <tholo@sigmasoft.com>, via NetBSD Notes: svn path=/head/; revision=8198
* Small fix for the following problems:Bill Paul1995-04-291-2/+10
| | | | | | | | | | | | | | | | - If you take the wheel entry out of /etc/group and turn on NIS, the '+:*::' line is incorrectly flagged as the entry for wheel (the empty gid section is translated to 0), hence getgrgid() returns '+' as the name of the group instead of 'wheel.' - Using just '+:' as the 'turn on NIS' switch in /etc/group makes getgrgid() dump core because of a null pointer dereference. (Last time I was in here, I foolishly assumed that fixing the core dump problems with getgrnam() and getgrent() would fix getgrgid() too. Silly me.) Notes: svn path=/head/; revision=8172
* ypbind.c: Major overhaul.Bill Paul1995-04-261-55/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Moved to a more client-driven model. We aggressively attempt to keep the default domain bound (as before) but we give up on non-default domains if we lose contact with a server and fail to get a response after one round of broadcasting. This helps drastically reduce the amount of network bandwitdh that ypbind consumes: if a client references the secondary domain at some later point, this will prod ypbind into establishing a new binding anyway, so continuously broadcasting without need is pointless. Note that we still actively seek out a binding for our default domain even if no client program has queried us yet. I'm not exactly sure if this matches SunOS's behavior or not, but I decided to do it this way since we can get into all sorts of trouble if our default domain comes unbound. Even so, we're still much quieter than we used to be. - Removed a bunch of no-longer pertinent comments and a couple of chunks of #ifdef 0'ed code that no longer fit in to the new layout. - Theo deRaadt must have become frustrated with the callback mechanism in clnt_broadcast(), because he shamelessly stole the clnt_broadcast() code right out of the RPC library and hacked it up to suit his needs. (Comments and all! :) I can understand why: clnt_broadcast() blocks while awaiting replies. Changing this behavior requires surgery. However, you can work around this: fork the broadcast into a child process and relay the results back to the parent via a pipe. (Careful obervation has shown that the SunOS ypbind forks children for broadcasting too, though I can only guess what sort of interprocess communication it uses. pipe() seems to do the job well enough.) This may seem like the long way around, but it's not really that hard to implement, and I'd prefer to use documented RPC library functions wherever possible. We're careful to limit the number of simultaneous broadcasters to avoid swamping the system (the current limit is 5). Each clnt_broadcast() call only sends out a small number of packets at increasing intervals. We're also careful not to spawn more than one bradcaster for a given domain. - Used clntudp_bufcreate() and clnt_call() to implement a ping() function for directly querying a particular server so that we can check if it's still alive. This lets me completely remove the old bradcasting code and use actual RPC library calls instead, at the cost of more than a few handfulls of torn-out hair. (Make no mistake folks: I *HATE* RPC.) Currently, the ping interval is one minute. - Fixed another potential 'nfds too big for select()' bug: use _rpc_dtablesize() instead of getdtablesize(). - Quieted gcc -Wall a bit. - Probably a bunch of other stuff that I've forgotten. ypbind.8: - Updated man page to reflect modifications. ypwhich.c: - Small mind-o fix from last time: decode error results from ypbind correctly (*groan*) yplib.c: - same as above - Change behavior of _yp_dobind() a little: if we get back a 'Domain not bound' error for a given domain, retry a few times before giving up and passing the error back to the caller. We have to sleep for a few seconds between tries since the 'Domain not bound' error comes back immediately (by repeatedly looping, we end up pounding on ypbind). We retry at most 20 times at 5 second intervals. This gives us a full minute to get a response. This seems to deviate a bit from SunOS behavior -- it appears to wait forever -- but I don't like the idea of perpetually hanging inside a library call. Note that this should fix the problems some people have with bindings not being established fast enough at boot time; sometimes amd is started in /etc/rc after ypbind has run but before it gets a binding set up. The automounter gets annoyed at this and tends to exit. By pausing ther YP calls until a binding is ready, we avoid this situation. - Another _yp_dobind() change: if we determine that our binding files are unlocked or nonexistent, jump directly to code that pokes ypbind into restablishing the binding. Again, if it fails, we'll time out eventually and return. Notes: svn path=/head/; revision=8091
* Remove setre*id*.Bruce Evans1995-04-251-2/+2
| | | | Notes: svn path=/head/; revision=8060
* Add setreuid/setregid to MAN sectionAndrey A. Chernov1995-04-231-1/+2
| | | | Notes: svn path=/head/; revision=8025
* Add setreuid/setregidAndrey A. Chernov1995-04-231-1/+2
| | | | Notes: svn path=/head/; revision=8021
* Fix history infoAndrey A. Chernov1995-04-232-8/+4
| | | | Notes: svn path=/head/; revision=8020
* in _freecaches(): strdup() allocates us memory -- remember to free it.Bill Paul1995-04-221-10/+18
| | | | Notes: svn path=/head/; revision=8002
* small NIS binding fixes:Bill Paul1995-04-211-1/+26
| | | | | | | | | | | | | | | | | | ypbind.c: if a client program asks ypbind for the name of the server for a particular domain, and there isn't a binding for that domain available yet, ypbind needs to supply a status value along with its failure message. Set yprespbody.ypbind_error before returning from a ypbindproc_domain request. yplib.c: properly handle the error status messages ypbind now has the ability to send us. Add a ypbinderr_string() function to decode the error values. ypwhich.c: handle ypbind errors correctly: yperr_string() can't handle ypbind_status messages -- use ypbinderr_string instead. Notes: svn path=/head/; revision=7982
* Fix bugs in opendir():Bruce Evans1995-04-211-9/+23
| | | | | | | | | | - it succeeded on non-directories (see POSIX 5.1.2.4). - it hung on (non-open) named pipes. - it leaked memory if the second malloc() failed. - it didn't preserve errno across errors in close(). Notes: svn path=/head/; revision=7978
* If locale not available, fallback to strcasecmp, not to strcmpAndrey A. Chernov1995-04-161-2/+2
| | | | Notes: svn path=/head/; revision=7895
* Head off potential core dump in _havemaster() (we don't need to free anyBill Paul1995-04-151-4/+1
| | | | | | | memory here: the underlying YP routines handle this one for us). Notes: svn path=/head/; revision=7834
* Better conformance to SunOS behavior: if we can't match a user to oneBill Paul1995-04-141-2/+8
| | | | | | | | | | | of the plus or minus lists at all, reject him. This lets you create a +@netgroup list of users that you want to admit and reject everybody else. If you end your +@netgroup list with the wildcard line (+:::::::::) then you'll have a +@netgroup list that remaps the specified people but leaves people not in any netgroup unaffected. Notes: svn path=/head/; revision=7815
* Add err_set_file() and err_set_exit() functions to make it possible forGarrett Wollman1995-04-132-18/+64
| | | | | | | | programs which use err(3) to work nicely in a wider range of environments (e.g., dialog). Notes: svn path=/head/; revision=7803
* Add an ethers(3) man page.Bill Paul1995-04-122-3/+190
| | | | Notes: svn path=/head/; revision=7786
* More of the same: we also need to handle multiple domains properlyBill Paul1995-04-091-6/+33
| | | | | | | even if /var/yp/binding/DOMAIN.VERS doesn't exist yet. Notes: svn path=/head/; revision=7722