106 lines
2.5 KiB
C
106 lines
2.5 KiB
C
#ifndef __RPC_AUTH_DES_H__
|
|
#define __RPC_AUTH_DES_H__
|
|
#ident "$Revision: 1.4 $"
|
|
/*
|
|
*
|
|
* Copyright 1992, Silicon Graphics, Inc.
|
|
* All Rights Reserved.
|
|
*
|
|
* This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
|
|
* the contents of this file may not be disclosed to third parties, copied or
|
|
* duplicated in any form, in whole or in part, without the prior written
|
|
* permission of Silicon Graphics, Inc.
|
|
*
|
|
* RESTRICTED RIGHTS LEGEND:
|
|
* Use, duplication or disclosure by the Government is subject to restrictions
|
|
* as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
|
|
* and Computer Software clause at DFARS 252.227-7013, and/or in similar or
|
|
* successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
|
|
* rights reserved under the Copyright Laws of the United States.
|
|
*/
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* @(#)auth_des.h 1.3 90/07/17 4.1NFSSRC SMI */
|
|
|
|
/*
|
|
* Copyright (c) 1990 by Sun Microsystems, Inc.
|
|
* 1.3 88/02/08 SMI
|
|
*/
|
|
|
|
|
|
/*
|
|
* auth_des.h, Protocol for DES style authentication for RPC
|
|
*/
|
|
|
|
|
|
/*
|
|
* There are two kinds of "names": fullnames and nicknames
|
|
*/
|
|
enum authdes_namekind {
|
|
ADN_FULLNAME,
|
|
ADN_NICKNAME
|
|
};
|
|
|
|
/*
|
|
* A fullname contains the network name of the client,
|
|
* a conversation key and the window
|
|
*/
|
|
struct authdes_fullname {
|
|
char *name; /* network name of client, up to MAXNETNAMELEN */
|
|
des_block key; /* conversation key */
|
|
u_long window; /* associated window */
|
|
};
|
|
|
|
|
|
/*
|
|
* A credential
|
|
*/
|
|
struct authdes_cred {
|
|
enum authdes_namekind adc_namekind;
|
|
struct authdes_fullname adc_fullname;
|
|
u_long adc_nickname;
|
|
};
|
|
|
|
|
|
|
|
/*
|
|
* A des authentication verifier
|
|
*/
|
|
struct authdes_verf {
|
|
union {
|
|
struct timeval adv_ctime; /* clear time */
|
|
des_block adv_xtime; /* crypt time */
|
|
} adv_time_u;
|
|
u_long adv_int_u;
|
|
};
|
|
|
|
/*
|
|
* des authentication verifier: client variety
|
|
*
|
|
* adv_timestamp is the current time.
|
|
* adv_winverf is the credential window + 1.
|
|
* Both are encrypted using the conversation key.
|
|
*/
|
|
#define adv_timestamp adv_time_u.adv_ctime
|
|
#define adv_xtimestamp adv_time_u.adv_xtime
|
|
#define adv_winverf adv_int_u
|
|
|
|
/*
|
|
* des authentication verifier: server variety
|
|
*
|
|
* adv_timeverf is the client's timestamp + client's window
|
|
* adv_nickname is the server's nickname for the client.
|
|
* adv_timeverf is encrypted using the conversation key.
|
|
*/
|
|
#define adv_timeverf adv_time_u.adv_ctime
|
|
#define adv_xtimeverf adv_time_u.adv_xtime
|
|
#define adv_nickname adv_int_u
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif /* !__RPC_AUTH_DES_H__ */
|