xref: /titanic_50/usr/src/lib/libbc/inc/include/rpc/auth_unix.h (revision 7c478bd95313f5f23a4c958a745db2134aa03244)
1 /*
2  * CDDL HEADER START
3  *
4  * The contents of this file are subject to the terms of the
5  * Common Development and Distribution License, Version 1.0 only
6  * (the "License").  You may not use this file except in compliance
7  * with the License.
8  *
9  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10  * or http://www.opensolaris.org/os/licensing.
11  * See the License for the specific language governing permissions
12  * and limitations under the License.
13  *
14  * When distributing Covered Code, include this CDDL HEADER in each
15  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16  * If applicable, add the following below this CDDL HEADER, with the
17  * fields enclosed by brackets "[]" replaced with your own identifying
18  * information: Portions Copyright [yyyy] [name of copyright owner]
19  *
20  * CDDL HEADER END
21  */
22 #pragma ident	"%Z%%M%	%I%	%E% SMI"
23 
24 /*
25  * auth_unix.h, Protocol for UNIX style authentication parameters for RPC
26  *
27  * Copyright (C) 1984, Sun Microsystems, Inc.
28  */
29 
30 #ifndef _rpc_auth_unix_h
31 #define	_rpc_auth_unix_h
32 
33 /*
34  * The system is very weak.  The client uses no encryption for  it
35  * credentials and only sends null verifiers.  The server sends backs
36  * null verifiers or optionally a verifier that suggests a new short hand
37  * for the credentials.
38  */
39 
40 /* The machine name is part of a credential; it may not exceed 255 bytes */
41 #define	MAX_MACHINE_NAME 255
42 
43 /* gids compose part of a credential; there may not be more than 16 of them */
44 #define	NGRPS 16
45 
46 /*
47  * Unix style credentials.
48  */
49 struct authunix_parms {
50 	u_long	 aup_time;
51 	char	*aup_machname;
52 	u_int	 aup_uid;
53 	u_int	 aup_gid;
54 	u_int	 aup_len;
55 	u_int	*aup_gids;
56 };
57 
58 extern bool_t xdr_authunix_parms();
59 
60 /*
61  * If a response verifier has flavor AUTH_SHORT,
62  * then the body of the response verifier encapsulates the following structure;
63  * again it is serialized in the obvious fashion.
64  */
65 struct short_hand_verf {
66 	struct opaque_auth new_cred;
67 };
68 
69 #endif /*!_rpc_auth_unix_h*/
70