Chris PeBenito a1fcff
## <summary>Virtual Private Networking client</summary>
Chris PeBenito a1fcff
Chris PeBenito a1fcff
########################################
Chris PeBenito a1fcff
## <summary>
Chris PeBenito a1fcff
##	Execute VPN clients in the vpnc domain.
Chris PeBenito a1fcff
## </summary>
Chris PeBenito a1fcff
## <param name="domain">
Chris PeBenito 885b83
##	<summary>
Dominick Grift 77e4b5
##	Domain allowed to transition.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito a1fcff
## </param>
Chris PeBenito a1fcff
#
Chris PeBenito a1fcff
interface(`vpn_domtrans',`
Chris PeBenito a1fcff
	gen_require(`
Chris PeBenito a1fcff
		type vpnc_t, vpnc_exec_t;
Chris PeBenito a1fcff
	')
Chris PeBenito a1fcff
Chris PeBenito 0bfccd
	domtrans_pattern($1, vpnc_exec_t, vpnc_t)
Chris PeBenito a1fcff
')
Chris PeBenito a1fcff
Chris PeBenito a1fcff
########################################
Chris PeBenito a1fcff
## <summary>
Chris PeBenito a1fcff
##	Execute VPN clients in the vpnc domain, and
Chris PeBenito a1fcff
##	allow the specified role the vpnc domain.
Chris PeBenito a1fcff
## </summary>
Chris PeBenito a1fcff
## <param name="domain">
Chris PeBenito 885b83
##	<summary>
Dominick Grift 77e4b5
##	Domain allowed to transition.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito a1fcff
## </param>
Chris PeBenito a1fcff
## <param name="role">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito a7ee7f
##	Role allowed access.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito a1fcff
## </param>
Chris PeBenito bbcd3c
## <rolecap/>
Chris PeBenito a1fcff
#
Chris PeBenito a1fcff
interface(`vpn_run',`
Chris PeBenito a1fcff
	gen_require(`
Chris PeBenito a1fcff
		type vpnc_t;
Chris PeBenito a1fcff
	')
Chris PeBenito a1fcff
Chris PeBenito a1fcff
	vpn_domtrans($1)
Chris PeBenito a1fcff
	role $2 types vpnc_t;
Chris PeBenito 296273
	sysnet_run_ifconfig(vpnc_t, $2)
Chris PeBenito a1fcff
')
Chris PeBenito a77e65
Chris PeBenito a77e65
########################################
Chris PeBenito a77e65
## <summary>
Chris PeBenito da0423
##	Send VPN clients the kill signal.
Chris PeBenito da0423
## </summary>
Chris PeBenito da0423
## <param name="domain">
Chris PeBenito da0423
##	<summary>
Chris PeBenito da0423
##	Domain allowed access.
Chris PeBenito da0423
##	</summary>
Chris PeBenito da0423
## </param>
Chris PeBenito da0423
#
Chris PeBenito da0423
interface(`vpn_kill',`
Chris PeBenito da0423
	gen_require(`
Chris PeBenito da0423
		type vpnc_t;
Chris PeBenito da0423
	')
Chris PeBenito da0423
Chris PeBenito da0423
	allow $1 vpnc_t:process sigkill;
Chris PeBenito da0423
')
Chris PeBenito da0423
Chris PeBenito da0423
########################################
Chris PeBenito da0423
## <summary>
Chris PeBenito a77e65
##	Send generic signals to VPN clients.
Chris PeBenito a77e65
## </summary>
Chris PeBenito a77e65
## <param name="domain">
Chris PeBenito 885b83
##	<summary>
Chris PeBenito a77e65
##	Domain allowed access.
Chris PeBenito 885b83
##	</summary>
Chris PeBenito a77e65
## </param>
Chris PeBenito a77e65
#
Chris PeBenito a77e65
interface(`vpn_signal',`
Chris PeBenito a77e65
	gen_require(`
Chris PeBenito a77e65
		type vpnc_t;
Chris PeBenito a77e65
	')
Chris PeBenito a77e65
Chris PeBenito a77e65
	allow $1 vpnc_t:process signal;
Chris PeBenito a77e65
')
Chris PeBenito f50856
Chris PeBenito f50856
########################################
Chris PeBenito f50856
## <summary>
Chris PeBenito da0423
##	Send signull to VPN clients.
Chris PeBenito da0423
## </summary>
Chris PeBenito da0423
## <param name="domain">
Chris PeBenito da0423
##	<summary>
Chris PeBenito da0423
##	Domain allowed access.
Chris PeBenito da0423
##	</summary>
Chris PeBenito da0423
## </param>
Chris PeBenito da0423
#
Chris PeBenito da0423
interface(`vpn_signull',`
Chris PeBenito da0423
	gen_require(`
Chris PeBenito da0423
		type vpnc_t;
Chris PeBenito da0423
	')
Chris PeBenito da0423
Chris PeBenito da0423
	allow $1 vpnc_t:process signull;
Chris PeBenito da0423
')
Chris PeBenito da0423
Chris PeBenito da0423
########################################
Chris PeBenito da0423
## <summary>
Chris PeBenito f50856
##	Send and receive messages from
Chris PeBenito f50856
##	Vpnc over dbus.
Chris PeBenito f50856
## </summary>
Chris PeBenito f50856
## <param name="domain">
Chris PeBenito f50856
##	<summary>
Chris PeBenito f50856
##	Domain allowed access.
Chris PeBenito f50856
##	</summary>
Chris PeBenito f50856
## </param>
Chris PeBenito f50856
#
Jeremy Solt b5d89d
interface(`vpn_dbus_chat',`
Chris PeBenito f50856
	gen_require(`
Chris PeBenito f50856
		type vpnc_t;
Chris PeBenito f50856
		class dbus send_msg;
Chris PeBenito f50856
	')
Chris PeBenito f50856
Chris PeBenito f50856
	allow $1 vpnc_t:dbus send_msg;
Chris PeBenito f50856
	allow vpnc_t $1:dbus send_msg;
Chris PeBenito f50856
')
Jeremy Solt b5d89d
Jeremy Solt b5d89d
########################################
Jeremy Solt b5d89d
## <summary>
Jeremy Solt b5d89d
##	Relabelfrom from vpnc socket.
Jeremy Solt b5d89d
## </summary>
Jeremy Solt b5d89d
## <param name="domain">
Jeremy Solt b5d89d
##	<summary>
Jeremy Solt b5d89d
##	Domain allowed access.
Jeremy Solt b5d89d
##	</summary>
Jeremy Solt b5d89d
## </param>
Jeremy Solt b5d89d
#
Jeremy Solt b5d89d
interface(`vpn_relabelfrom_tun_socket',`
Jeremy Solt b5d89d
	gen_require(`
Jeremy Solt b5d89d
		type vpnc_t;
Jeremy Solt b5d89d
	')
Jeremy Solt b5d89d
Jeremy Solt b5d89d
	allow $1 vpnc_t:tun_socket relabelfrom;
Jeremy Solt b5d89d
')