-
Content Count
2047 -
Joined
-
Last visited
-
Days Won
38
Everything posted by Angus Robertson
-
Can ICS thread cause memory violation? (EOutOfResources error)
Angus Robertson replied to PizzaProgram's topic in ICS - Internet Component Suite
Delphi 7 is end of life, ICS support has now ceased, I won't be running it up again now ICS v9 has been tested on it. Also, running TSslHttpRest in a thread is not tested heavily (or atall), being async you can download hundreds of files in parallel in the main thread. Angus- 76 replies
-
- thread
- eoutofresources
-
(and 2 more)
Tagged with:
-
TRestOAuth and token under basic authentication
Angus Robertson replied to Fredrik Larsson's topic in ICS - Internet Component Suite
OK, seems easy enough, I'll add another TOAOption of OAopAuthBasic and check that in GrantAuthToken to set up basic authentication with the client id and secret. Perhaps you can confirm the endpoint is content to ignore the client stuff as being part of the parameters, safer not to remove them. I'll send you a unit to test next week, but it's missed the next ICS release. Angus -
TRestOAuth and token under basic authentication
Angus Robertson replied to Fredrik Larsson's topic in ICS - Internet Component Suite
Unusual, what login data is the required to get the token, something unrelated to OAuth2? If you want this incorporated in the component, I'd need an end point and account to test it. Which grant_type are you using? Otherwise you could derive your own version of the component and override the method you are using with your own. Angus -
Current subscription required to download ?
Angus Robertson replied to cupboy's topic in General Help
I always download and install from an ISO image, and mostly write that image to a DVD as well for posterity and repeat installs. Still got a lot of original CDs from Delphi 1 onwards, and the printed manuals. Angus -
Where is the link to register to the forum?
Angus Robertson replied to FPiette's topic in Community Management
A variation on invite only could be requiring an existing member as sponsor. Angus -
Reduce the wait period of httpcli
Angus Robertson replied to djhfwk's topic in ICS - Internet Component Suite
You can always override the procedure with your own version omitting the MagWait function completely, as some other ICS units do, see TIcsHttpMulti.DoRequestSync in OverbyteIcsHttpMulti.pas, Angus -
Due to the large number of new components and changes, ICS V8.71 has been renamed to ICS V9.0 for final release. All the source units have updated versions and copyrights, some unused units have gone. All the active samples (per readme9.txt) have also been updated with new versions and copyrights and there is a new ActiveDemos.groupproj group that allows them all to be built together. ICS v9 is available from a new SVN repository https://svn.overbyte.be/svn/icsv9/ and also from the Zipped Daily Snapshot section of https://wiki.overbyte.eu/wiki/index.php/ICS_Download The snapshot download URL is: https://wiki.overbyte.eu/arch/icsv9w.zip The final release notes and updated wiki pages are still being written and will be available next week. Meanwhile, I'd appreciate it if some active ICS users could download V9 now and test for installation and backward compatibility with existing applications, particularly with Delphi 7 and XE compilers. I updated literally hundreds of package files manually, for the last time, and it would be good to know they actually install before the final V9 version is released. There is also a new ICS V10 SVN repository for the next major version with Linux support, but this is many months away from being complete, so please ignore it for now. ICS V9 is planned to be a long term support release with no new components or major features added, just bug fixes as needed, major changes will be for V10. V9.0 has been tested with Delphi 7, but I had to make changes to several new components due to missing language features and TWebBrowser does not exist, so V9.0 will be the last tested with D7. Delphi 2007 is easier to support for those building ANSI projects and will become the oldest version supported. Angus
-
My invoices from Worldpay in the UK break down the handling fees into two parts, VAT exempt which includes the percentage transactions charges (up to 4%), and VAT standard rate for fixed transaction costs which include approval and declined fees (4.5p each) and the monthly cost for card facilities. So no need for end users to be charged tax for bank fees. These are for VISA and Mastercard. No idea how taxation works in any other country. Angus
-
What is the recommended method of obtaining my devices IP address?
Angus Robertson replied to JohnLM's topic in Cross-platform
Both of which are done by the new ICS component TIcsNeighbDevices which gives a similar display to the two Nirsoft scanner tools. Angus -
What is the recommended method of obtaining my devices IP address?
Angus Robertson replied to JohnLM's topic in Cross-platform
That is what the ARP protocol does, except your version requires software running on every device and for those devices to be running. Angus -
Commented out exceptions in OverbyteIcsHttpPort
Angus Robertson replied to sfrazor's topic in ICS - Internet Component Suite
If you don't want to raise an exception for response errors, you simply set the property ResponseNoException true, you don't need to comment out any code. No idea why an exception would kill a DLL, that must be your design, not handling exceptions correctly. Never heard of memorymodule, not sure what relevance it has here. Your main issue, unless I've read this wrong, would appear to connecting to alternate servers on failure. If an ICS socket fails to connect, or you time out a connection attempt early, it takes a few moments for the socket to close and be ready for another connection, just because the Close event is called does not mean the socket is ready after errors, TCP has various timeouts when making connections. So where you need to contact sequential servers after failure, you should use alternate THttpCli components. I usually have an array of components, all using the same events, with Tag set, so you know which component caused the event. I did this recent in a new ICS component TIcsDomainNameCache which uses an array of components derived from THttpCli. Angus -
What is the recommended method of obtaining my devices IP address?
Angus Robertson replied to JohnLM's topic in Cross-platform
If you mean all the local IP addresses on your LAN, ICS has a new component TIcsNeighbDevices that builds a historic LAN neighbourhood MAC device and IPv4 and IPv6 address table using ARP, neighbourhood discovery and network scanning. There is a new sample OverbyteIcsNetTools.dpr that illustrates its use. Angus -
New OpenSSL releases 3.1.2, 3.0.10 and 1.1.1v
Angus Robertson posted a topic in ICS - Internet Component Suite
OpenSSL has released new versions of the three active branches. These fix a low severity security issue which is a possible denial of service when checking long DH parameters which ICS does no longer uses, but could potentially be used in certificates for malicious web sites. Windows binaries are available in SVN and the overnight zip file (tomorrow) and separately from https://wiki.overbyte.eu/wiki/index.php/ICS_Download or https://www.magsys.co.uk/delphi/magics.asp Separately, YuOpenSSL has released 3.0.10 and 1.1.1v as commercial DCUs allowing applications to be used with OpenSSL without needing separate DLLs. Angus -
JEDI Installation Annoyances 10.4
Angus Robertson replied to PeterPanettone's topic in Tips / Blogs / Tutorials / Videos
My latest JVCL re-installation from GetIt after installing Delphi 11.3 failed somehow, missed all the paths necessary, had to add a path for JclBase manually. Angus -
Store a large number of images in the filesystem or in a DB?
Angus Robertson replied to RaelB's topic in Databases
I would store them in files, but not thousands of small files, a few larger files, with a database indexing their location in those large files. At least assuming they are not randomly being deleted. Easier and faster to back up. Angus -
error in OverbyteIcsSspi.pas
Angus Robertson replied to alex1234's topic in ICS - Internet Component Suite
ULONG_PTR should not have been declared in the SSPI unit, we have a Types unit that collects together backward compatible types and already had ULONG_PTR. Angus -
error in OverbyteIcsSspi.pas
Angus Robertson replied to alex1234's topic in ICS - Internet Component Suite
Thanks, I'll fix it next week. Angus -
C++ ICS v8.70 {$HPPEMIT missing ;
Angus Robertson replied to nSolvePaul's topic in ICS - Internet Component Suite
OK, if you are moving away from C++ please don't worry about testing. Angus -
C++ ICS v8.70 {$HPPEMIT missing ;
Angus Robertson replied to nSolvePaul's topic in ICS - Internet Component Suite
Sorry, I updated various definitions from the 'latest' JWA file and that is also missing the semicolons. I'll update it again, should be in SVN tomorrow. In about a week, can you please check for other C++ errors in the overnight zip, the next release will be the last to support these old compilers, and maybe C++. Angus -
Signing and Encryption using OpenSSL-Win64 v3.1
Angus Robertson replied to Bojan Gavrilovic's topic in ICS - Internet Component Suite
Although we distribute OpenSsl.exe, it is not something we support, there are numerous online resources devoted to OpenSSL scripts, which many people use, but Delphi users normally write code with the APIs. You can test signing text and streams with the OverbyteIcsJoseTst sample, and the OverbyteIcsPemtool sample has some very old encryptions functions on the Extras menu, but there has never been demand for encryption using OpenSSL since there are native Delphi packages around. Angus -
TMultipartHttpDownloader encountered a problem with a 302 url
Angus Robertson replied to noimes's topic in ICS - Internet Component Suite
I suggest you build the OverbyteIcsHttpRestTst and OverbyteIcsXferTst samples and test your HTTPS downloading with those, the TIcsHttpMulti component in the latter downloads gigs of files daily here. I'll need to know a lot more about why you need to use TMultipartHttpDownloader to bring it up to date with HTTPS, etc, no point if no-one needs to use it. Angus -
TMultipartHttpDownloader encountered a problem with a 302 url
Angus Robertson replied to noimes's topic in ICS - Internet Component Suite
TMultipartHttpDownloader is a very old component designed in the days of slow dial-up internet to speed up downloads by doing several parts at once. But very few applications need that since broadband downloads are so far. What happens when you use a modern component like TSslHttpRest which includes saving to a file and repeat partial failed downloads? Angus -
How to use a certificate from the Windows certificate store
Angus Robertson replied to Droesjba's topic in ICS - Internet Component Suite
SVN and the overnight zip include changes that allow ICS SSL servers to use certificates from the Windows Certificate Store instead of using disk files. Apart from rebuilding, no code changes are needed, simply add one line to the server configuration file. The HTTP Rest sample will be updated shortly to use a client certificate from the Windows Store. There is now a simple method LoadOneFromStore that creates a bundle in a TX509Base with certificate, private key and intermediates that can be used in any ICS projects, it can be tested in the PemTool sample. Angus -
I only work with Delphi and Windows platforms, any support for C++ or other platforms in ICS is dependent on other developers, and such contributions are very rare. C++ support will cease unless someone comes forward to take responsibility for it. I have no commercial need for mobile platforms, and my own requirements are the driving force behind my contributions to ICS over the last 20 years. Angus
-
ICS does not support any mobile platforms, only Mac OS-X now and Linux Ubuntu with the next major release next year. Angus