Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:01:04

0001 /* @(#)auth_unix.h  2.2 88/07/29 4.0 RPCSRC; from 1.8 88/02/08 SMI */
0002 /*
0003  * Copyright (c) 2010, Oracle America, Inc.
0004  *
0005  * All rights reserved.
0006  *
0007  * Redistribution and use in source and binary forms, with or without
0008  * modification, are permitted provided that the following conditions are met:
0009  *
0010  *     * Redistributions of source code must retain the above copyright
0011  *       notice, this list of conditions and the following disclaimer.
0012  *
0013  *     * Redistributions in binary form must reproduce the above copyright
0014  *       notice, this list of conditions and the following disclaimer in
0015  *       the documentation and/or other materials provided with the
0016  *       distribution.
0017  *
0018  *     * Neither the name of the "Oracle America, Inc." nor the names of
0019  *       its contributors may be used to endorse or promote products
0020  *       derived from this software without specific prior written permission.
0021  *
0022  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
0023  * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
0024  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
0025  * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
0026  * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
0027  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
0028  * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
0029  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
0030  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
0031  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
0032  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
0033  */
0034 /*      @(#)auth_unix.h 1.5 86/07/16 SMI      */
0035 
0036 /*
0037  * auth_unix.h, Protocol for UNIX style authentication parameters for RPC
0038  */
0039 
0040 #ifndef GSSRPC_AUTH_UNIX_H
0041 #define GSSRPC_AUTH_UNIX_H
0042 
0043 GSSRPC__BEGIN_DECLS
0044 /*
0045  * The system is very weak.  The client uses no encryption for  it
0046  * credentials and only sends null verifiers.  The server sends backs
0047  * null verifiers or optionally a verifier that suggests a new short hand
0048  * for the credentials.
0049  */
0050 
0051 /* The machine name is part of a credential; it may not exceed 255 bytes */
0052 #define MAX_MACHINE_NAME 255
0053 
0054 /* gids compose part of a credential; there may not be more than 16 of them */
0055 #define NGRPS 16
0056 
0057 /*
0058  * Unix style credentials.
0059  */
0060 struct authunix_parms {
0061     uint32_t     aup_time;
0062     char    *aup_machname;
0063     int  aup_uid;
0064     int  aup_gid;
0065     u_int    aup_len;
0066     int *aup_gids;
0067 };
0068 
0069 extern bool_t xdr_authunix_parms(XDR *, struct authunix_parms *);
0070 
0071 /*
0072  * If a response verifier has flavor AUTH_SHORT,
0073  * then the body of the response verifier encapsulates the following structure;
0074  * again it is serialized in the obvious fashion.
0075  */
0076 struct short_hand_verf {
0077     struct opaque_auth new_cred;
0078 };
0079 
0080 GSSRPC__END_DECLS
0081 
0082 #endif /* !defined(GSSRPC_AUTH_UNIX_H) */