Latest release of The Server Framework: 6.6.1
Version 6.6.1 of The Server Framework was released today.
This release is a minor bug fix release mainly for several bugs in the 6.6 version’s OpenSSL code, see the release notes here, for full details of all changes.
All clients using version 6.6 of the OpenSSL Option Pack are advised to upgrade to this release.
Bug fixes:
- Bug fix to JetByteTools::OpenSSL::CAsyncConnector so that we spot failures in the SSL allocation functions due to low memory situations and throw exceptions if we fail to create the SSL objects.
- Bug fix to
CAsyncConnector and CStreamSocketConnectionFilter
so that we notify the connector when an outbound connection fails. This allows the connector to correctly release the socket reference that it takes in its constructor. - Bug fix to
CAsyncConnector::Read()
to prevent leak of buffers. - Bug fix to the allocation and creation of
JetByteTools::IO::CNonPooledBuffer
which was failing to force the correct alignment. See theJETBYTE_IO_IBUFFER_ALIGNMENT_REQUIREMENT
changes in version 6.6 for more details - Bug fix to
TLockableObjectTracksLockingThread<t>::IsLockedByThisThread()</t>
to correct a casting bug that prevents some configurations from building. - Bug fix to
CTimeChangeNotificationMonitor
which fires the timer callback immediately if the delay timer cannot be set and which also prevents the timer callback from being fired continually once it has been fired once (assuming a delay timer is used). - Bug fix to
CDirectoryChangeMonitor()
to ensure that multiple shutdown attempts do not access deleted data.
Additions:
- Added
IO::CTimeChangeAwareRotatingAsyncFileLog
, which is a rotating async file log which includes aCTimeChangeNotificationMonitor
. - Added
IStreamSocket::SetKeepAlive()
andIStreamSocket::DisableKeepAlive()
- Added
IFilterDatagramSocketConnections::FilterConnectionClosed()
andIFilterStreamSocketConnections::FilterConnectionClosed()
which are called, when expected, after a call toFilterConnectionClosure()
. - Added a conditional overload constructor to
Socket::CException
which can provide more detail on the socket that generated the exception if socket identifiers are enabled. - Added an overload to
Win32::CException()
constructor that takesstd::string
. - Added
TExpandableBuffer<t>::Swap()</t>
. - Added
IConfiguration::GetUnsignedShortValue()
. - Added
IQueueTimers::SetTimerWithRefCountedUserData()
,CancelTimerWithRefCountedUserData()
, andDestroyTimerWithRefCountedUserData()
which all implement the operations using the correct ‘AddRef()
/Release()
’ pattern.
Changes:
- We now use
IQueueTimers::SetTimerWithRefCountedUserData()
and the other helper functions for reference counted user data where appropriate. CStreamSocketBroadcastableConnectionCollection::Broadcast()
is now const.