aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Steffen <andreas.steffen@strongswan.org>2013-02-19 09:31:34 +0100
committerAndreas Steffen <andreas.steffen@strongswan.org>2013-02-19 09:31:34 +0100
commit0f7cb0caf4a059efc7c9f46e088b0a36ab7ab9eb (patch)
treeefd9bec1b0e1c3e466f3a272f606aa46b7e32af2
parent9b4a8e1ced4b5add600c1577714f99ad5637770e (diff)
downloadstrongswan-0f7cb0caf4a059efc7c9f46e088b0a36ab7ab9eb.tar.bz2
strongswan-0f7cb0caf4a059efc7c9f46e088b0a36ab7ab9eb.tar.xz
reject PB-Experimental messages with NOSKIP flag set
-rw-r--r--src/libcharon/plugins/tnccs_20/batch/pb_tnc_batch.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/libcharon/plugins/tnccs_20/batch/pb_tnc_batch.c b/src/libcharon/plugins/tnccs_20/batch/pb_tnc_batch.c
index 3a2c70f5a..b1f6d1eaa 100644
--- a/src/libcharon/plugins/tnccs_20/batch/pb_tnc_batch.c
+++ b/src/libcharon/plugins/tnccs_20/batch/pb_tnc_batch.c
@@ -386,6 +386,13 @@ static status_t process_tnc_msg(private_pb_tnc_batch_t *this)
}
else
{
+ if (msg_type == PB_MSG_EXPERIMENTAL && noskip_flag)
+ {
+ DBG1(DBG_TNC, "reject PB-Experimental message with NOSKIP flag set");
+ msg = pb_error_msg_create_with_offset(TRUE, PEN_IETF,
+ PB_ERROR_UNSUPPORTED_MANDATORY_MSG, this->offset);
+ goto fatal;
+ }
if (pb_tnc_msg_infos[msg_type].has_noskip_flag != TRUE_OR_FALSE &&
pb_tnc_msg_infos[msg_type].has_noskip_flag != noskip_flag)
{