/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
*/
#include <stdlib.h>
#include <rpc/auth_sys.h>
#include <priv.h>
#include <xpol.h>
#include <strings.h>
/* evil knowledge of libc internals; xdr requires that the code is here */
#include "../../libc/inc/priv_private.h"
{
return (FALSE);
return (TRUE);
}
{
return (FALSE);
return (FALSE);
return (TRUE);
}
{
return (FALSE);
return (FALSE);
return (FALSE);
return (TRUE);
}
{
return (FALSE);
switch (objp->xa_args_type) {
case XPOL_PATH:
return (FALSE);
break;
case XPOL_UIDS:
return (FALSE);
break;
case XPOL_PORTS:
return (FALSE);
break;
default:
return (FALSE);
}
return (TRUE);
}
/*
* When decoding, we allow any size of privilege set as required for
* core files; when encoding, we will only generate the current
* set size.
*/
{
priv_data_t *d;
LOADPRIVDATA(d);
while (more_data) {
return (FALSE);
objp->xr_privs_len))
return (FALSE);
return (FALSE);
return (FALSE);
if (!more_data) {
break;
}
mem_alloc(sizeof (xpol_rule_t));
return (FALSE);
}
}
while (more_data) {
slen = d->pd_setsize;
return (FALSE);
return (FALSE);
return (FALSE);
return (FALSE);
}
} else {
while (more_data) {
return (FALSE);
objp->xr_privs_len))
return (FALSE);
return (FALSE);
if (!first_objp)
else
first_objp = FALSE;
}
}
return (TRUE);
}