policy_module(gdomap, 1.6.0)

########################################
#
# 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_runtime_t alias gdomap_var_run_t;
files_runtime_file(gdomap_runtime_t)

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

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

allow gdomap_t gdomap_runtime_t:file manage_file_perms;
# gdomap_runtime_t dir is for chroot
allow gdomap_t gdomap_runtime_t:dir search;
files_runtime_filetrans(gdomap_t, gdomap_runtime_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_udp_bind_generic_node(gdomap_t)
corenet_udp_bind_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)

miscfiles_read_localization(gdomap_t)
