Jump to content

Angus Robertson

Members
  • Content Count

    2047
  • Joined

  • Last visited

  • Days Won

    38

Everything posted by Angus Robertson

  1. Angus Robertson

    ICS V8.63 announced

    V8.63 was tested yesterday on RAD Studio 10.3 Rio Release 3 (aka 10.3.3) without any problems. Angus
  2. Angus Robertson

    JOSE functions - IcsJoseFindAlg

    Sorry, RSA-PSS key support is only partially implemented, it is shown as pending at the top of the unit. I spent a lot of time learning and implementing the Jose stuff, and started to code new keys types, but never got to test them properly since they are rarely used even 18 months later. In the end I have to move on and implement the Let's Encrypt stuff this was written for. Looking at the code, RSA-PSS keys are actually checked later in that function for jsigRsaPss256, or are you saying they can also be used with jsigRsa256? Angus
  3. ICS contains dozens of units, only a few of which are updated for new releases. So many units have older versions. But units they depend on may be later and fix bugs in that unit. The overnight zip from SVN is the latest, V8.63 will be finally released later this week. Angus
  4. If you want help with connection problems you need to give us real URLs, we can not waste time looking for code problems when the input or site is faulty. Your previous post was a perfect example. You should also test the site using the REST sample which has proper logging to show what is happening. It will probably work, and you can then check why your own code fails. Please don't post ICS source code here, we have it already. Angus
  5. Angus Robertson

    Server Image Files corrupting *(NOT)

    Not aware of any file download problems with the web server, my clients access thousands of files daily, for 10 years. I'll put this on the list to test, but it will take a while. Angus
  6. Thanks, fixed, it also checked an older setting, which is why I missed it. Angus
  7. Angus Robertson

    Sending Email via GMail Using OAuth 2.0 via Indy

    Gmail still allows SMTP and POP3 access with basic authentication, provided you ignore all attempts by Google to set-up better security on the account, and accept the odd/regular email that your account is being used by a suspicious application. But once you have turned on 'better security' (forget it's real name) you can not turn it off, so have to set-up a new gmail account. The OAuth2 option is not too bad, you only need to authenticate with a Google login using a browser once and the refresh token provided remains valid until not used for six months, or when the account is changed. so you can get a new access token each time you send email without needing to authenticate again. Other OAuth2 implementations usually expire the refresh token within 24 hours. Angus
  8. The install instructions are in readme8.txt in the ICS root. You only install one of those groups, depending on whether you want just VCL or VCL and FMX. Angus
  9. This was reported in this forum on 21st October and an illegal date of zero no longer raises an exception in V8.63 which will be released real soon, but can be downloaded now from SVN or the overnight zip. But functionally your application will not behave differently, the conversion function simply returns zero rather the exception setting zero, so will not explain your other issues. Are you using TSslHttpRest yet, it has cookie handling built-in. Angus
  10. So you have built and installed all the component packages with 64-bit targets? And only have the 64-bit library paths for your application? The install group project for each compiler has a Build Group pane that builds for 32 and 64-bit platforms automatically. Your screen shot above should show Release/Win64 and Release/Win32 paths so you have done something unusual. Having said that, when doing releases I only build for the D2007 and latest compilers, not the dozens of others, some no longer have licenses available... But they built when last the latest and have all the new units since. Angus
  11. Bad URL, nothing more that can said. If you want real help, you need to give us real data. Angus
  12. Angus Robertson

    The HTTP 206 Partial Content

    Which must be the result of code you have not shown, you need to use the debugger. You should build the OverbyteIcsHttpRestTst.dpr sample and try your URL using the GUI first. Angus
  13. Angus Robertson

    The HTTP 206 Partial Content

    One possible reason is HTTP 1.0 does not support Keep-Alive, it should be 1.1. You are also setting a POST content type but using GET. That component added httpAuthBearer 18 months ago so you are probably using an old version. You would be better using the newer TSslHttpRest component that is much easier to use than THttpCli and has a new demo OverbyteIcsHttpRestTst.dpr designed for OAuth2. REST and Json. Angus
  14. Angus Robertson

    FTP transfers...

    The FTPMulti component only use sync commands. Sure it will work with extra code to set the correct directory, but that code will be called anyway including creating directories if they don';t exist, with the correct parameters. Try the sample. Angus
  15. Angus Robertson

    FTP transfers...

    Just tested 'Single FTP' upload using the ICS File Transfer Demo and it seems to work correctly. You should not need to set any component properties for paths, FtpUpOneFile uses the remote path specified there and correctly changes to the specified directory: > PWD < 257 "/" is current directory. > CWD /logs/testing/ < 250 CWD command successful. "/logs/testing" is current directory. > PWD < 257 "/logs/testing" is current directory. Uploading File, C:\tempfiles\regnam20.zip to /logs/testing/regnam20.zip, size 238 Kbytes Angus
  16. Angus Robertson

    TCP File Server

    If you want to do some ICS stress testing, you can use my ComCap5 and ComGen5 tools, the former is a general purpose data capture tool, the latter generates streams of TCP or UDP data to test the former. I tested ComGen5 creating 2,000 sessions to ComCap5, with 100 new connections per second (which is configurable) with ComCap5 saving data from all the connections into the same log file. Both tools use a single thread for all the connections. ComGen5 uses an array of TIcsIpStrmLog components to make the TCP client connections to TWSocketServer in ComCap5. SSL slows down the number of new connections per second, with about 300 out of 2,000 failing first time, but TIcsIpStrmLog retries failed connections so the session start on the next attempt. Angus
  17. Angus Robertson

    TCP File Server

    Yes, TWSocketServer has been tested with hundreds of clients, the main limit is how many new clients can connect each second, particularly with SSL which has a high connection overhead. Once connected, lots of large files can be download in parallel. But blocking the server with SQL requests, SHA1 sums, etc, will stop new connections, file I/O, etc, The ICS FTP server uses a thread for such operations. The ICS web and FTP servers are good examples, although quite complicated. Angus
  18. Angus Robertson

    FTP transfers...

    I've not used FtpUpOneFile myself for many years, it was written for another client and worked in their circumstance, need to test it. Angus
  19. There are new versions of the FTP client and server in SVN and the overnight zip, fixing the FTP server options being ignored and improving passive mode on the client. I've added logging for both client and server IPv4 passive mode to log various IP addresses before the data connection is opened, to make it easier to debug why a connection fails. The FTP client also has a new Option ftpFixPasvLanIP for when '227 Entering Passive Mode ()' returns a LAN IP instead of a WAN IP, so use control IP instead. This fixes failed downloads if the FTP server is behind a NAT router and is not configured to present the external IP. An example log is: > PASV < 227 Entering Passive Mode (192,168,1,161,82,10). ! Passive connection requested to: 192.168.1.161:21002, control channel: 217.146.115.83 ! Suspicious LAN IP changed to control channel address > LIST < 150 Opening data connection for directory list. www3.magsys.co.uk SSL Connected OK with TLSv1.2 < 226 File sent ok Note this example won't work now, I had to misconfigure the server to return the local IP address. Angus
  20. Angus Robertson

    TIcsFtpMultiThread

    Your three Xfer fixes are now in SVN and the overnight zip. Angus
  21. The FTP server Options ftpsNoPasIpAddrInLAN and ftpsNoPasvIpAddrSameSubnetoptions were broken because the remote client IP was always returned as 0.0.0.0, now fixed, will be in SVN next week with other FTP changes. Angus
  22. Angus Robertson

    Component palette in C++ builder

    Sorry, I don't do C++ Builder, it needs peer support from other users. Angus
  23. No, it gets an A rating and supports TLS/1,2 so should work with ICS. The OverbyteIcsHttpRestTst sample connects fine from here: www.kcsoftwares.com SSL Connected OK with TLSv1.2, cipher ECDHE-RSA-AES128-GCM-SHA256, key auth RSA, key exchange ECDH, encryption AESGCM(128), message auth AEAD Angus
  24. SSL connections fail all the time for dozens of different reasons. The client might require protocols or ciphers the server does not support, or vice versa. Much depends on how the SslContext is set-up, it's easier on modern components like TSslHttpRest that do most of the hard work for you. If it's an obscure server, bad SSL configuration is always a possibility and https://www.ssllabs.com/ssltest/ is always useful to find how good or bad the server really is. Angus
  25. Angus Robertson

    TIcsFtpMulti WaitUntilReady

    Misconfiguration of NAT'd FTP servers is common, I only corrected one of mine this week. So if the client can help, it's worth a little effort. The STUN protocol allow determination of public IP address behind NAT, and a STUN component has been on my ICS wish list for a few years, maybe I'll finally write it. Won't help me though, since my development servers behind NAT have several different IPv4 and IPv6 addresses on two different ISPs. Angus
×