Home | History | Annotate | Download | only in rpc
History log of /src/lib/libc/rpc/clnt_generic.c
RevisionDateAuthorComments
 1.33  28-May-2014  christos CID 975113: Ignore __rpc_setnodelay error, it is not fatal
 1.32  28-May-2014  christos CID 975112: Ignore bindresvport() return. This is can only succeed for root
 1.31  07-May-2013  christos branches: 1.31.4;
- add __clnt_sigfillset() that does not blindly block all signals but excludes
the tty generated ones (int, quit, tstp), plus term and hup. This makes
command line clients behave on connect(2) where before they would need
to be killed from a different tty. Much easier than making the file
descriptor non-blocking for the duration of connect and then using
pselect/pollts to detect when actual connection or timeout occured using
a different sigmask.
- factor out some of the error paths.
 1.30  11-Mar-2013  tron Replace previous Sun Microsystems, Inc. license with a standard
BSD 3-clause license granted by Oracle America, Inc..
This license change was approved by Wim Coekaerts, Senior Vice President,
Linux and Virtualization at Oracle Corporation.

This fixes PR lib/45293 by Pedro Giffuni.
 1.29  05-Mar-2013  christos make this usable from RUMP
 1.28  20-Mar-2012  matt branches: 1.28.2;
Use C89 definitions
Remove use of __P
 1.27  25-Apr-2008  christos branches: 1.27.4; 1.27.8; 1.27.24;
- always check malloc results
- don't leak fds on error
- don't cast malloc
- don't cast NULL
 1.26  22-Jun-2006  christos branches: 1.26.18;
Centralize the TCP_NODELAY handling as discussed in tech-net.
 1.25  02-Dec-2005  yamt use __UNCONST rather than having a writable string.
 1.24  29-Nov-2005  christos WARNS=4
 1.23  30-Dec-2004  christos cast to size_t/socklen_t
 1.22  09-Sep-2003  itojun __RCSID police
 1.21  18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.20  08-Nov-2002  fvdl * Adapt include files for rpc_com.h/rpc_internal.h split.
* Add rpc_control to svc.c
* Implement non-blocking connections.
 1.19  04-Jan-2001  lukem branches: 1.19.2; 1.19.4;
sprinkle _DIAGASSERT() appropriately. minor other cleanups
 1.18  06-Jul-2000  christos add __RPC_GETXID macro
don't const castway __rpc_getconf and __rpc_getconfig. It might try to
write const strings
fix non-portable casts
remove duplicated prototypes
cast things to proper types
remove extraneous casts to NULL
fix variable cast mismatches
remove register var declarations
 1.17  07-Jun-2000  fvdl The two unchanged interfaces (svc_create and clnt_create) resulted
in sockets bound to reserved ports in the old code. Since old binaries
will still expect this, always try to bind to a reserved port in
clnt_cli_create and svc_tli_create, unless we're already bound.
 1.16  02-Jun-2000  fvdl Add new RPC code, based on Sun's TI-RPC code. Adapted to not use XTI,
but sockets instead, internally. Old, backward compatible interfaces
maintained.
 1.15  22-Jan-2000  mycroft branches: 1.15.2;
Delint.
Remove trailing ; from uses of __weak_alias(). The macro inserts this if
needed.
 1.14  20-Sep-1999  lukem back out the #ifdef _DIAGNOSTIC argument checks; too many people complained.
_DIAGASSERT() is still retained.
 1.13  16-Sep-1999  lukem * use _DIAGASSERT() to check pointer arguments against NULL and file
descriptors against -1 (as appropriate).
* add actual checks which to detect stuff that would trigger_DIAGASSERT(),
and attempt to return a sane error condition.
* knf some code
* remove some `register' decls.

the first two items result in the addition of code similar to the
following in various functions:

_DIAGASSERT(path != NULL)
#ifdef _DIAGNOSTIC
if (path == NULL) {
errno = EFAULT;
return (-1);
}
#endif
 1.12  15-Nov-1998  christos delint:
- memmove -> memcpy
- check that we don't get a bogus h->h_length
 1.11  13-Feb-1998  lukem * in get_myaddress(); always return sockaddr_in containing localhost:PMAP_PORT.
(as recommended in Weiste Venema's portmap5_beta distribution)
* deprecate register
* use memmove instead of bcopy
* KNF includes
* use err/warn() instead of perror/fprintf(stderr,)
* fix some typos
 1.10  12-Feb-1998  lukem revert; we can't break the existing ABI and API
 1.9  10-Feb-1998  lukem major cleanup (to sync with changes made in include/rpc/*.h):
* use int32_t, size_t, in_port_t instead of long, u_int, u_short as appropriate
* use uid_t and gid_t instead of int
* KNF, fix typos and spellos
* use const as appropriate
* deprecate register
* use memmove instead of bcopy
* use err/warn()
 1.8  21-Jul-1997  jtc If port provides __weak_alias(), provide an Standard C and POSIX pure
identifier namespace by renaming non standard functions and variables
such that they have a leading underscore. The library will use those
names internally. Weak aliases are used to provide the original names
to the API.

This is only the first part of this change. It is most of the functions
which are implemented in C for all NetBSD ports. Subsequent changes are
to add the same support to the remaining C files, to assembly files, and
to the automagically generated assembly source used for system calls.
When all of the above is done, ports with weak alias support should add
a definition for __weak_alias to <sys/cdefs.h>.
 1.7  13-Jul-1997  christos Fix RCSID's
Fix gcc warnings.
Add missing prototypes
 1.6  03-Jun-1995  mycroft branches: 1.6.4;
Fill in sin_len.
 1.5  14-Apr-1995  jtc Changed bzero to memset.
Changed bcmp to memcmp.
Added #include <string.h> to bring prototypes into scope.
 1.4  25-Feb-1995  cgd save my sanity; stop using Id.
 1.3  10-Dec-1993  jtc RPCSRC 4.0, which our RPC implementation is derrived from, erroneously
sets a default timeout of 25 seconds in clnt_create(). This bug causes
timeouts specified as the last argument to clnt_call to be ignored.
With this fix, timeouts will be taken from clnt_call() unless the
program sets its own default timeout with clnt_control().
 1.2  05-Dec-1993  deraadt should bzero automatic sockaddr's before use
 1.1  07-Oct-1993  cgd move the rpc code into libc
 1.6.4.1  16-Sep-1996  jtc snapshot namespace cleanup: rpc & xdr
 1.15.2.1  23-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.19.4.1  06-Jan-2003  jmc Pull up revisions 1.19-1.20 (requested by fvdl in ticket #1037)
* Adapt include files for rpc_com.h/rpc_internal.h split.
* Implement non-blocking connections.
* Add rpc_control to svc.c
 1.19.2.1  11-Nov-2002  nathanw Catch up to -current
 1.26.18.1  18-May-2008  yamt sync with head.
 1.27.24.1  14-Mar-2013  riz Pull up following revision(s) (requested by tron in ticket #843):
lib/libc/rpc/clnt_dg.c: revision 1.28
lib/libc/rpc/xdr_sizeof.c: revision 1.5
lib/libc/rpc/pmap_getport.c: revision 1.19
lib/libc/rpc/xdr_mem.c: revision 1.19
lib/libc/rpc/svc_run.c: revision 1.22
lib/libc/rpc/bindresvport.c: revision 1.25
lib/libc/rpc/svc_raw.c: revision 1.24
lib/libc/rpc/svc_dg.c: revision 1.17
lib/libc/rpc/getnetconfig.c: revision 1.21
lib/libc/rpc/auth_unix.c: revision 1.25
lib/libc/rpc/svc_auth.c: revision 1.17
lib/libc/rpc/clnt_vc.c: revision 1.21
lib/libc/rpc/svc_auth_unix.c: revision 1.21
lib/libc/rpc/rpcb_st_xdr.c: revision 1.10
lib/libc/rpc/pmap_getmaps.c: revision 1.18
lib/libc/rpc/getnetpath.c: revision 1.17
lib/libc/rpc/clnt_simple.c: revision 1.32
lib/libc/rpc/authunix_prot.c: revision 1.16
lib/libc/rpc/svc_dg.h: revision 1.2
lib/libc/rpc/svc_generic.c: revision 1.15
lib/libc/rpc/clnt_raw.c: revision 1.32
lib/libc/rpc/xdr_array.c: revision 1.19
lib/libc/rpc/pmap_prot.c: revision 1.12
lib/libc/rpc/clnt_bcast.c: revision 1.26
lib/libc/rpc/xdr_rec.c: revision 1.35
lib/libc/rpc/svc.c: revision 1.34
lib/libc/rpc/DISCLAIMER: revision 1.3
lib/libc/rpc/clnt_generic.c: revision 1.30
lib/libc/rpc/xdr.c: revision 1.33
lib/libc/rpc/auth_none.c: revision 1.16
lib/libc/rpc/pmap_rmt.c: revision 1.34
lib/libc/rpc/rpc_callmsg.c: revision 1.20
lib/libc/rpc/clnt_perror.c: revision 1.30
lib/libc/rpc/xdr_stdio.c: revision 1.19
lib/libc/rpc/rpc_commondata.c: revision 1.9
lib/libc/rpc/pmap_prot2.c: revision 1.17
lib/libc/rpc/pmap_clnt.c: revision 1.19
lib/libc/rpc/svc_simple.c: revision 1.33
lib/libc/rpc/rpcb_clnt.c: revision 1.29
lib/libc/rpc/rpc_prot.c: revision 1.21
lib/libc/rpc/rpc_dtablesize.c: revision 1.16
lib/libc/rpc/rpc_generic.c: revision 1.28
lib/libc/rpc/xdr_reference.c: revision 1.18
lib/libc/rpc/rpc_soc.c: revision 1.18
lib/libc/rpc/svc_vc.c: revision 1.30
lib/libc/rpc/getrpcent.c: revision 1.23
lib/libc/rpc/xdr_float.c: revision 1.38
lib/libc/rpc/rpcb_prot.c: revision 1.11
lib/libc/rpc/getrpcport.c: revision 1.18
Replace previous Sun Microsystems, Inc. license with a standard
BSD 3-clause license granted by Oracle America, Inc..
This license change was approved by Wim Coekaerts, Senior Vice President,
Linux and Virtualization at Oracle Corporation.
This fixes PR lib/45293 by Pedro Giffuni.
 1.27.8.2  25-Apr-2008  christos - always check malloc results
- don't leak fds on error
- don't cast malloc
- don't cast NULL
 1.27.8.1  25-Apr-2008  christos file clnt_generic.c was added on branch christos-time_t on 2008-04-25 17:44:45 +0000
 1.27.4.2  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.27.4.1  17-Apr-2012  yamt sync with head
 1.28.2.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.28.2.1  23-Jun-2013  tls resync from head
 1.31.4.1  10-Aug-2014  tls Rebase.

RSS XML Feed