policy_module(gdomap, 1.0.1)

########################################
#
# Declarations
#

type gdomap_t;
type gdomap_exec_t;
init_daemon_domain(gdomap_t, gdomap_exec_t)

type gdomap_initrc_exec_t;
init_script_file(gdomap_initrc_exec_t)

type gdomap_conf_t;
files_config_file(gdomap_conf_t)

type gdomap_var_run_t;
files_pid_file(gdomap_var_run_t)

########################################
#
# Local policy
#

allow gdomap_t self:capability { setuid sys_chroot net_bind_service setgid };
allow gdomap_t self:tcp_socket { listen accept };

allow gdomap_t gdomap_var_run_t:file manage_file_perms;
files_pid_filetrans(gdomap_t, gdomap_var_run_t, file, "gdomap.pid")

corenet_sendrecv_gdomap_server_packets(gdomap_t)
corenet_tcp_bind_generic_node(gdomap_t)
corenet_tcp_bind_gdomap_port(gdomap_t)
corenet_tcp_connect_gdomap_port(gdomap_t)
corenet_tcp_sendrecv_gdomap_port(gdomap_t)
corenet_udp_bind_generic_node(gdomap_t)
corenet_udp_bind_gdomap_port(gdomap_t)
corenet_udp_sendrecv_gdomap_port(gdomap_t)

domain_use_interactive_fds(gdomap_t)

files_search_tmp(gdomap_t)

auth_use_nsswitch(gdomap_t)

logging_send_syslog_msg(gdomap_t)
