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