From aaed78147c7b184ef32618dc1108f6606f940d64 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Mon, 8 Jan 2018 14:47:27 +0900 Subject: [PATCH] wintls: Don't log writeData error in closing state --- src/WinTLSSession.cc | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/WinTLSSession.cc b/src/WinTLSSession.cc index 7c51cfa7..faafd2f3 100644 --- a/src/WinTLSSession.cc +++ b/src/WinTLSSession.cc @@ -386,8 +386,16 @@ ssize_t WinTLSSession::writeData(const void* data, size_t len) static_cast(sendRecordBuffers_[1].pvBuffer)); status_ = ::EncryptMessage(&handle_, 0, &desc, 0); if (status_ != SEC_E_OK) { - A2_LOG_ERROR(fmt("WinTLS: Failed to encrypt a message! %s", - getLastErrorString().c_str())); + if (state_ != st_closing) { + A2_LOG_ERROR(fmt("WinTLS: Failed to encrypt a message! %s", + getLastErrorString().c_str())); + } else { + // On closing state, don't log this message in error level + // because it seems that the encryption tends to fail in that + // state. + A2_LOG_DEBUG(fmt("WinTLS: Failed to encrypt a message! %s", + getLastErrorString().c_str())); + } state_ = st_error; return TLS_ERR_ERROR; }