Beispiel #1
0
bool se_priv_to_privilege_set( PRIVILEGE_SET *set, uint64_t privilege_mask )
{
	int i;
	struct lsa_LUIDAttribute luid;

	luid.attribute = 0;
	luid.luid.high = 0;

	for ( i=0; i<ARRAY_SIZE(privs); i++ ) {
		if ((privilege_mask & privs[i].privilege_mask) == 0)
			continue;

		luid.luid.high = 0;
		luid.luid.low = privs[i].luid;

		if ( !privilege_set_add( set, luid ) )
			return false;
	}

	return true;
}
Beispiel #2
0
bool se_priv_to_privilege_set( PRIVILEGE_SET *set, SE_PRIV *mask )
{
	int i;
	uint32 num_privs = count_all_privileges();
	LUID_ATTR luid;
	
	luid.attr = 0;
	luid.luid.high = 0;
	
	for ( i=0; i<num_privs; i++ ) {
		if ( !is_privilege_assigned(mask, &privs[i].se_priv) )
			continue;
		
		luid.luid = privs[i].luid;
		
		if ( !privilege_set_add( set, luid ) )
			return False;
	}

	return True;
}