auth_unix.h revision 261046
1/*-
2 * Copyright (c) 2009, Sun Microsystems, Inc.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * - Redistributions of source code must retain the above copyright notice,
8 *   this list of conditions and the following disclaimer.
9 * - Redistributions in binary form must reproduce the above copyright notice,
10 *   this list of conditions and the following disclaimer in the documentation
11 *   and/or other materials provided with the distribution.
12 * - Neither the name of Sun Microsystems, Inc. nor the names of its
13 *   contributors may be used to endorse or promote products derived
14 *   from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
20 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26 * POSSIBILITY OF SUCH DAMAGE.
27 *
28 *	from: @(#)auth_unix.h 1.8 88/02/08 SMI
29 *	from: @(#)auth_unix.h	2.2 88/07/29 4.0 RPCSRC
30 * $FreeBSD: stable/10/include/rpc/auth_unix.h 261046 2014-01-22 23:45:27Z mav $
31 */
32
33/*
34 * auth_unix.h, Protocol for UNIX style authentication parameters for RPC
35 *
36 * Copyright (C) 1984, Sun Microsystems, Inc.
37 */
38
39/*
40 * The system is very weak.  The client uses no encryption for  it
41 * credentials and only sends null verifiers.  The server sends backs
42 * null verifiers or optionally a verifier that suggests a new short hand
43 * for the credentials.
44 */
45
46#ifndef _RPC_AUTH_UNIX_H
47#define _RPC_AUTH_UNIX_H
48#include <sys/cdefs.h>
49
50/* The machine name is part of a credential; it may not exceed 255 bytes */
51#define MAX_MACHINE_NAME 255
52
53/* gids compose part of a credential; there may not be more than 16 of them */
54#define NGRPS 16
55
56/*
57 * Unix style credentials.
58 */
59struct authunix_parms {
60	u_long	 aup_time;
61	char	*aup_machname;
62	u_int	 aup_uid;
63	u_int	 aup_gid;
64	u_int	 aup_len;
65	u_int	*aup_gids;
66};
67
68#define authsys_parms authunix_parms
69
70__BEGIN_DECLS
71extern bool_t xdr_authunix_parms(XDR *, struct authunix_parms *);
72__END_DECLS
73
74/*
75 * If a response verifier has flavor AUTH_SHORT,
76 * then the body of the response verifier encapsulates the following structure;
77 * again it is serialized in the obvious fashion.
78 */
79struct short_hand_verf {
80	struct opaque_auth new_cred;
81};
82
83#endif /* !_RPC_AUTH_UNIX_H */
84