Re: [twsocket] How to install V8?
On Sunday, May 19, 2013 1:12 AM [GMT+1=CET], Perry Kappetein schrob: I have V8 Beta installed, but how to install the Firemonkey version? Seems like I need to install the CommonXE4Design but I cannot install that one. Unless I am missing something here I am able to compile the XE4Run project. At first remove the VCL-only design-time package from the IDE if any (Component | Install Packages). Open DXe4InstallVclFmx.groupproj located in the Ics\Install folder. In the project manager make sure that the Windows 32 target platform is selected for each of the three run-time packages. Activate IcsCommonDXE4Run and from the context menu select From Here.. | Build All From Here Repeat this for all three platforms. Finally install the three design-time packages in the order they appear in program manager. Set the library path to the dcu output directory. For instance: $(ICSRoot)\lib\$(Config)\$(Platform)\XE4, where $(ICSRoot) is a custom environment variable set to ICS' root directory. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] ICS Stable for 64bits?
On Thursday, May 16, 2013 11:05 PM [GMT+1=CET], Eric Fleming Bonilha schrob: Hello! I would like to know if ICS is already stable for 64bits development. I'm pretty sure it is. Try the the demos including SSL/TLS they do work. I`m porting my system to 64bits and I updated to ICS8, but I´m having many issues (ICS is in the core of my system) that looks like memory overflow or overwrite, so, I´m trying to find out the problems and I want to eliminate the possibility of errors on 3th party libraries At first read this: http://docwiki.embarcadero.com/RADStudio/XE4/en/Converting_32-bit_Delphi_Applications_to_64-bit_Windows From my own experience, the old Win-API header translations are often the problem, from wrong declarations of the functions to wrong record field alignment. Note: The 64-bit compiler is actually quite usable, however the 64-bit debugger is still very buggy. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] EnterCriticalSection(SslCritSect) called afterFinalization calls DeleteCriticalSection(SslCritSect)
John Reid wrote: The Finalization section calls DeleteCriticalSection(SslCritSect). TComponent.DestroyComponent calls the destructor of all its components. Those destructors ultimately call UnloadSsl and this method uses EnterCriticalSection(SslCritSect) and LeaveCriticalSection(SslCritSect), which causes an access violation and prevents the app from closing. Do you use multiple threads with ICS? If so, make sure all threads are closed before the application exits. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] EnterCriticalSection(SslCritSect) called afterFinalization calls DeleteCriticalSection(SslCritSect)
John Reid wrote: I should have included that the app was written as a form app but we recently modified it to not display the form removing the Application.Run call in the DPR and executing a method instead: Application.CreateForm(TForm1, Form1); Form1.RunApplication; //Application.Run; [..] Thinking about it, this is likely the cause. Indeed, most likely. What does Application.Run do, It is main thread's message loop. specifically cleaning up, that could be missing? When main thread's message loop quits the application terminates. (Maybe this is a question for another forum). I think so. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] XE4 install fails
Stefan Paege wrote: Hi, I just installed RAD Studio XE4 into a brand new VM (WIN64) After that I tried to install ICS V8 (downloaded about an hour ago). I opened Dxe4InstallVclFmx.groupproj and then tried to compile IcsVclDXE4Run but got a fatal error [dcc32 Fatal Error] IcsCommonDXE4Run.dpk(1): E2225 Never-build package 'IcsCommonDXE4Run' must be recompiled Same with the 64Bit compiler. Am I missing something? If that is the nightly ZIP wait for the next one. I checked in a final fix to the XE4 packages today morning. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Problem with DataAvailable (similar) [fixed]
Pascal Chapon wrote: Okay, everything is fine if I do it with a PostMessage and process the non-blocking loop in a separate procedure. Yes, that is the solution. Not to call the message pump in event handlers is one of the Ten Coding Commandments, not just in ICS. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Problem with DataAvailable (similar)
Pascal Chapon wrote: Any idea? Do you call the message pump directly or indirectly, for instance, Application.ProcessMessages or ShowMessage() in one of the ICS event handlers? -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] error XE3 in combination with ICS v8
Ruud Kerstens wrote: Len := Lstn.ReceiveFrom(@Buffer, SizeOf(Buffer), Src, SrcLen); This last line gives me the error-message E2033. If Winsock is part of the uses clause replace it by OverbyteIcsWinsock. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] error XE3 in combination with ICS v8
Ruud Kerstens wrote: Hi Arno, It works like a sunshine!! Thanks for the quick and helpful response! You are welcome, in ICSv8 we want to support IPv6 that requires the winsock2 API. EMBT's Winsock.pas just supports old winsock1 and even the newer Winapi.Winsock2.pas doesn't support IPv6, so we had to write our own custom header translation named OverbyteIcsWinsock.pas. In ICSv8 applications you should replace any occurence of winsock.pas with OverbyteIcsWinsock.pas. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] delay in data
rajesh gupta wrote: Dear All TWSocket I am using TWSocket as serversocket and sending realtime data to the client on internet on windows application . but the data on client side is not live . Ehm, how could it ever be live? What is your expection? -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Error in ICS component [fix]
This should fix the EReadError with message 'Error reading HtmlSmtpCli.TimeOut:Property TimeOut does not exist'. Search the following lines in OverbyteIcsSmtpProt.pas: {$IFDEF USE_SSL} THtmlSmtpCli = class(TCustomSslSmtpCli) {$ELSE} THtmlSmtpCli = class(TSmtpCli) {$ENDIF USE_SSL} Change : {$IFDEF USE_SSL} THtmlSmtpCli = class(TCustomSslSmtpCli) {$ELSE} THtmlSmtpCli = class(TSyncSmtpCli) == change {$ENDIF USE_SSL} Please let us know if it works for you. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Simultaneous TPing request using multithread.
Angus Robertson - Magenta Systems Ltd wrote: ICS V8 supports FireMonkey (Windows and OS X), if you do not want to support it please no not add you contribution to ICS V8. And ping and icmp don't currently work on OS X anyway, they should not have been in the FireMonkey packages in the first place. Unless there's a cross-platform solution I think it's Ok to add ICMP to FireMonkey Windows only. Because I currently do not have the spare time to fix your contribution. If nobody has the time to support FireMonkey, it's support should be removed from ICS. I do have some time to maintain FireMonkey. However if I hit a revision that breaks a lot and I do not have the time to fix it at once I'll revert it back to a working revision. Today I fixed the issue and checked in your contribution. Basically a unit included in IcsCommonDXE3Run may neither use the VCL nor the FMX framework. And you added to OverbyteIcsIcmp.pas OverbyteIcsWSocket.pas. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Simultaneous TPing request using multithread.
- Original Message - From: Angus Robertson - Magenta Systems Ltd an...@magsys.co.uk To: twsocket@elists.org Sent: Saturday, March 02, 2013 7:29 PM Subject: Re: [twsocket] Simultaneous TPing request using multithread. Unfortunately Arno decided it would not work on FireMonkey It is a fact that it did not work. (about which probably very few care) ICS V8 supports FireMonkey (Windows and OS X), if you do not want to support it please no not add you contribution to ICS V8. and he removed it from SVN. Because I currently do not have the spare time to fix your contribution. Since I can not actually build the FireMonkey packages in XE3 which are undocumented, get too many silly errors, everything is on hold until I have sufficient spare time to try and reverse engineer his changes. Oh come on, you do have the source, nothing to reverse engineer, simply read and get the source. And XE2 will do as well. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Error with HtmlMail demo
Tim West wrote: I did download the latest version from the wiki page. It is ICS V8 I installed from DXe3InstallVclFmx.groupproj Hope that helps you work out what is wrong! Unfortunately it does not :( I personally do not use the ZIP download but a SVN client. With V8 and installed DXe3InstallVclFmx.groupproj I'm not able to reproduce the error. Then I compared the ZIP and the SVN files and just found that Samples\Delphi\PlatformDemos\Ics.Fmx.DemoUtils.pas was missing in the ZIP download, which is clearly a bug, however nothing that should cause the error you reported. -- Arno Tim -- Message: 2 Date: Tue, 26 Feb 2013 17:35:23 +0100 From: Arno Garrels arno.garr...@gmx.de Subject: Re: [twsocket] Error with HtmlMail demo To: ICS support mailing twsocket@elists.org Message-ID: EB8261DB42814DC19B4F5D9C132A3AF0@asus Content-Type: text/plain; charset=iso-8859-1 Tim West wrote: Hi, I have just been looking at the HtmlMail demo as I need to test out embedding images in an html email. The demo loads fine in to Delphi XE3 and then compiles without any issues. However, as soon as I try and run it I get an error saying Exception EReadError in module OverByteICSMailHtml.exe at 000B73AC. Error reading HtmlSmtpClient.Timeout: Property Timeout does not exist. I am using the very latest version of ICS that I downloaded from the Overbyte site yesterday. Any reason why the demo doesn't seem to run? This has been reported some weeks back as well. Please always get the source from: http://wiki.overbyte.be/wiki/index.php/ICS_Download What ICS version did you use, V7 or V8? If you used V8, what .groupproj file did you install? -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Error with HtmlMail demo
Tim West wrote: Hi, I have just been looking at the HtmlMail demo as I need to test out embedding images in an html email. The demo loads fine in to Delphi XE3 and then compiles without any issues. However, as soon as I try and run it I get an error saying Exception EReadError in module OverByteICSMailHtml.exe at 000B73AC. Error reading HtmlSmtpClient.Timeout: Property Timeout does not exist. I am using the very latest version of ICS that I downloaded from the Overbyte site yesterday. Any reason why the demo doesn't seem to run? This has been reported some weeks back as well. Please always get the source from: http://wiki.overbyte.be/wiki/index.php/ICS_Download What ICS version did you use, V7 or V8? If you used V8, what .groupproj file did you install? -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] ICS V8 Linker problem when installing on XE3
Mark Morrison wrote: Hi: When I try to build IcsVclCBXE3Run.bpl with C Builder XE3, I get the following linker errors: [ilink32 Error] Error: Public symbol for EXPDEF '@System@Generics @Collections@%TEnumerator__1$p30System@Classes@TCollectionItem%@DoGetCurrent$qqrv' not found in module OverbyteIcsWSocketS.pas [..] IcsCommonCBXE3Run.bpl builds correctly. I don't know. All I know is that I'm able to build the dual installation packages for C++ Builder Win32 even with XE3 UPD 2, however the OS X target always failed in the past (not tested with UPD 2 yet). Actually I'll no longer support C++ Builder for ICS since I do no longer have the spare time, sorry. New volunteers are wanted to take over the C++ Builder support in ICS. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] IPv6 support on TPing
Angus Robertson - Magenta Systems Ltd wrote: Ping IPv6 seems to be working now, do you want to test it? Trace Route to: ipv6.google.com Ping of 56 bytes took 29 msecs 1 0ms 2a01:348:6:68c::2 PC19 2 8ms 2a01:348:6:68c::1 gw-1677.lon-02.gb.sixxs.net 311ms 2a01:348::4:0:3:1:1 gblon02.sixxs.net 4 9ms 2a01:348:0:4::3::12a01:348:0:4::3::1 511ms 2a01:348::36:1:1 xe-0-1-1.cs0.the.uk.goscomb.net 6 9ms 2a01:348::24:1:1 xe-0-1-0.cs0.gs2.uk.goscomb.net 713ms 2a01:348::40:1:1 xe-0-1-0-0.cs1.gs2.uk.goscomb.net 812ms 2a01:348::41:1:1 xe-0-1-0.cs0.sov.uk.goscomb.net 911ms 2a01:348::17:0:1 ge-1-1-5.rt0.sov.uk.goscomb.net 1010ms 2a01:348::51:0:1 xe-0-0-1-0.rt0.thn.uk.goscomb.net 1194ms 2001:7f8:4::3b41:1 2001:7f8:4::3b41:1 12 8ms 2001:4860::1:0:15f 2001:4860::1:0:15f 13 9ms 2001:4860::8:0:2ddf 2001:4860::8:0:2ddf 1428ms 2001:4860::8:0:2ac4 2001:4860::8:0:2ac4 1528ms 2001:4860::2:0:87b 2001:4860::2:0:87b 1726ms 2a00:1450:400c:c06::67 wb-in-x67.1e100.net Trace Route Completed Cool, I'll be able to test it a bit next weekend. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Delphi XE3 - Installing ICS for OSX32
Dergen wrote: Yes, I opened DXe3InstallVclFmx.groupproj and I have found mybplIcsCommonDXE3Run.dylib in the same folder as you. and theres also a matching IcsCommonDXE3Run.dcp in C:\Users\Public\Documents\RAD Studio\10.0\Dcp\OSX32 with the same current date? What should I do to fix my project in the correct output folder? Something seems to be wrong with the (search) paths in your environment, I don't know what is wrong in detail. Maybe another, different and older bplIcsCommonDXE3Run.dylib is found somewhere else? -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Delphi XE3 - Installing ICS for OSX32
Dergen wrote: I installed without problems the Win32 and Win64. for OSX32 I started compiling bplIcsCommonDXE3Run.dylib, and then I tried without success to compile the package bplIcsFmxDx3Run.dylib. That is the right order and should work. Have you opened the DXe3InstallVclFmx.groupproj? Package output directory is not set in the packages so the default from Tools | Options | Delphi options | Library matters. The default is $(BDSCOMMONDIR)\Bpl\$(Platform) where bplIcsCommonDXE3Run.dylib should be found. On my Win7 box the OS X package output directory is C:\Users\Public\Documents\RAD Studio\10.0\Bpl\OSX32 Similar the DCP output directory $(BDSCOMMONDIR)\Dcp\$(Platform)... -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Problem with DataAvailable
Robert Dorn wrote: Hello (sorry, my english is not soo good ;) ) I have a client and a server program and i use binary mode. The communication between the both programs works great. But after a few time one of the programs no longer call the OnDataAvailable event. But still sending on both programs. the program thats no longer call OnDataAvailable, has RcvdCount 0 or up to 8192. Any idea whats the problem are is? I guess you should include wsoNoReceiveLoop in the ComponentOptions property. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Delphi XE3 - Installing ICS for OSX32
Dergen wrote: Hello, Excuse my English, I'm French. I can not seem to compile the following package: bplIcsFmxDx3Run.dylib These are the error messages I then well yet what have compiled this package just before: - [dccosx Erreur fatale] IcsCommonDXE3Run.dpk(1): E2225 Le package jamais compilé 'IcsCommonDXE3Run' doit être recompilé - [dccosx Erreur fatale] IcsFmxDXE3Run.dpk(54): E2202 Package 'IcsCommonDXE3Run' requis non trouvé An idea of the problem that prevents the compilation? No idea sorry, that one drove me crazy as well, please ask Embarcadero or someone who is more familiar with C++ Builder than I am. By the way, one reason why I do no longer support ICS for C++ Builder. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Delphi XE3 - Installing ICS for OSX32
Arno Garrels wrote: Dergen wrote: Hello, Excuse my English, I'm French. I can not seem to compile the following package: bplIcsFmxDx3Run.dylib These are the error messages I then well yet what have compiled this package just before: - [dccosx Erreur fatale] IcsCommonDXE3Run.dpk(1): E2225 Le package jamais compilé 'IcsCommonDXE3Run' doit être recompilé - [dccosx Erreur fatale] IcsFmxDXE3Run.dpk(54): E2202 Package 'IcsCommonDXE3Run' requis non trouvé An idea of the problem that prevents the compilation? No idea sorry, that one drove me crazy as well, please ask Embarcadero or someone who is more familiar with C++ Builder than I am. By the way, one reason why I do no longer support ICS for C++ Builder. Oh that's not C++ Builder but Delphi, isn't it? Anyway my french isn't good enough to translate the error message. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] HTTPS problem
Wilfried Mestdagh wrote: It is an old application written in Delphi 7. No problem since both ICSv7 and ICSv8 still support Delphi 7. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] HTTPS problem
Arno Garrels wrote: If you send that file to me as PM I'll take a look at it when I have some minutes, Hello Wilfried, Received your log thanks, it looks strange! When I try to Post some nonsense data to your URL it works as expected (404 return). Strange is that the server seems to initiate a SSL/TLS renegotiation so there are two OnSslHandshakeDone events for me. The first handshake in _your log succeeds however the second fails: {code} - 15:13:48:793 ICB SSL3 alert read fatal handshake failure - 15:13:48:803 00A94398 BIO_read(sslbio, 0x1, 0) = 0 [186] - 15:13:48:803 00A94398 1812 [187] error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure {code} Maybe a newer OpenSSL libraries will help since some older versions did not support renegotiation due to some security issue that was fixed in newer versions. In my test above I used Openssl v0.9.8x 32-bits from: http://wiki.overbyte.be/wiki/index.php/ICS_Download with latest ICSv8, latest ICSv7 should make no difference in this regard. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] HTTPS problem
Wilfried Mestdagh wrote: I set IcsLogger, but I'm not sure what I should conclude from this log. I'm not HTTPS experience :( Can someone say what possible go wrong seeing this log? From what you posted in your previous mail there's no SSL stuff included in the log, check your IcsLogger LogOptions. Best results when you include every LogOption except just one of the loDest.. opts, choose loDestFile and LogFileOption = lfoOverwrite. That's the fastest way to get it all logged. If you send that file to me as PM I'll take a look at it when I have some minutes, either today or tomorrow evening. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] ...SMTPClient
Raymond Kennington wrote: Hello. One of my developed has been using this component to send messages for 13 years. No problems! Thanks!! Now I am incorporating the code into another project, and I would rather use Bcc instead of cc - because I don't want the receiver to know who else the message is being sent to. Is Blind carbon copy possible with this component? Of course it is. The easiest way is to use method RcptNameAdd(const ToList, CcList, BccList: string) as shown in MailSnd demo in order to specify the recipients. List separator is either ; or ,. A Bcc recipient simply isn't listed in the email header. Means do neither assign Bcc recipients to property HdrTo nor to HdrCc. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] TSslSmtpCli...
zayin wrote: Hello, I have seen TSslSmtpCli mentioned a couple of places but very little data. Does such a thing exist? Is it part of the ICS-SSL suite? It is part of ICS since v7. I am currently using TSmtpCli and TPop3Cli for some very light email notifications. The need to support TSL/SSL has come up and I am looking around for data. There are demo applications. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] IPv6 support on TPing
Mauro Ubeda wrote: Hello! I'm doing some eval of this components but i found that the TPing component doesn't support IPv6 at the moment (ICS version 8). Am i right? Yes, you are right. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Authentication broken or has problems with HTTP/1.1?
Albert Wiersch wrote: Please have a look at this issue: http://www.htmlvalidator.com/CSEForum/viewtopic.php?f=1t=1729 Does anyone have any idea why authentication might work with HTTP/1.0 but not HTTP/1.1? Could the problem be on the ICS end or is it more likely to be a server issue? I don't know what the problem is, the only way to know is to try to reproduce the reported problem. Do your users connect thru a proxy with HTTP authentication and if yes, what type of proxy authentication? There are AFAIK some old proxies that require HTTP/1.0. What type of authentication is provided and actually used for the protected page? Is HTTPS the proto? Some users are reporting that the authentication doesn't work in my recent releases, which default to HTTP/1.1 now instead of HTTP/1.0. Maybe it is due to my latest, just briefly tested, bugfix? Though I don't think so. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] TWSocket Digest, Vol 507, Issue 5
Markus Humm wrote: Hello! Using HTTPCLI AsyncGET how main thread wait for the Async to download the html code. Code relies on input html code. If i sleep the main ui thread it will become frozen. I know how to get HTML with Async via Events but i have no idea how program it so that Main UI thread will wait and then continue.. :) Hello, use a timer. The HTML fetches your stuff async and stores it somewhere and sets some get was successfull flag. This is definately not the way to use ICS components. Either use the events or, if available, the synchronous methods. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Wait for
David Loncarek wrote: Using HTTPCLI AsyncGET how main thread wait for the Async to download the html code. Take a look at procedure THttpCli.DoRequestSync() in unit OverbyteIcsHttpProt.pas, which handles the synchronous methods of THttpCli. Code relies on input html code. If i sleep the main ui thread it will become frozen. Of course, never call sleep() (at least in 99.99% of the casses) since it pauses the calling thread. I know how to get HTML with Async via Events but i have no idea how program it so that Main UI thread will wait and then continue.. :) Simply use THttpCli's synchronous methods such as Get rather than GetAsync. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] TWSocket Digest, Vol 507, Issue 5
Markus Humm wrote: Re: [twsocket] TWSocket Digest, Vol 507, Issue 5 Please use the correct subject when you replay. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] [FEATURE REQUEST] - Certificate from Windows store
marius gabi wrote: Hello Do you believe that in the near future will be added to ICS the functionality to use a certificate directly from Windows store? I do not believe so, at least *I* will not add it in the near future. I think that ICS OpenSSL source has to be made OpenSSL-Engine compatible and OpenSSL's capi engine should be enhanced (either convert current C-code to Delphi or do it in C). -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] UDP Problem
Jack Moran wrote: I am having a problem with OverbyteIcsUdpSend. On compilation I get a message Field MainForm.Wsocket does not have a corresponding component. Remove the declaration? I say No, but then get an access violation at 0x00544c24 when it tries to set Wsocket. I've tried both the XE2 and XE3 versions. Sounds like ICS is not installed in the IDE. What version of ICS and Delphi do you use? -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] UDP Problem
Jack Moran wrote: That's probably my problem. How do I install ICS? I'm just adding files to the project. I'm using Delphi XE2 and ICS Gold. Quoted from ReadMe7.txt: {code} INSTALLATION USING THE INSTALL PROJECT GROUPS For each Delphi and C++ Builder version one project group is provided in directory .\Install: Delphi 7 : D7Install.bpg Delphi 2006 : D2006Install.bdsgroup Delphi 2007 : D2007Install.groupproj Delphi 2009 : D2009Install.groupproj Delphi 2010 : D2010Install.groupproj Delphi XE: DXeInstall.groupproj Delphi XE2 : DXe2Install.groupproj Delphi XE3 : DXe3Install.groupproj C++ Builder 2006 : CB2006Install.bdsgroup C++ Builder 2007 : CB2007Install.groupproj C++ Builder 2009 : CB2009Install.groupproj C++ Builder 2010 : CB2010Install.groupproj C++ Builder XE : CBXeInstall.groupproj C++ Builder XE2 : CBXe2Install.groupproj C++ Builder XE3 : CBXe3Install.groupproj 1 - Do a File/Open Project, navigate to the Install directory, select the correct file and open it. The project manager view should now display two package projects, one run-time and one design-time package. The run-time package name contains the Run suffix. The design-time package name contains the Design suffix. 2 - Select and Build the run-time package (do not install). 3 - Select and Install the design-time package. After a few seconds, you should have a dialog box telling you the package has been installed with a bunch of new components registered in the Tool Palette under Overbyte ICS and Overbyte ICS SSL. Then do a Save All and a Close All. {code} If you need ICS for FireMonkey get ICSv8 downloadable from: http://wiki.overbyte.be/wiki/index.php/ICS_Download and you must install DXe2InstallVclFmx.groupproj instead. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Original way of iterating thru all the bits in an integer
François Piette wrote: The final code looks like this: var OneBit : Boolean; begin for OneBit in TBitIterator.Create(1234) do Write(Ord(OneBit)); end; You can read the article at http://francois-piette.blogspot.be/2013/01/original-method-to-iterate-bits-w ithin.html Wirth was right: Software is getting slower more rapidly than hardware becomes faster. ;) -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Changing port on ThtmlSmtpCli
André Michel Descombes wrote: Hello, for quite a few years I have been using an application I wrote using the THtmlSmtpCli component using the default port 'smtp'. The problem I am encountering now is that my internet provider has decided to block port 25 in order to avoid spam. Is it possible to simply change port to '26' ? Yes it is, provided that port 26 isn't blocked and the SMTP server is actually listening on port 26. GMail, for instance, provides port 587 as an alternate to port 25 (explicit SSL thru command STARTSSL). -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Did I find a bug in THttpCli? (Beta fix availablefor download)
Arno Garrels wrote: Here is a fix that is briefly tested once without proxy and once with squid proxy and NTLM authentication in V8 only: http://delphi.duodata.de/archive/OverbyteIcsHttpProtV7-V8.zip These units are based on latest svn revision. Please let us know how it works for you (you have to rename the units, replace your local OverbyteIcsHttpProt.pas and rebuild). I checked in those fixes yesterday so more people will test them. The ZIP file above is no longer available for download, just get recent ICS from here: http://wiki.overbyte.be/wiki/index.php/ICS_Download. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Skype like application
Paul wrote: Hi all, I want to make an application to that can receive streaming camera images using udp hole punching. I found this link the net, but I have no clue of how to start with it. http://www.brynosaurus.com/pub/net/p2pnat/ Is there someone that can get me started with this ? What's the actual problem? From a brief look the article above seems to describe hole punching very well, guess you just have to implement it accordingly (also known as work ;). -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Skype like application
Paul wrote: What's the actual problem? From a brief look the article above seems to describe hole punching very well, guess you just have to implement it accordingly (also known as work ;). (also known as work ;). Yes, but I don't like to work :) No, seriously, I've never had the time to dive into socket programming and still struggling to find the time for it. So, I need to get as much info I can before I even can start with it ... It's obvious that a central server has to be used to exchange connection/NAT data to both peers, Fore sure it is, and also to be able to fall back to simple relaying. but there are many articles to find on the net and many are contradictable Hard to believe that P2P worked without rendezvous server. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] TSslHttpCli timeout
Boris Saint-Martin wrote: Hi, I'm using an API to send files to a VOD platform through the TSslHttpCli component (GetAsync command). My problem is that my connection is closed by the server due to a timeout (504). The server seems not responding to my GET request before he has finished to download the file from my web server. So when the filesize is bigger than 2MB the timeout is raised. Does the probleme can come from settings in the TSslHttpCli ? I don't think so, since you use async methods there's no client-side timeout by default. Can I desactivate any connection timeout (I used SslHttpCli.Connection := 'Keep-Alive';) ? With HTTP v1.1 Keep-Alive is the default, it just *asks* the server to keep the connection alive, however most servers close connections after a short idle period nevertheless which is legal. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] How can I know the IP address?
David Bridges wrote: If I have a wired local area connection and some wireless connection how can I know which I'm connected through? If I can obtain the IP address of the adapter I'm connected through I could tell but can't determine how to do that. I tried GetPeerAddr() but it's returning error, maybe because I'm asking this question on the server? In any case, what is the best way to determine /how/ I am connected from within my program? There is V8 OverbyteIcsSocketUtils.pas that is crossplatform. In V7 is was OverbyteIcsWinsock2.pas. procedure IcsGetInterfaceList(InterfaceList : TInterfaceList); overload; procedure IcsGetInterfaceList(StrList : TStrings); overload; function IcsAddrSameSubNet(const LocalIPv4Addr, SomeIPv4Addr: in_addr) : Boolean; overload; function IcsAddrSameSubNet(const LocalIpv4Addr, SomeIPv4Addr : AnsiString) : Boolean; overload; function IcsIsIpPrivate(saddr : in_addr): Boolean; Also, is there anywhere that you can search archives of this list as in with a search engine? http://marc.info/?l=twsocket -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Did I find a bug in THttpCli? (Beta fix available for download)
Arno Garrels wrote: There are just two 'small' bugs: 1) property Location doesn't include the port number and 2) the Host header lacks the port number as well which is the reason why your php script reports port 80 though the client actually is connected to port 8080. The fix in standard cases ( no proxy and no SSL ) is rather simple. However a fix that works with SSL and all proxy authentications is not trivial since everything has to be tested carefully. I've currently not enough spare time to fix it. Well, I should have said not enough spare time to test it very carefully Here is a fix that is briefly tested once without proxy and once with squid proxy and NTLM authentication in V8 only: http://delphi.duodata.de/archive/OverbyteIcsHttpProtV7-V8.zip These units are based on latest svn revision. Please let us know how it works for you (you have to rename the units, replace your local OverbyteIcsHttpProt.pas and rebuild). -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] SSL Context Object
David Loncarek wrote: Hello! When trying to HTTP GET from an https://www.example.com; i get an exception First chance exception at $7591C41F. Exception class ESslContextException with message 'SSL requires a context object'. Process Project1.exe (4640) That's an easy one. Have you dropped a TSslContext onto the form and assigned it to property SslContext of the TSslHttpCli ? -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Did I find a bug in THttpCli?
Albert Wiersch wrote: Hi Arno, I tested with the ICS-V7 snapshot here: http://wiki.overbyte.be/wiki/index.php/ICS_Download And it didn't work. It requested port 80 when it should have requested port 8080. It works as expected in Firefox. Please read my previous messages in TWSocket. There are just two 'small' bugs: 1) property Location doesn't include the port number and 2) the Host header lacks the port number as well which is the reason why your php script reports port 80 though the client actually is connected to port 8080. The fix in standard cases ( no proxy and no SSL ) is rather simple. However a fix that works with SSL and all proxy authentications is not trivial since everything has to be tested carefully. I've currently not enough spare time to fix it. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] SSLHTTPCLI Bug
David Loncarek wrote: Hello! When compiling and droping the design time component on the form in XE3. Compiler sadly shows this.. Define USE_SSL in your project options and *Rebuild* the project compiling isn't enough after conditionals have changed. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Did I find a bug in THttpCli?
- Original Message - From: Angus Robertson - Magenta Systems Ltd an...@magsys.co.uk To: twsocket@elists.org Sent: Tuesday, December 11, 2012 5:25 PM Subject: Re: [twsocket] Did I find a bug in THttpCli? If you GET this URL: http://www.htmlvalidator.com/test/cookies/test-redirect.php Then you get Server port is 80. with the ICS demo, but put the same URL in a browser and you get Server port is 8080. I have reproduced this using the ICS browser demo, which is useful for testing stuff such as this due to logging protocol and showing you the web page at the same time. I'll look at a fix, since I have relative relocation bug to fix as well. Before you try to fix/break something that works, I urge you to check with Wireshark that the redirection works as expected to port number 8080, the only problem I see so far is property Location should likely include the port number in this test case. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Did I find a bug in THttpCli?
- Original Message - From: Angus Robertson - Magenta Systems Ltd an...@magsys.co.uk To: twsocket@elists.org Sent: Tuesday, December 11, 2012 6:33 PM Subject: Re: [twsocket] Did I find a bug in THttpCli? Before you try to fix/break something that works, I urge you to check with Wireshark that the redirection works as expected to port number 8080, the only problem I see so far is property Location should likely include the port number in this test case. The first thing I'll do is fix the logging so we can actually see what is happening I do not see the logging is wrong, actually it's logged what's being sent and the Location property as is (which is wrong). So I see two problems now, missing port number in both Location property and Host header line. Relocation itself (connecting to the correct port) actually works. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Did I find a bug in THttpCli?
Albert Wiersch wrote: From: twsocket-boun...@elists.org [mailto:twsocket-boun...@elists.org] On Behalf Of Arno Garrels If you just recognized that string property Location doesn't include the port number then that might be a bug. However relocation works without problem for me with the OverbyteIcsWebServ demo listening, for instance, on port 81 and the OverbyteIcsHttpTst demo (your sample URL did not work, please provide an URL that shows the problem). Hi Arno, I think the problem may be more serious. Please try this URL: http://www.htmlvalidator.com/test/cookies/test-redirect.php It should redirect to: http://www.htmlvalidator.com:8080/test/cookies/test-redirect-port.php I tested with current ICSv8/v7 and it works perfectly (checked with Wireshark). The only problem is that property Location doesn't include the non-default port number. A workaround would be to get the Location header manually. But THttpCli seems to ignore the port No it doesn't with a recent ICS, only property Location is a bit buggy IMO. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] exception after THttpCli.ReqDone causes double triggerof RequestDone
brian - wrote: After RequestDone with THttpCli, if there is an -unhandled- exception before the code is out of ReqDone stack, RequestDone is triggered again. [..] You will see RequestDone is triggered twice, and external exception handlers or delphi's don't trigger at all (e.g madExcept). If you want MadExcept handle those exceptions add i.e. these lines initialization SetIcsThreadLocalFinalBgExceptionHandling(fehAppHandleException); This tells ICS to call the global Application's exception handler for any unhandled background exception in main thread context rather than eat unhandled exceptions. I know I can solve this by using try/except on the final code, or using BgException (canclose := False), Indeed it's best practice to catch and handle all exceptions in the event handlers. but why is this happening? It happens because Abort is called by default on unhandled exceptions which in turn calls OnRequestDone() again. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
[twsocket] Async revival
Interesting: http://en.wikipedia.org/wiki/Nodejs -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Did I find a bug in THttpCli?
Albert Wiersch wrote: If a request is redirected and contains a port number, then it seems that the new request drops the port number. If you just recognized that string property Location doesn't include the port number then that might be a bug. However relocation works without problem for me with the OverbyteIcsWebServ demo listening, for instance, on port 81 and the OverbyteIcsHttpTst demo (your sample URL did not work, please provide an URL that shows the problem). -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Windows Certificates Store Usage
marius gabi wrote: Hello Could you please let me know if there is possibility to use ICS library in combination with certificates from Windows store. If this possibility exists please provide me a small code demo (client implementation). 1) It is not possible to use certificates from the Windows stores directly. If your server or client requires a certificate it has to be a file in PEM format. Export it manually from the certificate store and use OpenSSL.exe to convert it to PEM. 2) Verification of peer certificates can be done against the trusted Windows certificate store, see the OverbyteIcsMsVerify demo. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] MagFTP or ICS FTP Client
Mark E. Moss wrote: address=markm...@ix.netcom.com Hello Using either MagFTP or the ICS FTP Client how can I determine if a File Exists on an FTP Server? I do not want to download it, just check if it exists. Method Ls is what you are looking for. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] curl_multi in ICS
David Loncarek wrote: Hello! How can I load URL's in an array and use Async HTTP Get on all of them at the same time. For example thats how curl_multi works.. Take a look at the OverbyteIcsHttpAsy demo. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] FTP Client - Large files
- Original Message - From: Angus Robertson - Magenta Systems Ltd an...@magsys.co.uk To: twsocket@elists.org Sent: Wednesday, November 28, 2012 11:36 AM Subject: Re: [twsocket] FTP Client - Large files It would appear that this FTP site does not send a FTP 226 Transfer Complete for large files. So it's a faulty FTP server, not a problem with the FTP client. Or only that server is behind a router or it is the slowest. I still think it's likely a faulty router that times out the control connection, hence the FTP 226 Transfer Complete response is very likely sent however dropped by the router, so not logged in Wireshark. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] FTP Client - Large files
Angus Robertson - Magenta Systems Ltd wrote: Not sure why you using Wireshark, the FTP component has all the events you need to log the FTP protocol, even without the logger component. I think he uses Wireshark because, and that makes sense, he wants to know whether or not the server response to the PUT request is actually received. From how I read OP's messages the response to the PUT request is sometimes and sometimes not included in the Wireshark logs, which is at least strange. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] FTP Client - Large files
Graham Powell wrote: I have tried Passive, Active, ASCII and Binary modes - no difference. Have you tried with the OverbyteIcsFtpTst demo yet? -- Arno Garrels -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] FTP Client - Large files
Graham Powell wrote: The OverbyteIcsFtpTst demo suffers from the same problem. No ftpPutAsync event generated at the end of the transfer. Interesting, Angus should know how he tweaks the ICS component to make them working. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] FTP Client - Large files
Graham Powell wrote: 12:52:37:143 03B6F9B0 TCustomWSocket.Shutdown 1 1824 12:52:37:196 |226 File receive OK.| *** THIS IS MISSING IN THE OTHER FTP UPLOAD *** http://www.ncftp.com/ncftpd/doc/misc/ftp_and_firewalls.html#FirewallTimeouts Comes to mind, however I wonder why it happens only with one FTP server, maybe it is the slowest? Or that server is behind a router. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] FTP Client - Unicode Filenames
Graham Powell wrote: I am currently testing with 3 FTP sites and none of them work with Unicode characters. The OPTS UTF8 ON returns unsupported. Well, OPTS UTF8 was always unoffical, what does the FEAT command return is much more important, in latest OverbyteIcsFtpTst demo I show how to handle it, also follow the links in the comments: procedure TFtpReceiveForm.FtpClient1RequestDone( Sender : TObject; RqType : TFtpRequest; ErrCode : Word); var Cli : TFtpClient; begin Cli := TFtpClient(Sender); Display('Request ' + LookupFTPReq (RqType) + ' Done.'); Display('StatusCode = ' + IntToStr(Cli.StatusCode)); Display('LastResponse was : ''' + Cli.LastResponse + ); if ErrCode = 0 then Display('No error') else Display('Error = ' + IntToStr(ErrCode) + ' (' + Cli.ErrorMessage + ')'); { Display last progress value } InfoLabel.Caption := IntToStr(FProgressCount); if ErrCode = 0 then begin case RqType of ftpFeatAsync, ftpConnectFeatAsync, ftpConnectFeatHostAsync : { If the server supports rfc 2640 we turn UTF-8 ON.} { see also http://wiki.filezilla-project.org/Character_Set } { For backward compatibility with servers that implement } { the long expired IETF draft } { http://tools.ietf.org/html/draft-ietf-ftpext-utf-8-option-00 } { it is also required to send the OPTS UTF8 ON command and to } { ignore a possible error response.} if ftpFeatUtf8 in Cli.SupportedExtensions then begin { Sets property CodePage as well in Edit's OnChange } CodePageEdit.Text := IntToStr(CP_UTF8); Display('Server seems to support RFC 2640 - UTF-8 turned on'); end; ftpOptsAsync : { Opts UTF8 ON is only required for backward compatibility } { with servers not implementing rfc 2640 properly. } if Cli.NewOpts = 'UTF8 ON' then CodePageEdit.Text := IntToStr(CP_UTF8) else if Cli.NewOpts = 'UTF8 OFF' then CodePageEdit.Text := IntToStr(CP_ACP); -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] ICS FTP Client Strange Effect
Graham Powell wrote: I have an odd effect that I'm sure one of you clever guys will provide an answer to. I am using the FTP client to put a file on the a web site. The file format is of my own making and have no trouble reading and writing to files to/from the hard drive. Apart from the first 4 bytes in the file, the data is stored as Unicode. So in the case of English text every other byte is zero. Now when I putAsync the file and look at the result it has stored every carriage return with the two bytes in reverse order. So $0D, $00 is stored as $00, $0D. Line feeds and all the other text are stored correctly. Am I doing something wrong? The FTP component is as per the default settings. Have you tried binary mode yet? -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] ICS FTP Client Strange Effect
Graham Powell wrote: Just spotted that with Wireshark. Although Binary mode is set at design time I remember now that I have to set TypeBinaryAsync after the connection is made. Yep, I and many others had to learn this lesson as well. I vote for Binary as the default mode. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Why is TWSocket.OnDataSent being called twice?
Doug Billi wrote: I've heard a lot about IOCP and wondered how much benefit (if any) such an implementation would have over standard asynchronous sockets. I had thoughts, yes. I even wrote a little test server however speed didn't convince me. And of course, since IOCP is Windows only it would be not available on other platforms. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Optimal number of TWSocket per thread
Max Terentiev wrote: Hi Angus, I perform some tests but cannot send fasten than 200 megabit/sec. On large messages (100kb+) Looks like a bottleneck in SmtpCli's Data/DataNext function. I see the code and found what DataNext send message line by line. You are right, that's indeed some bottleneck. I already changed that for attachments some months ago. On the other side, it's unlikely that a message body will contain plenty of lines. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Client Connect Timeout: How do I useTWSocket.TimeoutConnect?
Doug Billi wrote: I want my TCP client to timeout if it can't connect within 3 seconds. Note, that if you call Connect with a host name TWSocket performs a blocking DNS lookup that cannot be canceled. Such blocking DNS lookup also prevents the timeout timer from working. In order to be able to cancel the DNS lookup request one has to use nonblocking method DnsLookup first and call Connect with an IP address. The TimeoutConnect works for Connect calls with IP address only, so it's a bit useless. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Why is TWSocket.OnDataSent being called twice?
Doug Billi wrote: I've implemented a TWSocket client using a state machine, but after I send the data using SendStr(), the OnDataSent() event gets fired twice. That is normal behaviour. After a Connect two select messages are received from winsock, FD_Connect and FD_Write. The latter triggers DataSent. Then after a Send DataSent triggers again. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
[twsocket] New IcsThread demo shows how to use ICS in a thread (Windows and OS X)
It's done, I just checked in the new IcsThread demo (ICS-V8 Beta). It's located in folder PlatformDemos and in xSamples.groupproj. Will be also available in next ICS-V8 Beta Snapshot ZIP. http://wiki.overbyte.be/wiki/index.php/ICS_Download -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] TWSocket in thread in FireMonkey HD app for futurecrossplatform target
Arno Garrels wrote: Hoby Smith wrote: However, being that this thread is in a FireMonkey HD app, I am unsure how to proceed. Do all the threading message pump issues still apply? Yes. In Windows anyway and in Posix there's Window's messaging emulated (as it's needed to not change ICS' source code too much). In Posix a thread doesn't have to call GetMessage(), PeekMessage() that's the major difference. Actually it's simpler than it sounds, if you do not use your own message loop but ICS' method MessageLoop, there's nothing to change for OSX. If you use your own message loop a few IFDEF's are required, which isn't a big deal and something I'll show in a new demo when I have some spare time. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] TWSocket in thread in FireMonkey HD app for future crossplatform target
Hoby Smith wrote: However, being that this thread is in a FireMonkey HD app, I am unsure how to proceed. Do all the threading message pump issues still apply? Yes. In Windows anyway and in Posix there's Window's messaging emulated (as it's needed to not change ICS' source code too much). In Posix a thread doesn't have to call GetMessage(), PeekMessage() that's the major difference. Unfortunately there's not yet a FMX threaded demo available, I'll try to add one next weekend when I have a few hours. In the meanwhile take look at unit Ics.Posix.Messages and TIcsMessagePump that implements the fake messaging in Posix and OSX. Also take a look at the console demo IcsConSmtp in PlatformDemos directory (has it changed at all?), console applications do work very similar to ICS in a thread. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Plans for ICS and iOS?
Markus Humm wrote: Hello, afaik pointers are still present in next gen compiler but shouldn't be used as liberately as in the past. Only use them when necessary for certain APIs etc. But where do you have this information from? It's my guess from current XE3 source code. Take a look, for instance, at SysUtils.TPtrWrapper, SysUtils.TMarshal. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Plans for ICS and iOS?
Hoby Smith wrote: Now that ICS supports both Windows and MAC OS X via FireMonkey (FM2), do you have any plans to support iOS targets in the future as well? Or, are you waiting for the future XE3/4/5.2 or whatever that will eventually include the new native non-Win target compilers? That was my plan last year, but then EMB crippled Delphi for their NextGen compiler IMO. Looking at XE3's source code it becomes clear that there will be no more Pointers, only one string type etc.. in NextGen which seemed to be required for their already announced mobil studio. So I for one gave up that plan, (no Pointers = no Arno coding ICS/Delphi). -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] TWsocket and EStackOverflow
LeNif wrote: I already try, after reading the Wiki, the Shutdown(1) procedure, anyway, the result is the same. I try close, shutdown, abort ... etc. Try the following: From the OnSessionClosed event handler post a custom window message and reconnect when that message is handled. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] State of IP V6 support?
Stefan Paege wrote: Angus, thank you very much for all the information. And - of course - for all the work you and the others are investing in ICS. You are welcome, if you run into any trouble with updating your projects please do not hesitate to ask here. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] FIX for bug in HdrEncodeInline and/or StrEncodeQPEx !!
Max Terentiev wrote: I fixed a bug in the HdrEncodeInline-StrEncodeQPEx wrote about yesterday. Hello Max, Many thanks for this, I just checked in your fix in both SVN repos, v7 and v8. So next daily snapshots will include your fix. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] BUG REPORT: Division by zero
Vladimir Kudelin wrote: Therefore, I had to apply the following fix: if Tick = FPrevTick then FCurSpeed := 0 else FCurSpeed := 8 * (FTotalCount - FPrevCount) / (Tick - FPrevTick); Hello Vladimir, Many thanks for this, I just checked in your fix in both SVN repos, v7 and v8. So next daily snapshots will include your fix. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] ADV: WebSockets server component and demo
Stan wrote: Hi, I've create a Google code project to host WebSockets server implementation for ICS, accessible now at http://code.google.com/p/ics-websockets/. The code did not change much from March, when it was intially created and sent to Francois. I'm not working on this now, but hope it can be useful to someone. Thanks, I think Francois should add the link above to his User Made page, though I haven't had a look at the source code yet. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] TiggerSessionClosed...
zayin wrote: but unless is cumulative it really does not matter. I concur. It is just a pain. IMHO, there should be some step(s) to close the clients and close the server and not have a memory leak. I've never seen that leak, anyway Close server's listening socket in order to disable new connections before destroying/closing all connected clients and freeing the TWSocketServer object. As I wrote before the allocated memory is either freed when the message is handled (the default) or when the call to PostMessage() failed, so the only case where a leak may happen is when PostMessage() succeeded however that message is never handled (happens, for instance, _if the destination Window has been destroyed after the call to PostMessage). -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] TiggerSessionClosed...
zayin wrote: ..happens, for instance, _if the destination Window has been destroyed after the call to PostMessage Because the program is ending when the leak occurs that is exactly what I think is occurring. So, after I close all the clients, I call now server.ProcessMessages and that seems to handle the leak. Do you see any problem with that solution? Don't know, generaly I try to avoid calling the message pump, in case of destroying the TWSocketServer object it's better to abort all clients, have you tried method DisconnectAll already? -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] TiggerSessionClosed...
zayin wrote: Hello, I have upgraded from D2007 to XE and I am now using version 7.04 of ICS. When I close the socket I am getting a memory leak at line 686 in TWSocketClient. TiggerSessionClosed. the line is New(PIdRec); I do see that if the PostMessage call fails, PIdRec is released on line 696. If the PostMessage succeeds, PIdRec is not released. I have no idea why the PostMessage would fail. If it failed there won't be a leak, the allocated memory will be freed when that message is handled. The leak happens when the call to PostMessage() succeeds however the TWSocketServer component will be destroyed before that message has been processed. If that happens on application exit nothing to worry about. Otherwise make sure you close all clients before destroying the server component. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] TSmtpCli in library: how to process events?
Ronald Wilmink wrote: I have used the TSmtpCli component in applications without any problems. But now, I need to use it in a service that calls a function in a dll that has no Form, just units. That function needs to send emails. Since the component works with events that are not available in the dll, mailing does not work. Using ICS in a DLL is similar to using it in a console application. Take a look at the OverbyteIcsConSmtp demo for an SMTP example or at the OverbyteIcsDll samples. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] 403 when requesting https://www.ilac.org
Albert Wiersch wrote: This brings up a question that perhaps you can answer. Should I default to downloading URLs and checking links with HTTP/1.1? Is there anything I should know other than simply changing the version property on the component? It's just my wild guess that today there are more servers supporting only HTTP v1.1 than servers supporting only HTTP v1.0. But why not try both if one fails? -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] 403 when requesting https://www.ilac.org
Albert Wiersch wrote: Does anyone know why I get a 403 when requesting https://www.ilac.org with ICS/HttpCli? A GET works fine however a HEAD returns 403 (tested with latest IcsHttpsTst FireMonkey demo). I can open it fine in browsers. I am wondering if it could have something to do with SSL. Where can I get the latest libeay32.dll and ssleay32.dll binaries that work with ICS? http://wiki.overbyte.be/wiki/index.php/ICS_Download Note that latest OpenSSL libraries require a recent ICSv7 or v8. -- Arno Here is more info: Proxy No proxy being used Command GET / HTTP/1.0 Command Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */* Command Host: www.ilac.org:443 Command Header HTTP/1.1 403 Forbidden Header Date: Fri, 05 Oct 2012 16:11:03 GMT Header Server: Apache Header Content-Length: 333 Header Connection: close Header Content-Type: text/html; charset=iso-8859-1 StatusCode = 403 ReasonPhrase = Forbidden Thanks, Albert Wiersch AI Internet Solutions LLC supp...@htmlvalidator.com http://www.htmlvalidator.com/ -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] 403 when requesting https://www.ilac.org
Albert Wiersch wrote: A GET works fine however a HEAD returns 403 (tested with latest IcsHttpsTst FireMonkey demo). Hi Arno, I tried with the HTTPS TEST and got a 403 with GET? Any ideas? This was with XE so no FireMonkey. Try HTTP version 1.1, with 1.0 I do see the error as well. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Shutdown without OnClientDisconnect
Josh Leder wrote: Hello I'm using ICS v7 as a SOCKS4 server. I've got a TWSocketServer component that accepts clients, and performs beautifully in most circumstances. The issue I'm having is that often an HTTP client will send its request and then perform a shutdown(SD_SEND), waiting to receive response data from the HTTP server which will then perform its own shutdown(SD_SEND). The TWSocketServer seems to process this as an OnClientDisconnect event, while the TWSocketClient class just performs an OnDataAvailable, and Client.Receive returns 0 which is the standard behaviour to indicate a shutdown(SD_SEND) event from the SOCKS peer. Is there any way to prevent the Server.OnClientDisconnect in this case? Yes, I think so. I'd like to pass the shutdown(SD_SEND) to the remote (proxied) host and maintain the TWSocketClient connection open until both sides have closed the connection normally. You could override procedure TCustomWSocket.Do_FD_CLOSE(var msg: TMessage); in your custom TWSocketClient class in order to delay the shutdown. However make sure that you call TriggerSessionClosed() (later on) otherwise TWSocketClient objects would leak. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] FTPclient Error 426
Maria wrote: In the program before we call DirectoryAsync we check to see if the FTPClient is connected. If it is we call abort then quit. Abort followed by Quit is nonsens. Method Abort aborts the connection, command Quit however requires a connection in order to send the Quit-command to the server. Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Timeout during 'put' with TFtpClient
Steve Loft wrote: I have an application which uploads a small file every 10 seconds using a TFtpClient. I have the timeout set to 15 seconds. One installation is getting a timeout every couple of minutes: The server does not seem to close the data connection after the client did send Shutdown(1) hence the timeout, that is a server bug IMO. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] ICS support for RAD Studio XE3
- Original Message - From: Angus Robertson - Magenta Systems Ltd an...@magsys.co.uk To: twsocket@elists.org Sent: Friday, September 07, 2012 5:56 PM Subject: [twsocket] ICS support for RAD Studio XE3 Support for Delphi and C++ Builder XE3 is now available in ICS V8 beta available from: http://wiki.overbyte.be/wiki/index.php/ICS_Download When I click on the ICS-V8 Beta Snapshot, link http://wiki.overbyte.be/arch/change-log-icsv8.xml I get this error: Object not found! The requested URL was not found on this server. The link on the referring page seems to be wrong or outdated. Please inform the author of that page about the error. If you think this is a server error, please contact the webmaster. Error 404 wiki.overbyte.be Fri Sep 7 21:40:29 2012 Apache/2.2.15 (Fedora) -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] TSslSmtpCli won't complete TLS on port 25
gjohn...@mixnym.net wrote: If it does work with port 587 it should work with port 25 the same way since both support the STARTTLS command. I've no idea why it doesn't work for you? That's been the mystery for me, Arno! Same for me, especially since both port numbers do work for me and my customers. 01:58:30:254 022C2400 BIO_ctrl_get_write_guarantee(nbio) = 4096 [23] 02:08:29:657 022C2400 TCustomSslWSocket.Do_FD_CLOSE error #0 556 Here's the problem, there's nothing more received but a connection close after around 10 seconds? -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] TSslSmtpCli won't complete TLS on port 25
gjohn...@mixnym.net wrote: On Sun, 26 Aug 2012 09:52:14 +0200, you wrote: gjohn...@mixnym.net wrote: Demo settings: smtp.gmail.com:25 SslVerifyPeer = unchecked SSL type = Explicit(StartSssl) Hi Arno, I'm sorry to say, I couldn't run the demo in cbuilder 2007. But I put together a quick demo based on the SslMailSnd project to test for the problem. It's a very small project _only_ intended to test for failed handshake--nothing more. My demo resulted in the same problem that my program has. It fails the handshake. Here are my results. Make sure that property TSslContext-SslVersionMethod is set to sslV23_CLIENT and that you use recent SSL libraries from here ( supported version depends on the version of your source code): http://wiki.overbyte.be/wiki/index.php/ICS_Download Gee, I had hopes for that! But it still fails the handshake. Just as a test I set the port to 587 in my little demo and then the handshake succeeded. But on port 25, fails. If it does work with port 587 it should work with port 25 the same way since both support the STARTTLS command. I've no idea why it doesn't work for you? If the handshake still fails drop a TIcsLogger onto the form, tick all options and log the failure, post the log to this list. Well, I didn't get much: 12:51:02:198 InitCtx OpenSSL version: OpenSSL 1.0.0d 8 Feb 2011 That's it. Sorry for my bad advise. The TSslContext has a published property IcsLogger, simply assign it in object inspector. Also assign TSslSmtpClient-CtrlSocket-IcsLogger the same IcsLogger instance at runtime. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] TSslSmtpCli won't complete TLS on port 25
gjohn...@mixnym.net wrote: Demo settings: smtp.gmail.com:25 SslVerifyPeer = unchecked SSL type = Explicit(StartSssl) Hi Arno, I'm sorry to say, I couldn't run the demo in cbuilder 2007. But I put together a quick demo based on the SslMailSnd project to test for the problem. It's a very small project _only_ intended to test for failed handshake--nothing more. My demo resulted in the same problem that my program has. It fails the handshake. Here are my results. Make sure that property TSslContext-SslVersionMethod is set to sslV23_CLIENT and that you use recent SSL libraries from here ( supported version depends on the version of your source code): http://wiki.overbyte.be/wiki/index.php/ICS_Download If the handshake still fails drop a TIcsLogger onto the form, tick all options and log the failure, post the log to this list. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] TSslSmtpCli won't complete TLS on port 25
gjohn...@mixnym.net wrote: Hi Angus, On Thu, 23 Aug 2012 10:19 +0100 (BST), you wrote: I'm having a problem with TSslSmtpCli. It won't complete a TLS connection on port 25. This happens regardless of the server. How many different SMTP servers? 6 or 8 probably--every one I try. I use STARTTLS with smtp.gmail.com on port 25 without any problems, try it. I have a gmail account too. Yep, it fails. Give the SslMailSnd demo a trial, it works: 220 mx.google.com ESMTP fu8sm2298248wib.5 RequestDone Rq=0 Error=0 EHLO your_name 250-mx.google.com at your service, [77.184.1.222] 250-SIZE 35882577 250-8BITMIME 250-STARTTLS 250 ENHANCEDSTATUSCODES RequestDone Rq=10 Error=0 STARTTLS 220 2.0.0 Ready to start TLS Starting SSL handshake Secure connection with TLSv1, cipher ECDHE-RSA-RC4-SHA, 128 secret bits (128 total) RequestDone Rq=12 Error=0 Demo settings: smtp.gmail.com:25 SslVerifyPeer = unchecked SSL type = Explicit(StartSssl) -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] SmtpCli and sending mails in international context
Markus Humm wrote: Hello, Arno wrote: Humm, Markus wrote: Hello, fixed my Smtp problem not by specifiying UTF8 as charset and using AnsiToUTF8 It's not clear how you fixed it? You should specify UTF-8 as the charset if you convert mail body and subject line etc. to UTF-8. Also set Allow8BitChars to FALSE so any 8-bit char will be quoted printable encoded. yes I specified UTF-8 as charset and converted body and subject via AnsiToUTF8 and that looks good now. I also thing I did set Allow8BitChars to FALSE, but out of my head I'm not sure. For me it looks this will be ok until I completely convert to Unicode. Very likely, yes. However consider the port to Unicode soon, V7 includes countless bugfixes, I'm unable to enumerate all fixes here (they are plenty). -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] SmtpCli and sending mails in international context
Humm, Markus wrote: Hello, fixed my Smtp problem not by specifiying UTF8 as charset and using AnsiToUTF8 It's not clear how you fixed it? You should specify UTF-8 as the charset if you convert mail body and subject line etc. to UTF-8. Also set Allow8BitChars to FALSE so any 8-bit char will be quoted printable encoded. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] SmtpCli and sending mails in international context
Markus Humm wrote: Hello, I used SmtpCli in one of my applications (ok still ICS V5 under D2007) ICS V7 supports D7+, so unless you have to support Windows 2000- you should upgrade ASAP. and today I found out that I send all mails with charset set to iso8859-1, even when the message body later on contains japanese (ANSI). This is of course not well displayed in Outlook on the receiving site. Even changing the view/charset doesn't change anything for those far eastern languages. For russion setting this to russian (windows) does at least change the chars so they're proper and result in readable text. In Ansi Delphi the Charset property must match the message text encoding. In oder to get the current code page call Win API GetAcp() and assign the matching mime charset name from http://www.iana.org/assignments/character-sets. In V7 if you assign an empty string to property Charset the component assigns the correct mime charset according to current system Ansi code page automatically. Allow8BitChars is left on it's default value This should be turned **off** when you use the MailMessage property it's just on by default for backward compat. (remember: I'm still on V5, I will move as soon as I get the time to move this project from D2007 to something newer). Again, ICS v7 does support D7+. DefaultEncoding is set to smtpEnc7bit That's OK as long as Allow8BitChars is also set to false at the same time, since that will automatically encode the strings quoted printable if required (if any 8-bit chars). Any hints for me how to do this the correct way? e.g. find out the user's charset and use that? Or sending UTF8? (does this work with all mail clients?) UTF-8 is the charset to use, that should work with all common mail clients today. In Delphi 2009+ the component automatically converts the MailMessage.Text to the Charset specified, in D2007 you have to encode the mail message text manually. -- Arno Garrels -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Ping doesn´t work for 64 bit
David A. G. wrote: Hello, I wonder if there is any solution to the Ping component, it is not working under Win64. I´m getting the error: “General Failure”, compiled with Delphi XE2 (icsv8w-140712) under Win 7 64bit. regards, David A. G. This bug should be fixed in current SVN repo or next daily/nightly download. -- Arno Garrels -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
[twsocket] ICS Beta V8 (aka IPv6 / FireMonkey Beta) updated
Hi, This is just to let you know that the directory structure of the Beta V8 aka IPv6 / FireMonkey Beta branch http://wiki.overbyte.be/wiki/index.php/ICS_Download has changed. A clean SVN check out to a new directory is recommended. The new layout is as follows: .\Info directory .\Install Component packages project groups for all versions .\Packages(was Delphi\Vc32) Delphi (7 and up) and C++Builder (2006 and up) packages projects .\Source (was Delphi\Vc32) ICS Delphi source code .\Source\Include (was Delphi\Vc32) .inc files (including OverbyteIcsDefs.inc) .\Lib Unit output directories for all package builds, subdirectories | for 2007+ will be created on building the packages \$(Config) Release / Debug | \$(Platform) Win32 / Win64 / OSX32 | \delphi_version D7..XE2 includes .dcu and .dfm files for Delphi and .obj and .hpp files for C++ Builder .\Samples\delphi\internet Delphi Win32/Win64 sample applications (all Delphi versions) .\Samples\delphi\sslinternet Delphi Win32/Win64 SSL-enabled sample applications (all Delphi versions) .\Samples\delphi\PlatformDemosDelphi FireMonkey and cross-platform samples (Delphi XE2+) .\Samples\delphi\internet\WebServData Directory for WebServ demo data files .\Samples\cpp\internetC++Builder sample applications .\Samples\cpp\internet\cb2006 C++Builder 2006 projects .\Samples\cpp\internet\cb2007 C++Builder 2007 projects .\Samples\cpp\internet\cb2009 C++Builder 2009 projects .\Samples\cpp\internet\cb2010 C++Builder 2010 projects .\Samples\cpp\internet\cbXE C++Builder XE projects .\Samples\cpp\internet\cbXE2 C++Builder XE2 projects Also read ReadMe8.txt UPGRADING and REINSTALLING -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] how to compile overbyte for windows 64 platform?
Simon wrote: Am trying to compile my server into a win64 exe but can not seam to get overbyte to work i get following error [DCC Fatal Error] mainserverunit.pas(24): F2048 Bad unit format: 'OverbyteIcsWndControl.dcu' - Expected version: 23.0, Windows Unicode(x64) Found version: 23.0, Windows Unicode(x86) any ideas? If your library path points to the ICS\Vc32 directory you have to rebuild your project if the output directories are the same for 32 and 64-bit in order to enforce a .dcu rebuild, a compile won't be enough. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] RFC1123_Date
there is a bug in OverbyteIcsHttpSrv.pas in function FileDate Here's a fix, if you confirm that it works I'll check it in soon (borrowed from code in OverbyteIcsFtpSrvT.pas) : function FileDate(FileName : String) : TDateTime; var SearchRec : TSearchRec; Status: Integer; {$IFDEF MSWINDOWS} LInt64: Int64; const FileTimeBase = -109205.0; // days between years 1601 and 1900 FileTimeStep: Extended = 24.0 * 60.0 * 60.0 * 1000.0 * 1000.0 * 10.0; // 100 nsec per Day {$ENDIF} begin Status := FindFirst(FileName, faAnyFile, SearchRec); try if Status 0 then Result := 0 else {$IFDEF MSWINDOWS} Move(SearchRec.FindData.ftLastWriteTime, LInt64, SizeOf(LInt64)); Result := (LInt64 / FileTimeStep) + FileTimeBase; {$ENDIF} {$IFDEF POSIX} Result := OverbyteIcsUtils.IcsDateTimeToUTC(SearchRec.TimeStamp); {$ENDIF} finally FindClose(SearchRec); end; end; -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] EmailImage in TSslSmtpCli ???
Ilkka Ericsson wrote: Hi ! I have spent a lot of time to get embedded images in smtp:s I have tryed a lot with Indy and Trichview:s demo. It works on the most computors but some mobils will not take it. If I use THtmlSmtpCli it works but I need to use TSslSmtpCli for the most servers. Unfortunately there doesn't exist a SSL enabled THtmlSmtpCli in ICSv7. However with a simple change in OverbyteIcsSmtpProt.pas it's possible to add SSL support to the THtmlSmtpCli: {code} {$IFDEF USE_SSL} THtmlSmtpCli = class(TSslSmtpCli) {$ELSE} THtmlSmtpCli = class(TSmtpCli) {$ENDIF} {code} You have to rebuild the ICS runtime and design-time packages after the change. Note that Object Inspector will always show the SSL properties and events, however they are usable only if USE_SSL is actually defined in the project options under conditional defines, a bit confusing, however it works. A cleaner solution is to use the TSslHtmlSmtpCli component from the ICS IPv6/FireMonkey Beta branch: http://wiki.overbyte.be/wiki/index.php/ICS_Download Please ask questions about ICS in the TWSocket mailing list. Subscribe here: http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket I sent a CC of this email to the mailing list as well. -- Arno -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be