Commit Graph

40 Commits

Author SHA1 Message Date
wpaul
5927b134b9 Add a CLSET_ASYNC command, which allows us to (ab)use the clnt_dg transport
to make asynchronous RPCs. This is needed to help fix ypbind, which can no
longer override the clnt_dg_call() method (formerly the clntudp_call()
method) due to all the internal descriptor locking code in TI-RPC. Turning
on this flag allows us to send an RPC request, then return immediately,
and handle a reply later, rather than being forced to do the request
and reply in a single function call.

Also fix a byte ordering bug: when clnt_dg_call() increments the XID
prior to transmitting a request, it uses the raw value, which is wrong.
The XID is stored in network byte order, i.e. big-endian. The CLSET_XID
and CLGET_XID commands in clnt_dg_control() use ntohl()/htonl() to get
the byte ordering right, but because clnt_dg_call() does not do this,
using CLSET_XID/CLGET_XID doesn't actually work, unless you're on a
big endian host, which we aren't (yet). Fix clnt_dg_call() to byte swap
properly when doing the increment.
2001-03-27 21:27:33 +00:00
alfred
d22dcea603 fix: text following `#else' violates ANSI standard
Pointed out by: ${BDECFLAGS}
2001-03-26 00:35:23 +00:00
alfred
3e027a2ff3 change callrpc() from taking "char *" args, I'm quite sure they really meant
to use "void *".

remove a duplicate prototype for callrpc() from libexec/ypxfr/ypxfr_extern.h
2001-03-23 16:14:49 +00:00
alfred
a5a90d9b3b forgot prototyle for __rpc_get_local_uid() 2001-03-22 18:44:57 +00:00
alfred
63059857a9 Unbreak LINT.
because rpcb_clnt.h is generated during buildworld and only installed into
/usr/include/rpc (and not present in src/include/rpc) we can fix it
by simply not including it when _KERNEL is defined.

this isn't the most elegant, way and might deserve some revisiting later.

Pointed out by: bde
2001-03-20 10:27:03 +00:00
alfred
2e8705564c The TI-RPC spammed over a '#ifdef _KERNEL' hack for the xdrproc_t typedef
revert the spammage

Pointed out by: bde
2001-03-20 08:26:22 +00:00
alfred
4e3c034945 comment out #pragma directive containing Sun SCM tags 2001-03-20 08:20:50 +00:00
alfred
75f3c48f3e Add missing comma when KERBEROS is defined. 2001-03-19 19:36:11 +00:00
alfred
13005eb45a Bring in a hybrid of SunSoft's transport-independent RPC (TI-RPC) and
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
2001-03-19 12:50:13 +00:00
nsayer
c968c7cb9c Back out 1.15. It caused more harm than good. Something, however,
must be done to fix this situation.

Submitted by: bde
2000-07-21 14:49:09 +00:00
nsayer
e30160d70a Moving forward on my commitment to always make at least one commit from
a terminal room of any conference I attend....

Fix xdrproc_t prototype. () instead of (...) breaks C++ programs.
2000-06-22 01:46:25 +00:00
shin
2a50bdccf3 bindresvport related changes
-changed bindresvport2 to bindresvport_sa
 -merged the man into bindresvport.3

All discussion between Jean-Luc Richier <Jean-Luc.Richier@imag.fr>,
Theo de Raadt <deraadt@cvs.openbsd.org>, itojun, is reflected to
this code. (Actually Theo de Raadt write the code simultaneously as the
discussion change.)
2000-01-26 09:02:42 +00:00
shin
2efdfce495 libc rcmd update for IPv6.
A new function bindresvport2(), AF independent version of bindresvport()
is also added.

Reviewed by: sumikawa
Obtained from: KAME project
2000-01-13 15:09:48 +00:00
peter
4a06465a4e Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"
is an application space macro and the applications are supposed to be free
to use it as they please (but cannot).  This is consistant with the other
BSD's who made this change quite some time ago.  More commits to come.
1999-12-29 05:07:58 +00:00
peter
fdf6ebea46 $Id$ -> $FreeBSD$ 1999-08-27 23:45:13 +00:00
wpaul
fc7b569c0d #ifdef out DES ioctls which don't exist in FreeBSD. These originated
with the SunRPC code to allow the use of hardware DES on certain Sun
hardware that supported it (if you installed the appropriate kit). We
don't have them and they apparently break the ioctl table
generation for kdump.

Pointed out by: bde
1998-09-26 01:29:51 +00:00
bde
03f3a48c02 Don't declare functions without a prototype if KERNEL is defined. This
fixes lots of warnings about missing prototypes in sys/netatm/spans/*.
1998-09-21 02:43:30 +00:00
obrien
197549a134 Add support for the RPC 64-bit integer type ``hyper''. 1998-09-08 17:33:12 +00:00
bde
43294f614d Uncommit the generated file key_prot.h. Install it from where it
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.
1998-02-13 03:10:28 +00:00
bde
008de0d31f Null change to attach the correct log message for the previous commit:
Added some forward struct declarations so that this file is less
self-insufficent.
Fixed an incomplete prototype.
Fixed some misformattings.
1998-01-16 11:47:51 +00:00
bde
9146faef8f Added a forward struct declaration so that this file is less
self-insufficent.
1998-01-16 11:46:05 +00:00
bde
16e1efdb84 Commented out `#pragma ident' so that the K&R support isn't gratuitously
broken.  This also prevents ANSI compilers from recognizing the pragma
as a request to run /usr/games/hack...
1998-01-16 11:37:54 +00:00
bde
ba137bd5f5 Removed ifndef of AUTH_NONE. The conflict with login_cap.h was fixed
better by not defining AUTH_NONE in login_cap.h.
1997-08-21 19:31:04 +00:00
wpaul
1d2ffe6fc4 Resolve conflicts. 1997-05-28 04:45:15 +00:00
wpaul
5f7416f0cf This commit was generated by cvs2svn to compensate for changes in r26209,
which included commits to RCS files with non-trunk default branches.
1997-05-28 04:42:53 +00:00
peter
22e2fc703b fix missing close comment in login_cap additions 1997-05-18 08:12:14 +00:00
eivind
68be876952 Back out all of yesterdays include file changes. 1997-05-07 20:01:10 +00:00
eivind
1da58ff8ab Make a lot of include-files self-contained. I excluded the patches changing
int's to gid_t and uid_t - should I commit these, too?

Closes PR misc/2625.

Submitted by:	Julian Assange <proff@iq.org>
1997-05-07 02:27:18 +00:00
bde
9480252226 Fixed missing __P() to complete the K&R support in this header. 1997-05-07 00:58:23 +00:00
peter
0e0dfca0f9 Revert $FreeBSD$ to $Id$ 1997-02-23 09:21:14 +00:00
jkh
9c0cd3f9df Make the long-awaited change from $Id$ to $FreeBSD$
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.
1997-01-14 07:20:47 +00:00
peter
adf3e68c3f Missed prototype for svc_getreqset2() 1996-12-31 09:08:44 +00:00
peter
01fe186ccd First commit of a series of cleanups for the libc rpc code which has been
suffering a bad case neglect for the last few years.

- Add full prototypes, including to function pointers.
- Make the wire protocols 64-bit type safe, eg: 32 bit quantities are
  int32_t, not long.  The orginal rpc code was implemented when an int
  could be 16 bits.

Obtained from: a diff of FreeBSD vs. OpenBSD/NetBSD rpc code.
1996-12-30 13:59:41 +00:00
hsu
e110ba6bad Remove unnecessary typedef. All inclusions of <rpc/auth.h> in the source
tree are preceded by an inclusion of <rpc/types.h>, so the 32-bit fixed sized
type u_int32_t is already available to us.
1996-01-31 08:02:11 +00:00
mpp
882eb5d844 Fix a bunch of spelling errors in the comment fields
of a bunch of system include files.
1996-01-30 23:33:04 +00:00
rgrimes
8988b74eb8 Remove trailing whitespace. 1995-05-30 05:05:38 +00:00
bde
50a2f5d6fd Forward-declare `struct rpc_err' so that it isn't declared inside a
prototype when <rpc/clnt.h> isn't included.
1995-03-12 12:13:37 +00:00
phk
5643d99097 Remove a couple of nested comments. 1995-02-24 08:57:45 +00:00
wollman
405f289f63 Use the header files that are compatible with the code just moved over
from 1.1.5.
1994-08-07 18:41:02 +00:00
wollman
b2158f289d Install RPC headers from include, like they always should have been. 1994-08-04 20:39:34 +00:00