]> git.baikalelectronics.ru Git - kernel.git/commit
cipso: handle CIPSO options correctly when NetLabel is disabled
authorPaul Moore <pmoore@redhat.com>
Fri, 1 Jun 2012 05:54:56 +0000 (05:54 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 1 Jun 2012 18:18:29 +0000 (14:18 -0400)
commit893291c78414d86476a3e34c292c2ac410d5574c
treee08d5d8dd133a8548e9f5dd0f85e69241ec1e176
parentdefa45d42170d56512691e652f1f19fa9fe447b9
cipso: handle CIPSO options correctly when NetLabel is disabled

When NetLabel is not enabled, e.g. CONFIG_NETLABEL=n, and the system
receives a CIPSO tagged packet it is dropped (cipso_v4_validate()
returns non-zero).  In most cases this is the correct and desired
behavior, however, in the case where we are simply forwarding the
traffic, e.g. acting as a network bridge, this becomes a problem.

This patch fixes the forwarding problem by providing the basic CIPSO
validation code directly in ip_options_compile() without the need for
the NetLabel or CIPSO code.  The new validation code can not perform
any of the CIPSO option label/value verification that
cipso_v4_validate() does, but it can verify the basic CIPSO option
format.

The behavior when NetLabel is enabled is unchanged.

Signed-off-by: Paul Moore <pmoore@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/cipso_ipv4.h