Re: [twsocket] THttpCli digest and basic authentication
Maurizio Lotauro wrote: Sooner or later I must install (and use) a svn client :-) Any suggestion? When using Windows there is the great TortoiseSVN client (http://tortoisesvn.tigris.org/) that integrates into the Windows explorer. Have not found a better tool in the last years - and I really miss it when working on GNU/Linux. Regards, Tobias -- 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] From Fastream and Dod to List: ICS Server/client TCP proxy failing to obeying Windows log off
Hello, My code at http://www.fastream.net/alpha/SecureTunnelClient.zip -according to Dod- causes problems when run for days on Gmail when windows tried to log off. I have no clue what is wrong as it does not occur on my Win Vista x64. The only special thing about the code is the tray icon but that does not seem to be related at all. He is using Win2000. Any idea? Regards, SZ -- 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] breakpoint in NTDll
Hello, I run a certain application using TWSocket, and when I run it in the debugger, then every time when a re Connect is happening (if no server available) the debugger stops at a hardcoded break: NTdll.DBGBreakPoint int 3 ret any idea how this can happen ? -- Rgds, Wilfried http://www.mestdagh.biz -- 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] THttpCli digest and basic authentication
Maurizio Lotauro wrote: Scrive Arno Garrels arno.garr...@gmx.de: Maurizio Lotauro wrote: Scrive Arno Garrels arno.garr...@gmx.de: Maurizio Lotauro wrote: [...] But if you have time give a look in the code, particularly to HttpAuthNTLM to get an idea how implement the Digest authentication class. Already done last week. However Digest is more similar to Basic, the only difference to Basic is that at least one challenge is required to build the Authorization header line. The key is the PrepareNextStep method where the class receive the header line to get all information needed and set the required properties. With digest you would have to parse the server challenge at this point, and check whether it is syntactically correct and reset the nounce count (nc) value/property to zero. For each subsequent Authorization header which is created using the _same challenge the nc has to be incremented by one. Problem is however that if a proxy sends 407 after you already got a server challenge the Autorization header was not received by the server so next time the Autorization header is created the nc must not be incremented otherwise the server may see gaps nc=0001, nc=0003 etc (this is currently no problem since a challenge is not yet reused). [...] Also see my latest changes in the ICS v7 repository. I'll do that but first I must change how the component works. Will you be adding your changes to v7? First I'll work on my version, that actually is used by D5 applications. After that we will see. One problem could be the adaptions to D2009. Sooner or later I must install (and use) a svn client :-) Any suggestion? The TortoiseSVN client is very good choice. I usually do not like shell extensions, however in this case I love it. Btw: If you like WinMerge (http://winmerge.org/) you can set it up as the external the diff viewer and merge tool. All you need to create your own local and network repositories is included in TortoiseSVN as well. Version control is not just useful for teams but also for a one man band. With a few clicks you create your own repositories (no server software is required). I could not live without 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
[twsocket] A place to vote for ICS and Midware
http://www.surveymonkey.com/s.aspx?sm=GBvpD4z7nfeovw53WM5_2bYw_3d_3d -- francois.pie...@overbyte.be The author of the freeware multi-tier middleware MidWare The author of the freeware Internet Component Suite (ICS) http://www.overbyte.be -- 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] OverbyteIcsMimeUtils.pas - DoFileEncBase64
Hello! A reliable way to calculate More was More := Stream.Position Stream.Size; however that is slower since Stream.Size has to seek to the end of the stream and the back to current position on each call of DoFileEncBase64(). (Instead of Stream.Size we could also check against file size, however only with ShareMode fmShareDenyWrite). var LocalStreamSize: integer; [..] LocalStreamSize := Stream.Size; [..] More := Stream.Position LocalStreamSize; [..] Problem solved. -- Piotr Dałek enigmati...@interia.pl -- Zobacz program TV na dzis! sprawdz http://link.interia.pl/f202a -- 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] OverbyteIcsMimeUtils.pas - DoFileEncBase64
Piotr Dałek wrote: Hello! A reliable way to calculate More was More := Stream.Position Stream.Size; however that is slower since Stream.Size has to seek to the end of the stream and the back to current position on each call of DoFileEncBase64(). (Instead of Stream.Size we could also check against file size, however only with ShareMode fmShareDenyWrite). var LocalStreamSize: integer; [..] LocalStreamSize := Stream.Size; [..] More := Stream.Position LocalStreamSize; [..] Problem solved. I do not get this, sorry. Please elaborate. BTW: I uploaded some SMTP changes to the v7 repository. -- Arno Garrels -- Piotr Dałek enigmati...@interia.pl -- Zobacz program TV na dzis! sprawdz http://link.interia.pl/f202a -- 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] breakpoint in NTDll
Wilfried said... NTdll.DBGBreakPoint int 3 ret What OS and version? I can't remember exactly what version it was, but I seem to recall that, quite some time ago, MS accidentally released a WinSock (or some related DLL) build into production that still had a hard break in it from one of the testers. It was really annoying, because it was actually in the MS code and would break under certain circumstances when running in debug mode. Like I said, I don't remember what build and all, but seems like it was an NT version some years back. But, from your info, it sure looks like the same issue. Anyway, if that is the case, there is nothing you can do but just live with it or upgrade the OS. :) -- 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] breakpoint in NTDll
Hi, Wilfried, If my guess is correct and I'm not mistaken the issue is not specific to TWSocket, but to the way how Borland and MS live together. I've stumbled upon it several years ago in an application without ICS components (WinXP + BCB5). I don't remember exactly what solution was applied that time, but what I've found just now - http://cc.codegear.com/Item.aspx?id=15804. Please check if it helps in your case. Some clarifications may be found in the Net, for example - http://www.delphiturkiye.com/forum/viewtopic.php?f=19t=11275 Best wishes, Stanislav Korotky. - Original Message - From: Wilfried Mestdagh wilfr...@mestdagh.biz To: ICS support mailing twsocket@elists.org Sent: Wednesday, January 21, 2009 7:28 PM Subject: [twsocket] breakpoint in NTDll Hello, I run a certain application using TWSocket, and when I run it in the debugger, then every time when a re Connect is happening (if no server available) the debugger stops at a hardcoded break: NTdll.DBGBreakPoint int 3 ret any idea how this can happen ? -- Rgds, Wilfried http://www.mestdagh.biz -- 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 -- 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] Bug in THttpCli--No OnRequestdone called after 304
Hello, The issue occurs with headers as Content-Length: 0 and status=304. Example site: http://www.cypressintegrated.com:8383 Please help! Cannot test pascal code from inside my BCB2007 project!! SZ -- 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 v7 uninstallable under BCB2007!
Hello, In the new charset unit, typedef _CPINFOEXA *PCPInfoExA; E2227 needs a comma! Package installs fine, but project containing components such as THTtpserver and THttpcli does not compile. Best Regards, SZ -- 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] OverbyteIcsMimeUtils.pas - DoFileEncBase64
Hello! Piotr Dałek wrote: Hello! A reliable way to calculate More was More := Stream.Position Stream.Size; however that is slower since Stream.Size has to seek to the end of the stream and the back to current position on each call of DoFileEncBase64(). (Instead of Stream.Size we could also check against file size, however only with ShareMode fmShareDenyWrite). var LocalStreamSize: integer; [..] LocalStreamSize := Stream.Size; [..] More := Stream.Position LocalStreamSize; [..] Problem solved. I do not get this, sorry. Please elaborate. Get the stream size only once - store it somewhere and use stored value instead of calling Stream.Size getter. -- Piotr Dałek enigmati...@interia.pl --- Promocja w Speak Up. Kwartal angielskiego za darmo. 3 miesiace nauki gratis. Sprawdz teraz! http://link.interia.pl/f2019 -- 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] OverbyteIcsMimeUtils.pas - DoFileEncBase64
Piotr Dałek wrote: Hello! Piotr Dałek wrote: Hello! A reliable way to calculate More was More := Stream.Position Stream.Size; however that is slower since Stream.Size has to seek to the end of the stream and the back to current position on each call of DoFileEncBase64(). (Instead of Stream.Size we could also check against file size, however only with ShareMode fmShareDenyWrite). var LocalStreamSize: integer; [..] LocalStreamSize := Stream.Size; [..] More := Stream.Position LocalStreamSize; [..] Problem solved. I do not get this, sorry. Please elaborate. Get the stream size only once - store it somewhere and use stored value instead of calling Stream.Size getter. OK, but what will happen if the stream size changes during encoding, if for instance the component user opened the file with ShareMode fmShareDenyRead? That's why I added public property Mode to the TBufferedFileStream class and check the ShareMode in DoFileEncBase64,. in case of no problem TBufferedFileStream(Stream).FastSize is called (which is current, constant size), otherwise Stream.Size (which is slow, but who will actually open a file to be sent with ShareMode fmShareDenyRead only ? I guess not many). -- Arno Garrels [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html -- 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] OverbyteIcsMimeUtils.pas - DoFileEncBase64
Hello! A reliable way to calculate More was More := Stream.Position Stream.Size; however that is slower since Stream.Size has to seek to the end of the stream and the back to current position on each call of DoFileEncBase64(). (Instead of Stream.Size we could also check against file size, however only with ShareMode fmShareDenyWrite). var LocalStreamSize: integer; [..] LocalStreamSize := Stream.Size; [..] More := Stream.Position LocalStreamSize; [..] Problem solved. I do not get this, sorry. Please elaborate. Get the stream size only once - store it somewhere and use stored value instead of calling Stream.Size getter. OK, but what will happen if the stream size changes during encoding, if for instance the component user opened the file with ShareMode fmShareDenyRead? That's why I added public property Mode to the TBufferedFileStream class and check the ShareMode in DoFileEncBase64,. in case of no problem TBufferedFileStream(Stream).FastSize is called (which is current, constant size), otherwise Stream.Size (which is slow, but who will actually open a file to be sent with ShareMode fmShareDenyRead only ? I guess not many). The only reason for this is creating attachment (file to be encoded) while it is actually encoded, but then, using the mechanism available in ICS is a waste of disk space (already encoded original data still reside on disk). I think that all users will use simple files containing ready data that is not going to be changed during encode process. Supporting other scenarions is overkill, at least for me. If you don't agree, then what if you buffer (in TBufferedFileStream) 1024 bytes, encode first 50, then (somehow) next 100 bytes changes? You still have outdated 100 bytes in the buffer. Then what? Bug, no matter what! So why should you care about size change, if you don't care about actual file changes? I don't think that you're going to support *that* scenario. -- Piotr Dałek enigmati...@interia.pl -- Promocja w Speak Up. 3 miesiace angielskiego gratis. Sprawdz teraz i wypelnij formularz! http://link.interia.pl/f2019 -- 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] THttpCli digest and basic authentication
Scrive Arno Garrels arno.garr...@gmx.de: Maurizio Lotauro wrote: Scrive Arno Garrels arno.garr...@gmx.de: [...] With digest you would have to parse the server challenge at this point, and check whether it is syntactically correct and reset the nounce count (nc) value/property to zero. For each subsequent Authorization header which is created using the _same challenge the nc has to be incremented by one. Problem is however that if a proxy sends 407 after you already got a server challenge the Autorization header was not received by the server so next time the Autorization header is created the nc must not be incremented otherwise the server may see gaps nc=0001, nc=0003 etc (this is currently no problem since a challenge is not yet reused). Hmmm, very interesting. This confirm me that the idea that I have in mind goes in the right direction... [...] Sooner or later I must install (and use) a svn client :-) Any suggestion? The TortoiseSVN client is very good choice. I usually do not like shell extensions, however in this case I love it. Normally I use TotalCommander. Do you know if there are problems with it? Btw: If you like WinMerge (http://winmerge.org/) you can set it up as the external the diff viewer and merge tool. I'm using Beyond Compare. Version 3 is really great! I don't think there are problem to use as external application. All you need to create your own local and network repositories is included in TortoiseSVN as well. Version control is not just useful for teams but also for a one man band. With a few clicks you create your own repositories (no server software is required). I could not live without it ;-) This sounds that RTFM is a need :-) I put it in the queue of thinks to do. Bye, Maurizio. This mail has been sent using Alpikom webmail system http://www.alpikom.it -- 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] THttpCli digest and basic authentication
Scrive Tobias Rapp t.r...@noa-audio.com: Maurizio Lotauro wrote: Sooner or later I must install (and use) a svn client :-) Any suggestion? When using Windows there is the great TortoiseSVN client (http://tortoisesvn.tigris.org/) that integrates into the Windows explorer. Thank you for the link. Bye, Maurizio. This mail has been sent using Alpikom webmail system http://www.alpikom.it -- 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