From: Martin Willi Date: Tue, 24 Aug 2010 08:29:54 +0000 (+0200) Subject: Skip the close notify if application layer completes successfully X-Git-Tag: 4.5.0~413 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a2c12359691943ede12f7f515cbe97af1b193e7b;p=thirdparty%2Fstrongswan.git Skip the close notify if application layer completes successfully --- diff --git a/src/libtls/tls_alert.c b/src/libtls/tls_alert.c index 34f159e770..8a4fa7d77e 100644 --- a/src/libtls/tls_alert.c +++ b/src/libtls/tls_alert.c @@ -138,8 +138,15 @@ METHOD(tls_alert_t, get, bool, this->consumed = TRUE; *level = TLS_FATAL; *desc = this->desc; - DBG1(DBG_TLS, "sending fatal TLS alert '%N'", - tls_alert_desc_names, this->desc); + if (this->desc == TLS_CLOSE_NOTIFY) + { + DBG1(DBG_TLS, "sending TLS close notify"); + } + else + { + DBG1(DBG_TLS, "sending fatal TLS alert '%N'", + tls_alert_desc_names, this->desc); + } return TRUE; } else diff --git a/src/libtls/tls_fragmentation.c b/src/libtls/tls_fragmentation.c index b941c97a5e..ea5c89769f 100644 --- a/src/libtls/tls_fragmentation.c +++ b/src/libtls/tls_fragmentation.c @@ -211,7 +211,7 @@ static status_t process_application(private_tls_fragmentation_t *this, continue; case SUCCESS: this->application_finished = TRUE; - /* FALL */ + return SUCCESS; case FAILED: default: this->alert->add(this->alert, TLS_FATAL, TLS_CLOSE_NOTIFY); @@ -340,7 +340,7 @@ METHOD(tls_fragmentation_t, build, status_t, break; case SUCCESS: this->application_finished = TRUE; - /* FALL */ + return SUCCESS; case FAILED: default: this->alert->add(this->alert, TLS_FATAL,