Jump to content

Angus Robertson

Members
  • Content Count

    1881
  • Joined

  • Last visited

  • Days Won

    33

Everything posted by Angus Robertson

  1. Angus Robertson

    Upgrade from delphi 6 to delphi12

    What specific new features and performance improvements are you looking for? What is the business case for the major effort a migration would involve? This is many weeks or months of work, and retesting. All your other questions have been covered in detail over the last 15 years as others have migrated from non-unicode compilers to modern Delphi. I've just released a new version of one of my products built with Delphi 2007 because of third party component problems with Delphi 11. The end users don't care. Angus
  2. OpenSSL has released new versions of the active versions, 3.3.1, 3.2.2 and 3.0.14 which have several low priority security fixes. Windows binaries are available in SVN and the overnight zip file and separately from https://wiki.overbyte.eu/wiki/index.php/ICS_Download or https://www.magsys.co.uk/delphi/magics.asp In addition to the three DLL files, the zips include compiled RES resource files that contain the same DLLs, text files and version information, see the RC file. The RES file may be linked into application EXE files and code then used to extract the DLLs from the resource to a temporary directory to avoid distributing them separately. ICS V9.1 and later optionally support loading the resource file. These OpenSSL versions are included with ICS V9.2 due for release in a few days, but available from SVN and the overnight zip. Separately, YuOpenSSL has released 3.0.14 as commercial DCUs allowing applications to be used with OpenSSL without needing separate DLLs. Note: OpenSSL also released 3.1.6, but this ceases support in less than a year and has two newer releases, so we've stopped building binaries for it. 3.0.14 is a long term support release so is still being built. Angus
  3. Your management may need to concede that the components offered by Embarcadero are often missing features in third party components, which is why there are so many of them. Angus
  4. You are not using the modern REST component TSslHttpRest, but the older harder to use component TSslHttpCli, your choice, but you have to live with more complex code. The point here is that you are responsible for determining whether you successfully connected to the HTTP server, and cleanly close everything if not, and try again. ICS is event driven, it does not wait x seconds and then decide to clean everything up for you, not even the sync modes. There will be no breaking changes to the way the HTTP client handles errors, without weeks of discussion. You need to handle this yourself. Angus
  5. Angus Robertson

    ? in URLs results in HTTP 400

    This was fixed for V9.2, in SVN and the overnight zip. Are you using one of those? Angus
  6. If your error handling code does not correctly clean up after errors, you can check , Before starting a new request, you can check State <> wsClosed before starting a request and close it. Beware, Close may not be instant, if Windows is still attempting to connect. Angus
  7. X509_get_X509_PUBKEY was added to OverbyteIcsLIBEAY;.pas for V9.1, so you probably have mixed versions, with old and new units. Angus
  8. To my eye, the two procedures seem to be identical, so I can only assume the different result is due to different parameters to the two procedures. BTW, since you are using the RawParams option in RestRequest, RestParams are ignored. Angus
  9. Authentication should now be fixed in SVN and the overnight zip. Angus
  10. Angus Robertson

    THttpConnection.AnswerBytes

    AnswerBodyTB is now in SVN and overnight zip updated. Angus
  11. Angus Robertson

    ICS V9.1 announced

    That was fixed in V9.1, or at least there are now settings that allow the HTTP clients to be used without SSL being available, for http:// only. I go to extreme lengths to keep ICS backward compatible, I know how horrible it is updating to new compilers and components when you get blizzards or IDE error messages on opening old projects, it's why some of my projects are still Delphi 2007. Rarely backward compatible is not possible, but I did spend a week or two writing documentation and updating samples explaining how to update to V9.1. Angus
  12. Angus Robertson

    ICS V9.1 announced

    The default defines are designed so that users get new applications working easily and safely, without them failing immediately because the OpenSSL DLLs can not be found. Or needing to copy those DLLs into every single different directory to which modern versions of Delphi build by default. Angus
  13. Angus Robertson

    ICS V9.1 announced

    If you undefine {$DEFINE OpenSSL_Resource_Files}, ICS will look in the ICS-OpenSSL directory for the DLLs, so how does make you in control? If you want to load the DLLs from your own specified location, like the application directory, you need to add extra code, as has always been the case with ICS, but you'll need to change other defines as well since OpenSSL is now loaded by default before any code is run. This is explained in depth in readme9, and other places. Angus
  14. Angus Robertson

    ICS V9.1 announced

    No, ICS will never contain an openssl-x64.exe file, since ICS does not use openssl.exe. Our OpenSSL zip distributions are separate for Win32 and Win64, so it is up to end users to do something if they want to combine them. SVN and the overnight zip do now correctly have the Win32 version of openssl.exe, the Win64 version was an error. Angus
  15. Thanks, I'll install them in D12. Happy to update to the latest version, but some advice for existing would be appreciated, other than all the component names have 6 on the end. Or is it simply a case of going through the DFM and PAS files with a text editor and adding that 6 to the types. Angus
  16. Angus Robertson

    THttpConnection.AnswerBytes

    ICS house style, per your original request example. Angus
  17. Angus Robertson

    THttpConnection.AnswerBytes

    Thanks, I added AnswerBodyTB which creates a TBytesStream, not tested yet since the samples don't send small streams. Angus
  18. Angus Robertson

    THttpConnection.AnswerBytes

    Do you expect AnswerBytes to be an alternate to AnswerStream, AnswerString or AnswerPage? Angus
  19. Angus Robertson

    Microsoft Trusted Signing service

    Setting up MTS/ATS for Windows is not trivial, Azure command line interface, new signing tool, Azure signing DLL, .net8 runtime, environmental variables, Azure commands, etc. Not helped by the Microsoft web site code and Json examples all using non-breaking spaces (xA0) which have to be replaced by real spaces to do anything useful. Once installed, it attempts to sign my program, but fails with OAuth2 login using a browser, and with incorrect secrets, so many to choose from in Azure. So the documentation needs much clearer information of how Azure authentication should be set up for Windows apps. Angus
  20. Angus Robertson

    Microsoft Trusted Signing service

    In the progress of getting this working, setting anything up in Azure is horrible, I've got OAuth2 stuff, now waiting for company identity validation. I've had MSDN and partner accounts for 30 years, used to get a box of CDs each quarter before the internet. Worth mentioning that if you have a partner MAPS account and pay annually (UK £350) to get all the MS OS and apps, you get $100 of Azure credit each month, which I assume can be used for code signing. Two minutes later, validation pass. Angus
  21. Angus Robertson

    THttpConnection.AnswerBytes

    I'm slowly adding TBytes versions of binary methods and properties as I update components, should be added in the next week or so. Angus
  22. Angus Robertson

    Microsoft Trusted Signing service

    Probably handled manually in USA business hours until full launch. Angus
  23. Angus Robertson

    Microsoft Trusted Signing service

    I'll be happy not needing to deal with Digicert, Sectigo and co, particularly with their massive price increases in recent years. Let's Encrypt stopped most of their web certificate business. Microsoft does have a history of looking after developers, for many years there was a web page that allowed buying heavily discounted certificates from the major vendors at the time, it disappeared a few years ago. Angus
  24. Angus Robertson

    Microsoft Trusted Signing service

    Thanks for all the useful comments, I'll try it myself when I have time later in the week. Got another eight months left before my code signing certificate expires, but looks like I can avoid dongle hell. I've had an Azure account for years, although perhaps not the correct type of account. Angus
  25. Angus Robertson

    HttpStratFile fails for large files

    Generally, in the progress event, you check the LogLevel so that LoglevelProg is displayed, not logged every two seconds during the download, as you did in your example above, although does not really matter for small files. The component reports the HTTP reported size at the end and does not check the actual file, the snippet sample checks the real size after download. Angus
×