# DNS, DHCP services
type dnsmasq, domain, domain_deprecated;
type dnsmasq_exec, exec_type, file_type;

net_domain(dnsmasq)

# TODO:  Run with dhcp group to avoid need for dac_override.
allow dnsmasq self:capability dac_override;

allow dnsmasq self:capability { net_admin net_raw net_bind_service setgid setuid };

allow dnsmasq dhcp_data_file:dir w_dir_perms;
allow dnsmasq dhcp_data_file:file create_file_perms;

# Inherit and use open files from netd.
allow dnsmasq netd:fd use;
allow dnsmasq netd:fifo_file { read write };
# TODO: Investigate whether these inherited sockets should be closed on exec.
allow dnsmasq netd:netlink_kobject_uevent_socket { read write };
allow dnsmasq netd:netlink_nflog_socket { read write };
allow dnsmasq netd:netlink_route_socket { read write };
allow dnsmasq netd:unix_stream_socket { read write };
allow dnsmasq netd:unix_dgram_socket { read write };
allow dnsmasq netd:udp_socket { read write };
