[twsocket] Aborting transfers without AbortXfer?
What is the best and safest way to abort a transfer without closing the connection? I've tried the AbortXfer command but that doesn't work because the ABOR command is not available on the server I'm using. /Daniel -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
[twsocket] THttpSrv slight modification to function ExtractURLEncodedValue
Hi! In one of my html forms I had to use html element select multiple name=..., so when the user selects multiple items, we got a datastream like this: var1=value1var1=value2var1=value3... etc. Original function returned only the first value of var1. I know the remark states that it retrieves only a single value, but since I did not found an other function retrieving multiple values like that, I took some guts, and made some modification to it. Just in case someone faces the same problem, here is the modified code. In case of multiple values, they are separated by CRLFs, so the result can be loaded to a TString descendent's Text property for example . Peter function ExtractURLEncodedValue( Msg : PChar;{ URL Encoded stream } Name : String; { Variable name to look for } var Value : String) { Where to put variable value} : Boolean;{ Found or not found that's the question } var NameLen : Integer; FoundLen : Integer; {tps} Ch : Char; P, Q : PChar; begin Result := FALSE; Value := ''; if Msg = nil then { Empty source } Exit; NameLen := Length(Name); P := Msg; while P^ #0 do begin Q := P; while (P^ #0) and (P^ '=') do Inc(P); FoundLen := P - Q; {tps} if P^ = '=' then Inc(P); if (StrLIComp(Q, @Name[1], NameLen) = 0) and (NameLen = FoundLen) then begin {tps} {*** Multiple Values ***} If Value '' Then Value := Value + #13#10; // separate values by CrLf {**} while (P^ #0) and (P^ '') do begin Ch := P^; if Ch = '%' then begin Ch := chr(htoi2(P + 1)); Inc(P, 2); end else if Ch = '+' then Ch := ' '; Value := Value + Ch; Inc(P); end; Result := TRUE; // break; {*** Commented *** We are looking for more Name-s} end; while (P^ #0) and (P^ '') do Inc(P); if P^ = '' then Inc(P); end; end; -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Simple NTLM question
Fastream Technologies wrote: Hello Arno, I wonder if the NTLM domain names are case-sensitive or not? I think they are not case-sensitive. --- Arno Garrels [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Simple NTLM question
Ok. That's what I assumed. Thanks. - Original Message - From: Arno Garrels [EMAIL PROTECTED] To: ICS support mailing twsocket@elists.org Sent: Tuesday, September 12, 2006 2:00 PM Subject: Re: [twsocket] Simple NTLM question : Fastream Technologies wrote: : Hello Arno, : : I wonder if the NTLM domain names are case-sensitive or not? : : I think they are not case-sensitive. : : --- : Arno Garrels [TeamICS] : http://www.overbyte.be/eng/overbyte/teamics.html : : : : -- : To unsubscribe or change your settings for TWSocket mailing list : please goto http://www.elists.org/mailman/listinfo/twsocket : Visit our website at http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Aborting transfers without AbortXfer?
What is the best and safest way to abort a transfer without closing the connection? Are you talking about FTP client component ? I've tried the AbortXfer command but that doesn't work because the ABOR command is not available on the server I'm using. Then you have to close the connection... What's the problem ? Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html -- [EMAIL PROTECTED] Author of ICS (Internet Component Suite, freeware) Author of MidWare (Multi-tier framework, freeware) http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Simple NTLM question
One other question: how do we authenticate against the local system acounts when there is no NT-domain controller? Like localhost in IP for example? Best Regards, SZ - Original Message - From: Arno Garrels [EMAIL PROTECTED] To: ICS support mailing twsocket@elists.org Sent: Tuesday, September 12, 2006 2:00 PM Subject: Re: [twsocket] Simple NTLM question : Fastream Technologies wrote: : Hello Arno, : : I wonder if the NTLM domain names are case-sensitive or not? : : I think they are not case-sensitive. : : --- : Arno Garrels [TeamICS] : http://www.overbyte.be/eng/overbyte/teamics.html : : : : -- : To unsubscribe or change your settings for TWSocket mailing list : please goto http://www.elists.org/mailman/listinfo/twsocket : Visit our website at http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Simple NTLM question
One other question: how do we authenticate against the local system acounts when there is no NT-domain controller? Like localhost in IP for example? Use the local computer name as domain name. Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html -- [EMAIL PROTECTED] Author of ICS (Internet Component Suite, freeware) Author of MidWare (Multi-tier framework, freeware) http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Simple NTLM question
Fastream Technologies wrote: One other question: how do we authenticate against the local system acounts when there is no NT-domain controller? Like localhost in IP for example? Field Domain may be empty, contain a single dot ., the computer name, DNS hostname?, the IP address or LocalHost. Probably there are even more posibilities. Play! --- Arno Garrels [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html Best Regards, SZ - Original Message - From: Arno Garrels [EMAIL PROTECTED] To: ICS support mailing twsocket@elists.org Sent: Tuesday, September 12, 2006 2:00 PM Subject: Re: [twsocket] Simple NTLM question Fastream Technologies wrote: Hello Arno, I wonder if the NTLM domain names are case-sensitive or not? I think they are not case-sensitive. --- Arno Garrels [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Simple NTLM question
Arno Garrels wrote: Fastream Technologies wrote: One other question: how do we authenticate against the local system acounts when there is no NT-domain controller? Like localhost in IP for example? Field Domain may be empty, contain a single dot ., the computer name, DNS hostname?, the IP address or LocalHost. Probably there are even more posibilities. Play! I wonder if it isn't easier for you to check the authenticating authority from the security context after authentication succeeded? I tried this once, but got back an empty string from function QueryContextAttributesA, propably due the lack of a domain controller. something like this: var ContextAutority: TSecPkgContextAuthorityA; Authority: String; FPSFT^.QueryContextAttributesA(@FHCtx, SECPKG_ATTR_AUTHORITY, @ContextAutority); Authority := ContextAutority.sAuthorityName; --- Arno Garrels [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html Best Regards, SZ - Original Message - From: Arno Garrels [EMAIL PROTECTED] To: ICS support mailing twsocket@elists.org Sent: Tuesday, September 12, 2006 2:00 PM Subject: Re: [twsocket] Simple NTLM question Fastream Technologies wrote: Hello Arno, I wonder if the NTLM domain names are case-sensitive or not? I think they are not case-sensitive. --- Arno Garrels [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Aborting transfers without AbortXfer?
Message: 1 Date: Tue, 12 Sep 2006 13:00:09 +0200 From: Arno Garrels [EMAIL PROTECTED] Subject: Re: [twsocket] Aborting transfers without AbortXfer? To: ICS support mailing twsocket@elists.org Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=iso-8859-1 Daniel Eriksson wrote: What is the best and safest way to abort a transfer without closing the connection? I've tried the AbortXfer command but that doesn't work because the ABOR command is not available on the server I'm using. Have you tried calling Abort on the data connection? Do you mean like this? AFtpClient.DataSocket.Abort; while AFtpClient.State ftpReady do begin Delay(1); end; (note: Delay() is an improved version of Sleep() that I'm using). The above code seems to work, but is it 100% safe to use? I mean, why use TFtpClient.AbortXfer if this one works for all FTP servers? -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Simple NTLM question
No that is not an option for us. We want to prevent the authentication process when the domain entered by the client is not in our list of permitted domains. I think I wrote this to you privately last week. Best Regards, SZ - Original Message - From: Arno Garrels [EMAIL PROTECTED] To: ICS support mailing twsocket@elists.org Sent: Tuesday, September 12, 2006 3:44 PM Subject: Re: [twsocket] Simple NTLM question : Arno Garrels wrote: : Fastream Technologies wrote: : One other question: how do we authenticate against the local system : acounts when there is no NT-domain controller? Like localhost in IP : for example? : : Field Domain may be empty, contain a single dot ., the computer : name, DNS hostname?, the IP address or LocalHost. Probably there : are even more posibilities. Play! : : I wonder if it isn't easier for you to check the authenticating : authority from the security context after authentication succeeded? : I tried this once, but got back an empty string from function : QueryContextAttributesA, propably due the lack of a domain controller. : : something like this: : var : ContextAutority: TSecPkgContextAuthorityA; : Authority: String; : : FPSFT^.QueryContextAttributesA(@FHCtx, SECPKG_ATTR_AUTHORITY, @ContextAutority); : Authority := ContextAutority.sAuthorityName; : : --- : Arno Garrels [TeamICS] : http://www.overbyte.be/eng/overbyte/teamics.html : : : : Best Regards, : : SZ : : - Original Message - : From: Arno Garrels [EMAIL PROTECTED] : To: ICS support mailing twsocket@elists.org : Sent: Tuesday, September 12, 2006 2:00 PM : Subject: Re: [twsocket] Simple NTLM question : : : Fastream Technologies wrote: : Hello Arno, : : I wonder if the NTLM domain names are case-sensitive or not? : : I think they are not case-sensitive. : : --- : Arno Garrels [TeamICS] : http://www.overbyte.be/eng/overbyte/teamics.html : : : : -- : To unsubscribe or change your settings for TWSocket mailing list : please goto http://www.elists.org/mailman/listinfo/twsocket : Visit our website at http://www.overbyte.be : -- : To unsubscribe or change your settings for TWSocket mailing list : please goto http://www.elists.org/mailman/listinfo/twsocket : Visit our website at http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Aborting transfers without AbortXfer?
Daniel Eriksson wrote: Have you tried calling Abort on the data connection? Do you mean like this? AFtpClient.DataSocket.Abort; while AFtpClient.State ftpReady do begin Delay(1); end; (note: Delay() is an improved version of Sleep() that I'm using). That's bad practice, don't wait in a loop for async functions return, why don't you use appropriate events to control program flow? After DataSocket.Abort OnRequestDone should trigger a winsock error. The above code seems to work, but is it 100% safe to use? I mean, why use TFtpClient.AbortXfer if this one works for all FTP servers? AbortXfer is a FTP command, DataSocket.Abort or DataSocket.Close is just closing the data connection, anyway a server must handle this. --- Arno Garrels [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Simple NTLM question
Here is my problem: Let's say I have two domains to let whose members to authenticate: LOCALHOST FASTREAM Now, what if the end user enters some domain in the dialog box that is equivalent to one of these but with a different alias?? Best Regards, SZ - Original Message - From: Arno Garrels [EMAIL PROTECTED] To: ICS support mailing twsocket@elists.org Sent: Tuesday, September 12, 2006 3:44 PM Subject: Re: [twsocket] Simple NTLM question : Arno Garrels wrote: : Fastream Technologies wrote: : One other question: how do we authenticate against the local system : acounts when there is no NT-domain controller? Like localhost in IP : for example? : : Field Domain may be empty, contain a single dot ., the computer : name, DNS hostname?, the IP address or LocalHost. Probably there : are even more posibilities. Play! : : I wonder if it isn't easier for you to check the authenticating : authority from the security context after authentication succeeded? : I tried this once, but got back an empty string from function : QueryContextAttributesA, propably due the lack of a domain controller. : : something like this: : var : ContextAutority: TSecPkgContextAuthorityA; : Authority: String; : : FPSFT^.QueryContextAttributesA(@FHCtx, SECPKG_ATTR_AUTHORITY, @ContextAutority); : Authority := ContextAutority.sAuthorityName; : : --- : Arno Garrels [TeamICS] : http://www.overbyte.be/eng/overbyte/teamics.html : : : : Best Regards, : : SZ : : - Original Message - : From: Arno Garrels [EMAIL PROTECTED] : To: ICS support mailing twsocket@elists.org : Sent: Tuesday, September 12, 2006 2:00 PM : Subject: Re: [twsocket] Simple NTLM question : : : Fastream Technologies wrote: : Hello Arno, : : I wonder if the NTLM domain names are case-sensitive or not? : : I think they are not case-sensitive. : : --- : Arno Garrels [TeamICS] : http://www.overbyte.be/eng/overbyte/teamics.html : : : : -- : To unsubscribe or change your settings for TWSocket mailing list : please goto http://www.elists.org/mailman/listinfo/twsocket : Visit our website at http://www.overbyte.be : -- : To unsubscribe or change your settings for TWSocket mailing list : please goto http://www.elists.org/mailman/listinfo/twsocket : Visit our website at http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Simple NTLM question
Fastream Technologies wrote: Here is my problem: Let's say I have two domains to let whose members to authenticate: LOCALHOST FASTREAM Now, what if the end user enters some domain in the dialog box that is equivalent to one of these but with a different alias?? I have no idea how virtual domains/hosts are implemented, but isn't it just mapping host names provided in the header to different root folders or in case of a (reverse) proxy redirecting the request to some HTTP server which will the authenticate the user as necessary? --- Arno Garrels [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html Best Regards, SZ - Original Message - From: Arno Garrels [EMAIL PROTECTED] To: ICS support mailing twsocket@elists.org Sent: Tuesday, September 12, 2006 3:44 PM Subject: Re: [twsocket] Simple NTLM question Arno Garrels wrote: Fastream Technologies wrote: One other question: how do we authenticate against the local system acounts when there is no NT-domain controller? Like localhost in IP for example? Field Domain may be empty, contain a single dot ., the computer name, DNS hostname?, the IP address or LocalHost. Probably there are even more posibilities. Play! I wonder if it isn't easier for you to check the authenticating authority from the security context after authentication succeeded? I tried this once, but got back an empty string from function QueryContextAttributesA, propably due the lack of a domain controller. something like this: var ContextAutority: TSecPkgContextAuthorityA; Authority: String; FPSFT^.QueryContextAttributesA(@FHCtx, SECPKG_ATTR_AUTHORITY, @ContextAutority); Authority := ContextAutority.sAuthorityName; --- Arno Garrels [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html Best Regards, SZ - Original Message - From: Arno Garrels [EMAIL PROTECTED] To: ICS support mailing twsocket@elists.org Sent: Tuesday, September 12, 2006 2:00 PM Subject: Re: [twsocket] Simple NTLM question Fastream Technologies wrote: Hello Arno, I wonder if the NTLM domain names are case-sensitive or not? I think they are not case-sensitive. --- Arno Garrels [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Simple NTLM question
- Original Message - From: Arno Garrels [EMAIL PROTECTED] To: ICS support mailing twsocket@elists.org Sent: Tuesday, September 12, 2006 6:22 PM Subject: Re: [twsocket] Simple NTLM question : Fastream Technologies wrote: : Here is my problem: Let's say I have two domains to let whose members : to authenticate: : : LOCALHOST : FASTREAM : : Now, what if the end user enters some domain in the dialog box that is : equivalent to one of these but with a different alias?? : : I have no idea how virtual domains/hosts are implemented, but isn't it : just mapping host names provided in the header to different root folders : or in case of a (reverse) proxy redirecting the request to some HTTP server : which will the authenticate the user as necessary? This is a reverse proxy which when configured will handle authentication by itself. When configured otherwise, it will forward the request to be authenticated by the web servers. I need to handle all! :( Any other ideas? Best Regards, SZ -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Simple NTLM question
Fastream Technologies wrote: - Original Message - From: Arno Garrels [EMAIL PROTECTED] To: ICS support mailing twsocket@elists.org Sent: Tuesday, September 12, 2006 6:22 PM Subject: Re: [twsocket] Simple NTLM question Fastream Technologies wrote: Here is my problem: Let's say I have two domains to let whose members to authenticate: LOCALHOST FASTREAM Now, what if the end user enters some domain in the dialog box that is equivalent to one of these but with a different alias?? I have no idea how virtual domains/hosts are implemented, but isn't it just mapping host names provided in the header to different root folders or in case of a (reverse) proxy redirecting the request to some HTTP server which will the authenticate the user as necessary? This is a reverse proxy which when configured will handle authentication by itself. Has it to handle authentication for any protected page on the HTTP servers, or is it just a general authentication to traverse the proxy? --- Arno Garrels [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html When configured otherwise, it will forward the request to be authenticated by the web servers. I need to handle all! :( I still not got the type of authentication the proxy server needs to perform, is it a general authentication Any other ideas? Best Regards, SZ -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] bytes lost with PUT FTP
Possibly a transfer mode error. Make sure you are transferring in binary mode. Note: I think you need to set a property to make the client component not modify end of lines AND send the binary command to the server. Dan -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Arnold FLUTEAUX Sent: 12 September 2006 17:56 To: twsocket@elists.org Subject: [twsocket] bytes lost with PUT FTP Hi I've a problem with FTP client component. I'm using with .NET. I want to put a file with small size (equal to 12 kb for example). It's ok in LAN but doesn't in RAS connexion. I lost bytes. With my sample file, I upload only 8760 BYTES on 11 kb. I'm using the component with putasync method. Have you got an idea ? And on server side, all seems happened good = storDataAvalable and storsessionclosed OK. Thanks. Arnold -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
[twsocket] Ping stopped working - in fact kills the program first!
Hi I have been making some program changes in the same module as a Ping procedure. On creating the module I now get an error:- Exception EReadError in ... Error reading Ping.OnDnsLookupDone: Invalid property value. In the .dfm module the Ping looks like this :- object Ping: TPing Size = 56 Timeout = 4000 TTL = 64 Flags = 0 OnDnsLookupDone = PingDnsLookupDone Left = 188 Top = 82 end The error goes away if I disconnect the event. I'm not aware of making any change in the Ping area - but I have obviously upset something. I suspect that this has nothing at all to do with ICS - but have no idea what is wrong. Any ideas? Cheers Jeff P.S. Delphi 6 - not sure what version of ICS (can't see a version number anywhere). -- Jeff Cook Aspect Systems Ltd Phone: +64-9-424 5388 Skype: jeffcooknz HYPERLINK http://www.aspect.co.nz/www.aspect.co.nz -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.1.406 / Virus Database: 268.12.3/446 - Release Date: 12/09/2006 -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be