summaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* Names are assigned when chunks are created.phk1995-04-297-10/+238
| | | | Rules for only one fat & one extended in MBR.
* Even More stuff. Disk_Names() is here amongst other things.phk1995-04-293-32/+212
|
* Next Iteration, getting better.phk1995-04-297-46/+181
| | | | | | | | Made an All_FreeBSD() function. Added a cmd-line interface (lowest rank) to the tst01 program. The tst01 program is harmless (worst it can do is coredump), but it is instructive to run, you can see what the slice-code things of your disk...
* Sanitize and explain a little bit... Implement the first rules...phk1995-04-298-73/+198
|
* This is a revision 0.00 of the backend stuff for the fdisk/disklabel stuffphk1995-04-289-0/+837
| | | | | in the new sysinstall. If you want to give a helping hand, then send email to phk@FreeBSD.ORG. DO NOT COMMIT TO THIS DIRECTORY!
* Fix a few problems with the debugging output. Add a new "visit" function.dufault1995-04-282-3/+12
|
* No sense in copying the hex[] array in each call to MDXEnd(), it's awollman1995-04-271-2/+2
| | | | constant. (There probably ought to be a single libc version of it.)
* ypbind.c: Major overhaul.wpaul1995-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.
* Fix a number of additional warnings.jkh1995-04-262-13/+2
|
* Move <varargs.h> out of FtpLibrary.h and into the .c files that actuallyjkh1995-04-263-1/+2
| | | | need them. Fix a number of additional warnings.
* Add libftp to list of targets.jkh1995-04-251-1/+1
|
* Now check all the warning purges and general clean-up in on the secondjkh1995-04-2519-38/+66
| | | | pass.
* This commit was generated by cvs2svn to compensate for changes in r8064,jkh1995-04-2547-0/+8593
|\ | | | | | | which included commits to RCS files with non-trunk default branches.
| * A programmatic interface to ftp. I need this for several otherjkh1995-04-2547-0/+8593
| | | | | | | | | components of the system. The license is poorly worded, though I have an (email only) release from the author for unlimited FreeBSD use. I will try to get something more concrete, though the author's remote location makes this difficult. Submitted by: Oleg Orel <orel@oea.ihep.su>
* Remove setre*id*.bde1995-04-251-2/+2
|
* Add setreuid/setregid to MAN sectionache1995-04-231-1/+2
|
* Add setreuid/setregidache1995-04-231-1/+2
|
* Fix history infoache1995-04-232-8/+4
|
* in _freecaches(): strdup() allocates us memory -- remember to free it.wpaul1995-04-221-10/+18
|
* small NIS binding fixes:wpaul1995-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.
* Fix bugs in opendir():bde1995-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().
* Add a bit more docsache1995-04-205-2/+1626
|
* If locale not available, fallback to strcasecmp, not to strcmpache1995-04-161-2/+2
|
* Removed the y.tab.h file from the sources. It is automatically generatedats1995-04-151-0/+2
| | | | | | from yacc. Put the lex.c parser.c and y.tab.h into a CLEANFILES target in the makefile, they are all generated and need to be removed on a clean.
* Head off potential core dump in _havemaster() (we don't need to free anywpaul1995-04-151-4/+1
| | | | memory here: the underlying YP routines handle this one for us).
* Better conformance to SunOS behavior: if we can't match a user to onewpaul1995-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.
* Add err_set_file() and err_set_exit() functions to make it possible forwollman1995-04-132-18/+64
| | | | | programs which use err(3) to work nicely in a wider range of environments (e.g., dialog).
* Add an ethers(3) man page.wpaul1995-04-122-3/+190
|
* The implementation of rexec() missed the function ruserpass(), so thejoerg1995-04-112-3/+252
| | | | | | | | | | | | | | | link stage fell over for any program that attempted to use rexec(). Ruserpass() remains undocumented; i could not find any documentation for it on other systems. Also added a BUGS section to the man page, stating that this function constitutes a potential security hole (as well as the underlying "exec" service). Submitted by: rgrimes Originally submitted by: agc@uts.amdahl.com (Alistair G. Crooks) Obtained from: netbsd-bugs@NetBSD.ORG
* My libcompat cleanup.joerg1995-04-1014-4/+378
| | | | | | | | | | | | | | | o add missing man pages o make all man pages clearly refer to the libcompat thingie o add the information to the vtimes(3) and vlimit(3) man pages that nobody has reimplemented the functions by now o add the missing getpw.c o add code and man pages for cftime(3) and ascftime(3) -- i found them somewhere in old unfinished work
* More of the same: we also need to handle multiple domains properlywpaul1995-04-091-6/+33
| | | | even if /var/yp/binding/DOMAIN.VERS doesn't exist yet.
* Fix behavior of YP library routines in environments with multiple domains,wpaul1995-04-091-6/+24
| | | | | | | | | | | | | | | | | | | | | | | where one or more of the non-default domains are not yet bound. If we make a YP request for a domain other than the default domain, and there is no binding for the new domain yet, _yp_dobind() sees that the /var/yp/binding/DOMAIN.VERS file for the unbound domain is not locked (by ypbind) and from this it concludes that the NIS system is dead, so it gives up. This behavior has been changed: before giving up in this case, we now make a second check to see if the binding file for the *default* domain is also not locked. Only if the default domain binding file is also unlocked to we now assume that ypbind has bought the farm and bail out. (Note: this assumes that the user hasn't changed the default domain while ypbind is running.) With this change, _do_ypbind() is allowed to proceed into the next section of code wherein it prods ypbind into establishing a binding for the new domain. This first call times out after ten seconds, after which it should retry and succeed. From then on, the binding for the second domain should be handled normally.
* Add missing header referenceache1995-04-091-0/+1
|
* Submitted by: J.T. Conklin <jtc@wimsey.com>bde1995-04-076-10/+56
| | | | | | | Second part of update to fdlibm 5.2: speed up argument reduction for trig functions in the case pi/4 < |x| < 3pi/4. Remove unused static constants ("one").
* Submitted by: J.T. Conklin <jtc@wimsey.com>bde1995-04-072-4/+4
| | | | | First part of update to fdlibm 5.2: fix jn(n, x) and jnf(n, x). jn(-1, x) was too large by a factor of 3.
* Reviewed by: ache and wollman (long ago)bde1995-04-072-52/+11
| | | | | | | | | | | | | | | | | | isctype.c: o The tolower() and toupper() functions duplicated too much code and were out of date (surprise). This didn't matter because it was difficult to call them. o Change formatting to be more like that in <ctype.h> (with extra parentheses as in the macros). Perhaps this file should be machine generated or everything should be handled like __tolower() so that no code is repeated. nomacros.c: o Instead of looking at _USE_CTYPE_INLINE_ to see what <ctype.h> has done, set _EXTERNALIZE_CTYPE_INLINES_ to tell <ctype.h> what to do, so that we don't have anything left to do. Note that code is now generated even if inlines are used by default. This allows users to switch to non-inline versions.
* Obtained from: 1.1.5 (originally by jtc)bde1995-04-061-1/+2
| | | | | | | Fix printf("%g", 0.0) - print "0", not "0.". The previous fixes in this area had one non-cosmetic (non-)change that caused this bug. Bruce
* The man page setmode(3) declares `void setmode' when it should bejoerg1995-04-051-1/+1
| | | | | | declared `void *setmode'. Submitted by: kargl@troutmask.apl.washington.edu
* Add "before inclusion of any header which ... "ache1995-04-041-1/+1
| | | | Suggested by: bde
* 'Fix' for esoteric misfeature discovered while searching for another bug:wpaul1995-04-041-1/+16
| | | | | | | | | | | | | | | | | | | | | | select() returns EINVAL if you try to feed it a value of FD_SETSIZE greater that 256. You can apparently adjust this by specifying a larger value of FD_SETSIZE when configuring your kernel. However, if you set the maximum number of open file descriptors per process to some value greater than the FD_SETSIZE value that select() expects, many selects() within the RPC library code will be botched because _rpc_dtablesize() will return invalid numbers. This is to say that it will return the upper descriptor table size limit which can be much higher than 256. Unless select() is prepared to expect this 'unusually' high value, it will fail. (A good example of this can be seen with NIS enabled: if you type 'unlimit' at the shell prompt and then run any command that does NIS calls, you'll be bombarded with errors from clnttcp_create().) A temporary fix for this is to clamp the value returned by _rpc_dtablesize() at FD_SETSIZE (as defined in <sys/types.h> (256)). I suppose the Right Thing would be to provide some mechanism for select() to dynamically adjust itself to handle FD_SETSIZE values larger than 256, but it's a bit late in the game for that. Hopefully 256 file descriptors will be enough to keep RPC happy for now.
* getpwent.c: fix problem with emacs dumping core when NIS is enabled. Alsowpaul1995-04-043-21/+34
| | | | | | | | add #includes for YP headers when compiling with -DYP to avoid some implicit declarations. getgrent.c & getnetgrent.c: add some #includes to avoid implicit declarations of YP functions.
* Properly describe how to expand default limit of handled descriptorsache1995-04-041-1/+6
|
* Submitted by: Sebastian Strollowwpaul1995-04-021-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Obtained from: Casper H. Dik (by vay of Usenet) Small patch to help improve NIS rebinding times (among other things): >From: casper@fwi.uva.nl (Casper H.S. Dik) >Newsgroups: comp.sys.sun.misc,comp.sys.sun.admin >Subject: FIX for slow rebinding of NIS. >Summary: a small change in libc makes life with NIS a lot easier. >Message-ID: <1992Jan17.173905.11727@fwi.uva.nl> >Date: 17 Jan 92 17:39:05 GMT >Sender: news@fwi.uva.nl >Organization: FWI, University of Amsterdam >Lines: 138 >Nntp-Posting-Host: halo.fwi.uva.nl Have you been plagued by long waits when your NIS server is rebooted? READ ON! Sun has a patch, but the README says: ********************* WARNING ****************************** This is a new version of ypbind that never uses the NIS binding file to cache the servers binding. This will have the effect of fixing the current symptom. However, it might degrade the overall performance of the system when the server is available. This is most likely to happen on an overloaded server, which will cause the network to produce a broadcast storm. ************************************************************* Therefor, I have produced another fix. o What goes wrong. When the NIS server is rebooted, ypserv will obtain different ports to listen for RPC requests. All clients will continue to use the old binding they obtained earlier. The NIS server will send ICMP dst unreachable messages for the RPC requests that arrive at the old port. These ICMPs are dropped on the floor and the client code will continue sending the requests until the timer has expired. The small fix at the end of this message will pick up these ICMP messages and deliver them to the RPC layer. o Before and after. I've tested this on some machines and this is the result: (kill and restart ypserv on the server) original% time ypmatch user passwd user:.... 0.040u 0.090s 2:35.64 0.0% 0+126k 0+0io 0pf+0w (155 seconds elapsed time) fixedhost% time ypmatch user passwd user:.... 0.050u 0.050s 0:10.20 0.9% 0+136k 0+0io 0pf+0w (10 seconds elapsed time) Rebinding is almost instantaneous. o Other benefits. RPC calls that use UDP as transport will no longer time out but will abort much sooner. (E.g., the remote host is unreachable or 111/udp is filtered by an intermediate router)
* Fix xdr_ypmap_parms() so that it agrees with xdr_domainname(), xdr_peername()wpaul1995-04-021-4/+4
| | | | and friends.
* Fix manpage ruleache1995-04-021-1/+1
|
* Add ether_addr functions to libc. This seems to be the logical placewpaul1995-04-022-1/+235
| | | | to put them. A man page is in the works.
* Add some missing xdr functions needed for server-side implementations.wpaul1995-04-021-1/+116
| | | | | (This is to help me reduce yppush a bit: it has its own copy of yp_xdr.c right now, but I can get rid of it now that this stuff is here.)
* Add the nls code for XPG3-style message catalogs to libc.jkh1995-03-309-0/+854
| | | | Obtained from: NetBSD
* Add nls include to Makefile.jkh1995-03-301-0/+1
|
* Install the dlopen.3 manpage.phk1995-03-301-2/+2
|
OpenPOWER on IntegriCloud