xref: /onnv-gate/usr/src/uts/common/rpc/sec/key_prot.c (revision 0:68f95e015346)
1*0Sstevel@tonic-gate /*
2*0Sstevel@tonic-gate  * CDDL HEADER START
3*0Sstevel@tonic-gate  *
4*0Sstevel@tonic-gate  * The contents of this file are subject to the terms of the
5*0Sstevel@tonic-gate  * Common Development and Distribution License, Version 1.0 only
6*0Sstevel@tonic-gate  * (the "License").  You may not use this file except in compliance
7*0Sstevel@tonic-gate  * with the License.
8*0Sstevel@tonic-gate  *
9*0Sstevel@tonic-gate  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10*0Sstevel@tonic-gate  * or http://www.opensolaris.org/os/licensing.
11*0Sstevel@tonic-gate  * See the License for the specific language governing permissions
12*0Sstevel@tonic-gate  * and limitations under the License.
13*0Sstevel@tonic-gate  *
14*0Sstevel@tonic-gate  * When distributing Covered Code, include this CDDL HEADER in each
15*0Sstevel@tonic-gate  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16*0Sstevel@tonic-gate  * If applicable, add the following below this CDDL HEADER, with the
17*0Sstevel@tonic-gate  * fields enclosed by brackets "[]" replaced with your own identifying
18*0Sstevel@tonic-gate  * information: Portions Copyright [yyyy] [name of copyright owner]
19*0Sstevel@tonic-gate  *
20*0Sstevel@tonic-gate  * CDDL HEADER END
21*0Sstevel@tonic-gate  */
22*0Sstevel@tonic-gate /*
23*0Sstevel@tonic-gate  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
24*0Sstevel@tonic-gate  * Use is subject to license terms.
25*0Sstevel@tonic-gate  */
26*0Sstevel@tonic-gate 
27*0Sstevel@tonic-gate /*
28*0Sstevel@tonic-gate  * Please do not edit this file.
29*0Sstevel@tonic-gate  * It was generated using rpcgen.
30*0Sstevel@tonic-gate  */
31*0Sstevel@tonic-gate 
32*0Sstevel@tonic-gate #pragma ident	"%Z%%M%	%I%	%E% SMI"
33*0Sstevel@tonic-gate 
34*0Sstevel@tonic-gate #include <rpc/key_prot.h>
35*0Sstevel@tonic-gate /* @(#)key_prot.x	1.10 90/01/03 Copyright (c)  1990, 1991 SMI */
36*0Sstevel@tonic-gate 
37*0Sstevel@tonic-gate /*
38*0Sstevel@tonic-gate  * Compiled from key_prot.x using rpcgen.
39*0Sstevel@tonic-gate  * DO NOT EDIT THIS FILE!
40*0Sstevel@tonic-gate  * This is NOT source code!
41*0Sstevel@tonic-gate  */
42*0Sstevel@tonic-gate 
43*0Sstevel@tonic-gate bool_t
xdr_keystatus(XDR * xdrs,keystatus * objp)44*0Sstevel@tonic-gate xdr_keystatus(XDR *xdrs, keystatus *objp)
45*0Sstevel@tonic-gate {
46*0Sstevel@tonic-gate 	if (!xdr_enum(xdrs, (enum_t *)objp))
47*0Sstevel@tonic-gate 		return (FALSE);
48*0Sstevel@tonic-gate 	return (TRUE);
49*0Sstevel@tonic-gate }
50*0Sstevel@tonic-gate 
51*0Sstevel@tonic-gate bool_t
xdr_keybuf(XDR * xdrs,keybuf objp)52*0Sstevel@tonic-gate xdr_keybuf(XDR *xdrs, keybuf objp)
53*0Sstevel@tonic-gate {
54*0Sstevel@tonic-gate 	if (!xdr_opaque(xdrs, objp, HEXKEYBYTES))
55*0Sstevel@tonic-gate 		return (FALSE);
56*0Sstevel@tonic-gate 	return (TRUE);
57*0Sstevel@tonic-gate }
58*0Sstevel@tonic-gate 
59*0Sstevel@tonic-gate bool_t
xdr_netnamestr(XDR * xdrs,netnamestr * objp)60*0Sstevel@tonic-gate xdr_netnamestr(XDR *xdrs, netnamestr *objp)
61*0Sstevel@tonic-gate {
62*0Sstevel@tonic-gate 	if (!xdr_string(xdrs, objp, MAXNETNAMELEN))
63*0Sstevel@tonic-gate 		return (FALSE);
64*0Sstevel@tonic-gate 
65*0Sstevel@tonic-gate 	return (TRUE);
66*0Sstevel@tonic-gate }
67*0Sstevel@tonic-gate 
68*0Sstevel@tonic-gate bool_t
xdr_cryptkeyarg(XDR * xdrs,cryptkeyarg * objp)69*0Sstevel@tonic-gate xdr_cryptkeyarg(XDR *xdrs, cryptkeyarg *objp)
70*0Sstevel@tonic-gate {
71*0Sstevel@tonic-gate 	if (!xdr_netnamestr(xdrs, &objp->remotename))
72*0Sstevel@tonic-gate 		return (FALSE);
73*0Sstevel@tonic-gate 	if (!xdr_des_block(xdrs, &objp->deskey))
74*0Sstevel@tonic-gate 		return (FALSE);
75*0Sstevel@tonic-gate 	return (TRUE);
76*0Sstevel@tonic-gate }
77*0Sstevel@tonic-gate 
78*0Sstevel@tonic-gate bool_t
xdr_cryptkeyarg2(XDR * xdrs,cryptkeyarg2 * objp)79*0Sstevel@tonic-gate xdr_cryptkeyarg2(XDR *xdrs, cryptkeyarg2 *objp)
80*0Sstevel@tonic-gate {
81*0Sstevel@tonic-gate 	if (!xdr_netnamestr(xdrs, &objp->remotename))
82*0Sstevel@tonic-gate 		return (FALSE);
83*0Sstevel@tonic-gate 	if (!xdr_netobj(xdrs, &objp->remotekey))
84*0Sstevel@tonic-gate 		return (FALSE);
85*0Sstevel@tonic-gate 	if (!xdr_des_block(xdrs, &objp->deskey))
86*0Sstevel@tonic-gate 		return (FALSE);
87*0Sstevel@tonic-gate 	return (TRUE);
88*0Sstevel@tonic-gate }
89*0Sstevel@tonic-gate 
90*0Sstevel@tonic-gate bool_t
xdr_cryptkeyres(XDR * xdrs,cryptkeyres * objp)91*0Sstevel@tonic-gate xdr_cryptkeyres(XDR *xdrs, cryptkeyres *objp)
92*0Sstevel@tonic-gate {
93*0Sstevel@tonic-gate 	if (!xdr_keystatus(xdrs, &objp->status))
94*0Sstevel@tonic-gate 		return (FALSE);
95*0Sstevel@tonic-gate 	switch (objp->status) {
96*0Sstevel@tonic-gate 	case KEY_SUCCESS:
97*0Sstevel@tonic-gate 		if (!xdr_des_block(xdrs, &objp->cryptkeyres_u.deskey))
98*0Sstevel@tonic-gate 			return (FALSE);
99*0Sstevel@tonic-gate 		break;
100*0Sstevel@tonic-gate 	default:
101*0Sstevel@tonic-gate 		break;
102*0Sstevel@tonic-gate 	}
103*0Sstevel@tonic-gate 	return (TRUE);
104*0Sstevel@tonic-gate }
105*0Sstevel@tonic-gate 
106*0Sstevel@tonic-gate bool_t
xdr_unixcred(XDR * xdrs,unixcred * objp)107*0Sstevel@tonic-gate xdr_unixcred(XDR *xdrs, unixcred *objp)
108*0Sstevel@tonic-gate {
109*0Sstevel@tonic-gate 	if (!xdr_u_int(xdrs, &objp->uid))
110*0Sstevel@tonic-gate 		return (FALSE);
111*0Sstevel@tonic-gate 	if (!xdr_u_int(xdrs, &objp->gid))
112*0Sstevel@tonic-gate 		return (FALSE);
113*0Sstevel@tonic-gate 	if (!xdr_array(xdrs, (char **)&objp->gids.gids_val,
114*0Sstevel@tonic-gate 	    (uint_t *)&objp->gids.gids_len, MAXGIDS,
115*0Sstevel@tonic-gate 	    sizeof (uint_t), (xdrproc_t)xdr_u_int))
116*0Sstevel@tonic-gate 		return (FALSE);
117*0Sstevel@tonic-gate 	return (TRUE);
118*0Sstevel@tonic-gate }
119*0Sstevel@tonic-gate 
120*0Sstevel@tonic-gate bool_t
xdr_getcredres(XDR * xdrs,getcredres * objp)121*0Sstevel@tonic-gate xdr_getcredres(XDR *xdrs, getcredres *objp)
122*0Sstevel@tonic-gate {
123*0Sstevel@tonic-gate 	if (!xdr_keystatus(xdrs, &objp->status))
124*0Sstevel@tonic-gate 		return (FALSE);
125*0Sstevel@tonic-gate 	switch (objp->status) {
126*0Sstevel@tonic-gate 	case KEY_SUCCESS:
127*0Sstevel@tonic-gate 		if (!xdr_unixcred(xdrs, &objp->getcredres_u.cred))
128*0Sstevel@tonic-gate 			return (FALSE);
129*0Sstevel@tonic-gate 		break;
130*0Sstevel@tonic-gate 	default:
131*0Sstevel@tonic-gate 		break;
132*0Sstevel@tonic-gate 	}
133*0Sstevel@tonic-gate 	return (TRUE);
134*0Sstevel@tonic-gate }
135*0Sstevel@tonic-gate 
136*0Sstevel@tonic-gate bool_t
xdr_key_netstarg(XDR * xdrs,key_netstarg * objp)137*0Sstevel@tonic-gate xdr_key_netstarg(XDR *xdrs, key_netstarg *objp)
138*0Sstevel@tonic-gate {
139*0Sstevel@tonic-gate 	if (!xdr_keybuf(xdrs, objp->st_priv_key))
140*0Sstevel@tonic-gate 		return (FALSE);
141*0Sstevel@tonic-gate 	if (!xdr_keybuf(xdrs, objp->st_pub_key))
142*0Sstevel@tonic-gate 		return (FALSE);
143*0Sstevel@tonic-gate 
144*0Sstevel@tonic-gate 
145*0Sstevel@tonic-gate 	if (!xdr_netnamestr(xdrs, &objp->st_netname))
146*0Sstevel@tonic-gate 		return (FALSE);
147*0Sstevel@tonic-gate 
148*0Sstevel@tonic-gate 	return (TRUE);
149*0Sstevel@tonic-gate }
150*0Sstevel@tonic-gate 
151*0Sstevel@tonic-gate bool_t
xdr_key_netstres(XDR * xdrs,key_netstres * objp)152*0Sstevel@tonic-gate xdr_key_netstres(XDR *xdrs, key_netstres *objp)
153*0Sstevel@tonic-gate {
154*0Sstevel@tonic-gate 	if (!xdr_keystatus(xdrs, &objp->status))
155*0Sstevel@tonic-gate 		return (FALSE);
156*0Sstevel@tonic-gate 	switch (objp->status) {
157*0Sstevel@tonic-gate 	case KEY_SUCCESS:
158*0Sstevel@tonic-gate 		if (!xdr_key_netstarg(xdrs, &objp->key_netstres_u.knet))
159*0Sstevel@tonic-gate 			return (FALSE);
160*0Sstevel@tonic-gate 		break;
161*0Sstevel@tonic-gate 	default:
162*0Sstevel@tonic-gate 		break;
163*0Sstevel@tonic-gate 	}
164*0Sstevel@tonic-gate 	return (TRUE);
165*0Sstevel@tonic-gate }
166