Archive

Archive for January, 2014

CMemMapFile v1.58

January 26, 2014 Comments off

Just to let everyone know that v1.58 of CMemMapFile has been released. Updates for this version include:

  • Updated copyright details.
  • Updated the code to clean compile on VC 2013
  • Updated the code to clean compile using /analyze
  • Reverted the code changes which made the class completely thread-safe. The issue was that you ended up with a class which had two different synchronisation primitives running in parallel throughout the class codebase. This design pattern is always bad and in this case could lead to thread deadlock situations in some situations. Similar to the MFC thread synchronisation primitives design patterns, an instance of the CMemMapFile class should only be used from the one thread. If you want to use the same logical memory mapped file from multiple threads in your application, then create a second instance and simple call the MapFile, MapMemory or MapExistingMemory methods to get access to the mapping. See the "MoniterSM" worker thread in testmemmap.cpp in the sample app on how to do this correctly. Thanks to "jianhongsong" for reporting this issue.
Advertisements
Categories: Web Site Updates

CPJNSMTPConnection v3.04

January 26, 2014 Comments off

Just to let everyone know that a new version of v3.04 of CPJNSMTPConnection has been released. Updates for this version include:

  • Updated ASSERT logic at the top of the ConnectESMTP method. Thanks to Jean-Christophe Voogden for reporting this issue.
Categories: Web Site Updates

CPJNSMTPConnection v3.03

January 18, 2014 Comments off

Just to let everyone know that a new version of v3.03 of CPJNSMTPConnection has been released. Updates for this version include:

  • The ConvertToUTF8 method now also handles conversion of ASCII data to UTF8. Thanks to Jean-Christophe Voogden for this update.
  • The CPJNSMTPConnection class now provides Set/GetSSLProtocol methods. This allows client code to specify the exact flavour of SSL which the code should speak. Supported protocols are SSL v2/v3, TLS v1.0, TLS v1.1, TLS v1.2 and DTLS v1.0. This is required for some SMTP servers which use the SSLv2 or v3 protocol instead of the more modern TLS v1 protocol. The default is to use TLS v1.0. You may need to use this compatibility setting for the likes of IBM Domino SMTP servers which only support the older SSLv2/v3 setting. Thanks to Jean-Christophe Voogden for this update.
  • Removed all the proxy connection methods as they cannot be easily supported / tested by the author.
  • Reworked the code in CPJNSMTPConnection::ConnectESMTP to handle all variants of the 250 response as well as operate case insensitively which is required by the ESMTP RFC.
  • Made more methods virtual to facilitate further client customisation
  • Fixed an issue in the DoSTARTTLS method where the socket would be left in a connected state if SSL negotiation failed. This would result in later code which sent on the socket during the tear down phase hanging. Thanks to Jean-Christophe Voogden for reporting this issue.
  • The sample app is now linked against the latest OpenSSL v1.0.1f dlls.
Categories: Web Site Updates

CPJNSMTPConnection v3.02

January 5, 2014 Comments off

Just to let everyone know that a new version of v3.02 of CPJNSMTPConnection has been released. Updates for this version include:

  • Updated copyright details.
  • Updated the code to clean compile on VC 2013
  • Fixed a problem with NTLM auth where the code did not correctly set the "m_nSize" parameter value correctly in CPJNSMPTBase64Encode::Encode & Decode. Thanks to John Pendleton for reporting this bug.
Categories: Web Site Updates

CNTService v1.80

January 1, 2014 2 comments

Just to let everyone know that v1.80 of CNTService has been released. This major update for this framework includes the following updates:

  • Updated copyright details.
  • Updated code to clean compile on VC 2013
  • Reworked the classes to optionally compile without MFC. By default the classes now use STL for strings and arrays but if you define CNTSERVICE_MFC_EXTENSIONS, the classes will revert back to using the MFC collection classes.
  • Updated the codebase to support all Service features upto Windows 8.1. New features supported includes SERVICE_CONFIG_LAUCH_PROTECTED support available via CNTScmService::QueryLaunchProtected and CNTScmService::ChangeLaunchProtected and QueryServiceDynamicInformation support available via CNTService::QueryServiceDynamicInformation.
Categories: Web Site Updates