aboutsummaryrefslogtreecommitdiffstats
path: root/src/libtls/tls.c
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2010-08-24 08:40:28 +0200
committerMartin Willi <martin@revosec.ch>2010-08-24 08:45:49 +0200
commitc5142f110ec8376b8e5cef9bb92fe4a375e4622e (patch)
tree8c9ef7c4aaf632517d848584c78bc0966a093078 /src/libtls/tls.c
parent1475800080d605abb1995bfba1ce8ca98637917c (diff)
downloadstrongswan-c5142f110ec8376b8e5cef9bb92fe4a375e4622e.tar.bz2
strongswan-c5142f110ec8376b8e5cef9bb92fe4a375e4622e.tar.xz
Check if the application layer has completed successfully
Diffstat (limited to 'src/libtls/tls.c')
-rw-r--r--src/libtls/tls.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/libtls/tls.c b/src/libtls/tls.c
index 1f30f5a4e..142897e59 100644
--- a/src/libtls/tls.c
+++ b/src/libtls/tls.c
@@ -243,7 +243,15 @@ METHOD(tls_t, get_purpose, tls_purpose_t,
METHOD(tls_t, is_complete, bool,
private_tls_t *this)
{
- return this->crypto->get_eap_msk(this->crypto).len != 0;
+ if (this->handshake->finished(this->handshake))
+ {
+ if (!this->application)
+ {
+ return TRUE;
+ }
+ return this->fragmentation->application_finished(this->fragmentation);
+ }
+ return FALSE;
}
METHOD(tls_t, get_eap_msk, chunk_t,