Re: [twsocket] No fragmentation
Great, thank you. Arno Garrels schrieb: Stadin, Benjamin wrote: Hi, I need to send a tcp packet without fragentation (DF flag set in ethernet frame). Is that possible with ICS? optval := 1; WSocket_SetSockOpt(WSocket1.HSocket, IPPROTO_IP, IP_DONTFRAGMENT, @optval, SizeOf(optval)); --- 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
[twsocket] No fragmentation
Hi, I need to send a tcp packet without fragentation (DF flag set in ethernet frame). Is that possible with ICS? Benjamin -- 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] THttpSrv supporting NTLM Beta (updated)
You can rely on the NTLM message size. You can retrieve the message partly, write it to the context struct bytewise and when the full message is received process it and do the next step. That should be better than Receive(). SZ wrote: Because the 401 response could be sent before the POST data is fully here. The same applies to all POST routines--you cannot simply rely on packet boundaries--this is TCP! Here is my approach: int ToPost = toBePostedDataLen - postedDataLen; if(ToPost 8192) ToPost = 8192; int Len = Receive(postedDataBuffer, ToPost); postedDataLen += Len; toBePostedDataLen is determined is basically FRequestContentLength64 which is 64-bit version of the same ICS variable. Also, IMO, all the ints such as contentlength should be tranformed to __int64 to support file sizes 2GB! 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] Fw: Urgent (Another simple NTLM question)
FS, can you try it with FF with the site added to the trusted URIs and NTLM auto-login enabled? -- 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] Fw: Urgent (Another simple NTLM question)
I don't think so. NTLM works fine for me in FF ever since. FF just fills data into an NTLM context struct and if the message is complete it is used. This has nothing to do with a state machine. And btw, I've looked at the Pascal code of this pslib, I think it's more a hack than a solution. Firefox doesn't use bloody hacks to access the protected storage for Single-Sign-On. I've made a list with a short description to function calls for the FF source code to show how it works (propably ;-) ). FF has a function table for function calls to Windows' own secure32.dll / security.dll to provide SSPI functionality (also a good lesson in C programming, FF code is great but not easy to understand at first). Benjamin Stadin Fastream Technologies schrieb: One last lesson: when NTLM POST is taking place, if you press too frequently on Mozilla, the progress meter stalls. When you click on another link it works fine then. This does not happen with IE. I think this is a FF bug in their state machine! 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] Fw: Urgent (Another simple NTLM question)
I remember that there was the same problem in ICS-SSL with Firefox in the beginning. I think the connection isn't closed when this happens. Check with your network sniffer if that's the case and set a break point to check whether the connection is closed in your code. I don't believe that this is a Firefox problem. Fastream Technologies schrieb: Hello, Perhaps you can check out POSTing with IQRP 1.2b1 (http://www.fastream.net/beta/IQReverseProxy.exe) and let us know? All you need to do is, - define the web server IP/port in Servers - Go to URL Rules and assign the web server to Default (catch-all) URL rule - Enable NTLM authentication on the same tabsheet I used our IQ Web server which works perfectly when on its own to test. You will need to press the POST button (for example file upload in IQWF) very frequently. Regards, SZ - Original Message - From: Stadin, Benjamin [EMAIL PROTECTED] To: twsocket@elists.org Sent: Thursday, September 14, 2006 5:57 PM Subject: Re: [twsocket] Fw: Urgent (Another simple NTLM question) I don't think so. NTLM works fine for me in FF ever since. FF just fills data into an NTLM context struct and if the message is complete it is used. This has nothing to do with a state machine. And btw, I've looked at the Pascal code of this pslib, I think it's more a hack than a solution. Firefox doesn't use bloody hacks to access the protected storage for Single-Sign-On. I've made a list with a short description to function calls for the FF source code to show how it works (propably ;-) ). FF has a function table for function calls to Windows' own secure32.dll / security.dll to provide SSPI functionality (also a good lesson in C programming, FF code is great but not easy to understand at first). Benjamin Stadin Fastream Technologies schrieb: One last lesson: when NTLM POST is taking place, if you press too frequently on Mozilla, the progress meter stalls. When you click on another link it works fine then. This does not happen with IE. I think this is a FF bug in their state machine! 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 -- 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] THttpSrv supporting NTLM Beta (updated)
Fastream Technologies schrieb: I see why I did not face this problem before with other auth methods: because they (basic + digest) send 401 response only once per connection and the first request most probably is a GET. However, NTLM requires each request to have its own 401! That would be strange, I don't think that's the real deal. Maybe it works only because the connection is closed on 401? Check in your ethereal log if the connection isn't closed when FF's status bar hangs. -- 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] Fw: Urgent (Another simple NTLM question)
Normally you won't have a reason to use another domain, the server appplication uses the domain of the user account it is running with. Make sure your application is running with the domain account you want to use AND sufficent privileges (needed to query the user database). You have to give a domain user using domain\user - if, an only if, the server you're sending this information to is in *another* domain (with domain trustship) than the server application is working with. So that's necessary when domains are set up to trust each other. The Outlook web access I'm writing this email from prompts only for user name and password. I use this webmailer for years and it has always be the same, it looks the same with every browser that supports NTLM auth (IE, Firefox, konqueror, countless others on Unix and Solaris). I give you an example: My user account is in the default domain g where the server is in, but other users from a domain (ie d) that is trusted by domain g have to write d\myusername. The difference is that Windows will query the trusted domain instead to look in it's own user database. Only in this special case you need to specify another domain. - You will need hm... I don't remember ...years ago.. (not admin rights but at least helper privileges) to be able to query for other domain users than yourself. It's the credentials from the logged in (server) application user, if you are running with a local account you won't be able to query the domain controller. - You can *not* just give specify another domain in the user field if the serevrs are not set up to trust each other - You can also *not* authenticate users of another trusted domain, if you use trusted domains, without your application user having privileges in every of the trusted domains Benjamin Stadin Fastream Technologies schrieb: Ok, thank you for tolerating my insistence. I am trying to understand. There is just one issue left: under IE6XP, when I log in, I am not asked of any NTLM-domain name! And assuming that it is like IE-FTP client, I cannot find the log in change option in any menu! Does anybody know the logic behind this? I have seen the words of Francois but I am opting for just the opposite--instead of auto logging in, I want the _option_ to be able to select the NTLM-domain. 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
[twsocket] Using a Cookie in Http(s)Tst
Hi all, in the HttpTst demo I navigate to www.google.com. The output message shows Cookie: PREF=ID=64cd0e5f00d7a853:TM=1156389632:LM=1156389632:S=a7g_61J9fju4o_-X; expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.google.de Set-Cookie: PREF=ID=64cd0e5f00d7a853:TM=1156389632:LM=1156389632:S=a7g_61J9fju4o_-X; expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.google.de But when I add a button to the form and check for SslHttpCli1.Cookie, it is empty. Am I missing something? What I want to do in the application is to change 1 value and use the cookie to save the setting permanently. Cheers Benjamin -- 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] Enhancements for Thread Attach/Detach methods
I do not see how to map those numbers on a low level easily :( any idea? I'm trying to follow. How do the old and the new message numbers differ? What do the old and new numbers look like, can you maybe give a small example list? -- 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] Enhancements for Thread Attach/Detach methods
Francois PIETTE schrieb: I do not see how to map those numbers on a low level easily :( any idea? I'm trying to follow. How do the old and the new message numbers differ? What do the old and new numbers look like, can you maybe give a small example list? There can be no relation at all between the two sets ! Of course with simple case, the two sets will looks the same. But it will not be the case when component are destroyed and other created, specially when there are several component types involeved, having each one a different number of message numbers. So what kind of mapping are you looking for? Which relationship do you need to preserve? -- 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] Enhancements for Thread Attach/Detach methods
Francois PIETTE schrieb: So what kind of mapping are you looking for? Which relationship do you need to preserve? A component has allocated a number of message numbers (the messages are now identified by variables since a lot of components share the same hidden window). When the component is attached to another thread, any message still in the old message queue has to be pulled out and posted into the new queue. Before being posted to the new queue, the old messages numbers have to be mapped to the new ones. See TCustomWSocket.AllocateMsgHandlers for reference. Would it be possible to have one prime number per component, and the message numbers the component allocates are a multiple of this prime? I think we don't have enough information saved to do this mapping. Probably TIcsWndHandler.AllocateMsgHandler sould take one more argument to permit the mapping. This argument would be saved in TIcsWndHandler.FMsgMap so that it is available afterward to do the mapping. -- [EMAIL PROTECTED] http://www.overbyte.be - Original Message - From: Stadin, Benjamin [EMAIL PROTECTED] To: twsocket@elists.org Sent: Monday, June 12, 2006 8:58 PM Subject: Re: [twsocket] Enhancements for Thread Attach/Detach methods Francois PIETTE schrieb: I do not see how to map those numbers on a low level easily :( any idea? I'm trying to follow. How do the old and the new message numbers differ? What do the old and new numbers look like, can you maybe give a small example list? There can be no relation at all between the two sets ! Of course with simple case, the two sets will looks the same. But it will not be the case when component are destroyed and other created, specially when there are several component types involeved, having each one a different number of message numbers. So what kind of mapping are you looking for? Which relationship do you need to preserve? -- 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
[twsocket] ICS on Mac OS X
Hi, is ICS working on Mac OS X with Freepascal? I've just booted Mac OS X for the first time in my life. Benjamin Stadin -- 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] [ICS] mmorpg capacity question
[EMAIL PROTECTED] wrote: Would TWserversocket, when implemented correctly, be able to run an online game with +/- 1000 connection/players, using tcp/ip? The Mmorpg is semi-realtime where each connection send an average of 6 short packets ( 50bytes/packet) per second. My server is a 2.8 Ghz 1mb ram and needs to runs a mysql database on the localhost as well, to store/autosave player data. The database will become a bottleneck if you have that much concurrent clients. You could use an in-memory sql table like SqlMemTable http://www.aidaim.com/articles/dbmemtests.php#Results. I've never tested it myself. But the best thing would be if you only write to the mysql database for long term storage and use your own data structure alogorithm (like an AVL tree or red-black tree for example) - if you can avoid to use SQL. You can expect it to be as much 100 times faster than this in-memory sql table. For example an AVL tree can insert 100,000 records in about 100 ms compared to the 9 seconds(!) SqlMemTable needs. Benjamin Stadin vult www.endless-online.com -- 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] TnEmulVT automation
I've written something like this a few years ago. I don't advertise this any longer, you can have a free copy or parts of the code if you wish. Description is on http://homepages.fh-giessen.de/~hg12799 Contact me out of the list. GetCmd below get's the position of a command within a script. I parse a script line by line and when a command (html like in brackets) is the next part of the line, DoCmd is called which executes the command. I think you can exchange or add the string you wish to respond to in getcmd, so just add a command without brackets if what you want is to just respnd to a command line from the terminal. Looking back, it's propably the worst spaghetti code I've ever written ;-). But it's surprisingly still working ok in the environment I've written it for (backup of about 150 network devices several times a day and recovery) Benjamin Stadin function TBenScript.GetCmdPos(LineString: String): Integer; // Führt Kommando aus und liefert StringPosition des Kommandos var CmdPos: Integer; // erstes Kommando in Zeile ThisPos: Integer; // aktuelle geparsetes Kommando // FirstCommand parsed welches abgeklapperte Kommando das erste ist begin CmdPos := 0; // Kein Vorgängerwert von Pos = logisch 0 für Result FirstCommand := ''; NoReturn := False; CmdLength := 0; if Pos('TELNET',Uppercase(LineString)) 0 then begin CmdPos := Pos('TELNET',Uppercase(LineString)); FirstCommand := 'TELNET'; NoReturn := True; // NoReturn = dieser befehl braucht keinen return, wird aus scriptline entfernt end; if Pos('WAIT',Uppercase(LineString)) 0 then begin CmdPos := Pos('WAIT',Uppercase(LineString)); FirstCommand := 'WAIT'; NoReturn := True; end; if Pos('LINESTOFILE',Uppercase(LineString)) 0 then begin CmdPos := Pos('LINESTOFILE',Uppercase(LineString)); CmdLength := Pos('',ScriptLine); FirstCommand := 'LINESTOFILE'; NoReturn := True; end; if Pos('/LINESTOFILE',Uppercase(LineString)) 0 then begin CmdPos := Pos('/LINESTOFILE',Uppercase(LineString)); FirstCommand := '/LINESTOFILE'; hauptform.telnet.WriteStr(RetSeq); // NoReturn := True; // hier nicht, weil emulvt erst nach zeichenübergabe FSave2File ändert end; if Pos('FILETOLINE',Uppercase(LineString)) 0 then begin CmdPos := Pos('FILETOLINE',Uppercase(LineString)); CmdLength := Pos('',ScriptLine); FirstCommand := 'FILETOLINE'; NoReturn := True; end; if Pos('NTINIT',Uppercase(LineString)) 0 then begin CmdPos := Pos('NTINIT',Uppercase(LineString)); FirstCommand := 'NTINIT'; NoReturn := True; end; if Pos('/TELNET',Uppercase(LineString)) 0 then begin ThisPos := Pos('/TELNET',Uppercase(LineString)); if (ThisPos CmdPos) or (CmdPos = 0) then begin CmdPos := Pos('/TELNET',LineString); FirstCommand := '/TELNET'; NoReturn := True; end; end; if Pos('COMPORT',Uppercase(LineString)) 0 then begin ThisPos := Pos('COMPORT',Uppercase(LineString)); if (ThisPos CmdPos) or (CmdPos = 0) then begin CmdPos := Pos('COMPORT',Uppercase(LineString)); FirstCommand := 'COMPORT'; NoReturn := True; end; end; if Pos('/COMPORT',Uppercase(LineString)) 0 then begin ThisPos := Pos('/COMPORT',Uppercase(LineString)); if (ThisPos CmdPos) or (CmdPos = 0) then begin CmdPos := Pos('/COMPORT',Uppercase(LineString)); FirstCommand := '/COMPORT'; NoReturn := True; end; end; if Pos('LOCALIP',Uppercase(LineString)) 0 then begin ThisPos := Pos('LOCALIP',Uppercase(LineString)); if (ThisPos CmdPos) or (CmdPos = 0) then begin CmdPos := Pos('LOCALIP',Uppercase(LineString)); FirstCommand := 'LOCALIP'; end; end; if Pos('LOCALSUBNET',Uppercase(LineString)) 0 then begin ThisPos := Pos('LOCALSUBNET',Uppercase(LineString)); if (ThisPos CmdPos) or (CmdPos = 0) then begin CmdPos := Pos('LOCALSUBNET',Uppercase(LineString)); FirstCommand := 'LOCALSUBNET'; end; end; if Pos('RECOVERY',Uppercase(LineString)) 0 then begin ThisPos := Pos('RECOVERY',Uppercase(LineString)); if (ThisPos CmdPos) or (CmdPos = 0) then begin CmdPos := Pos('RECOVERY',Uppercase(LineString)); FirstCommand := 'RECOVERY'; NoReturn := True; end; end; if Pos('CALCIP',Uppercase(LineString)) 0 then begin ThisPos := Pos('CALCIP',Uppercase(LineString)); if (ThisPos CmdPos) or (CmdPos = 0) then begin CmdPos := Pos('CALCIP',Uppercase(LineString)); FirstCommand := 'CALCIP'; end; end; if Pos('PORT',Uppercase(LineString)) 0 then begin ThisPos := Pos('PORT',Uppercase(LineString)); if (ThisPos CmdPos) or (CmdPos = 0) then begin CmdPos := Pos('PORT',Uppercase(LineString)); FirstCommand := 'PORT'; NoReturn := True; end; end; if
Re: [twsocket] Address already in use (Error #10048)
Just an idea, maybe it's related. The problem might be a curiosity in Windows XP with Service Pack 2 installed. I have a similar Problem with Palm OS Development Studio. It's a Java application (based on Eclipse) from which you can call a external debugger, but the debugger throws the same error. I found that the Java application is generating a random port number, then the Java application checks if this port number is available and assigns it to the debugger. The curious thing here is that although the port is freed again by the Java app, the debugger app tries to bind to this address but fails. So just as an idea, maybe you're reassigning this address to fast for Windows XP SP2 ;-) Albert Wiersch wrote: I am using THTTPCli for link checking and a user reported this problem: I am getting a few of the following Error: Address already in use (Error #10048) while doing link checks. Most occurs while checking for the jpg, pdf, ppt links. I repeated a few times the same batch file and I am getting a different # of these errors in the reports. Which means the reporting of these errors are not consistent. Any ideas? I have not seen this myself or had other reports of it. Could it be caused by some firewall software the user is running? -- Albert Wiersch AI Internet Solutions [EMAIL PROTECTED] http://www.htmlvalidator.com/ -- 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