]> The Tcpdump Group git mirrors - tcpdump/blob - rpc_auth.h
Avoid -E and -M options inconsistencies with no libcrypto
[tcpdump] / rpc_auth.h
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.h 1.17 88/02/08 SMI
29 * from: @(#)auth.h 2.3 88/08/07 4.0 RPCSRC
30 * $FreeBSD: src/include/rpc/auth.h,v 1.14.2.1 1999/08/29 14:39:02 peter Exp $
31 */
32
33 /*
34 * auth.h, Authentication interface.
35 *
36 * Copyright (C) 1984, Sun Microsystems, Inc.
37 *
38 * The data structures are completely opaque to the client. The client
39 * is required to pass a AUTH * to routines that create rpc
40 * "sessions".
41 */
42
43 /*
44 * Status returned from authentication check
45 */
46 enum sunrpc_auth_stat {
47 SUNRPC_AUTH_OK=0,
48 /*
49 * failed at remote end
50 */
51 SUNRPC_AUTH_BADCRED=1, /* bogus credentials (seal broken) */
52 SUNRPC_AUTH_REJECTEDCRED=2, /* client should begin new session */
53 SUNRPC_AUTH_BADVERF=3, /* bogus verifier (seal broken) */
54 SUNRPC_AUTH_REJECTEDVERF=4, /* verifier expired or was replayed */
55 SUNRPC_AUTH_TOOWEAK=5, /* rejected due to security reasons */
56 /*
57 * failed locally
58 */
59 SUNRPC_AUTH_INVALIDRESP=6, /* bogus response verifier */
60 SUNRPC_AUTH_FAILED=7 /* some unknown reason */
61 };
62
63 /*
64 * Authentication info. Opaque to client.
65 */
66 struct sunrpc_opaque_auth {
67 nd_uint32_t oa_flavor; /* flavor of auth */
68 nd_uint32_t oa_len; /* length of opaque body */
69 /* zero or more bytes of body */
70 };