aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Steffen <andreas.steffen@strongswan.org>2012-07-09 22:08:04 +0200
committerAndreas Steffen <andreas.steffen@strongswan.org>2012-07-11 17:09:05 +0200
commit6245edf37e1a90e1f62ece62b59c539f0e816482 (patch)
treeb8d02a99d03a75201e4e56089f62eb78aa2d33b4
parentc8aabefd089175201b584c39438012d793996e43 (diff)
downloadstrongswan-6245edf37e1a90e1f62ece62b59c539f0e816482.tar.bz2
strongswan-6245edf37e1a90e1f62ece62b59c539f0e816482.tar.xz
eliminate message length field in EAP-TNC
-rw-r--r--src/libcharon/plugins/tnccs_11/tnccs_11.c2
-rw-r--r--src/libcharon/plugins/tnccs_20/tnccs_20.c2
-rw-r--r--src/libtls/tls_eap.c8
3 files changed, 8 insertions, 4 deletions
diff --git a/src/libcharon/plugins/tnccs_11/tnccs_11.c b/src/libcharon/plugins/tnccs_11/tnccs_11.c
index 3673221e5..111cb5f1e 100644
--- a/src/libcharon/plugins/tnccs_11/tnccs_11.c
+++ b/src/libcharon/plugins/tnccs_11/tnccs_11.c
@@ -457,7 +457,7 @@ METHOD(tls_t, build, status_t,
DBG1(DBG_TNC, "sending TNCCS Batch (%d bytes) for Connection ID %u",
data.len, this->connection_id);
DBG3(DBG_TNC, "%.*s", data.len, data.ptr);
- *msglen = data.len;
+ *msglen = 0;
if (data.len > *buflen)
{
diff --git a/src/libcharon/plugins/tnccs_20/tnccs_20.c b/src/libcharon/plugins/tnccs_20/tnccs_20.c
index 606fc529b..66f2f664b 100644
--- a/src/libcharon/plugins/tnccs_20/tnccs_20.c
+++ b/src/libcharon/plugins/tnccs_20/tnccs_20.c
@@ -641,7 +641,7 @@ METHOD(tls_t, build, status_t,
pb_tnc_batch_type_names, batch_type, data.len,
this->connection_id);
DBG3(DBG_TNC, "%B", &data);
- *msglen = data.len;
+ *msglen = 0;
if (data.len > *buflen)
{
diff --git a/src/libtls/tls_eap.c b/src/libtls/tls_eap.c
index e84da7061..59723fdd1 100644
--- a/src/libtls/tls_eap.c
+++ b/src/libtls/tls_eap.c
@@ -251,11 +251,15 @@ static status_t build_pkt(private_tls_eap_t *this, chunk_t *out)
}
kind = "packet";
}
- else
+ else if (this->type != EAP_TNC)
{
this->first_fragment = TRUE;
kind = "final fragment";
}
+ else
+ {
+ kind = "packet";
+ }
break;
default:
return status;
@@ -448,7 +452,7 @@ tls_eap_t *tls_eap_create(eap_type_t type, tls_t *tls, size_t frag_size,
},
.type = type,
.is_server = tls->is_server(tls),
- .first_fragment = TRUE,
+ .first_fragment = (type != EAP_TNC),
.frag_size = frag_size,
.max_msg_count = max_msg_count,
.include_length = include_length,