diff options
author | Martin Willi <martin@revosec.ch> | 2013-01-15 17:36:11 +0100 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2013-01-15 17:43:05 +0100 |
commit | 7bbf7aa97a0acf3d728fe4f1e1518e1854050f90 (patch) | |
tree | c5da12cd2d94f2695b01ed8dc855c9f7dd8b9d86 | |
parent | c43e8fdec400626f3d153527fcfaba9bf33cfe4f (diff) | |
download | strongswan-7bbf7aa9.tar.bz2 strongswan-7bbf7aa9.tar.xz |
Send TLS close notify if application returns SUCCESS
-rw-r--r-- | src/libtls/tls_fragmentation.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/libtls/tls_fragmentation.c b/src/libtls/tls_fragmentation.c index c76376b43..6e4347e3c 100644 --- a/src/libtls/tls_fragmentation.c +++ b/src/libtls/tls_fragmentation.c @@ -223,7 +223,7 @@ static status_t process_application(private_tls_fragmentation_t *this, continue; case SUCCESS: this->application_finished = TRUE; - return SUCCESS; + /* FALL */ case FAILED: default: this->alert->add(this->alert, TLS_FATAL, TLS_CLOSE_NOTIFY); @@ -368,7 +368,7 @@ static status_t build_application(private_tls_fragmentation_t *this) break; case SUCCESS: this->application_finished = TRUE; - break; + /* FALL */ case FAILED: default: this->alert->add(this->alert, TLS_FATAL, TLS_CLOSE_NOTIFY); @@ -391,6 +391,10 @@ METHOD(tls_fragmentation_t, build, status_t, this->state = ALERT_SENT; return INVALID_STATE; case ALERT_SENT: + if (this->application_finished) + { + return SUCCESS; + } return FAILED; case ALERT_NONE: break; |