Jump to content

Angus Robertson

Members
  • Content Count

    1881
  • Joined

  • Last visited

  • Days Won

    33

Everything posted by Angus Robertson

  1. Unread content only seems to show the last message in any particular topic, rather than all the unread messages in the topic. So if that last message is irrelevant, you can miss important earlier messages. Angus
  2. Angus Robertson

    ICS registration

    Perhaps a 10 year old version. Angus
  3. Angus Robertson

    ReceiveFrom blocking

    TWSocket 5.31 goes back 11 years, but ReceiveFrom is essentially the same today. However it is no longer supported. ReceiveFrom is async and returns immediately, it is normally used for UDP only so you know where the data has come from. it is widely used today and does not cause applications to lock up. It sound like you have a continuous loop reading data without any error handling. Angus
  4. Angus Robertson

    Getting the Windows version

    Yes, I see the word video in very small letters buried in a line at the top of the screen, but I read these groups backwards from Unread Content, and you never mentioned you were posting a link to a video in the root post. That would have be sufficient for me to skip this thread, even less time to watch beginners how to program videos . My apologies for wasting your time by posting something useful for other developers. Angus
  5. Angus Robertson

    Getting the Windows version

    Quite correct, no reason to waste time following the links in this thread, but no-one suggested the proper way to get the Windows version, so I did., Or perhaps the thread title is wrong. Angus
  6. Angus Robertson

    Getting the Windows version

    Use RtlGetVersion instead of GetVersionExW which always gives the true operating system. function RtlGetVersion (var lpVersionInformation: TOSVERSIONINFOEXW): DWORD; stdcall; // Windows 2000 and later function RtlGetVersion; external 'ntdll.dll' name 'RtlGetVersion'; OsInfo: TOSVERSIONINFOEXW; RtlGetVersion (OsInfo) Unfortunately Microsoft has not provided any APIs to read the multiple different versions of Windows 10 or Windows Server 2016, so you need to read that from the registry: HCM\Software\Microsoft\Windows NT\CurrentVersion\ReleaseId which will return 1607, 1809 or something similar. \ProductName gives Windows 10 Enterprise or similar, although you work that out from APIs. Angus
  7. Angus Robertson

    Win XP app fails to start -- missing bcrypt.dll

    The choice of using BCryptGenRandom is made at compile time by OpenSSL, so you need to build the binaries yourself for XP or find someone to do it. Windows XP is long out of support, ICS no longer supports it, although it probably still works, we certainly don't test it or care about it. Nor does Microsoft. No idea if bcrypt.dll works on XP, it is probably dependent on other new DLLs. Angus
  8. Angus Robertson

    Spelling and search

    How do I spell check a post? How do I search for old posts? Angus
  9. USE_SSL is defined for the main ICS distribution, since most applications need it today. Angus
  10. Angus Robertson

    Win XP app fails to start -- missing bcrypt.dll

    bcrypt.dll is only used if OpenSSL is compiled for Windows 7 or later, but I'm afraid that is how our binaries are built, since Windows XP is long out of support. You will need to keep using an older version of OpenSSL for Windows XP, or perhaps find binaries built by someone else for Windows XP. ICS will cease supporting OpenSSL older than 1.1.1 from the end of the year, when support ceases, allowing us to remove old redundant code. Angus
  11. Angus Robertson

    ICS registration

    Where did you find that file, it was removed from the distributions 10 years ago when SSL become free? Angus
  12. Angus Robertson

    Hang problem

    If the server is written correctly, it will run for weeks without hanging, despite unfriendly clients and internet issues, and my servers do exactly that. The most likely explanation for hanging is you are ignoring all client socket errors, and writing so much data that the local buffers overflow. Generally, ICS applications are written to send data within the OnDataSent event which is fired when the buffers have space for more data to send, look at the HTTP and FTP client components. There is a property BufferedByteCount that shows unsent data, but you generally don't need to use this when using OnDataSent to send the next block from your stream. Angus
  13. Angus Robertson

    tls-srp with http?

    The latest OpenSSL still lists several SRP ciphers, but they are shown as only supporting SHA1 and SSLv3, neither of which are allowed any longer with TLS, so no idea if they still work. You would need a custom OpenSSL implementation to allow the session password to be specified somewhere, SRP is rarely used. Angus
  14. Angus Robertson

    TSslHttpCli

    > Is there a way to know that the TRestOAuth component has updated the authorization token if autoupdate is set?  Use the OnOAuthNewToken event and illustrated in the sample application. Angus
  15. Angus Robertson

    TCP Receiving Binary File

    The user made samples are 15 to 20 years old and few probably work with the latest version of ICS. You should really be looking at OverbyteIcsBinCliDemo.dpr in Samples\delphi\SocketDemos which is more up to date. But still does not use a stream. So perhaps look at a new sample OverbyteIcsIpStmLogTst.dpr in \Samples\delphi\sslinternet which does receive binary streams of unlimited size. Angus
  16. Angus Robertson

    TSslHttpCli

    SVN and the overnight zip are updated with a new version of TSslHttpRest heavily rewritten to be more user proof, also need changes to TSslHttpCli which was why it was originally written badly. But now the REST responses are available in both the OnRequestDone and OnRestRequestDone events. Angus
  17. Your earlier changes are already in SVN and the overnight zip, with slight modification, I'll add this change next time. Strangely, I could not find any ICS client samples that test authentication, the BrowserDemo using HtmlViewer did not actually work despite putting up a login dialog box, which I have now fixed. But I've not got NTLM authentication working, sure I set it up many years ago on my IIS server, but can not remember how. Think it might need NT permissions set-up on restricted directories, but I'm hazy on this Angus
  18. Not sure if François is still updating midware, there is nothing newer in SVN. I'll let him answer. Angus
  19. Angus Robertson

    TSslHttpCli

    The Failed to Generate App Token message presumably originated from the OAuth2 server and was displayed in your browser, so our application can not see it. So no easy way to handle it. The component sees success by the browser redirecting to the local web server, but there is no redirect on failure. It is possible to embed a Microsoft Internet Explorer window into your application to handle OAuth2 and check responses, but this is not best security practice and some authentication servers may block use of embedded browsers. Angus
  20. Angus Robertson

    TSslHttpCli

    It is already published. Angus
  21. Is this OverbyteApsCli 7.00 last updated 2008? Angus
  22. Exactly what did you add? It should have been: soapaction: http://nsess.public.cz/erms/v_02_00/DokumentZalozeni Angus
  23. Thanks for the new units, don't see a problem adding them to SVN this week. However I really need a way to test the changes, independently of ICS, My network does not have a domain controller. Angus
  24. Angus Robertson

    TSslHttpCli

    Sorry, busy doing other things that must be finished by month end, will look at this next week, Angus
  25. Angus Robertson

    TSslHttpCli

    And I should not nave written code that allowed you to break the component, will fix it next week. Angus
×