type rfs_access, domain;
type rfs_access_exec, exec_type, vendor_file_type, file_type;

init_daemon_domain(rfs_access)

#For tftp server
allow rfs_access self:capability { chown setgid setpcap setuid net_bind_service };

wakelock_use(rfs_access)

# For tftp server file access
allow rfs_access firmware_file:dir search;
allow rfs_access firmware_file:file r_file_perms;
allow rfs_access persist_file:dir search;
allow rfs_access persist_rfs_file:dir create_dir_perms;
allow rfs_access persist_rfs_file:file create_file_perms;

allow rfs_access self:socket create_socket_perms_no_ioctl;
