OpenCores
URL https://opencores.org/ocsvn/scarts/scarts/trunk

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-newlib/] [newlib-1.17.0/] [newlib/] [libc/] [sys/] [linux/] [include/] [rpc/] [auth_des.h] - Blame information for rev 9

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 9 jlechner
/*      @(#)auth_des.h  2.2 88/07/29 4.0 RPCSRC; from 1.3 88/02/08 SMI */
2
/*      $FreeBSD: src/include/rpc/auth_des.h,v 1.3 2002/03/23 17:24:55 imp Exp $ */
3
/*
4
 * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
5
 * unrestricted use provided that this legend is included on all tape
6
 * media and as a part of the software program in whole or part.  Users
7
 * may copy or modify Sun RPC without charge, but are not authorized
8
 * to license or distribute it to anyone else except as part of a product or
9
 * program developed by the user.
10
 *
11
 * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
12
 * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
13
 * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
14
 *
15
 * Sun RPC is provided with no support and without any obligation on the
16
 * part of Sun Microsystems, Inc. to assist in its use, correction,
17
 * modification or enhancement.
18
 *
19
 * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
20
 * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
21
 * OR ANY PART THEREOF.
22
 *
23
 * In no event will Sun Microsystems, Inc. be liable for any lost revenue
24
 * or profits or other special, indirect and consequential damages, even if
25
 * Sun has been advised of the possibility of such damages.
26
 *
27
 * Sun Microsystems, Inc.
28
 * 2550 Garcia Avenue
29
 * Mountain View, California  94043
30
 *
31
 *      from: @(#)auth_des.h 2.2 88/07/29 4.0 RPCSRC
32
 *      from: @(#)auth_des.h 1.14    94/04/25 SMI
33
 */
34
 
35
/*
36
 * Copyright (c) 1986 - 1991 by Sun Microsystems, Inc.
37
 */
38
 
39
/*
40
 * auth_des.h, Protocol for DES style authentication for RPC
41
 */
42
 
43
#ifndef _AUTH_DES_
44
#define _AUTH_DES_
45
 
46
/*
47
 * There are two kinds of "names": fullnames and nicknames
48
 */
49
enum authdes_namekind {
50
        ADN_FULLNAME,
51
        ADN_NICKNAME
52
};
53
 
54
/*
55
 * A fullname contains the network name of the client,
56
 * a conversation key and the window
57
 */
58
struct authdes_fullname {
59
        char *name;             /* network name of client, up to MAXNETNAMELEN */
60
        des_block key;          /* conversation key */
61
        u_long window;          /* associated window */
62
};
63
 
64
 
65
/*
66
 * A credential
67
 */
68
struct authdes_cred {
69
        enum authdes_namekind adc_namekind;
70
        struct authdes_fullname adc_fullname;
71
        u_long adc_nickname;
72
};
73
 
74
 
75
 
76
/*
77
 * A des authentication verifier
78
 */
79
struct authdes_verf {
80
        union {
81
                struct timeval adv_ctime;       /* clear time */
82
                des_block adv_xtime;            /* crypt time */
83
        } adv_time_u;
84
        u_long adv_int_u;
85
};
86
 
87
/*
88
 * des authentication verifier: client variety
89
 *
90
 * adv_timestamp is the current time.
91
 * adv_winverf is the credential window + 1.
92
 * Both are encrypted using the conversation key.
93
 */
94
#define adv_timestamp   adv_time_u.adv_ctime
95
#define adv_xtimestamp  adv_time_u.adv_xtime
96
#define adv_winverf     adv_int_u
97
 
98
/*
99
 * des authentication verifier: server variety
100
 *
101
 * adv_timeverf is the client's timestamp + client's window
102
 * adv_nickname is the server's nickname for the client.
103
 * adv_timeverf is encrypted using the conversation key.
104
 */
105
#define adv_timeverf    adv_time_u.adv_ctime
106
#define adv_xtimeverf   adv_time_u.adv_xtime
107
#define adv_nickname    adv_int_u
108
 
109
/*
110
 * Map a des credential into a unix cred.
111
 *
112
 */
113
__BEGIN_DECLS
114
extern int authdes_getucred( struct authdes_cred *, uid_t *, gid_t *, int *, gid_t * );
115
__END_DECLS
116
 
117
__BEGIN_DECLS
118
extern bool_t   xdr_authdes_cred(XDR *, struct authdes_cred *);
119
extern bool_t   xdr_authdes_verf(XDR *, struct authdes_verf *);
120
extern int      rtime(dev_t, struct netbuf *, int, struct timeval *,
121
                    struct timeval *);
122
extern void     kgetnetname(char *);
123
extern enum auth_stat _svcauth_des(struct svc_req *, struct rpc_msg *);
124
__END_DECLS
125
 
126
#endif /* ndef _AUTH_DES_ */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.