ICS V9.7
Jump to navigation
Jump to search
Changes in ICS V9.7 include:
- V9.7 is a bug fix release, primarily a serious issue that arose in early May 2026 when Google made a change to it's servers that caused SSL handshake negotiation to always fail, giving the error 'SSL routines::tls alert illegal parameter' when using OpenmSSL3.2 or later. The problem relates to a new feature to support Raw Public Key certificates for servers, but which seems to effect clients as well, so has now been disabled. Anyone using ICS V9.5 and V9.6 and needing to access Google hosted web sites, and probably others using BoringSSL, should update to ICS V9.7.
- Fixed two bugs in V9.6, an SSL handshake error if define MSCRYPT_Clients not enabled, and an HTTPRest problem in InitSsl if NO_DEBUG_LOG was not enabled. The defaults did not cause a problem. The MultiWebServ now builds without define USE_IcsGeoTools.
- Changed the default version of OpenSSL to 4.0, and removed the resource files for OpenSSL 3.0 and 3.4 which cease support within four months. OpenSSL 3.6 ceases support in six months, so the long term support version 3.5 is now in the ICS-OpenSSL directory which is used if resource files are not linked and version 3 is set as a define. Found the first issue with OpenSSL 4.0, got an exception trying to verify an IP address used in a URL, need to use a different API, while 3.x seemed to work.
- When ordering SSL/TLS certificates, only use certificate profiles for Lets Encrypt, Google rejects orders with a profile.
- The WSocket.ComponentOptions wsoIcsDnsLookup and wsoAsyncDnsLookup options are now ignored, so WSocket always uses async threaded DNS Lookups for IPv4. Previously, IPv6 always used async DNS, but IPv4 defaulted to older code, that has now been removed. Many components set these flags, so saves a lot of IPV4 only code. Currently these options are not removed to avoid application errors, just ignored, but please check and remove them.
- In the HTTP client component, convert some old IcsLogger output to new onDisplay logging, rest removed.
- Added checks to two units to prevent ICS being built for Linux, which is not supported for V9, and removed all the test Linux, Android and MacOS packages. V10 is planned to support non-Windows platforms.
- In the WebSocket Client, when using WSFullHdrs, don't remove any ExtraHeaders that we added. Also, don't allow duplicate Connection: headers.
- In SuperObject, when writing Currency JSON, check if the last char is a dot, and delete it, which confused some parsers.