Jump to content

Angus Robertson

Members
  • Content Count

    1718
  • Joined

  • Last visited

  • Days Won

    32

Everything posted by Angus Robertson

  1. Angus Robertson

    Windows XP App

    I guess there is more than one component called TComPort, I was referring to the Winsoft version, but that seems to be called ComPort. A quick search of TComPort does not find any setupdi functions. Nor support for modern compilers. Angus
  2. Angus Robertson

    Windows XP App

    TComPort is a commercial component, you should have the source code, so you can check if it uses SetupDiGetDeviceProperty and remove it and any other similar functions that XP does not support. Angus
  3. Angus Robertson

    Windows XP App

    What Delphi component are you using to log data, a serial port component? It's possible the Delphi component is calling SetupDiGetDeviceProperty , one of my serial port components uses SetupDiGetDeviceRegistryProperty from the Jedi library SetupApi.pas. My Jedi version does not include SetupDiGetDeviceProperty, but it's possible a later version might. You might be able to just remove it from the library unit. Angus
  4. OpenSSL has released new versions of the two supported branches, 3.0.5 and 1.1.1q, Windows binaries are available from http://wiki.overbyte.eu/wiki/index.php/ICS_Download or https://www.magsys.co.uk/delphi/magics.asp . OpenSSL 3.0.5 fixes a serious bug on some X86_64 CPUs in 3.0.4, a version we never released. Also a moderate security bug relating to AES OCB encryption, but this is not used by TLS ciphers. Also a moderate security bug with the c_rehash script that allows command injection, we don't use that either. OpenSSL 1.1.1q fixes the AES OCB and c_rehash bugs. Separately YuOpenSSL has released both these versions as commercial DCUs allowing applications to be used with OpenSSL without needing separate DLLs. Angus
  5. Angus Robertson

    How to prevent window title bar height changes when app is maximized

    Never noticed that behaviour in Windows before, but it is obvious when you look closely. I assume it was introduced when Microsoft decided Windows should have curved corners rather than rectangular, so perhaps style related. Angus
  6. Angus Robertson

    NT API components

    'Colin Wilson's Components' I'm afraid, he had several different packages of low level components, all open source. Angus
  7. Angus Robertson

    NT API components

    20 years ago Colin Wilson offered a wide range of low level Windows NT components, all free, his web site http://www.wilsonc.demon.co.uk/ disappeared years ago, but you'll still find his components on Torry and such places. Certainly Net Users, Groups, Servers, etc, but this might predate active directory. Angus
  8. Can you please confirm you are using ICS V8.69? I did a major rewrite of Digest authentication in that version to support modern standards, including adding authentication to the three main HTTP client samples and extensive testing with ICS servers, but not Apache. Angus
  9. No idea what order you are making those requests, but you only send authentication in Sopaui2request.txt which works fine. Authentication has nothing to so with TSslContext. Angus
  10. Angus Robertson

    TSslWSocket instead of TWSocket

    If you connect to an SSL server, several events may be called to allow you to check ALPN and SSL certificate chain, but they are optional. There are several SSL demos that illustrate all this. Angus
  11. The response from the server is slightly misleading, context does not refer to the ICS context component, but to the server itself being unable to authenticate the request, thus the 401 error. So the real error could be a bad login or password, or the server requires authentication in a different way to the clear text basic authentication you are using, which is rare in the modern world. Angus
  12. Angus Robertson

    Indy OpenSSL static linking

    YuOpenSSL is C code compiled into a Delphi DCU, it is not a translation of C to pascal code. There are several other C libraries similarly built into Delphi, like ZLIB. But you can not just download OpenSSL from Github and compile it for Delphi, some magic is required, and that required a lot of effort to achieve. Angus
  13. Angus Robertson

    ICS V8.69 announced

    Sorry for the delay, ICS V8.69 is now available for automated install from GetIt for Delphi 10.4 and 11. Once installed, you should find the SSL demo sample group in a directory similar to: C:\Users\angus\Documents\Embarcadero\Studio\22.0\CatalogRepository\ICS_FMX-8.69-11\Samples\Delphi\SslInternet\SslDemos.bpg Angus
  14. Angus Robertson

    Indy OpenSSL static linking

    YuOpenSSL is supplied as dozens of compiled DCUs for Delphi 6 and later, with Win32 and Win64 versions. I'm told a lot of preprocessing of the original OpenSSL code is required before it will compile, for instance there is heavy use of macro expansion statements that need converting into pure C. But this is automated, and new versions of YuOpenSSL usually appear within hours of a new OpenSSL release, one is due next week. The original OpenSSL can be built for multiple platforms, but I guess doing so for Delphi is a commercial decision, depending on demand. BTW, I'm just a YuOpenSSL user, it's not my project. Angus
  15. Angus Robertson

    Indy OpenSSL static linking

    There is a commercial solution to statically linking OpenSSL with three different Delphi internet components from https://www.yunqa.de/delphi/products/openssl/index But they don't support OpenSSL 1.0.2 which is long obsolete and has no recent security fixes. But YuOpenSSL includes a new Indy OpenSSL 1.1.1 IOHandler so it can handle TLSv1.3 and YuOpenSSL supports OpenSSL 3.0 for ICS. Angus
  16. Angus Robertson

    QUIC and HTTP/3

    RFC 9114 for HTTP/3, aka QUIC/UDP has only just been released. Earlier versions of QUIC are supported in various browsers, but are really only beneficial for complex web pages with hundreds of elements, not sure how relevant to the users of ICS, no-one has ever asked for HTTP/2. There is a fork of OpenSSL by Google, Microsoft and Akamai supporting QUIC, but the committee did not like the design and refused to merge it, instead starting a fresh QUIC design: https://www.openssl.org/blog/blog/2021/12/03/starting-the-quic-design/ No specific news about a release date, although lots of activity on GitHub, so probably months away from release. Waiting for OpenSSL is probably the safest long term solution for HTTP/3. Angus
  17. Angus Robertson

    ICS Delphi DataSnapBridge

    What are you wanting to achieve? Angus
  18. Angus Robertson

    ICS V8.69 announced

    Sorry, downloading from GetIt is after the web sites, and even longer when I forget to notify them. Angus
  19. SVN has been updated with a fix to create period decimal points instead of commas, using a simple version of TFormatSettings, thanks for finding this and the fix suggestions. When I change the test app locale to Hungarian, I noticed the strange date formatting with spaces, fortunately ICS uses it's own masks and functions for internal date formats. Angus
  20. Unfortunately, ICS claims to still support Delphi 7, and I did build V8.69 on it last week to check, so any fixes need to be backward compatible, although there are one or two features not supported on D7. I'll look at this next week, long holiday weekend in the UK. Angus
  21. That change was to allow the unit to be used on non-Windows systems, gcvt is a Windows API. The dirty way to fix this is to replace a comma with a period immediately after the FloatToText statement, I'll investigate if there is a non-localized FloatToText alternate. Angus
  22. Angus Robertson

    ICS V8.69 announced

    If I improve the JSON sample, I'll explain the improvements. Angus
  23. Angus Robertson

    ICS V8.69 announced

    Thanks, 2023 might appear in one or two other units, as well. The JSON visual parser is quite useful, keep meaning to add a backwards button to make it faster. Angus
  24. Angus Robertson

    ICS V8.69 announced

    Whoops, the file is in SVN but missing from the zips, they will be updated shortly. Angus
  25. Angus Robertson

    Unique Hardware ID

    The trick I believe Windows itself uses is to allow one or two failures of the hardware IDs that are collected and compared, to allow for replacement components. Assuming you store and compare each ID separately, rather than hashing them all together. Also beware that some Ethernet MAC addresses are deliberately random, most new phones and Windows 10 (unless disabled), in an attempt to stop some web sites tracking you. There is a bit in the MAC that indicates it is random. Random IPv6 addresses often include the MAC, so are not really random atall. Angus
×