]>
Commit | Line | Data |
---|---|---|
800d775e UD |
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, MERCHANTIBILITY 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 | /* | |
30 | * Copyright (c) 1988 by Sun Microsystems, Inc. | |
31 | */ | |
800d775e UD |
32 | /* |
33 | * authdes_prot.c, XDR routines for DES authentication | |
34 | */ | |
35 | ||
36 | #include <rpc/types.h> | |
37 | #include <rpc/xdr.h> | |
38 | #include <rpc/auth.h> | |
39 | #include <rpc/auth_des.h> | |
40 | ||
41 | #define ATTEMPT(xdr_op) if (!(xdr_op)) return (FALSE) | |
42 | ||
43 | bool_t | |
f8afba91 | 44 | xdr_authdes_cred (XDR *xdrs, struct authdes_cred *cred) |
800d775e UD |
45 | { |
46 | /* | |
47 | * Unrolled xdr | |
48 | */ | |
77fe0b9c | 49 | ATTEMPT (INTUSE(xdr_enum) (xdrs, (enum_t *) & cred->adc_namekind)); |
800d775e UD |
50 | switch (cred->adc_namekind) |
51 | { | |
52 | case ADN_FULLNAME: | |
77fe0b9c UD |
53 | ATTEMPT (INTUSE(xdr_string) (xdrs, &cred->adc_fullname.name, |
54 | MAXNETNAMELEN)); | |
55 | ATTEMPT (INTUSE(xdr_opaque) (xdrs, (caddr_t) & cred->adc_fullname.key, | |
56 | sizeof (des_block))); | |
57 | ATTEMPT (INTUSE(xdr_opaque) (xdrs, (caddr_t) & cred->adc_fullname.window, | |
58 | sizeof (cred->adc_fullname.window))); | |
800d775e UD |
59 | return (TRUE); |
60 | case ADN_NICKNAME: | |
77fe0b9c UD |
61 | ATTEMPT (INTUSE(xdr_opaque) (xdrs, (caddr_t) & cred->adc_nickname, |
62 | sizeof (cred->adc_nickname))); | |
800d775e UD |
63 | return TRUE; |
64 | default: | |
65 | return FALSE; | |
66 | } | |
67 | } | |
77fe0b9c | 68 | INTDEF(xdr_authdes_cred) |
800d775e UD |
69 | |
70 | ||
71 | bool_t | |
f8afba91 | 72 | xdr_authdes_verf (register XDR *xdrs, register struct authdes_verf *verf) |
800d775e UD |
73 | { |
74 | /* | |
75 | * Unrolled xdr | |
76 | */ | |
77fe0b9c UD |
77 | ATTEMPT (INTUSE(xdr_opaque) (xdrs, (caddr_t) & verf->adv_xtimestamp, |
78 | sizeof (des_block))); | |
79 | ATTEMPT (INTUSE(xdr_opaque) (xdrs, (caddr_t) & verf->adv_int_u, | |
80 | sizeof (verf->adv_int_u))); | |
800d775e UD |
81 | return TRUE; |
82 | } | |
77fe0b9c | 83 | INTDEF(xdr_authdes_verf) |