-
Content Count
2019 -
Joined
-
Last visited
-
Days Won
37
Everything posted by Angus Robertson
-
Add {$WARN IMMUTABLE_STRINGS OFF}
Angus Robertson replied to EugeneK's topic in ICS - Internet Component Suite
OK, soon. Angus -
ICS DLL for Visual Studio
Angus Robertson replied to Shekar's topic in ICS - Internet Component Suite
Accessing Delphi objects from C# is very unusual, was not aware it could be done. It's certainly not something we can support here. You would presumably need c# headers as well, or whatever than language uses. Creating DLLs using ICS is common, there are examples in samples, but they export complete functions, not the components themselves and always use a thread with a message handler. Angus -
ICS DLL for Visual Studio
Angus Robertson replied to Shekar's topic in ICS - Internet Component Suite
So you have lost the ICS source code for your old dpr? But not the DLL itself, so you can check to see what exports you created and replicate it for your new DLL. You should not need our help. Angus -
ICS DLL for Visual Studio
Angus Robertson replied to Shekar's topic in ICS - Internet Component Suite
Do you mean the exports are not in the DLL, you can use a DLL exports viewer to check that. the Windows Kit has one, lots of others around. For a DLL, you need a library dpr with an exports section, which I assume you created yourself. It may need updating with changes over many years. Or perhaps you are only exporting functions you wrote, and not the entire library? What version of ICS were you using before, in OverbyteIcsWSocket.pas? Angus -
Error 425, when put file on ftp server with SSL connection
Angus Robertson replied to drazde's topic in ICS - Internet Component Suite
Pleased you got it working. Session caching is poorly documented in ICS, all written by a previous developer and I don't really understand it. But the new high level components I've added in the last couple of years like TIcsFtpMulti, TSslHttpRest and IcsHosts for servers, handle most the SSL implementation like SSL context and session caching, so the application does not need to worry about it, and that's why TIcsFtpMulti worked. Angus -
There is a Websockets project at https://github.com/fajar-khairil/ics-websockets by Stan Korotky, dating back to 2012, but it is not SSL enabled. From the demo server comments: Basic websockets server based on TWSocketServer and TWSocketClient components, and websockets implementation ported from phpws project (http://code.google.com/p/phpws/). Derived from TCP server demo V7.02, by François PIETTE. Been meaning to incorporate it into ICS for a while, never had the time or a suitable project to test it with. Angus
-
I wrote the CSV component 20 years ago before TStringlist got more fancy. Angus
-
TStringlist has DelimitedText and CommaText properties that works for many CSV files, free and one line of code. However it treats spaces as a delimiter, so I use a minor variant that also always writes delimiters. Angus
-
Exception is swallowed in TCustomWSocket.ASyncReceive
Angus Robertson replied to Fr0sT.Brutal's topic in ICS - Internet Component Suite
Does seem strange the code eats errors on OnDataAvailable silently while some other events do raise an exception. I've updated my version to trigger a background exception, but this change is not absolutely backward compatible, applications that don't have OnBgException assigned will now shut down with an exception window, rather than perhaps continuing to ignore the error, maybe good, maybe bad. This won't go into SVN for a few days, until I've rebuilt and tested all my applications. Angus -
If multicast needs to listen on multiple UDP ports and/or addresses, just create an array of TWSocket components with different IP addresses/ports for each, sharing the same event handlers. For TCP we already have TMultiListenWSocketServer which is the same as TWSocketServer so web servers listen on lots of ports and IPv4 and IPv6 at the same time. Angus
-
There are two names for contributors that worked on multicast in the release notes, but they were almost 20 years ago. Angus
-
I just use a simple batch file: cd C:\Program Files (x86)\Windows Kits\10\bin\x86 signtool sign /p "password" /f "c:\certificates\magenta-systems-certkey.pfx" /d "WebApp Server - Telecom" /fd sha1 /t http://timestamp.verisign.com/scripts/timstamp.dll "d:\webapps\webapp_telecom.exe" signtool sign /p "password" /f "c:\certificates\magenta-systems-certkey.pfx" /d "WebApp Server - Telecom" /as /fd sha256 /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp "d:\webapps\webapp_telecom.exe" signtool verify /all /pa d:\webapps\webapp_telecom.exe This assumes you can buy a code signing certificate as a file, some authorities only sell them on dongles when you need a slightly different command line and you may find Windows demands a password each time you sign a file, so not very automated. EV certificates are only needed for kernel drivers. If you start your order at https://msdn.microsoft.com/windows/hardware/drivers/dashboard/get-a-code-signing-certificate you will find most authorities offer substantially cheaper prices than their web sites, Digicert sells EV for $104 a year, non-EV for $74. Angus
-
Sorry can not really help any further, I think my last UDP project was just broadcasting not multicasting. I would test keeping things simple, ignore multicast completely, just a simple UDP listener and see what happens. Your can use the OverbyteIcsIpStmLogTst sample to send normal UDP packets to make sure your server is receiving something, then look into why multicast is not working. Angus
-
Error 425, when put file on ftp server with SSL connection
Angus Robertson replied to drazde's topic in ICS - Internet Component Suite
TIcsFtpMulti uses TSslFtpClient, look at the log of commands it uses to see what it is doing that you missed in your application. Sorry, wrote it over 10 years ago although only recently added to ICS, can not remember the tricks it uses. If you want to keep it simple, FtpDownOneFile and FtpUpOneFile just do one file without any indexing. Angus -
TWSocketServer is only for TCP, not UDP which does not have a concept of clients or connections. Change it to TWSocket. Not used multi casting for many years, but suspect that MultiCastAddrStr is for sending stuff, not receiving it. V8.60 added a new component TIcsIpStrmLog with a sample OverbyteIcsIpStmLogTst.dpr which has a logprotUdpServer mode that allows you to create a server with little code handling receiving data for you. Angus
-
Error 425, when put file on ftp server with SSL connection
Angus Robertson replied to drazde's topic in ICS - Internet Component Suite
Try using the new sample OverbyteIcsXferTst.dpr added in V8.60, it uses the new TIcsFtpMulti component that hides most of the FTP protocol from you, just allowing you to download or upload multiple files. Angus -
Error 425, when put file on ftp server with SSL connection
Angus Robertson replied to drazde's topic in ICS - Internet Component Suite
Make sure you are using passive mode, necessary for SSL. I transfer hundreds of files a day using SSL FTP between my office and hosted servers, ICS tools at both ends. Angus -
Using proxy persistent connection disconnected
Angus Robertson replied to Kenny Phong's topic in ICS - Internet Component Suite
You also need to set the DebugLevel property to the level of logging required from THttpDebugLevel, DebugHdr in this case to get all the headers. Most applications don'r need a high level of logging. Angus -
Using proxy persistent connection disconnected
Angus Robertson replied to Kenny Phong's topic in ICS - Internet Component Suite
401 error is usually authentication failure, but since no proper headers are posted in this thread we can not comment on what authentication is being attempted. Perhaps the server is sufficiently clever to realise the requests have been intercepted and perhaps corrupted by a proxy, thus 401. The newish TSslHttpRest component has header and response logging built-in, and can be used instead of TSslHttpCli, just add the OnHttpRestProg event. Angus -
Compiler errors C++ X509Certs
Angus Robertson replied to Blue Beret's topic in ICS - Internet Component Suite
Sorry, don't do C++. But I'm told by others the packages build OK with C++ 10.3, unless I've broken something recently. V8.62, not finished yet, has SSLX509Certs improvements including the new Acme SSL challenge. Angus -
Using proxy persistent connection disconnected
Angus Robertson replied to Kenny Phong's topic in ICS - Internet Component Suite
When the connection works fine bypassing the proxy, why do you think it's an ICS issue? What do you think ICS is doing differently or incorrectly for a proxy connection? Have you compared the headers IC S sends for proxy/non proxy? Sorry, don't have time this month to study extracts from dumps. Angus -
Using proxy persistent connection disconnected
Angus Robertson replied to Kenny Phong's topic in ICS - Internet Component Suite
Which component are you using? What sort of proxy settings in that component? Is this SSL or non-SSL? Have you asked for persistent connections? No idea where those screen dumps come from, but they are not useful for diagnostics without a lot more explanation. Angus -
The SSPI stuff is only needed for NTLM authentication which the define UseNTLMAuthentication controls, so perhaps you had that disabled last time. Angus