# Point to Point Protocol daemon
type ppp, domain;
type ppp_device, dev_type;
type ppp_exec, exec_type, file_type;

net_domain(ppp)

r_dir_file(ppp, proc_net)

allow ppp mtp:socket rw_socket_perms;

# ioctls needed for VPN.
allowxperm ppp self:udp_socket ioctl priv_sock_ioctls;
allowxperm ppp mtp:socket ioctl ppp_ioctls;

allow ppp mtp:unix_dgram_socket rw_socket_perms;
allow ppp ppp_device:chr_file rw_file_perms;
allow ppp self:capability net_admin;
allow ppp system_file:file rx_file_perms;
not_full_treble(`allow ppp vendor_file:file rx_file_perms;')
allow ppp vpn_data_file:dir w_dir_perms;
allow ppp vpn_data_file:file create_file_perms;
allow ppp mtp:fd use;