-
Content Count
2019 -
Joined
-
Last visited
-
Days Won
37
Everything posted by Angus Robertson
-
The latest OpenSSL still lists several SRP ciphers, but they are shown as only supporting SHA1 and SSLv3, neither of which are allowed any longer with TLS, so no idea if they still work. You would need a custom OpenSSL implementation to allow the session password to be specified somewhere, SRP is rarely used. Angus
-
> Is there a way to know that the TRestOAuth component has updated the authorization token if autoupdate is set? Use the OnOAuthNewToken event and illustrated in the sample application. Angus
-
TCP Receiving Binary File
Angus Robertson replied to Bob4231's topic in ICS - Internet Component Suite
The user made samples are 15 to 20 years old and few probably work with the latest version of ICS. You should really be looking at OverbyteIcsBinCliDemo.dpr in Samples\delphi\SocketDemos which is more up to date. But still does not use a stream. So perhaps look at a new sample OverbyteIcsIpStmLogTst.dpr in \Samples\delphi\sslinternet which does receive binary streams of unlimited size. Angus -
SVN and the overnight zip are updated with a new version of TSslHttpRest heavily rewritten to be more user proof, also need changes to TSslHttpCli which was why it was originally written badly. But now the REST responses are available in both the OnRequestDone and OnRestRequestDone events. Angus
-
How to implement SSO Client for Windows using ICS
Angus Robertson replied to OAS's topic in ICS - Internet Component Suite
Your earlier changes are already in SVN and the overnight zip, with slight modification, I'll add this change next time. Strangely, I could not find any ICS client samples that test authentication, the BrowserDemo using HtmlViewer did not actually work despite putting up a login dialog box, which I have now fixed. But I've not got NTLM authentication working, sure I set it up many years ago on my IIS server, but can not remember how. Think it might need NT permissions set-up on restricted directories, but I'm hazy on this Angus- 5 replies
-
- windows ntlm
- sso
-
(and 1 more)
Tagged with:
-
Progress of downloading in TAppSrvClient (MidWare)
Angus Robertson replied to Alex Pit's topic in ICS - Internet Component Suite
Not sure if François is still updating midware, there is nothing newer in SVN. I'll let him answer. Angus -
The Failed to Generate App Token message presumably originated from the OAuth2 server and was displayed in your browser, so our application can not see it. So no easy way to handle it. The component sees success by the browser redirecting to the local web server, but there is no redirect on failure. It is possible to embed a Microsoft Internet Explorer window into your application to handle OAuth2 and check responses, but this is not best security practice and some authentication servers may block use of embedded browsers. Angus
-
It is already published. Angus
-
Progress of downloading in TAppSrvClient (MidWare)
Angus Robertson replied to Alex Pit's topic in ICS - Internet Component Suite
Is this OverbyteApsCli 7.00 last updated 2008? Angus -
Adding extra headers in an HTTPS request
Angus Robertson replied to yamaco's topic in ICS - Internet Component Suite
Exactly what did you add? It should have been: soapaction: http://nsess.public.cz/erms/v_02_00/DokumentZalozeni Angus -
How to implement SSO Client for Windows using ICS
Angus Robertson replied to OAS's topic in ICS - Internet Component Suite
Thanks for the new units, don't see a problem adding them to SVN this week. However I really need a way to test the changes, independently of ICS, My network does not have a domain controller. Angus- 5 replies
-
- windows ntlm
- sso
-
(and 1 more)
Tagged with:
-
Sorry, busy doing other things that must be finished by month end, will look at this next week, Angus
-
And I should not nave written code that allowed you to break the component, will fix it next week. Angus
-
I just told you, your application probably has the OnRequestDone event assigned, remove that and it will work properly. Angus
-
If your application has OnRequestDone assigned, then that will override TSslHttpRest.onHttpRequestDone so it is never called, that is a design flaw of mine which I will fix next week. Angus
-
Perhaps you are confusing two different events. OnRequestDone is an event raised by the base component TSslHttpCli and is handled in TSslHttpRest to process the body stream response into ResponseRaw. The OnRestRequestDone event is then called by TSslHttpRest and that is where the REST response should be processed. If your application uses OnRequestDone instead of OnRestRequestDone, no content will be available. > autorefresh token not work if app in Idle, eg minimized to tray? Windows applications continue to run when minimised, but not if Windows goes to sleep or is suspended by power management. Angus
-
Sorry, but if the component works correctly in the ICS sample application returning the correct information, there is no reason why it should not work in your own application, provided all the correct parameters are passed and you use the same events. Angus
-
Remote Desktop with ICS
Angus Robertson replied to jbWishmaster's topic in ICS - Internet Component Suite
> I have an old code that I'm trying to translate, make it work with ICS I'd suggest you look at the OverbyteIcsIpStmLogTst.dpr sample project in V8.60 which uses the new TIcsIpStrmLog component. This may be be configured as either a client or a server and allows you to send and receive data, hiding most of the complexity of setting up the SSL connection, so you just have an event where data arrives, and a function to send data. The sample behaves as a client or server, or both. Angus -
slhtprest.RestRequest(httpGET, url, True, ''); The third parameter is 'AsyncReq: Boolean = False;' which you have set true so you making asynchronous requests still, as per your root message, But it is not clear from anything you posted whether you are waiting for a response to your requests, or assuming the content is available immediately the request starts and that function returns. Either change that parameter to false to make it a synchronous request which means it won't return until there is a response, or process the response in the OnRestRequestDone event as the demo application does. Angus
-
What is in ResponseRaw? Should be 236 bytes of data per the demo. If not, your code is different to the demo. Angus
-
ICS V8.60 has been released at: http://wiki.overbyte.eu/wiki/index.php/ICS_Download ICS is a free internet component library for Delphi 7, 2006 to 2010, XE to XE8, 10 Seattle, 10.1 Berlin, 10.2 Tokyo and 10.3 Rio, and C++Builder 2006 to XE3, 10.2 Tokyo and 10.3 Rio. ICS supports VCL and FMX, Win32, Win64 and MacOS targets. The distribution zip includes the latest OpenSSL 1.1.1 win32, with other versions of OpenSSL being available from the download page. Major changes in ICS V8.60 include: 1 - Added several new components and sample applications created by Magenta Systems Ltd over the past 17 years and previously distributed and installed separately to the ICS distribution. Bundling them with ICS makes installation and updating easier, and allows existing ICS samples to make use of many the new components, such as UTF-8 file logging. All the components have new names so existing applications using the originally distributed versions will still work, but it's recommended updating existing applications for the new ICS versions. The added components include IP stream logging, SMTP Mail Queue, Time Server and Client, Whois client, blacklisting of malicious IP addresses, file logging functions, file indexing, copying and deleting, FTP indexing, multiple file uploading and downloading, HTTP page parsing and URL downloading. 2 - In THttpCli, only follow relocation for 3xx response codes, not 201 Created, but keep Location property for 201 which is often response to a POST and may be needed by the application. 3 - When starting TWSocket Connect, the IP address chosen for DNS lookup is now saved in ASCII as AddrResolvedStr which is useful in connect OK or failed events to see whether an IPV4 or IPv6 address was chosen, and which was used if DNS offered multiple IPs. AddrResolvedStr is exposed as a property in TWSocket, THttpCli, TSslHttpRest and TFFtpClient and reports in failed connection events. Other clients will be added soon. 4 - Various samples have been updated to ease testing of IPv6 and to save the diagnostic window activity to a disk log file, OverbyteIcsHttpsTst, OverbyteIcsHttpRestTst, OverbyteIcsTimeTst, OverbyteIcsX509CertsTst. 5 - Added round robin DNS lookup if DNSLookup returns multiple IP addresses, so they are used in turn after a failure when a component is called repeatedly without being freed. This is implemented in THttpCli, TSslHttpRest TFFtpClient and TIcsTimeClient. Other clients will be added soon. There is a new OnSelectDns event to override round robin lookup and make your own choice. By default, the DNS lookup in ICS components ignores IPv6 addresses and always use the first IPv4 address offered, when there is more than one. This is usually implemented in the OnDnsLookupDone event in the application or high level component. So if that first address does not respond, the application never tries any other addresses. This has become more of a problem when enabling applications for IPv6, by changing SocketFamily from the default sfIPv4, to sfAny, sfAnyIPv4 (prefer IPv4), sfAnyIPv6 (prefer IPV6) or sfIPv6 (only IPv6), when IPv6 addresses may also be returned as well as IPv4. Due to routing or firewall issues, IPv4 and IPv6 might not both be available and so connection will fail if that address is chosen first. Previously it was necessary to restrict SocketFamily so only the working family is attempted. The DNS round robin implementation relies on keeping the last successful connected IP address, so it can be re-used for subsequent connections, but looping through any alternative addresses if the last connection failed, for subsequent connection attempts. Most existing applications use the OnDnsDone event to select the connection IP address so the round robin code is added there. Newer applications making use of TWSocket ComponentOptions wsoAsyncDnsLookup should added code in OnDNSLookupDone and update the DnsResult property which is then used by Connect. 6 - IcsHosts supports two new TSslSrvSecurity server security levels, sslSrvSecTls12Less and sslSrvSecTls13Only, the former disables TLS1.3 in ICS servers if TLSv1.3 fails (perhaps a bad client implementation) while the second only supports TLSv1.3. 7 - Up to date C++ packages are included for 10.2 Tokyo and 10.3 Rio. Information on installing ICS for C++ 2007 may be found at: https://en.delphipraxis.net/topic/844-use-ics-with-c-builder-2007/ Sorry, currently don't believe it's easy to update the ICS source code to avoid the changes needed for C++ 2007. Full release notes are at: http://wiki.overbyte.eu/wiki/index.php/ICS_V8.60 Angus
-
ICS V8.60 announced
Angus Robertson replied to Angus Robertson's topic in ICS - Internet Component Suite
The V8.60 zip and overnight zip are both now updated, and will again build on recent compilers. Angus -
Both requests seem to work, they both return 200 success and the same length content, so it would appear you are not correctly reading the JSON data returned by the server. The Authorization header is different in the two requests, despite both requests seemingly being successful. Angus
-
Most of those values you will set according to the requirements of your application, they are self explanatory from the fields on the sample application, but you won't need username and password with OAuith2. As requested previously, if you expect help debugging your application, you need to post the request and response headers ICS sent and received, not just tell us it did not work. Angus
-
ICS V8.60 announced
Angus Robertson replied to Angus Robertson's topic in ICS - Internet Component Suite
Sorry, made last minute change to make that unit OS-X compatible, but did not check it properly, will update it shortly. Meanwhile, just change WinApi to System on the two lines with SysUtils errors. Angus