xref: /csrg-svn/lib/librpc/rpc/auth_unix.h (revision 45065)
1*45065Smckusick /* @(#)auth_unix.h	2.2 88/07/29 4.0 RPCSRC; from 1.8 88/02/08 SMI */
2*45065Smckusick /*
3*45065Smckusick  * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
4*45065Smckusick  * unrestricted use provided that this legend is included on all tape
5*45065Smckusick  * media and as a part of the software program in whole or part.  Users
6*45065Smckusick  * may copy or modify Sun RPC without charge, but are not authorized
7*45065Smckusick  * to license or distribute it to anyone else except as part of a product or
8*45065Smckusick  * program developed by the user.
9*45065Smckusick  *
10*45065Smckusick  * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
11*45065Smckusick  * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
12*45065Smckusick  * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
13*45065Smckusick  *
14*45065Smckusick  * Sun RPC is provided with no support and without any obligation on the
15*45065Smckusick  * part of Sun Microsystems, Inc. to assist in its use, correction,
16*45065Smckusick  * modification or enhancement.
17*45065Smckusick  *
18*45065Smckusick  * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
19*45065Smckusick  * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
20*45065Smckusick  * OR ANY PART THEREOF.
21*45065Smckusick  *
22*45065Smckusick  * In no event will Sun Microsystems, Inc. be liable for any lost revenue
23*45065Smckusick  * or profits or other special, indirect and consequential damages, even if
24*45065Smckusick  * Sun has been advised of the possibility of such damages.
25*45065Smckusick  *
26*45065Smckusick  * Sun Microsystems, Inc.
27*45065Smckusick  * 2550 Garcia Avenue
28*45065Smckusick  * Mountain View, California  94043
29*45065Smckusick  */
30*45065Smckusick /*      @(#)auth_unix.h 1.5 86/07/16 SMI      */
31*45065Smckusick 
32*45065Smckusick /*
33*45065Smckusick  * auth_unix.h, Protocol for UNIX style authentication parameters for RPC
34*45065Smckusick  *
35*45065Smckusick  * Copyright (C) 1984, Sun Microsystems, Inc.
36*45065Smckusick  */
37*45065Smckusick 
38*45065Smckusick /*
39*45065Smckusick  * The system is very weak.  The client uses no encryption for  it
40*45065Smckusick  * credentials and only sends null verifiers.  The server sends backs
41*45065Smckusick  * null verifiers or optionally a verifier that suggests a new short hand
42*45065Smckusick  * for the credentials.
43*45065Smckusick  */
44*45065Smckusick 
45*45065Smckusick /* The machine name is part of a credential; it may not exceed 255 bytes */
46*45065Smckusick #define MAX_MACHINE_NAME 255
47*45065Smckusick 
48*45065Smckusick /* gids compose part of a credential; there may not be more than 16 of them */
49*45065Smckusick #define NGRPS 16
50*45065Smckusick 
51*45065Smckusick /*
52*45065Smckusick  * Unix style credentials.
53*45065Smckusick  */
54*45065Smckusick struct authunix_parms {
55*45065Smckusick 	u_long	 aup_time;
56*45065Smckusick 	char	*aup_machname;
57*45065Smckusick 	int	 aup_uid;
58*45065Smckusick 	int	 aup_gid;
59*45065Smckusick 	u_int	 aup_len;
60*45065Smckusick 	int	*aup_gids;
61*45065Smckusick };
62*45065Smckusick 
63*45065Smckusick extern bool_t xdr_authunix_parms();
64*45065Smckusick 
65*45065Smckusick /*
66*45065Smckusick  * If a response verifier has flavor AUTH_SHORT,
67*45065Smckusick  * then the body of the response verifier encapsulates the following structure;
68*45065Smckusick  * again it is serialized in the obvious fashion.
69*45065Smckusick  */
70*45065Smckusick struct short_hand_verf {
71*45065Smckusick 	struct opaque_auth new_cred;
72*45065Smckusick };
73