type socket_vsock_proxy, domain, netdomain; type socket_vsock_proxy_exec, exec_type, vendor_file_type, file_type; init_daemon_domain(socket_vsock_proxy) allow socket_vsock_proxy self:global_capability_class_set { net_admin net_raw }; allow socket_vsock_proxy self:{ socket vsock_socket } { create read write listen accept bind }; # TODO: socket returned by accept() has unlabeled context on it. Give it a # specific label. allow socket_vsock_proxy unlabeled:{ socket vsock_socket } { getopt read write shutdown };