-
Content Count
2047 -
Joined
-
Last visited
-
Days Won
38
Everything posted by Angus Robertson
-
TSslHttpCli 404 Connection aborted on request
Angus Robertson replied to Estefanie's topic in Delphi IDE and APIs
TSslHttpRest is descened from TSslHttpCli so is similar to use, but much easier, try the sample application. and http://wiki.overbyte.eu/wiki/index.php/FAQ_Using_TSslHttpRest. Angus -
TSslHttpCli 404 Connection aborted on request
Angus Robertson replied to Estefanie's topic in Delphi IDE and APIs
All ICS samples are tested with Delphi 2007 and later, and should still work with Delphi 7. Angus -
OpenSSL 1.1.1e Windows binaries available
Angus Robertson replied to Angus Robertson's topic in ICS - Internet Component Suite
Updated OpenSSL Windows binaries to 1.1.1h, regular minor release only, no security fixes. Angus -
TSslHttpCli 404 Connection aborted on request
Angus Robertson replied to Estefanie's topic in Delphi IDE and APIs
I suggest you build the OverbyteIcsHttpRestTst.dpr sample first and test your URL using that, then change your code to use TSslHttpRest instead of TSslHttpCli. it is much easier to use and the sample has several examples of how easy. Angus -
tsslhttpcli TSslHttpCli Access violation at address or 404 error
Angus Robertson replied to Estefanie's topic in ICS - Internet Component Suite
The old class is not deprecated, the new component descends from the old one so is 100% compatible, but includes many optional addons such as SSL to make it easier to use. Angus -
tsslhttpcli TSslHttpCli Access violation at address or 404 error
Angus Robertson replied to Estefanie's topic in ICS - Internet Component Suite
He is using an old component, the latest TSslHttpRest does all this automatically. But long experience in this forum shows people that start using the wrong component would rather continue trying to use it, than change to something better and easier, this comes up again and again and is really down to not enough ICS documentation, which costs money to write, which no-one wants to spend. Angus -
Many years ago Embarcadero/Codegear started restricting tech partner licenses to one year with no guarantee of renewal after that period. No vendor will develop commercial software using such a license when they may be stopped from supporting it after a few months, and the same applies to freeware that needs to be continually updated. There are now some older XE versions that are unusable because Embarcadero can no longer generate one year licences for them. Angus
-
tsslhttpcli TSslHttpCli Access violation at address or 404 error
Angus Robertson replied to Estefanie's topic in ICS - Internet Component Suite
You are trying to use SSL/TLS without using the proper components, you need to assign a TSslContext component to the SslContext property of HttpClient and initialise it correctly, see the PrepareConnection function in the OverbyteIcsHttpsTst1.pas HTTPS sample, although that uses lots of options you don;t actually need. Angus -
how to Properly check if Twsocket Tcp client is still connected ?
Angus Robertson replied to Skullcode's topic in VCL
The only reliable way to know if a TCP socket is still connected is to send something to the other end and receive a response. If there is no regular traffic, you really don't know the route still exists, so many technical things can cause a connection to fail without any socket close down being received. If you send something and there is no TCP ACK within several seconds, the data should be resent automatically until finally the socket is closed with an error. If you are designing a protocol that leave sockets open for long periods, best to send something regularly. Angus -
OverbyteIcsPemTool: Import a Windows Ceritificate Store to…
Angus Robertson replied to milan's topic in ICS - Internet Component Suite
To complicate dongles even more, Windows shows my Trusted Platform Module as a Security Device, but my USB dongle with a signing certificate and key as a Smart Card Reader (ACR101 SIMicro), so it;s quite probably the OpenSSL TPM engine might not recognise the latter. It comes with it's own windows drivers which work with Microsoft code signing. Angus -
OverbyteIcsPemTool: Import a Windows Ceritificate Store to…
Angus Robertson replied to milan's topic in ICS - Internet Component Suite
Yes, the ICS comments about engines say you have to extract the certificate from the Trusted Platform Module and turn it into PEM for OpenSSL, and there are TPM tools to do that. You can send commands to the TPM to query what it has. My desktop has a TPM and the ICS code signing certificate is on a USB dongle. Windows does have APIs to access the TPM, but I've never had a commercial need to look at them, TPMs have become more important this year with so many people needing remote access to secure corporate networks. Angus -
OverbyteIcsPemTool: Import a Windows Ceritificate Store to…
Angus Robertson replied to milan's topic in ICS - Internet Component Suite
Sorry, currently ICS does not support using certificates other than those loaded from files using OpenSSL functions. ICS does have support for OpenSSL engines which are essentially DLLs designed to access secure hardware such as tokens, but I've never seen such a DLL and OpenSSL has changed a lot in the 10 years since engine support was added. You can read the comments in WSocket on Apr 24, 2009 for more information. You would need to build the Trusted Platform Module project in github but it might need ICS changes to maker it work. Engines are obsolete with the next release of OpenSSL 3.0 due soon and there is a new way to access secure hardware so we may revisit this if someone provides a TPM provider which is the new way. I don't believe there is any possibility of OpenSSL accessing certificates and private keys in the Windows store. Not sure if Indy has current engine support. Angus -
OverbyteIcsPemTool: Import a Windows Ceritificate Store to…
Angus Robertson replied to milan's topic in ICS - Internet Component Suite
I never mentioned USB tokens, nor did you, no idea how they relate to a discussion about the windows store. Private keys are often stored on hardware security devices precisely to stop them being copied. Angus -
Invalid Compiler Directive: 'MESSAGES'
Angus Robertson replied to Incus J's topic in ICS - Internet Component Suite
These MacOS changes are now in SVN and will be zipped overnight. Angus -
Invalid Compiler Directive: 'MESSAGES'
Angus Robertson replied to Incus J's topic in ICS - Internet Component Suite
Thanks for joining this thread and helping to get ICS working on MacOs64. I've updated Ics.Posix.KEventTypes,pas with your fixes, but am wondering whether I should also be changing WSocket to use EV_SET64 and TKEvent64 instead of EV_SET in TIcsEventQueue? Or does MacOS64 support both. Not in SVN yet. I don't believe there is much point in trying to retain MacOS32 compatibility going since 10.4 no longer supports it. Regarding your off-list comment about TMultiReadExclusiveWriteSynchronizer and ThreadID, I did change this to ThreadID: TThreadID; last week to match all other instances. Please be aware I can now build for Linux64 but not for MacOS since don't have any Apple hardware, so I can catch general Posix compiler issues, but not Mac only issues. And the Linux message handler is not done yet. Angus -
Problem downloading GetIt package from GitHub
Angus Robertson replied to Jud's topic in Delphi IDE and APIs
If GetIt says it's trying to open a file on your local PC, that will be fixed by changing to online mode. It should be intelligent enough to recognise that error on it's and use online mode. Angus -
Problem downloading GetIt package from GitHub
Angus Robertson replied to Jud's topic in Delphi IDE and APIs
I'm amazed this problem is not fixed yet. It happens if you install a new release from an ISO image or DVD which used to be a separate installer, but now uses GetIt in offline mode pointing to a massive file locally. This all works fine, except once it completes GetIt continues to look in that massive file for all the components you now need to re-install instead of looking online. The important line is 'GetItCmd.exe -c=useonline' which is used once. Angus -
Invalid Compiler Directive: 'MESSAGES'
Angus Robertson replied to Incus J's topic in ICS - Internet Component Suite
Quite true, I use ICS in several Windows services. However all windows services need a message loop, that is how they are stopped and controlled. Obviously not the case with Linux. Angus -
Invalid Compiler Directive: 'MESSAGES'
Angus Robertson replied to Incus J's topic in ICS - Internet Component Suite
ICS Windows console applications need a message pump anyway, and are relatively rare. I only have a single console application that sends emails when SVN is updated. An old version of ICS supported Kylix with a message pump which we could bring up to date, but if FMX supports this already, that is faster. Angus -
Invalid Compiler Directive: 'MESSAGES'
Angus Robertson replied to Incus J's topic in ICS - Internet Component Suite
ThreadID: Cardinal; should really be ThreadID: TThreadID; to match all other use in the unit. Perhaps there is another mismatch somewhere that has caused truncation or something? Angus -
Invalid Compiler Directive: 'MESSAGES'
Angus Robertson replied to Incus J's topic in ICS - Internet Component Suite
On a Windows form the entire application runs from ProcessMessages, if that is not the case with FMX then I guess it's a different design concept. Angus -
Invalid Compiler Directive: 'MESSAGES'
Angus Robertson replied to Incus J's topic in ICS - Internet Component Suite
Pleased you got the package built, I've put updating the sample uses sections on my list. Sorry, never tried debugging a non-windows platform. I have been wondering why ICS is using a lot of MacOS specific libraries to emulate Windows messages, when the FMX forms unit seems to have ProcessMessages which one assumes works similarly to the Windows forms unit, it might be early versions of FMX 10 years ago were more limited. But I have other delayed projects to finish and can not investigate yet. Angus -
Not tried it yet, but Mida Convert sells tools to convert VCL to FMX, including various third party components: http://midaconverter.com/ Angus
-
This error is building the package under windows, it can not find RTL, Angus
-
After updating to 10.4.1, installing FMXLinux, updating PAServer to the latest, and recreating my Linux Profile, I can now build and run the FMXLinux sample, so it does all work on UBUNTU 20.04. However, when building the new ICS Linux package (which is in SVN) I now get: E2597 ld-linux.exe: error: cannot find bplrtl270.so despite adding binlinux64 to the system path. Also 79 FMX units mplicitly imported into the package. Still ned to fix the message pump, but getting closer. Angus