summaryrefslogtreecommitdiffstats
path: root/include/rpcsvc
Commit message (Collapse)AuthorAgeFilesLines
* Implement client side NFS locks.alfred2001-04-171-3/+10
| | | | | Obtained from: BSD/os Import Ok'd by: mckusick, jkh, motd on builder.freebsd.org
* Bring in a hybrid of SunSoft's transport-independent RPC (TI-RPC) andalfred2001-03-193-8/+150
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | associated changes that had to happen to make this possible as well as bugs fixed along the way. Bring in required TLI library routines to support this. Since we don't support TLI we've essentially copied what NetBSD has done, adding a thin layer to emulate direct the TLI calls into BSD socket calls. This is mostly from Sun's tirpc release that was made in 1994, however some fixes were backported from the 1999 release (supposedly only made available after this porting effort was underway). The submitter has agreed to continue on and bring us up to the 1999 release. Several key features are introduced with this update: Client calls are thread safe. (1999 code has server side thread safe) Updated, a more modern interface. Many userland updates were done to bring the code up to par with the recent RPC API. There is an update to the pthreads library, a function pthread_main_np() was added to emulate a function of Sun's threads library. While we're at it, bring in NetBSD's lockd, it's been far too long of a wait. New rpcbind(8) replaces portmap(8) (supporting communication over an authenticated Unix-domain socket, and by default only allowing set and unset requests over that channel). It's much more secure than the old portmapper. Umount(8), mountd(8), mount_nfs(8), nfsd(8) have also been upgraded to support TI-RPC and to support IPV6. Umount(8) is also fixed to unmount pathnames longer than 80 chars, which are currently truncated by the Kernel statfs structure. Submitted by: Martin Blapp <mb@imp.ch> Manpage review: ru Secure RPC implemented by: wpaul
* Fix typo: seperate -> separate.asmodai2001-02-061-1/+1
| | | | | | Seperate does not exist in the english language. Submitted to look at by: kris
* remove unneeded sys/ucred.h includealfred2000-11-301-1/+0
|
* $Id$ -> $FreeBSD$peter1999-08-2723-25/+41
|
* Make rcsid a const char[] instead of char[] to avoid compiler warningsarchie1998-12-0610-10/+10
|
* Build headers with -DWANT_NFS3.obrien1998-09-171-2/+2
| | | | (finishing up on Amd upgrade)
* Fix tons of cut-n-paste errors in the WANT_NFS3 code.obrien1998-09-061-14/+16
|
* Uncommit the generated file key_prot.h. Install it from where itbde1998-02-131-1/+3
| | | | | | | | | is generated. It must be installed in both /usr/include/rpc/ and /usr/include/rpcsvc/ for historical reasons. The generated version was once missing ANSI prototypes because the wrong flags were passed to rpcgen, but that is fixed now. The committed version had `#pragma indent' which gratuitously broke K&R support. Apart from this, all versions before and after this commit are identical.
* Invoke rpcgen with -C so that headers are created with ANSI prototypes.wpaul1998-01-191-2/+2
| | | | | | | | | | | | | | | Note: this may cause some problems in a few cases. With very old versions of rpcgen, if you defined a procedure called foo, then rpcen would create client stubs for function foo_1() and server stubs _also_ with function foo_1(). This only worked because of the lack of ANSI prototypes: the client side stub takes different arguments than the server side stub. (The client side takes a CLIENT * handle, while the server side wants an svc_req *.) To fix this conflict, rpcgen in ANSI mode generates foo_1() for the client and foo_1_svc() for the server. RPC server code that depends on the old behavior might break because of this. (Fixing it is just a matter of adding the _svc suffix onto the server procedure names.)
* Fixed pedantic syntax error (trailing comma in enum).bde1998-01-161-1/+3
|
* Removed `#pragma ident' (for a FreeBSD Id) so that the K&R supportbde1998-01-164-4/+0
| | | | | | | | isn't gratuitously broken. This also prevents ANSI compilers from recognizing the pragma as a request to run /usr/games/hack... FreeBSD Ids should be in comments or rcsids, not in `#pragma ident's (which are equivalent to comments when compiled by gcc), and the only FreeBSD change in this file seems to be adding the Id.
* Commented out `#pragma ident' (for a Sun id) so that the K&R supportbde1998-01-161-1/+1
| | | | | isn't gratuitously broken. This also prevents ANSI compilers from recognizing the pragma as a request to run /usr/games/hack...
* Removed redundant declarations. rpcgen generates `typedef enum foo;'bde1998-01-161-5/+2
| | | | from `enum foo;'.
* Made this header self-sufficent. It had unnecessary dependencies onbde1998-01-161-2/+6
| | | | | <sys/cdefs.h>, <sys/types.h>, <rpcsvc/yp_prot.h>, and on the latter's prerequisites (5 more).
* Fixed a missing dependency.bde1998-01-161-1/+3
|
* Add Ids, from lite2.charnier1997-11-243-3/+11
|
* Remove sccsid, not present in Lite2.charnier1997-11-203-14/+3
|
* Add const to rcsid[] definition so that -Wall will not complain.charnier1997-10-313-8/+17
|
* Removed installhdrs target. It was an unnecessary complication.bde1997-09-161-4/+2
|
* Fix and simplify installhdrs target. It didn't install the headers inbde1997-08-211-7/+4
| | | | ${HFILES} and it's simpler to install the non-headers in ${XFILES}.
* fix a problem with headers not being installed properly... basicly thejmg1997-08-211-3/+8
| | | | | | | installhdrs target was not being propagated to the subdirs... also fix rpcsvc's Makefile to have a installhdrs target to install the headers..
* Undo small change I accidentally left in while testing (files werewpaul1997-05-281-3/+2
| | | | | | installed with wrong ownerships). Pointed out by: bde
* Resolve conflicts.wpaul1997-05-2815-60/+110
|
* This commit was generated by cvs2svn to compensate for changes in r26206,wpaul1997-05-2811-0/+2307
| | | | which included commits to RCS files with non-trunk default branches.
* Back out all of yesterdays include file changes.eivind1997-05-071-3/+1
|
* Back out part of yesterdays changes. They were obviously not tested welleivind1997-05-071-4/+1
| | | | | | | enough :-( (With backout on this file, libc compiles. 'make world' isn't finished yet.) Pointed out by: Oliver Roberts
* Make a lot of include-files self-contained. I excluded the patches changingeivind1997-05-072-2/+7
| | | | | | | | int's to gid_t and uid_t - should I commit these, too? Closes PR misc/2625. Submitted by: Julian Assange <proff@iq.org>
* Add protocol definitions for NFSv3. Use -DWANT_NFS3 with rpcgen to getdfr1997-04-182-4/+1001
| | | | | | the new protocol. Obtained from: rfc1813
* Revert $FreeBSD$ to $Id$peter1997-02-2317-18/+18
|
* Make the long-awaited change from $Id$ to $FreeBSD$jkh1997-01-1417-18/+18
| | | | | | | | This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
* - Prototypes, including pointers to functionspeter1996-12-302-28/+30
| | | | - C++ safe
* 'make install' is not supposed to touch anything.peter1996-08-301-2/+2
|
* missed these parts of Bruce's changes last time..peter1996-08-301-2/+2
| | | | Submitted by: bde (again :-)
* Some bmake magic to clean up the install more.peter1996-08-301-10/+6
| | | | | | | fix another missed -c typo of mine. clean the rpcgen implicit rule more Submitted by: bde
* replace cmp -s || install with ${INSTALL} -C, and @for with .forpeter1996-08-291-21/+10
|
* There are a few small additions to the protocol to make itwpaul1996-07-041-5/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | easier to use in mixed environments: - Add three new members to the request structure: - a filename specification - a database type specification - a system byte prder specification These allow the client to ask the server for a particular type of database (Berkeley DB hash/btree/recno, GNU GDBM, dbm, ndbm, etc...) and get back a meaningful error if the server doesn't support it. The byte order spec is needed if the database type is byte order sensntive. You don't, for example, want to read an ndbm database from a big endian machine on a little endian machine (the ndbm code will explode). The filename spec lets the client handle things like ndbm which uses two seperate files per database (foo.dir and foo.pag). The client can ask for each half, one at a time. - Add a list of database types and byte order values. Each list has a wildcard 'ANY' entry which lets the client ask for whatever the server supports. (XFR_ENDIAN_ANY is useful with the Berkeley DB hash method for instance, since it isn't byte order sensitive.) - Add two newserver failure codes: XFR_DB_TYPE_MISMATCH and XFR_DB_ENDIAN_MISMATCH. The server uses these to tell the client that it doesn't support the requested type/byte order. These changes were made at the suggestion of Thorsten Kukuk, the current maintainer of the Linux ypserv distribution. This allows Linux and FreeBSD NIS servers to use the same ypxfrd protocol and avoid accidentally exchanging incompatible map files.
* Now that Peter has been nice enough to bail me out of my last littlewpaul1996-06-051-4/+5
| | | | mishap, it's time to have the Makefile install ypxfrd.x and ypxfrd.h.
* This commit was generated by cvs2svn to compensate for changes in r16119,wpaul1996-06-051-0/+117
| | | | which included commits to RCS files with non-trunk default branches.
* Add structure and procedure definitions for NIS v1. (This informationwpaul1996-02-261-2/+71
| | | | | was reverse-engineered using the <rpcsvc/ypv1_prot.h> file supplied with SunOS 4.1.3 as a guide.)
* Fix a bunch of spelling errors in the comment fieldsmpp1996-01-301-4/+4
| | | | of a bunch of system include files.
* *groan* Fix yet _ANOTHER_ discrepancy between the NIS protocol definitionwpaul1995-12-221-2/+6
| | | | | | | and real life. YPPUSHPROC_XFRRESP is supposed to return void and take an argument of type yppushresp_xfr, not the other way around as yp.x seems to imply. (I spent two hours today staring intensely at my prototype ypxfr code and scratching my head before I finally figured this out.)
* *sigh* Yet another bogosity: the YPPROC_FIRST procedure is listed aswpaul1995-12-091-2/+5
| | | | | | | taking an argument of type ypresp_key. This is incorrect: it should be ypresp_nokey. (yp_first() is supposed to return the first key in a given map; the server doesn't need any client-specified key to handle such a request.)
* "What? He's modifying the NIS protocol definition!?"wpaul1995-12-081-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No, not really. There are just a couple of long-standing bogosities here that I feel compelled to fix. :) There are two small changes here: 1) yp.x actually contains _three_ protocol definitions: YPPROG (standard NIS client/server procedures), YPPUSH_XFRRESPPROG (callback handler for the YPPROC_XFR service, aka ypxfr/yppush) and YPBINDPROG (for ypbind, ypset & friends). The problem is that when you run yp.x through rpcgen(1), it generates client and server stubs with hooks for all three services. This makes it impossible to actually use the rpcgen-erated code in a program that only deals with _one_ of these services (ypserv, ypbind, etc...) without manually removing the unneeded stubs (either by hand editing or by committing unspeakable horrors with sed). This defeats the whole purpose of using rpcgen and is generally annoying. What I've done is to insert a few #ifndefs and #endifs to allow a programmer to selectively blot out those functions that aren't needed for a particular program. For instance, if you do 'rpcgen -DYPSERV_ONLY', you'll get only the necessary client/server stubs to implement the standard yp client and server functions. If you do 'rpcgen -DYPBIND_ONLY', you get only what you need for ypbind. If you don't #define anything, you get the whole mess, just like before, so existing programs won't notice the difference. (Note that the -D flag is not supported by our existing crufty version of rpcgen, but I intend to update it soon.) 2) The definition for the ypresp_key_val structure is actually incorrect with respect to reality: the key and val members are specified in the wrong order. It should be val/key rather than key/val. For whatever the reason, Sun's actual NIS implementation contradicts the protocol definition in this case. Again, accounting for this bogosity here is cleaner and easier than mangling the output from rpcgen.
* Install the headers and sample files with 444 perms (as opposed tojoerg1995-08-151-1/+2
| | | | | | 555). Submitted by: graichen@sirius.physik.fu-berlin.de (Thomas Graichen)
* Change `install' to `${INSTALL}' so that default install flags can bebde1995-08-061-3/+3
| | | | | | | specified in the top level Makefiles. Previously I missed dozens of Makefiles that skip the install after using `cmp -s' to decide that the install isn't necessary.
* Fix a bug I didn't manage to trigger until after committing previouswollman1995-06-291-3/+3
| | | | fix to header installation.
* Make this include installation conform to the standard of all the rest:wollman1995-06-291-14/+20
| | | | | | | | - Don't do mkdir/chown/chmod - Do `cmp -s' before attempting to install a header This should fix the obnoxious problem of yp programs wanting to rebuild every time.
* Changes to support version 3 of the NFS protocol.dfr1995-06-271-2/+0
| | | | | | | | | | | | | | | | | | The version 2 support has been tested (client+server) against FreeBSD-2.0, IRIX 5.3 and FreeBSD-current (using a loopback mount). The version 2 support is stable AFAIK. The version 3 support has been tested with a loopback mount and minimally against an IRIX 5.3 server. It needs more testing and may have problems. I have patched amd to support the new variable length filehandles although it will still only use version 2 of the protocol. Before booting a kernel with these changes, nfs clients will need to at least build and install /usr/sbin/mount_nfs. Servers will need to build and install /usr/sbin/mountd. NFS diskless support is untested. Obtained from: Rick Macklem <rick@snowhite.cis.uoguelph.ca>
* Remove trailing whitespace.rgrimes1995-05-302-10/+10
|
OpenPOWER on IntegriCloud