1ec3d1a
## <summary>VMWare Workstation virtual machines</summary>
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
1ec3d1a
##	Role access for vmware
1ec3d1a
## </summary>
1ec3d1a
## <param name="role">
1ec3d1a
##	<summary>
1ec3d1a
##	Role allowed access
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	User domain for the role
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`vmware_role',`
1ec3d1a
	gen_require(`
1ec3d1a
		type vmware_t, vmware_exec_t;
1ec3d1a
	')
1ec3d1a
1ec3d1a
	role $1 types vmware_t;
1ec3d1a
1ec3d1a
	# Transition from the user domain to the derived domain.
1ec3d1a
	domtrans_pattern($2, vmware_exec_t, vmware_t)
1ec3d1a
1ec3d1a
	# allow ps to show vmware and allow the user to kill it 
1ec3d1a
	ps_process_pattern($2, vmware_t)
1ec3d1a
	allow $2 vmware_t:process signal;
1ec3d1a
')
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
1ec3d1a
##	Execute vmware host executables
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	Domain allowed access.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`vmware_exec_host',`
1ec3d1a
	gen_require(`
1ec3d1a
		type vmware_host_exec_t;
1ec3d1a
	')
1ec3d1a
1ec3d1a
	can_exec($1, vmware_host_exec_t)
1ec3d1a
')
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
1ec3d1a
##	Read VMWare system configuration files.
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	Domain allowed access.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`vmware_read_system_config',`
1ec3d1a
	gen_require(`
1ec3d1a
		type vmware_sys_conf_t;
1ec3d1a
	')
1ec3d1a
1ec3d1a
	allow $1 vmware_sys_conf_t:file { getattr read };
1ec3d1a
')
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
1ec3d1a
##	Append to VMWare system configuration files.
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	Domain allowed access.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`vmware_append_system_config',`
1ec3d1a
	gen_require(`
1ec3d1a
		type vmware_sys_conf_t;
1ec3d1a
	')
1ec3d1a
1ec3d1a
	allow $1 vmware_sys_conf_t:file append;
1ec3d1a
')
1ec3d1a
1ec3d1a
########################################
1ec3d1a
## <summary>
1ec3d1a
##	Append to VMWare log files.
1ec3d1a
## </summary>
1ec3d1a
## <param name="domain">
1ec3d1a
##	<summary>
1ec3d1a
##	Domain allowed access.
1ec3d1a
##	</summary>
1ec3d1a
## </param>
1ec3d1a
#
1ec3d1a
interface(`vmware_append_log',`
1ec3d1a
	gen_require(`
1ec3d1a
		type vmware_log_t;
1ec3d1a
	')
1ec3d1a
1ec3d1a
	logging_search_logs($1)
1ec3d1a
	append_files_pattern($1, vmware_log_t, vmware_log_t)
1ec3d1a
')