Deleted Added
sdiff udiff text old ( 92889 ) new ( 92990 )
full compact
1#if defined(LIBC_SCCS) && !defined(lint)
2static char sccsid[] = "@(#)authdes_prot.c 2.1 88/07/29 4.0 RPCSRC; from 1.6 88/02/08 SMI";
3#endif
4/* $FreeBSD: head/lib/libc/rpc/authdes_prot.c 92889 2002-03-21 18:49:23Z obrien $ */
5/*
6 * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
7 * unrestricted use provided that this legend is included on all tape
8 * media and as a part of the software program in whole or part. Users
9 * may copy or modify Sun RPC without charge, but are not authorized
10 * to license or distribute it to anyone else except as part of a product or
11 * program developed by the user.
12 *
13 * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
14 * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
15 * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
16 *
17 * Sun RPC is provided with no support and without any obligation on the
18 * part of Sun Microsystems, Inc. to assist in its use, correction,
19 * modification or enhancement.
20 *
21 * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
22 * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
23 * OR ANY PART THEREOF.
24 *
25 * In no event will Sun Microsystems, Inc. be liable for any lost revenue
26 * or profits or other special, indirect and consequential damages, even if
27 * Sun has been advised of the possibility of such damages.
28 *
29 * Sun Microsystems, Inc.
30 * 2550 Garcia Avenue
31 * Mountain View, California 94043
32 */
33/*
34 * Copyright (c) 1986-1991 by Sun Microsystems Inc.
35 */
36
37/*
38 * authdes_prot.c, XDR routines for DES authentication
39 */
40
41#include "namespace.h"
42#include <rpc/types.h>
43#include <rpc/xdr.h>
44#include <rpc/auth.h>
45#include <rpc/auth_des.h>
46#include "un-namespace.h"
47
48#define ATTEMPT(xdr_op) if (!(xdr_op)) return (FALSE)
49
50bool_t
51xdr_authdes_cred(xdrs, cred)
52 XDR *xdrs;
53 struct authdes_cred *cred;
54{
55 /*
56 * Unrolled xdr
57 */
58 ATTEMPT(xdr_enum(xdrs, (enum_t *)&cred->adc_namekind));
59 switch (cred->adc_namekind) {
60 case ADN_FULLNAME:
61 ATTEMPT(xdr_string(xdrs, &cred->adc_fullname.name,
62 MAXNETNAMELEN));
63 ATTEMPT(xdr_opaque(xdrs, (caddr_t)&cred->adc_fullname.key,
64 sizeof(des_block)));
65 ATTEMPT(xdr_opaque(xdrs, (caddr_t)&cred->adc_fullname.window,
66 sizeof(cred->adc_fullname.window)));
67 return (TRUE);
68 case ADN_NICKNAME:
69 ATTEMPT(xdr_opaque(xdrs, (caddr_t)&cred->adc_nickname,
70 sizeof(cred->adc_nickname)));
71 return (TRUE);
72 default:
73 return (FALSE);
74 }
75}
76
77
78bool_t
79xdr_authdes_verf(xdrs, verf)
80 XDR *xdrs;
81 struct authdes_verf *verf;
82{
83 /*
84 * Unrolled xdr
85 */
86 ATTEMPT(xdr_opaque(xdrs, (caddr_t)&verf->adv_xtimestamp,
87 sizeof(des_block)));
88 ATTEMPT(xdr_opaque(xdrs, (caddr_t)&verf->adv_int_u,
89 sizeof(verf->adv_int_u)));
90 return (TRUE);
91}