S_(SECCLASS_NETLINK_XFRM_SOCKET, NETLINK_XFRM_SOCKET__NLMSG_WRITE, "nlmsg_write")
    S_(SECCLASS_NETLINK_AUDIT_SOCKET, NETLINK_AUDIT_SOCKET__NLMSG_READ, "nlmsg_read")
    S_(SECCLASS_NETLINK_AUDIT_SOCKET, NETLINK_AUDIT_SOCKET__NLMSG_WRITE, "nlmsg_write")
+   S_(SECCLASS_NETLINK_AUDIT_SOCKET, NETLINK_AUDIT_SOCKET__NLMSG_RELAY, "nlmsg_relay")
+   S_(SECCLASS_NETLINK_AUDIT_SOCKET, NETLINK_AUDIT_SOCKET__NLMSG_READPRIV, "nlmsg_readpriv")
    S_(SECCLASS_NETLINK_IP6FW_SOCKET, NETLINK_IP6FW_SOCKET__NLMSG_READ, "nlmsg_read")
    S_(SECCLASS_NETLINK_IP6FW_SOCKET, NETLINK_IP6FW_SOCKET__NLMSG_WRITE, "nlmsg_write")
    S_(SECCLASS_DBUS, DBUS__ACQUIRE_SVC, "acquire_svc")
 
 
 #define NETLINK_AUDIT_SOCKET__NLMSG_READ          0x00400000UL
 #define NETLINK_AUDIT_SOCKET__NLMSG_WRITE         0x00800000UL
+#define NETLINK_AUDIT_SOCKET__NLMSG_RELAY         0x01000000UL
+#define NETLINK_AUDIT_SOCKET__NLMSG_READPRIV      0x02000000UL
 
 #define NETLINK_IP6FW_SOCKET__IOCTL               0x00000001UL
 #define NETLINK_IP6FW_SOCKET__READ                0x00000002UL
 
 
 static struct nlmsg_perm nlmsg_audit_perms[] =
 {
-       { AUDIT_GET,            NETLINK_AUDIT_SOCKET__NLMSG_READ  },
-       { AUDIT_SET,            NETLINK_AUDIT_SOCKET__NLMSG_WRITE },
-       { AUDIT_LIST,           NETLINK_AUDIT_SOCKET__NLMSG_READ  },
-       { AUDIT_ADD,            NETLINK_AUDIT_SOCKET__NLMSG_WRITE },
-       { AUDIT_DEL,            NETLINK_AUDIT_SOCKET__NLMSG_WRITE },
-       { AUDIT_USER,           NETLINK_AUDIT_SOCKET__NLMSG_WRITE },
-       { AUDIT_LOGIN,          NETLINK_AUDIT_SOCKET__NLMSG_WRITE },
+       { AUDIT_GET,            NETLINK_AUDIT_SOCKET__NLMSG_READ     },
+       { AUDIT_SET,            NETLINK_AUDIT_SOCKET__NLMSG_WRITE    },
+       { AUDIT_LIST,           NETLINK_AUDIT_SOCKET__NLMSG_READPRIV },
+       { AUDIT_ADD,            NETLINK_AUDIT_SOCKET__NLMSG_WRITE    },
+       { AUDIT_DEL,            NETLINK_AUDIT_SOCKET__NLMSG_WRITE    },
+       { AUDIT_USER,           NETLINK_AUDIT_SOCKET__NLMSG_RELAY    },
 };