Jump to content

Angus Robertson

  • Content Count

  • Joined

  • Last visited

  • Days Won


Angus Robertson last won the day on September 15

Angus Robertson had the most liked content!

Community Reputation

79 Excellent

About Angus Robertson

Technical Information

  • Delphi-Version
    Delphi 10.3 Rio

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. 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
  2. Thanks, fixed, it also checked an older setting, which is why I missed it. Angus
  3. 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
  4. 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
  5. 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
  6. 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
  7. Bad URL, nothing more that can said. If you want real help, you need to give us real data. Angus
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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:, control channel: ! 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