From: Andreas Steffen Date: Mon, 9 Jul 2012 20:08:04 +0000 (+0200) Subject: eliminate message length field in EAP-TNC X-Git-Tag: 5.0.1~426 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6245edf37e1a90e1f62ece62b59c539f0e816482;p=thirdparty%2Fstrongswan.git eliminate message length field in EAP-TNC --- diff --git a/src/libcharon/plugins/tnccs_11/tnccs_11.c b/src/libcharon/plugins/tnccs_11/tnccs_11.c index 3673221e5a..111cb5f1e2 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 606fc529b1..66f2f664b8 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 e84da70617..59723fdd1c 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,