| The Android Open Source Project | 2949f58 | 2009-03-03 19:30:46 -0800 | [diff] [blame] | 1 | /* | 
 | 2 |  * Sun RPC is a product of Sun Microsystems, Inc. and is provided for | 
 | 3 |  * unrestricted use provided that this legend is included on all tape | 
 | 4 |  * media and as a part of the software program in whole or part.  Users | 
 | 5 |  * may copy or modify Sun RPC without charge, but are not authorized | 
 | 6 |  * to license or distribute it to anyone else except as part of a product or | 
 | 7 |  * program developed by the user. | 
 | 8 |  * | 
 | 9 |  * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE | 
 | 10 |  * WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR | 
 | 11 |  * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. | 
 | 12 |  * | 
 | 13 |  * Sun RPC is provided with no support and without any obligation on the | 
 | 14 |  * part of Sun Microsystems, Inc. to assist in its use, correction, | 
 | 15 |  * modification or enhancement. | 
 | 16 |  * | 
 | 17 |  * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE | 
 | 18 |  * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC | 
 | 19 |  * OR ANY PART THEREOF. | 
 | 20 |  * | 
 | 21 |  * In no event will Sun Microsystems, Inc. be liable for any lost revenue | 
 | 22 |  * or profits or other special, indirect and consequential damages, even if | 
 | 23 |  * Sun has been advised of the possibility of such damages. | 
 | 24 |  * | 
 | 25 |  * Sun Microsystems, Inc. | 
 | 26 |  * 2550 Garcia Avenue | 
 | 27 |  * Mountain View, California  94043 | 
 | 28 |  * | 
 | 29 |  *	from: @(#)auth.h 1.17 88/02/08 SMI | 
 | 30 |  *	from: @(#)auth.h	2.3 88/08/07 4.0 RPCSRC | 
 | 31 |  * $FreeBSD: src/include/rpc/auth.h,v 1.14.2.1 1999/08/29 14:39:02 peter Exp $ | 
 | 32 |  */ | 
 | 33 |  | 
 | 34 | /* | 
 | 35 |  * auth.h, Authentication interface. | 
 | 36 |  * | 
 | 37 |  * Copyright (C) 1984, Sun Microsystems, Inc. | 
 | 38 |  * | 
 | 39 |  * The data structures are completely opaque to the client.  The client | 
 | 40 |  * is required to pass a AUTH * to routines that create rpc | 
 | 41 |  * "sessions". | 
 | 42 |  */ | 
 | 43 |  | 
 | 44 | /* | 
 | 45 |  * Status returned from authentication check | 
 | 46 |  */ | 
 | 47 | enum sunrpc_auth_stat { | 
 | 48 | 	SUNRPC_AUTH_OK=0, | 
 | 49 | 	/* | 
 | 50 | 	 * failed at remote end | 
 | 51 | 	 */ | 
 | 52 | 	SUNRPC_AUTH_BADCRED=1,		/* bogus credentials (seal broken) */ | 
 | 53 | 	SUNRPC_AUTH_REJECTEDCRED=2,	/* client should begin new session */ | 
 | 54 | 	SUNRPC_AUTH_BADVERF=3,		/* bogus verifier (seal broken) */ | 
 | 55 | 	SUNRPC_AUTH_REJECTEDVERF=4,	/* verifier expired or was replayed */ | 
 | 56 | 	SUNRPC_AUTH_TOOWEAK=5,		/* rejected due to security reasons */ | 
 | 57 | 	/* | 
 | 58 | 	 * failed locally | 
 | 59 | 	*/ | 
 | 60 | 	SUNRPC_AUTH_INVALIDRESP=6,	/* bogus response verifier */ | 
 | 61 | 	SUNRPC_AUTH_FAILED=7		/* some unknown reason */ | 
 | 62 | }; | 
 | 63 |  | 
 | 64 | /* | 
 | 65 |  * Authentication info.  Opaque to client. | 
 | 66 |  */ | 
 | 67 | struct sunrpc_opaque_auth { | 
| Elliott Hughes | 892a68b | 2015-10-19 14:43:53 -0700 | [diff] [blame] | 68 | 	uint32_t oa_flavor;		/* flavor of auth */ | 
 | 69 | 	uint32_t oa_len;		/* length of opaque body */ | 
| The Android Open Source Project | 2949f58 | 2009-03-03 19:30:46 -0800 | [diff] [blame] | 70 | 	/* zero or more bytes of body */ | 
 | 71 | }; | 
 | 72 |  | 
 | 73 | #define SUNRPC_AUTH_NONE	0	/* no authentication */ | 
 | 74 | #define	SUNRPC_AUTH_NULL	0	/* backward compatibility */ | 
 | 75 | #define	SUNRPC_AUTH_UNIX	1	/* unix style (uid, gids) */ | 
 | 76 | #define	SUNRPC_AUTH_SYS		1	/* forward compatibility */ | 
 | 77 | #define	SUNRPC_AUTH_SHORT	2	/* short hand unix style */ | 
 | 78 | #define SUNRPC_AUTH_DES		3	/* des style (encrypted timestamps) */ |