[SECMARK]: Add new packet controls to SELinux
authorJames Morris <jmorris@namei.org>
Fri, 9 Jun 2006 07:33:33 +0000 (00:33 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Sun, 18 Jun 2006 04:30:05 +0000 (21:30 -0700)
commit4e5ab4cb85683cf77b507ba0c4d48871e1562305
treeaef7ba8b6050fcaccbaf0d05f8e5ba860a143eaf
parent100468e9c05c10fb6872751c1af523b996d6afa9
[SECMARK]: Add new packet controls to SELinux

Add new per-packet access controls to SELinux, replacing the old
packet controls.

Packets are labeled with the iptables SECMARK and CONNSECMARK targets,
then security policy for the packets is enforced with these controls.

To allow for a smooth transition to the new controls, the old code is
still present, but not active by default.  To restore previous
behavior, the old controls may be activated at runtime by writing a
'1' to /selinux/compat_net, and also via the kernel boot parameter
selinux_compat_net.  Switching between the network control models
requires the security load_policy permission.  The old controls will
probably eventually be removed and any continued use is discouraged.

With this patch, the new secmark controls for SElinux are disabled by
default, so existing behavior is entirely preserved, and the user is
not affected at all.

It also provides a config option to enable the secmark controls by
default (which can always be overridden at boot and runtime).  It is
also noted in the kconfig help that the user will need updated
userspace if enabling secmark controls for SELinux and that they'll
probably need the SECMARK and CONNMARK targets, and conntrack protocol
helpers, although such decisions are beyond the scope of kernel
configuration.

Signed-off-by: James Morris <jmorris@namei.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Documentation/kernel-parameters.txt
security/selinux/Kconfig
security/selinux/hooks.c
security/selinux/include/xfrm.h
security/selinux/selinuxfs.c
security/selinux/xfrm.c