Re: [twsocket] THTTPserver...
I need to log the IP address of the client when it connects to the server. Look at the Web Application Server sample, OverbyteIcsWebAppServerMain.pas, which is similar to the main web server. It shows how to write W3C format log file from the AfterAnswer event, including how much data was sent. If you need to check the IP before processing the request, to blacklist it or display the IP in a response, use the BeforeProcessRequest event. In both case use Client.GetPeerAddr to get the remote IP. Angus -- 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] THTTPserver...
Hi, Version 7.39 I need to log the IP address of the client when it connects to the server. OnClientConnect seems to be the best place but I do not see any way to get the IP address of the connecting client? Suggestions? Thanks, Mark -- 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] THTTPserver...
GetPeerAddr onHTTPRequestDone is also a good place, if you want to log bytes delivered, etc.. Hi, Version 7.39 I need to log the IP address of the client when it connects to the server. OnClientConnect seems to be the best place but I do not see any way to get the IP address of the connecting client? Suggestions? Thanks, Mark -- 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
Re: [twsocket] THTTPserver...
GetPeerAddr onHTTPRequestDone is also a good place, if you want to log bytes delivered, etc.. DOH! Of course. When I was initially testing... oh never mind. I had one of those moments. Thanks, Mark -- 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] THTTPserver...
GetPeerAddr onHTTPRequestDone is also a good place, if you want to log bytes delivered, etc.. DOH! Of course. When I was initially testing... oh never mind. I had one of those moments. Thanks, Mark -- 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] THttpServer and THttpConnection...
Hello, Delphi 2007, ICS 7.39 (THttpServer) I have a server (THttpServer) and clients derived from THttpConnection and all has been working well. I now need to set the initial page a user accesses after log on, regardless of the url he is attempting to access first. All the log on code is working and I am wondering where to 'redirect' the user to 'his' initial page. I do not want to use the redirect command in the header of the index page. Is that the best/only way? After logon the first place that seems possible is in the client get document. Seems not smooth and the url would not match the real page. ??? Is there something I can do in the server AuthResult that would work? Any other solutions? Thanks, Mark -- 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] THttpServer and THttpConnection...
I now need to set the initial page a user accesses after log on, regardless of the url he is attempting to access first. You can do this in the BeforeProcessRequest method, by modifying the client path to another page name. procedure TMainForm.HttpAppSrvBeforeProcessRequest(Sender, Client: TObject); var RemoteClient: TMagHttpConnection; path: string ; begin RemoteClient := TMagHttpConnection(Client) ; path := Lowercase (RemoteClient.Path) ; // log-off virtual page, clear cookie and redirect to index if Pos ('logoff.htm', path) 0 then begin AddDiagLine ('Logoff User: ' + RemoteClient.AuthUserName) ; RemoteClient.AuthUserName := '' ; RemoteClient.AuthPassword := '' ; RemoteClient.CSitePasswd := 0 ; // remove cookie by expiring it RemoteClient.CExtraHeaders := RemoteClient.CExtraHeaders + MakeCookie (CookieLogon, '', 0, '/', CookieDomain) ; RemoteClient.Path := '/logoff.htm' ; end; // allow for blank page if strLastCh (path) = '/' then begin RemoteClient.Path := RemoteClient.Path + 'index.htm' ; exit ; end ; end; Angus -- 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] THttpServer...
Hello, I have a timer that I am using to require a re-logon after X minutes. In the AuthGetPassword I check if the user has timed out and do not supply a password and this causes the browser to ask for the credentials. Perfect. If I select cancel for when asked for the user name and password I get the 401 Access Denied. Perfect Now the problem. I go to the address bar and hit return or hit the refresh button, the browser sends the stored name and password. This I do not want. How can flush/delete/invalidate the password the browser has stored for the user name? Or am I going at this all wrong? Thanks, Mark -- 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] THttpServer and OnServerStopped
Hi. I'm trying to build a first application with ICS (latest version), under Delphi XE and I'm getting an unexpected behavior. I took WebServer demo as a tutorial. The application works well with OnGetDocument events, but when I get a OnPostDocument event, after I perform the return of the values I want, after 30 seconds I get a OnServerStopped event. I must call Start again to keep the server running. Is this normal? What am I doing wrong? Thanks, Miguel -- 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] THttpServer memory leak
I'm using ICS under Delphi 2007, specifically THttpServer. Is it possible there is a memory leak in the component? Even on an empty form, in a new project, with just a THttpServer and a button to start the server, the application's memory usage keeps increasing every time a user connects. Is this a known issue? or something inevitable? if so, I apologize for this message. I look forward to hearing from you. Thank you very much, Franco -- 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] THttpServer memory leak
FrancoGG wrote: I'm using ICS under Delphi 2007, specifically THttpServer. Is it possible there is a memory leak in the component? Nothing is impossible, look at Japan :( Even on an empty form, in a new project, with just a THttpServer and a button to start the server, the application's memory usage keeps increasing every time a user connects. That's nothing to worry about. If you want to track real memory leaks in D2006+ add this line to Form's OnCreate Event handler for example: ReportMemoryLeaksOnShutdown := (DebugHook 0); That should show a message box if the app. is actually leaking memory. -- 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] THttpServer memory leak
On 17-03-2011 17:12, FrancoGG wrote: the application's memory usage keeps increasing every time a user connects If you are using a custom THttpConnection, check if you are missing to free any of its owned objects in its destructor method. -- 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] THttpServer - How to handle unimplemented request methods
RTT wrote: Done. I've now sent you a PM with the .diff file. Thanks. -- 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] THttpServer - How to handle unimplemented request methods
But, why don't keep the naming schema? TriggerAfterProcessRequest ( and respective OnAfterProcessRequest) would be less confuse. The event is between two processing stages, so could be named after one or before the other. What is the purpose of the OPTIONS method? Angus -- 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] THttpServer POST
I've looked at the demo, which got me to come up with the following code, however it doesn't work yet. I get the PostDocument event, but it doesn't appear to progress to the PostedData event (I don't get any PostedData logs) Any thoughts that may fix me? // Extract from setup: #define MAX_POST_BUFFER_SIZE 1024 co_HttpServer = new THttpServer(NULL); co_HttpServer-Addr = cl_ConfigClass-me_GetString(http_address); co_HttpServer-Port = cl_ConfigClass-me_GetInteger(http_port); co_HttpServer-MaxClients = cl_ConfigClass-me_GetInteger(http_max_clients); co_HttpServer-DocDir = ExtractFileDir(ParamStr(0)); co_HttpServer-OnPostDocument = me_HttpServerPostDocument; co_HttpServer-OnPostedData = me_HttpServerPostedData; co_HttpServer-Start( ); //--- // Handler for 'post' requests from device //--- void __fastcall cBluetoothClass::me_HttpServerPostDocument(TObject *Sender, TObject *Client, THttpGetFlag Flags) { cLoggerClass * cl_LoggerClass = cLoggerClass::Instance( ); AnsiString web_page = ((THttpConnection *)Client)-Path; // full web page path if (web_page == /alert) { at_PostedDataLength = ((THttpConnection *)Client)-RequestContentLength; at_PostedDataReceived = 0; if (at_PostedDataLength MAX_POST_BUFFER_SIZE) { cl_LoggerClass-me_AddLog(POST TOO BIG: + IntToStr(at_PostedDataLength), LOG_ERROR); } else { Flags = hgAcceptData; ((THttpConnection *)Client)-LineMode = FALSE; cl_LoggerClass-me_AddLog(ALERT DETECTED - Waiting for POST data ( + IntToStr(at_PostedDataLength) + bytes), LOG_INFO); } } // else incorrect post address else { cl_LoggerClass-me_AddLog(FAILED POST: + web_page, LOG_ERROR); } } //--- // Handler for the posted data from 'post' requests //--- void __fastcall cBluetoothClass::me_HttpServerPostedData(TObject *Sender, TObject *Client, WORD Error) { cLoggerClass * cl_LoggerClass = cLoggerClass::Instance( ); int buffer_space_left = MAX_POST_BUFFER_SIZE - at_PostedDataReceived; int bytes_received; bytes_received = ((THttpConnection *)Client)-Receive(at_PostedDataBuffer[at_PostedDataReceived], buffer_space_left); at_PostedDataReceived += bytes_received; if (at_PostedDataReceived = at_PostedDataLength) { AnsiString received_string = ; AnsiString Header, Body; TMemoryStream *Stream = new TMemoryStream( ); for (int i = 0; i at_PostedDataLength; i++) { received_string = received_string + at_PostedDataBuffer[i]; } // for i cl_LoggerClass-me_AddLog(POST Complete: ' + received_string + ', LOG_INFO); at_PostedDataReceived = 0; at_PostedDataLength = 0; Body = POST success\r\n; Header = ((THttpConnection *)Client)-Version + 200 OK\r\n Content-Type: text/html\r\n Content-Length: + IntToStr(Body.Length()) + \r\n\r\n; // Send response back to sensor Stream-Write(Header.data(), Header.Length()); Stream-Write(Body.data(), Body.Length()); Stream-Seek(0, 0); ((THttpConnection *)Client)-DocStream = Stream; ((THttpConnection *)Client)-SendStream( ); } else // Not Finished Yet! { cl_LoggerClass-me_AddLog(POST segment received. Awaiting more..., LOG_INFO); } } On 09/09/2010 13:49, Arno Garrels wrote: David Lewis wrote: I'm putting together a basic web server for a small application to communicate with. I have the GET event working as intended, but am having difficulty with the POST event. The event fires, but I can't seem to work out where to find the POST data... I tried: ((THttpConnection *)Client)-ReceiveStr( ) and ((THttpConnection *)Client)-Params but both appear to be empty. Where would I find the actual posted data? Have a look at the Delphi OverbyteIcsWebServ1 demo, it's Delphi however you get the idea for sure. On event OnPostDocument do some checks and prepare or allocate your receive buffer. OnPostedData is the event to Receive() data chunks and check for correct data length etc.. -- 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] THttpServer POST
David Lewis wrote: I've looked at the demo, which got me to come up with the following code, however it doesn't work yet. I get the PostDocument event, but it doesn't appear to progress to the PostedData event (I don't get any PostedData logs) Any thoughts that may fix me? From a brief look, set a break point at line Flags = hgAcceptData; and see if it gets hit. -- 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] THttpServer - How to handle unimplemented request methods
RTT wrote: Hi everyone! Is there any simple way to handle other than the GET, POST and HEADER request methods,... as OPTIONS,...? The way it is now, the THttpConnection.ProcessRequest procedure always respond with a Answer501, not giving any chance to handle other methods. I think a TriggerOnUnknownMethod event would be very useful. I think so as well, should be named TriggerUnknownMethod and event OnUnknowMethod. By the way, the TriggerBeforeAnswer is used in what scenarios? From the code above, it seems the answer has been delivered already. Indeed, maybe Angus can answer it, he added it? Another thing that would be useful, if added to the code base of the THttpConnection, is the possibility to send additional headers from the THttpConnection.SendDocument, to define cache control, etc.. procedure THttpConnection.SendDocument(SendType : THttpSendType; const aHeader:string=''); ... if FLastModified 0 then Header := Header + 'Last-Modified: ' + RFC1123_Date(FLastModified) + ' GMT' + #13#10; if ContEncoderHdr '' then Header := Header + ContEncoderHdr; { V7.20 } if aHeader '' then Header := Header + aHeader Header := Header + GetKeepAliveHdrLines + #13#10; ... Useful as well, probably the parameter should be named CustomHeaders, it's a bit confusing since one has to know which headers are added by the method. -- 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] THttpServer - How to handle unimplemented request methods
On 10-09-2010 16:43, Arno Garrels wrote: Another thing that would be useful, if added to the code base of the THttpConnection, is the possibility to send additional headers from the THttpConnection.SendDocument, to define cache control, etc.. procedure THttpConnection.SendDocument(SendType : THttpSendType; const aHeader:string=''); ... if FLastModified 0 then Header := Header + 'Last-Modified: ' + RFC1123_Date(FLastModified) + ' GMT' + #13#10; if ContEncoderHdr '' then Header := Header + ContEncoderHdr; { V7.20 } if aHeader '' then Header := Header + aHeader Header := Header + GetKeepAliveHdrLines + #13#10; ... Useful as well, probably the parameter should be named CustomHeaders, it's a bit confusing since one has to know which headers are added by the method. To complement this, a global PersistentHeader property, to provide a mean to specify header items that should be sent in every response, can be useful too. Another useful change. How about setting the NameValueSeparator of the FRequestHeader stringlist to ':' ? constructor THttpConnection.Create(AOwner: TComponent); ... FRequestHeader := TStringList.Create; FRequestHeader.NameValueSeparator:= ':'; ... This way it's easy to check the value of any of the received headers by only typing trim(RequestHeader.values[e.g. 'Origin',...]) Yes, I can do it at any time from my code, but won't hurt if done internally. The default '=' NameValueSeparator is there already, so why not use the correct one? Rui -- 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] THttpServer - How to handle unimplemented request methods
Is there any simple way to handle other than the GET, POST and HEADER request methods,... as OPTIONS,...? You'd currently have to override the entire ProcessRequest procedure to add a new method. By the way, the TriggerBeforeAnswer is used in what scenarios? From the code above, it seems the answer has been delivered already. Indeed, maybe Angus can answer it, he added it? From the notes in the code: Added OnBeforeAnswer event triggered once the answer is prepared but before it is sent from ProcessRequest. Added OnAfterAnswer triggered after the answer is sent from ConnectionDataSent so time taken to send reply can be logged. AfterAnswer is where the W3C web is written, once all the response data has been sent, which may take several seconds or hours if it's ISO image file. BeforeAnswer was intended to allow this time to be calculated exactly, but after the response has been composed, which may take several seconds on SQL lookups. BeforeProcessRequest is before page processing, BeforeAnswer is after, but before the message handler starts sending the response. Currently, I start the request duration counter in BeforeProcessRequest and ignore BeforeAnswer, and time SQL requests separately to another log. Angus -- 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] THttpServer - How to handle unimplemented request methods
RTT wrote: On 10-09-2010 16:43, Arno Garrels wrote: Another thing that would be useful, if added to the code base of the THttpConnection, is the possibility to send additional headers from the THttpConnection.SendDocument, to define cache control, etc.. procedure THttpConnection.SendDocument(SendType : THttpSendType; const aHeader:string=''); ... if FLastModified 0 then Header := Header + 'Last-Modified: ' + RFC1123_Date(FLastModified) + ' GMT' + #13#10; if ContEncoderHdr '' then Header := Header + ContEncoderHdr; { V7.20 } if aHeader '' then Header := Header + aHeader Header := Header + GetKeepAliveHdrLines + #13#10; ... Useful as well, probably the parameter should be named CustomHeaders, it's a bit confusing since one has to know which headers are added by the method. To complement this, a global PersistentHeader property, to provide a mean to specify header items that should be sent in every response, can be useful too. Another useful change. How about setting the NameValueSeparator of the FRequestHeader stringlist to ':' ? constructor THttpConnection.Create(AOwner: TComponent); ... FRequestHeader := TStringList.Create; FRequestHeader.NameValueSeparator:= ':'; ... This way it's easy to check the value of any of the received headers by only typing trim(RequestHeader.values[e.g. 'Origin',...]) Yes, I can do it at any time from my code, but won't hurt if done internally. The default '=' NameValueSeparator is there already, so why not use the correct one? Feel free to apply your changes to the latest SVN revision and send me the patch file by PM. Changes MUST not break existing code and a change log in unit's comment section was helpful too. -- 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] THttpServer - How to handle unimplemented request methods
Thank you for the explanation Angus. But, why don't keep the naming schema? TriggerAfterProcessRequest ( and respective OnAfterProcessRequest) would be less confuse. Rui -- 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] THttpServer - How to handle unimplemented request methods
Done. I've now sent you a PM with the .diff file. Feel free to apply your changes to the latest SVN revision and send me the patch file by PM. Changes MUST not break existing code and a change log in unit's comment section was helpful too. -- 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] THttpServer POST
I'm putting together a basic web server for a small application to communicate with. I have the GET event working as intended, but am having difficulty with the POST event. The event fires, but I can't seem to work out where to find the POST data... I tried: ((THttpConnection *)Client)-ReceiveStr( ) and ((THttpConnection *)Client)-Params but both appear to be empty. Where would I find the actual posted data? Thanks, Dave -- 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] THttpServer POST
David Lewis wrote: I'm putting together a basic web server for a small application to communicate with. I have the GET event working as intended, but am having difficulty with the POST event. The event fires, but I can't seem to work out where to find the POST data... I tried: ((THttpConnection *)Client)-ReceiveStr( ) and ((THttpConnection *)Client)-Params but both appear to be empty. Where would I find the actual posted data? Have a look at the Delphi OverbyteIcsWebServ1 demo, it's Delphi however you get the idea for sure. On event OnPostDocument do some checks and prepare or allocate your receive buffer. OnPostedData is the event to Receive() data chunks and check for correct data length etc.. -- 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] THttpServer - How to handle unimplemented request methods
Hi everyone! Is there any simple way to handle other than the GET, POST and HEADER request methods,... as OPTIONS,...? The way it is now, the THttpConnection.ProcessRequest procedure always respond with a Answer501, not giving any chance to handle other methods. I think a TriggerOnUnknownMethod event would be very useful. procedure THttpConnection.ProcessRequest; var handled:boolean; ... if FMethod = 'GET' then ProcessGet else if FMethod = 'POST' then ProcessPost else if FMethod = 'HEAD' then ProcessHead else begin TriggerOnUnknownMethod(handled); if not handled then begin if FKeepAlive = FALSE then {Bjornar} PrepareGraceFullShutDown; Answer501; { 07/03/2005 was Answer404 } end; end; TriggerBeforeAnswer; { V7.19 } end; By the way, the TriggerBeforeAnswer is used in what scenarios? From the code above, it seems the answer has been delivered already. Another thing that would be useful, if added to the code base of the THttpConnection, is the possibility to send additional headers from the THttpConnection.SendDocument, to define cache control, etc.. procedure THttpConnection.SendDocument(SendType : THttpSendType; const aHeader:string=''); ... if FLastModified 0 then Header := Header + 'Last-Modified: ' + RFC1123_Date(FLastModified) + ' GMT' + #13#10; if ContEncoderHdr '' then Header := Header + ContEncoderHdr; { V7.20 } if aHeader '' then Header := Header + aHeader Header := Header + GetKeepAliveHdrLines + #13#10; ... Regards, Rui -- 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] THTTPServer derivative, ConnectionDataAvailable not called
Hello, I searched google but found no answer to this. I am writing two sockets content proxy for the CONNECT method of HTTP/1.1. When I connect with FileZilla and IE to FTP sites, I get the banner but the client's pumped data (the USER FTP command for example), the data never arrives at ConnectionDataAvailable--never called until close. Any idea what's wrong? I am basing it on the socketspy. 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] THttpServer under ICSv7 and BCB2007
Hello, I have an upgraded code from v6. The below line: adminHTTPServer = new THttpServer(NULL); causes AV (write of address 0014). Any idea what might have I done wrong? This is a GUI app but for debugging the service so do not want to use Forms::Application. 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] THttpServer under ICSv7 and BCB2007
Also FYI: I have defined in both gui app and package NOFORMS;USE_SSL;NO_ADVANCED_USE_OF_HTTP_CLIENT;SECURITY_WIN32;NO_DEBUG_LOG . The Delphi guys may say why don't you step into the code and debug but BCB2007 does not let me step into Delphi code in C++ projects. Regards, Gorkem Ates On 5/11/09, Fastream Technologies ga...@fastream.com wrote: Hello, I have an upgraded code from v6. The below line: adminHTTPServer = new THttpServer(NULL); causes AV (write of address 0014). Any idea what might have I done wrong? This is a GUI app but for debugging the service so do not want to use Forms::Application. Best Regards, SZ -- Gorkem Ates Fastream Technologies Software IQ: Innovation Quality www.fastream.com | Email: supp...@fastream.com | Tel: +90-312-223-2830 | MSN: g_a...@hotmail.com Join IQWF Server Yahoo group at http://groups.yahoo.com/group/IQWFServer Join IQ Reverse Proxy Yahoo group at http://groups.yahoo.com/group/IQReverseProxy -- 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] THttpServer under ICSv7 and BCB2007
Hello, I fixed this by removing the v6 libs from project file using Notepad. Regards, SZ On 5/11/09, Fastream Technologies ga...@fastream.com wrote: Also FYI: I have defined in both gui app and package NOFORMS;USE_SSL;NO_ADVANCED_USE_OF_HTTP_CLIENT;SECURITY_WIN32;NO_DEBUG_LOG . The Delphi guys may say why don't you step into the code and debug but BCB2007 does not let me step into Delphi code in C++ projects. Regards, Gorkem Ates On 5/11/09, Fastream Technologies ga...@fastream.com wrote: Hello, I have an upgraded code from v6. The below line: adminHTTPServer = new THttpServer(NULL); causes AV (write of address 0014). Any idea what might have I done wrong? This is a GUI app but for debugging the service so do not want to use Forms::Application. 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] THttpServer under ICSv7 and BCB2007
Fastream Technologies wrote: Hello, I fixed this by removing the v6 libs from project file using Notepad. So not a bug in ICS. Please note that the THttpServer got an internal timer which iterates thru the list of clients every 5 seconds to detect timeouts. This may be important to know if you use some derived multi-threaded component. Also the default timeout is somewhat short. -- Arno Garrels Regards, SZ On 5/11/09, Fastream Technologies ga...@fastream.com wrote: Also FYI: I have defined in both gui app and package NOFORMS;USE_SSL;NO_ADVANCED_USE_OF_HTTP_CLIENT;SECURITY_WIN32;NO_DEBUG_LOG . The Delphi guys may say why don't you step into the code and debug but BCB2007 does not let me step into Delphi code in C++ projects. Regards, Gorkem Ates On 5/11/09, Fastream Technologies ga...@fastream.com wrote: Hello, I have an upgraded code from v6. The below line: adminHTTPServer = new THttpServer(NULL); causes AV (write of address 0014). Any idea what might have I done wrong? This is a GUI app but for debugging the service so do not want to use Forms::Application. 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] THttpServer under ICSv7 and BCB2007
Fastream Technologies wrote: Also FYI: I have defined in both gui app and package NOFORMS;USE_SSL;NO_ADVANCED_USE_OF_HTTP_CLIENT;SECURITY_WIN32;NO_DEBUG_LOG . The Delphi guys may say why don't you step into the code and debug but BCB2007 does not let me step into Delphi code in C++ projects. It is possible, as long as the path to the .pas files is known. I did this several times, however foregot the exact steps how to achieve that. It was easy anyway. From memory, when you step in with F7 C++ Builder even pops up a dialog where you can enter the correct path if not yet set up somewhere in the options. -- Arno Garrels Regards, Gorkem Ates On 5/11/09, Fastream Technologies ga...@fastream.com wrote: Hello, I have an upgraded code from v6. The below line: adminHTTPServer = new THttpServer(NULL); causes AV (write of address 0014). Any idea what might have I done wrong? This is a GUI app but for debugging the service so do not want to use Forms::Application. Best Regards, SZ -- Gorkem Ates Fastream Technologies Software IQ: Innovation Quality www.fastream.com | Email: supp...@fastream.com | Tel: +90-312-223-2830 | MSN: g_a...@hotmail.com Join IQWF Server Yahoo group at http://groups.yahoo.com/group/IQWFServer Join IQ Reverse Proxy Yahoo group at http://groups.yahoo.com/group/IQReverseProxy -- 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] THttpServer under ICSv7 and BCB2007
The problem is I must run my C++ project with release config as otherwise it gives av due to memory fragmentation (HEAVY duty!). Regards, SZ On 5/11/09, Arno Garrels arno.garr...@gmx.de wrote: Fastream Technologies wrote: Also FYI: I have defined in both gui app and package NOFORMS;USE_SSL;NO_ADVANCED_USE_OF_HTTP_CLIENT;SECURITY_WIN32;NO_DEBUG_LOG . The Delphi guys may say why don't you step into the code and debug but BCB2007 does not let me step into Delphi code in C++ projects. It is possible, as long as the path to the .pas files is known. I did this several times, however foregot the exact steps how to achieve that. It was easy anyway. From memory, when you step in with F7 C++ Builder even pops up a dialog where you can enter the correct path if not yet set up somewhere in the options. -- Arno Garrels Regards, Gorkem Ates On 5/11/09, Fastream Technologies ga...@fastream.com wrote: Hello, I have an upgraded code from v6. The below line: adminHTTPServer = new THttpServer(NULL); causes AV (write of address 0014). Any idea what might have I done wrong? This is a GUI app but for debugging the service so do not want to use Forms::Application. 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] THttpServer under ICSv7 and BCB2007
Fastream Technologies wrote: The problem is I must run my C++ project with release config as otherwise it gives av due to memory fragmentation (HEAVY duty!). If you want to debug, debug information have to be included, that's true. But those AVs are IMO a hint that something went rather wrong in your code, though I'm not very familiar with C++ Builder. -- Arno Garrels Regards, SZ On 5/11/09, Arno Garrels arno.garr...@gmx.de wrote: Fastream Technologies wrote: Also FYI: I have defined in both gui app and package NOFORMS;USE_SSL;NO_ADVANCED_USE_OF_HTTP_CLIENT;SECURITY_WIN32;NO_DEBUG_LOG . The Delphi guys may say why don't you step into the code and debug but BCB2007 does not let me step into Delphi code in C++ projects. It is possible, as long as the path to the .pas files is known. I did this several times, however foregot the exact steps how to achieve that. It was easy anyway. From memory, when you step in with F7 C++ Builder even pops up a dialog where you can enter the correct path if not yet set up somewhere in the options. -- Arno Garrels Regards, Gorkem Ates On 5/11/09, Fastream Technologies ga...@fastream.com wrote: Hello, I have an upgraded code from v6. The below line: adminHTTPServer = new THttpServer(NULL); causes AV (write of address 0014). Any idea what might have I done wrong? This is a GUI app but for debugging the service so do not want to use Forms::Application. 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] THttpServer under ICSv7 and BCB2007
Hi, On 5/11/09, Arno Garrels arno.garr...@gmx.de wrote: Fastream Technologies wrote: The problem is I must run my C++ project with release config as otherwise it gives av due to memory fragmentation (HEAVY duty!). If you want to debug, debug information have to be included, that's true. But those AVs are IMO a hint that something went rather wrong in your code, though I'm not very familiar with C++ Builder. Long time ago, I read that mt apps with much RAM usage is causing these... What BCB enables for C++ code is debugging for optimized code. However, this is not the case with Pascal code. Regards, SZ -- Arno Garrels Regards, SZ On 5/11/09, Arno Garrels arno.garr...@gmx.de wrote: Fastream Technologies wrote: Also FYI: I have defined in both gui app and package NOFORMS;USE_SSL;NO_ADVANCED_USE_OF_HTTP_CLIENT;SECURITY_WIN32;NO_DEBUG_LOG . The Delphi guys may say why don't you step into the code and debug but BCB2007 does not let me step into Delphi code in C++ projects. It is possible, as long as the path to the .pas files is known. I did this several times, however foregot the exact steps how to achieve that. It was easy anyway. From memory, when you step in with F7 C++ Builder even pops up a dialog where you can enter the correct path if not yet set up somewhere in the options. -- Arno Garrels Regards, Gorkem Ates On 5/11/09, Fastream Technologies ga...@fastream.com wrote: Hello, I have an upgraded code from v6. The below line: adminHTTPServer = new THttpServer(NULL); causes AV (write of address 0014). Any idea what might have I done wrong? This is a GUI app but for debugging the service so do not want to use Forms::Application. 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] THttpServer under ICSv7 and BCB2007
If you are getting AV's use something like EurekaLog to trap and report them with a call stack. https://www.eurekalog.com/index.php I use this all the time, saves tons of time tracking these things down. Worth every penny/euro. Matt -Original Message- From: twsocket-boun...@elists.org [mailto:twsocket-boun...@elists.org] On Behalf Of Fastream Technologies Sent: Monday, May 11, 2009 1:10 PM To: ICS support mailing Subject: Re: [twsocket] THttpServer under ICSv7 and BCB2007 Hi, On 5/11/09, Arno Garrels arno.garr...@gmx.de wrote: Fastream Technologies wrote: The problem is I must run my C++ project with release config as otherwise it gives av due to memory fragmentation (HEAVY duty!). If you want to debug, debug information have to be included, that's true. But those AVs are IMO a hint that something went rather wrong in your code, though I'm not very familiar with C++ Builder. Long time ago, I read that mt apps with much RAM usage is causing these... What BCB enables for C++ code is debugging for optimized code. However, this is not the case with Pascal code. Regards, SZ -- Arno Garrels Regards, SZ On 5/11/09, Arno Garrels arno.garr...@gmx.de wrote: Fastream Technologies wrote: Also FYI: I have defined in both gui app and package NOFORMS;USE_SSL;NO_ADVANCED_USE_OF_HTTP_CLIENT;SECURITY_WIN32;NO_DE BUG_LOG . The Delphi guys may say why don't you step into the code and debug but BCB2007 does not let me step into Delphi code in C++ projects. It is possible, as long as the path to the .pas files is known. I did this several times, however foregot the exact steps how to achieve that. It was easy anyway. From memory, when you step in with F7 C++ Builder even pops up a dialog where you can enter the correct path if not yet set up somewhere in the options. -- Arno Garrels Regards, Gorkem Ates On 5/11/09, Fastream Technologies ga...@fastream.com wrote: Hello, I have an upgraded code from v6. The below line: adminHTTPServer = new THttpServer(NULL); causes AV (write of address 0014). Any idea what might have I done wrong? This is a GUI app but for debugging the service so do not want to use Forms::Application. 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 -- 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] THttpServer with digest authentication and logout
Heiko Sommerfeldt wrote: Can this mechanism be used to enforce a logout? My web site should have a logout/new login link. When this link is activated, the browser should ask for new login credentials. It would not work reliable since for example, IE6 shows the login dialog with previously entered user name and password when the stale flag is set to false. I've seen logout links only in web applications using non-HTTP authentication so far. However I think a new published property that allows to set the lifetime of the nonce could be a improvement. -- 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] THttpServer with digest authentication and logout
Heiko Sommerfeldt wrote: Hi, I am using THttpServer with digest authentication and it works well. What I need is a logout, so the user (browser) needs a new login. It's IMO not possible to force the browser to display a login dialog. Currently the HTTP server uses a hardcoded nonce-lifetime of one minute. But even if it would use a one-time nonce (which added some overhead) the browser may cache and resend user credentials next time he receives a 401 response from the server. -- 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] THttpServer with digest authentication and logout
Hi, I am using THttpServer with digest authentication and it works well. What I need is a logout, so the user (browser) needs a new login. It's IMO not possible to force the browser to display a login dialog. Currently the HTTP server uses a hardcoded nonce-lifetime of one minute. But even if it would use a one-time nonce (which added some overhead) the browser may cache and resend user credentials next time he receives a 401 response from the server. OK, I understand. Is there a header field that I can add to prevent the browser to reuse the old credentials? The main problem is the following: If the user (of the browser) puts in a wrong password the connection is refused. Now the user opens (refresh) the page again and the browser sends the rejected digest information again automatically so the login fails again. Is there really no solution for this? I tried to change the AuthRealm, but the browser shows no login dialog again. Heiko -- 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] THttpServer with digest authentication and logout
Heiko Sommerfeldt wrote: The main problem is the following: If the user (of the browser) puts in a wrong password the connection is refused. Now the user opens (refresh) the page again and the browser sends the rejected digest information again automatically so the login fails again. Is there really no solution for this? Are you saying that the browser caches and reuses user credentials even though they did not login the user previously? And the browser does not pop up the login dialog when authentication failed? -- 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] THttpServer with digest authentication and logout
Scrive Heiko Sommerfeldt i...@phoner.de: [...] The main problem is the following: If the user (of the browser) puts in a wrong password the connection is refused. Now the user opens (refresh) the page again and the browser sends the rejected digest information again automatically so the login fails again. Do you answer with a 401 status code when the login fail? 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] THttpServer with digest authentication and logout
The main problem is the following: If the user (of the browser) puts in a wrong password the connection is refused. Now the user opens (refresh) the page again and the browser sends the rejected digest information again automatically so the login fails again. Is there really no solution for this? Are you saying that the browser caches and reuses user credentials even though they did not login the user previously? And the browser does not pop up the login dialog when authentication failed? I start my application with the built in THttpServer. I use the streaming interface - there is no file loaded. Now I open the browser and opens the local URL. The login dialog appears and I put in a wrong password. The browser shows 403 Forbidden. I return hg403 for the flag in OnGetDocument() after OnAuthResult() with failed login was called. Reloading in browser gets the same result again. Heiko -- 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] THttpServer with digest authentication and logout
Do you have any proxy configures for your browser? Regards, SZ On Thu, Jan 1, 2009 at 2:23 PM, Heiko Sommerfeldt i...@phoner.de wrote: The main problem is the following: If the user (of the browser) puts in a wrong password the connection is refused. Now the user opens (refresh) the page again and the browser sends the rejected digest information again automatically so the login fails again. Is there really no solution for this? Are you saying that the browser caches and reuses user credentials even though they did not login the user previously? And the browser does not pop up the login dialog when authentication failed? I start my application with the built in THttpServer. I use the streaming interface - there is no file loaded. Now I open the browser and opens the local URL. The login dialog appears and I put in a wrong password. The browser shows 403 Forbidden. I return hg403 for the flag in OnGetDocument() after OnAuthResult() with failed login was called. Reloading in browser gets the same result again. Heiko -- 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
Re: [twsocket] THttpServer with digest authentication and logout
Maurizio Lotauro wrote: Scrive Heiko Sommerfeldt i...@phoner.de: [...] The main problem is the following: If the user (of the browser) puts in a wrong password the connection is refused. Now the user opens (refresh) the page again and the browser sends the rejected digest information again automatically so the login fails again. Do you answer with a 401 status code when the login fail? Yes, it is automatically sent by the component. However, after a little test with Firefox, and passing an invalid password, I see an infinite loop. Firefox infinitely retries to login with the wrong password. This repeats with the webserver demo easily. -- 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] THttpServer with digest authentication and logout
Do you have any proxy configures for your browser? No. -- 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] THttpServer with digest authentication and logout
Yes, it is automatically sent by the component. However, after a little test with Firefox, and passing an invalid password, I see an infinite loop. Firefox infinitely retries to login with the wrong password. This repeats with the webserver demo easily. The same happens here with IE8beta too. Therefore I answer with 403 after such failed login. -- 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] THttpServer with digest authentication and logout
Heiko Sommerfeldt wrote: The same happens here with IE8beta too. Therefore I answer with 403 after such failed login. It's a bug in THttpServer :( [..] RFC 2617 HTTP Authentication June 1999 stale A flag, indicating that the previous request from the client was rejected because the nonce value was stale. If stale is TRUE (case-insensitive), the client may wish to simply retry the request with a new encrypted response, without reprompting the user for a new username and password. The server should only set stale to TRUE if it receives a request for which the nonce is invalid but with a valid digest for that nonce (indicating that the client knows the correct username/password). If stale is FALSE, or anything other than TRUE, or the stale directive is not present, the username and/or password are invalid, and new values must be obtained. [..] stale is always set to TRUE by the component which is a bug, I suggest the following fix: in (OverbyteIcs)HttpSrv.pas, function THttpConnection.AuthDigestGetParams: Boolean; .. daAuthInt: if FAuthDigestQop 'auth-int' then Exit; daBoth: { whatever it is } end; // FAuthDigestStale := TRUE; == outcomment { AG } .. if (LastTime + t1) t2 then Result := TRUE else == add { AG } FAuthDigestStale := TRUE; == add { AG } What do you think? -- Arno Garrels [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html end; -- 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] THttpServer with digest authentication and logout
The previous fix was not yet OK since it never forced a new nonce. The change below should be safer since a new nonce is forced after its lifetime expired. I hope I understood the stale parameter correctly now. in (OverbyteIcs)HttpSrv.pas, function THttpConnection.AuthDigestGetParams: Boolean; .. daAuthInt: if FAuthDigestQop 'auth-int' then Exit; daBoth: { whatever it is } end; // FAuthDigestStale := TRUE; == outcommented .. if (LastTime + t1) t2 then begin == added Result := TRUE; FAuthDigestStale := TRUE; == added end; == added end; and in procedure THttpConnection.AuthCheckAuthenticated; .. else if AuthType = atDigest then begin FAuthDigestBody := ''; FAuthenticated := AuthDigestGetParams; if FAuthenticated then begin PasswdBuf := #0; TriggerAuthGetPassword(PasswdBuf); FAuthenticated := AuthDigestCheckPassword(PasswdBuf); if (not FAuthenticated) and FAuthDigestStale then == added FAuthDigestStale := FALSE; == added TriggerAuthResult(FAuthenticated); end; end .. -- 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] THttpServer with digest authentication and logout
Hi, that solves my problems! There is no loop when wrong login parameters are used. Thanks a lot! Can this mechanism be used to enforce a logout? My web site should have a logout/new login link. When this link is activated, the browser should ask for new login credentials. Heiko The previous fix was not yet OK since it never forced a new nonce. The change below should be safer since a new nonce is forced after its lifetime expired. I hope I understood the stale parameter correctly now. [...] -- 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] THttpServer with digest authentication and logout
Hi, I am using THttpServer with digest authentication and it works well. What I need is a logout, so the user (browser) needs a new login. As long I don't close the browser the same digest information is sent by the browser and authentication is successful. Is there a way to force the browser to show the login screen again? Thanks Heiko -- 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] THttpServer fixes for ICS v5/6/7 uploaded to theSVNrepositories - please test!
Lars Gehre wrote: Hi, Fixed responses and an infinite loop when a byte-range-set was unsatisfiable. Added a fix for content ranges with files 2GB as suggested by Lars Gehre l...@dvbviewer.com. Replaced symbol UseInt64ForHttpRange by STREAM64. -- Arno Garrels [TeamICS] Sorry for taking so long to give feedback. Tested your fixes and they work without problems in V5 and V6. Thank you for testing. Btw: I forgot to comment that UseInt64ForHttpRange continues to work, it just forces STREAM64 which now is the only Integer/Int64 conditional in the implementation. -- 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] THttpServer fixes for ICS v5/6/7 uploaded to the SVNrepositories - please test!
Hi, Fixed responses and an infinite loop when a byte-range-set was unsatisfiable. Added a fix for content ranges with files 2GB as suggested by Lars Gehre l...@dvbviewer.com. Replaced symbol UseInt64ForHttpRange by STREAM64. -- Arno Garrels [TeamICS] Sorry for taking so long to give feedback. Tested your fixes and they work without problems in V5 and V6. Lars -- 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] THttpServer new features uploaded to the SVN repository
Hi, THttpServer --- Added Keep-Alive timeout and a maximum number of allowed requests during persistent connections. Set property KeepAliveTimeSec to zero in order disable this feature entirely, otherwise persistent connections are dropped either after an idle time of value KeepAliveTimeSec or if the maximum number of requests (property MaxRequestKeepAlive) is reached. Multiple calls to CloseDelayed replaced by a graceful shutdown procedure to ensure all data is sent before the socket handle is closed. It's achieved by calling procedure PrepareGraceFullShutDown before data is actually sent, when ConnectionDataSent triggers ShutDown(1) is called and in case a client won't close the connection is dropped after 5 seconds. New header Keep-Alive is sent if a client explcitely requests Connection: Keep-Alive. WebServ demo POST demo is now UTF-8 aware Please test and post any bugs to the list. Thank you! -- 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] THttpServer new features uploaded to the SVN repository
Changes are ICS v7 only. -- Arno Garrels [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html Arno Garrels wrote: Hi, THttpServer --- Added Keep-Alive timeout and a maximum number of allowed requests during persistent connections. Set property KeepAliveTimeSec to zero in order disable this feature entirely, otherwise persistent connections are dropped either after an idle time of value KeepAliveTimeSec or if the maximum number of requests (property MaxRequestKeepAlive) is reached. Multiple calls to CloseDelayed replaced by a graceful shutdown procedure to ensure all data is sent before the socket handle is closed. It's achieved by calling procedure PrepareGraceFullShutDown before data is actually sent, when ConnectionDataSent triggers ShutDown(1) is called and in case a client won't close the connection is dropped after 5 seconds. New header Keep-Alive is sent if a client explcitely requests Connection: Keep-Alive. WebServ demo POST demo is now UTF-8 aware Please test and post any bugs to the list. Thank you! -- 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] THttpServer fixes for ICS v5/6/7 uploaded to the SVN repositories - please test!
Hi, Fixed responses and an infinite loop when a byte-range-set was unsatisfiable. Added a fix for content ranges with files 2GB as suggested by Lars Gehre [EMAIL PROTECTED]. Replaced symbol UseInt64ForHttpRange by STREAM64. -- 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
[twsocket] THttpServer Bug - Infinite loop on error in range-definition
Hi, In order to reproduce the bug connect with THttpCli and assign the following byte range: ContentRangeBegin := some valid value; ContentRangeEnd := file size; The THttpServer will enter an infinite loop! What I do not know is whether the range above should be treated as a valid range or not (looks rather valid to me, however I did not read the RFC). Anyway the THttpServer treats it as error in THttpConnection.SendDocument: { Error in Range-definition } ProtoNumber := 416; ErrorSend := True; But ConnectionDataSent triggers infinitely due to FDocBuf is nil. -- 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] [THTTPServer] Answers blocked ?
I don't know how you send the reply (since there are several ways to do it), but if you don't set ContentLength correctly, then the client may wait forever for data that will never comes. As you said it usually works, probable the length is set correctly. You have to verify if it is always the case. Thanks for the answer, my replies are always sent in a POST form method. Are you using AnswerString(), AnswerPage() or similar ? Are you building the response header lines yourself or is this handled by the component ? Once the issue appears, is it there for all clients or only a few ones ? No it happen for all clients, anyway they are all IE 6 or 7 client (if it's what you're talking about) What I wanted to know was : when the issue occur, are all the clients and all the requests affected ? Said in another way: does the server stop servicing any client properly ? If the server stop completely, I see two possibilities: 1) The server is stopped (the socket server listening for connections is closed). This may happend when you have a bug and unexpectedly close a bad [file or other] handle. If it happends that the wrong handle is the listening socket handle, no other connection will be accepted. (CloseHandle() applyed to a socket handle will close the socket). 2) The thread servicing the HTTP server is blocked and doesn't call the message pump anymore. So no event is triggered nor handled and nothing happend any more regarding socket I/O which - as you know - is event driven. 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 - Original Message - From: Guillaume ROQUES [EMAIL PROTECTED] To: twsocket twsocket@elists.org Sent: Wednesday, June 11, 2008 10:34 AM Subject: [twsocket] [THTTPServer] Answers blocked ? I don't know how you send the reply (since there are several ways to do it), but if you don't set ContentLength correctly, then the client may wait forever for data that will never comes. As you said it usually works, probable the length is set correctly. You have to verify if it is always the case. Thanks for the answer, my replies are always sent in a POST form method. But the thing is that my web server have received the values of the posted form (OnPostDocument and OnPostedData events are OK), and it has fullfilled the database and the listout; nevertheless the sending loop or something... To have a better idea about what happend, you may think about installing a sniffer (there are free ones) to capture the traffic and then later check that everything is OK at the network cable. OK, I gonna ask the IT manager of the hospital if it's OK to install one. By the way is WireShark(http://www.wireshark.org/) is a good choice ? Once the issue appears, is it there for all clients or only a few ones ? No it happen for all clients, anyway they are all IE 6 or 7 client (if it's what you're talking about) gratefully, Guillaume ROQUES CANYON Technologies -- 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] [THTTPServer] Answers blocked ?
Hi, we are using ICS components for a Web server, developed as a windows service, since a long time now and everything work fine. But we just install it in a hospital and found problems concerns answers from the web server. Client side: sending a request through a form, then the browser displays Pending + server name. Server side : parse values of the requests (ListIn) and sending the response (ListOut) Client side: Always the message Pending + server name. Server side : The process have a normal activity but the web server seems to loop on sending, a stop / start on the service puts things in place. What I describe here is not constant (too easy!) , the user can work for some time and then it falls into this loop. What we see is that often happens in the morning and in the early afternoon, testing in the late afternoon show that the service and the web server is working properly (?), it could coincide with the number of users on the network Knowing that this is a network hospital, there are a lot of intermediate (proxy, switch, hub, firewall), maybe their configuration block my answers I would like to know if it evokes something to someone, just to have a clue or a way to look for. For the ICS component I 'd also like know how to get out of the blocking loop . Is there a way to detect that sending failed or unsuccessful ? Client side, I understand that it could be, as he interrogates the server, but server side ? I hope to have been sufficiently clear on the description of the problem, I'll try to have more information on the architecture of network . Guillaume ROQUES CANYON Technologies -- 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] [THTTPServer] Answers blocked ?
Hi ! Client side: Always the message Pending + server name. I don't know how you send the reply (since there are several ways to do it), but if you don't set ContentLength correctly, then the client may wait forever for data that will never comes. As you said it usually works, probable the length is set correctly. You have to verify if it is always the case. To have a better idea about what happend, you may think about installing a sniffer (there are free ones) to capture the traffic and then later check that everything is OK at the network cable. What I describe here is not constant (too easy!) , the user can work for some time and then it falls into this loop. Once the issue appears, is it there for all clients or only a few ones ? Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html -- [EMAIL PROTECTED] The author of the freeware multi-tier middleware MidWare The author of the freeware Internet Component Suite (ICS) http://www.overbyte.be - Original Message - From: Guillaume ROQUES [EMAIL PROTECTED] To: twsocket twsocket@elists.org Sent: Tuesday, June 10, 2008 11:58 AM Subject: [twsocket] [THTTPServer] Answers blocked ? Hi, we are using ICS components for a Web server, developed as a windows service, since a long time now and everything work fine. But we just install it in a hospital and found problems concerns answers from the web server. Client side: sending a request through a form, then the browser displays Pending + server name. Server side : parse values of the requests (ListIn) and sending the response (ListOut) Client side: Always the message Pending + server name. Server side : The process have a normal activity but the web server seems to loop on sending, a stop / start on the service puts things in place. What I describe here is not constant (too easy!) , the user can work for some time and then it falls into this loop. What we see is that often happens in the morning and in the early afternoon, testing in the late afternoon show that the service and the web server is working properly (?), it could coincide with the number of users on the network Knowing that this is a network hospital, there are a lot of intermediate (proxy, switch, hub, firewall), maybe their configuration block my answers I would like to know if it evokes something to someone, just to have a clue or a way to look for. For the ICS component I 'd also like know how to get out of the blocking loop . Is there a way to detect that sending failed or unsuccessful ? Client side, I understand that it could be, as he interrogates the server, but server side ? I hope to have been sufficiently clear on the description of the problem, I'll try to have more information on the architecture of network . Guillaume ROQUES CANYON Technologies -- 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] THttpServer
Hello Francois, I'm trying to write a program that uses the THttpServer (ICS version 6) component in Borland Studio. As mentioned in one of the FAQ the use of __classid() will resolve the problem of being unable to assign the ClientClass of the THttpServer. When I assign my custom class derived from THttpConnection I get 2 unresoved linker error: [Linker Error] Error: Unresolved external '__fastcall Overbyteicswsocket::TCustomWSocket::Send(void * const, int)' referenced from D:\PROJECTS\BORLAND STUDIO\SERVER\CUSTOMHTTPCONNECTIONSRC.OBJ [Linker Error] Error: Unresolved external '__fastcall Overbyteicswsocket::TCustomWSocket::SendTo(const sockaddr_in, int, void * const, int)' referenced from D:\PROJECTS\BORLAND STUDIO\SERVER\CUSTOMHTTPCONNECTIONSRC.OBJ I've used the ICS version 5 with Delphi an C++ Builder in the same manner and without any problems. Can you give me any tips or advice on how to resolve this? Or is this a small bug as this version is a Beta untested for C++ Builder? Also I've got a small test project without any additional code or components, it's just trying to assign the ClientClass and is also giving the same error. So if anyone would require this please let me know. If there is any information I left out, please let me know. Kind Regards, Albert -- 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] THttpServer
Probably you should make available somewhere a small test (the smallest possible actually) which reproduce the problem so that the one willing to investigate can do it in a snap. 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 - Original Message - From: Albert [EMAIL PROTECTED] To: twsocket@elists.org Sent: Wednesday, June 20, 2007 10:32 AM Subject: [twsocket] THttpServer Hello Francois, I'm trying to write a program that uses the THttpServer (ICS version 6) component in Borland Studio. As mentioned in one of the FAQ the use of __classid() will resolve the problem of being unable to assign the ClientClass of the THttpServer. When I assign my custom class derived from THttpConnection I get 2 unresoved linker error: [Linker Error] Error: Unresolved external '__fastcall Overbyteicswsocket::TCustomWSocket::Send(void * const, int)' referenced from D:\PROJECTS\BORLAND STUDIO\SERVER\CUSTOMHTTPCONNECTIONSRC.OBJ [Linker Error] Error: Unresolved external '__fastcall Overbyteicswsocket::TCustomWSocket::SendTo(const sockaddr_in, int, void * const, int)' referenced from D:\PROJECTS\BORLAND STUDIO\SERVER\CUSTOMHTTPCONNECTIONSRC.OBJ I've used the ICS version 5 with Delphi an C++ Builder in the same manner and without any problems. Can you give me any tips or advice on how to resolve this? Or is this a small bug as this version is a Beta untested for C++ Builder? Also I've got a small test project without any additional code or components, it's just trying to assign the ClientClass and is also giving the same error. So if anyone would require this please let me know. If there is any information I left out, please let me know. Kind Regards, Albert -- 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] THttpserver Componet
Hello, I am using ICS THttpserver Component.i created a webserver .so i want to know that does this component support ISAPI application. waiting for your reply. thanks regards Avinash Kumar. Subscribe to MicroWorld's free security newsletter @ http://www.mwti.net/support/newsletter_subscribe.asp -- 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] THttpserver Componet
I am using ICS THttpserver Component.i created a webserver .so i want to know that does this component support ISAPI application. Someone wrote ISAPI/CGI support. See usermade page at my website. This code probably need a little refresh. btw: basically ISAPI/CGI is completely against the idea of having a webserver 100% written in Delphi, unless you have existing ISAPI/CGI to execute. Everything yoiu can do with an ISAPI/CGI can be done must easier and with much more performance than using an ISAPI or a CGI. Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html -- [EMAIL PROTECTED] 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://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] THttpServer Authentication
xmedia wrote: Thanks SZ. But where do I get the password user sent? Do you have any example? Sorry but I am a bit lost here... Look at the (OverbyteIcs)Websrv demo in latest beta, there are several events and properties dealing with authentication. Next version will also include NTLM support. --- Arno Garrels [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html -Original Message- From: [EMAIL PROTECTED] [mailto:twsocket- [EMAIL PROTECTED] On Behalf Of Fastream Technologies Sent: Friday, September 08, 2006 1:32 PM To: ICS support mailing Subject: Re: [twsocket] THttpServer Authentication That is a reference variable parameter! You need to pass the correct password for the user specified to the component by assigning to the variable! Regards, SZ - Original Message - From: xmedia [EMAIL PROTECTED] To: 'ICS support mailing' twsocket@elists.org Sent: Friday, September 08, 2006 8:30 AM Subject: [twsocket] THttpServer Authentication Hi, I am wondering anybody here can give an example on how to build a password protected web server using THttpServer. I tried to setup a basic authentication for THttpServer. But it seems that HttpServer1AuthGetPassword event always give an empty Password (I use ShowMessage(Password) in C++ Builder). Thanks! Wang -- 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] THttpServer Authentication
Thank you for all your help. I managed to get it work.:-) -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Arno Garrels Sent: Friday, September 08, 2006 2:41 PM To: ICS support mailing Subject: Re: [twsocket] THttpServer Authentication xmedia wrote: Thanks SZ. But where do I get the password user sent? Do you have any example? Sorry but I am a bit lost here... Look at the (OverbyteIcs)Websrv demo in latest beta, there are several events and properties dealing with authentication. Next version will also include NTLM support. --- Arno Garrels [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html -Original Message- From: [EMAIL PROTECTED] [mailto:twsocket- [EMAIL PROTECTED] On Behalf Of Fastream Technologies Sent: Friday, September 08, 2006 1:32 PM To: ICS support mailing Subject: Re: [twsocket] THttpServer Authentication That is a reference variable parameter! You need to pass the correct password for the user specified to the component by assigning to the variable! Regards, SZ - Original Message - From: xmedia [EMAIL PROTECTED] To: 'ICS support mailing' twsocket@elists.org Sent: Friday, September 08, 2006 8:30 AM Subject: [twsocket] THttpServer Authentication Hi, I am wondering anybody here can give an example on how to build a password protected web server using THttpServer. I tried to setup a basic authentication for THttpServer. But it seems that HttpServer1AuthGetPassword event always give an empty Password (I use ShowMessage(Password) in C++ Builder). Thanks! Wang -- 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 -- 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] THttpServer POST data
Anybody knows where I can find a web server demo that can process posted data? For example, I want to get all data posted from a web form and save to database. The current one came with ICS components only shows how to process a GET request. Any help is appreciated. Thanks. wang -- 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] THttpServer Authentication
Hi, I am wondering anybody here can give an example on how to build a password protected web server using THttpServer. I tried to setup a basic authentication for THttpServer. But it seems that HttpServer1AuthGetPassword event always give an empty Password (I use ShowMessage(Password) in C++ Builder). Thanks! Wang -- 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] THTTPServer compiled by FPC on Linux
Thanks for the pointer. Im guessing the API for the Delphi and Kylix versions are the same so all we need to do is have the different ICS libary on each platform to successfully compile without changing source code. Can you recommend any reading material related to threaded/non-threaded verus blocking/nonblocing ports and sockets? K. Francois PIETTE wrote: There is a ICS-Kylix version available (see website). Not all components are there are development is more or less in standby. ICS for Windows make use of Winsock asynchronous mode and Windows messages none are available on Linux. ICS for Linux replace built in asynchronous operation by thread and implement a kind of message system. Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html -- [EMAIL PROTECTED] http://www.overbyte.be - Original Message - From: Kris Leech [EMAIL PROTECTED] To: twsocket@elists.org Sent: Saturday, September 02, 2006 4:07 PM Subject: [twsocket] THTTPServer compiled by FPC on Linux Hello, I am using Free Pascal Compiler (Lazarus IDE) and am having trouble with the compiling anything using THTTPServer on Linux platform, specifically Im using Fedora 5, but I think it is a generic linux problem since the error is can't find Windows unit. I'm guessing this is a unit specific to Win32. It compiles fine on Windows but on Linux I get an error about not being able to find Windows unit. Are people commonly compiling ICS on linux (Kylix or FPC)? I'm not sure if this is due to something in ICS or a FPC setting... And before I go searching for I thought I'd ask to see if anyone else has solved this. Many thanks in advance, K. -- 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] THTTPServer compiled by FPC on Linux
Thanks for the pointer. Im guessing the API for the Delphi and Kylix versions are the same so all we need to do is have the different ICS libary on each platform to successfully compile without changing source code. That was the goal of my Kylix port. Still there are differences mostly because of the message pump. Kylix message pump in the GUI is way too slow for efficient network I/O. Better use ICS/Kylix message pump. And since ICS/Kylix use threads, there are differences in the way events are handled. Can you recommend any reading material related to threaded/non-threaded verus blocking/nonblocing ports and sockets? There is an article in the wiki: http://wiki.overbyte.be. Still under construction. -- Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html -- [EMAIL PROTECTED] 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] THTTPServer compiled by FPC on Linux
Hello, I am using Free Pascal Compiler (Lazarus IDE) and am having trouble with the compiling anything using THTTPServer on Linux platform, specifically Im using Fedora 5, but I think it is a generic linux problem since the error is can't find Windows unit. I'm guessing this is a unit specific to Win32. It compiles fine on Windows but on Linux I get an error about not being able to find Windows unit. Are people commonly compiling ICS on linux (Kylix or FPC)? I'm not sure if this is due to something in ICS or a FPC setting... And before I go searching for I thought I'd ask to see if anyone else has solved this. Many thanks in advance, K. -- 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] THTTPServer compiled by FPC on Linux
There is a ICS-Kylix version available (see website). Not all components are there are development is more or less in standby. ICS for Windows make use of Winsock asynchronous mode and Windows messages none are available on Linux. ICS for Linux replace built in asynchronous operation by thread and implement a kind of message system. Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html -- [EMAIL PROTECTED] http://www.overbyte.be - Original Message - From: Kris Leech [EMAIL PROTECTED] To: twsocket@elists.org Sent: Saturday, September 02, 2006 4:07 PM Subject: [twsocket] THTTPServer compiled by FPC on Linux Hello, I am using Free Pascal Compiler (Lazarus IDE) and am having trouble with the compiling anything using THTTPServer on Linux platform, specifically Im using Fedora 5, but I think it is a generic linux problem since the error is can't find Windows unit. I'm guessing this is a unit specific to Win32. It compiles fine on Windows but on Linux I get an error about not being able to find Windows unit. Are people commonly compiling ICS on linux (Kylix or FPC)? I'm not sure if this is due to something in ICS or a FPC setting... And before I go searching for I thought I'd ask to see if anyone else has solved this. Many thanks in advance, K. -- 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] THttpServer Digest Auth implemented with ICS
Fastream Technologies wrote: Hello Francois and Everybody, We (me and Peter Nikolow) worked on Digest authentication for ICS THttpServer. Could this be implemented so that further authentication methods can be added easily? Would it make sense to add NTLM support as well? With NTLM it would be possible to check logins either against Windows- or a custom user database. Concerning Windows- users I'm not quite sure if it makes much sence, because although it's possible to verify whether a NTLM logon is accepted (SSPI), granted privileges and access rights would apply only if you impersonate the logged on user (which is impersonating current thread). Arno Garrels -- 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] THttpServer Digest Auth implemented with ICS
You're welcome but there is a bug in the code that Peter needs to look at besides the ones I fixed. Please do not merge yet and wait for me. Best Regards, SZ - Original Message - From: Francois PIETTE [EMAIL PROTECTED] To: ICS support mailing twsocket@elists.org Sent: Friday, January 20, 2006 8:44 PM Subject: Re: [twsocket] THttpServer Digest Auth implemented with ICS That's an interesting contribution ! Thank you. -- [EMAIL PROTECTED] http://www.overbyte.be - Original Message - From: Fastream Technologies [EMAIL PROTECTED] To: ICS support mailing twsocket@elists.org Sent: Friday, January 20, 2006 1:50 PM Subject: [twsocket] THttpServer Digest Auth implemented with ICS Hello Francois and Everybody, We (me and Peter Nikolow) worked on Digest authentication for ICS THttpServer. We used Delphi and ICS v5 (unit version 1.38) for the httpsrv.pas and C++ for the test unit. We (fastream.com) want to donate the code to our very community. I urge you (Francois) to make this code part of your official release of both v5 and v6 and other people to have a look at the code and provide feedback so that we would be able to fix anything wrong. http://www.fastream.com/ics/THttpServerDigest.zip (The C++ code is less than 30 lines and it should not be hard to write it with Delphi as well). Best Regards, SubZero CSA, Fastream Technologies Software IQ: Innovation Quality www.fastream.com | [EMAIL PROTECTED] -- 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] THttpServer Digest Auth implemented with ICS
Hello Francois and Everybody, We (me and Peter Nikolow) worked on Digest authentication for ICS THttpServer. We used Delphi and ICS v5 (unit version 1.38) for the httpsrv.pas and C++ for the test unit. We (fastream.com) want to donate the code to our very community. I urge you (Francois) to make this code part of your official release of both v5 and v6 and other people to have a look at the code and provide feedback so that we would be able to fix anything wrong. http://www.fastream.com/ics/THttpServerDigest.zip (The C++ code is less than 30 lines and it should not be hard to write it with Delphi as well). Best Regards, SubZero CSA, Fastream Technologies Software IQ: Innovation Quality www.fastream.com | [EMAIL PROTECTED] -- 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] THttpServer Digest Auth implemented with ICS
That's an interesting contribution ! Thank you. -- [EMAIL PROTECTED] http://www.overbyte.be - Original Message - From: Fastream Technologies [EMAIL PROTECTED] To: ICS support mailing twsocket@elists.org Sent: Friday, January 20, 2006 1:50 PM Subject: [twsocket] THttpServer Digest Auth implemented with ICS Hello Francois and Everybody, We (me and Peter Nikolow) worked on Digest authentication for ICS THttpServer. We used Delphi and ICS v5 (unit version 1.38) for the httpsrv.pas and C++ for the test unit. We (fastream.com) want to donate the code to our very community. I urge you (Francois) to make this code part of your official release of both v5 and v6 and other people to have a look at the code and provide feedback so that we would be able to fix anything wrong. http://www.fastream.com/ics/THttpServerDigest.zip (The C++ code is less than 30 lines and it should not be hard to write it with Delphi as well). Best Regards, SubZero CSA, Fastream Technologies Software IQ: Innovation Quality www.fastream.com | [EMAIL PROTECTED] -- 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] ThttpServer and SOAP
When transmit a soap request, i get the error from my ISAPI dll : 'EDOMParse Error : An Invalid character was found in text content' Is it possible for you the get the invalid character ? This could give an idea about what is occuring. Maybe you have an accented character that is not properly encoded ? Just an idea... -- 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 - Original Message - From: Frédéric SCHENCKEL [EMAIL PROTECTED] To: ICS support mailing twsocket@elists.org Sent: Monday, October 10, 2005 11:49 AM Subject: [twsocket] ThttpServer and SOAP Hello, I'm using François's HttpServer and TICSIsapi component from Sven Schmidts. I've slightly modified TICSIsapi to handle the soap requests (wsdl and so on). This part is working. But i'm facing another problem : When transmit a soap request, i get the error from my ISAPI dll : 'EDOMParse Error : An Invalid character was found in text content' This seems to say that the request is not well formed. But the same client and the same ISAPI DLL works well with IIS. So it is a problem happening in HttpServer when transfering the datas to the ISAPI DLL Loading the content of FPostedDataBuffer in a separate TXMLDocument works without problems... Does somebody have an idea where the problem can be ? Thanks regards Frédéric SCHENCKEL * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * cab technologies za Nord du val de Moder 67350 Niedermodern Tél: + 33 3 88 72 25 01 / Fax: +33 3 88 72 25 02 Notre site en Français: www.cab-technologies.fr http://www.cab-technologies.fr/ Adresse support: [EMAIL PROTECTED] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -- 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] ThttpServer and SOAP
Francois Piette a écrit : When transmit a soap request, i get the error from my ISAPI dll : 'EDOMParse Error : An Invalid character was found in text content' Is it possible for you the get the invalid character ? This could give an idea about what is occuring. Maybe you have an accented character that is not properly encoded ? Just an idea... this is off-topic, but : when dealing with XML, you have to start each XML document with : ?xml version=[xmlVersion 1.0 or 1.1] encoding=[encoding codepage] encoding can have the value : ISO8859-1 or UTF-8 or whatever codepage you need. hence, if you transmit some accented character (like the ones used in french éàçèùîô) you have to use UTF-8 or ISO8859-1... and your xml parser won't suffer ;) ;) HTH, Best regards, -- Guillaume MAISON - [EMAIL PROTECTED] 83, Cours Victor Hugo 47000 AGEN Tél : 05 53 87 91 48 - Fax : 05 53 68 73 50 e-mail : [EMAIL PROTECTED] - Web : http://nauteus.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
Re: [twsocket] ThttpServer and SOAP
Hello, I've found the problem. I made an additionnal modification in the WebInterface unit from Sven Schmidts. The POST behaviour between html and SOAP requests is not the same. The data buffer from the ISAPI dll was empty. This is why I had this message with no useful indication ! If anyone interested in the WebInterface unit, I posted all the corrections to Sven Schmidts. Thanks Frédéric SCHENCKEL * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * cab technologies za Nord du val de Moder 67350 Niedermodern Tél: + 33 3 88 72 25 01 / Fax: +33 3 88 72 25 02 Notre site en Français: www.cab-technologies.fr Adresse support: [EMAIL PROTECTED] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -Message d'origine- De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] De la part de Frédéric SCHENCKEL Envoyé : lundi 10 octobre 2005 11:49 À : ICS support mailing Objet : [twsocket] ThttpServer and SOAP Hello, I'm using François's HttpServer and TICSIsapi component from Sven Schmidts. I've slightly modified TICSIsapi to handle the soap requests (wsdl and so on). This part is working. But i'm facing another problem : When transmit a soap request, i get the error from my ISAPI dll : 'EDOMParse Error : An Invalid character was found in text content' This seems to say that the request is not well formed. But the same client and the same ISAPI DLL works well with IIS. So it is a problem happening in HttpServer when transfering the datas to the ISAPI DLL Loading the content of FPostedDataBuffer in a separate TXMLDocument works without problems... Does somebody have an idea where the problem can be ? Thanks regards Frédéric SCHENCKEL * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * cab technologies za Nord du val de Moder 67350 Niedermodern Tél: + 33 3 88 72 25 01 / Fax: +33 3 88 72 25 02 Notre site en Français: www.cab-technologies.fr http://www.cab-technologies.fr/ Adresse support: [EMAIL PROTECTED] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -- 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] ThttpServer and SOAP
If anyone interested in the WebInterface unit, I posted all the corrections to Sven Schmidts. I am of course. Do you know if Sven plan to adopt your changes ? I ask because I'm faced with my website update. Do I need to have a second entry for you or can I keep a single entry for Sven and your [approved by Sven] changes ? -- [EMAIL PROTECTED] http://www.overbyte.be - Original Message - From: Frédéric SCHENCKEL [EMAIL PROTECTED] To: ICS support mailing twsocket@elists.org Sent: Monday, October 10, 2005 4:03 PM Subject: Re: [twsocket] ThttpServer and SOAP Hello, I've found the problem. I made an additionnal modification in the WebInterface unit from Sven Schmidts. The POST behaviour between html and SOAP requests is not the same. The data buffer from the ISAPI dll was empty. This is why I had this message with no useful indication ! If anyone interested in the WebInterface unit, I posted all the corrections to Sven Schmidts. Thanks Frédéric SCHENCKEL * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * cab technologies za Nord du val de Moder 67350 Niedermodern Tél: + 33 3 88 72 25 01 / Fax: +33 3 88 72 25 02 Notre site en Français: www.cab-technologies.fr Adresse support: [EMAIL PROTECTED] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -Message d'origine- De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] De la part de Frédéric SCHENCKEL Envoyé : lundi 10 octobre 2005 11:49 À : ICS support mailing Objet : [twsocket] ThttpServer and SOAP Hello, I'm using François's HttpServer and TICSIsapi component from Sven Schmidts. I've slightly modified TICSIsapi to handle the soap requests (wsdl and so on). This part is working. But i'm facing another problem : When transmit a soap request, i get the error from my ISAPI dll : 'EDOMParse Error : An Invalid character was found in text content' This seems to say that the request is not well formed. But the same client and the same ISAPI DLL works well with IIS. So it is a problem happening in HttpServer when transfering the datas to the ISAPI DLL Loading the content of FPostedDataBuffer in a separate TXMLDocument works without problems... Does somebody have an idea where the problem can be ? Thanks regards Frédéric SCHENCKEL * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * cab technologies za Nord du val de Moder 67350 Niedermodern Tél: + 33 3 88 72 25 01 / Fax: +33 3 88 72 25 02 Notre site en Français: www.cab-technologies.fr http://www.cab-technologies.fr/ Adresse support: [EMAIL PROTECTED] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -- 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] ThttpServer and SOAP
Hello, Sven said to me he will send you (françois) the changes. I think it's not necessary to have a new entry for me because i made only minor changes, Sven made the 'real' work ! If you have no infos from Sven I can give you the new unit, but I think it's better if it comes from Sven... Frédéric SCHENCKEL * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * cab technologies za Nord du val de Moder 67350 Niedermodern Tél: + 33 3 88 72 25 01 / Fax: +33 3 88 72 25 02 Notre site en Français: www.cab-technologies.fr Adresse support: [EMAIL PROTECTED] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -Message d'origine- De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] De la part de Francois Piette Envoyé : lundi 10 octobre 2005 16:12 À : ICS support mailing Objet : Re: [twsocket] ThttpServer and SOAP If anyone interested in the WebInterface unit, I posted all the corrections to Sven Schmidts. I am of course. Do you know if Sven plan to adopt your changes ? I ask because I'm faced with my website update. Do I need to have a second entry for you or can I keep a single entry for Sven and your [approved by Sven] changes ? -- [EMAIL PROTECTED] http://www.overbyte.be - Original Message - From: Frédéric SCHENCKEL [EMAIL PROTECTED] To: ICS support mailing twsocket@elists.org Sent: Monday, October 10, 2005 4:03 PM Subject: Re: [twsocket] ThttpServer and SOAP Hello, I've found the problem. I made an additionnal modification in the WebInterface unit from Sven Schmidts. The POST behaviour between html and SOAP requests is not the same. The data buffer from the ISAPI dll was empty. This is why I had this message with no useful indication ! If anyone interested in the WebInterface unit, I posted all the corrections to Sven Schmidts. Thanks Frédéric SCHENCKEL * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * cab technologies za Nord du val de Moder 67350 Niedermodern Tél: + 33 3 88 72 25 01 / Fax: +33 3 88 72 25 02 Notre site en Français: www.cab-technologies.fr Adresse support: [EMAIL PROTECTED] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -Message d'origine- De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] De la part de Frédéric SCHENCKEL Envoyé : lundi 10 octobre 2005 11:49 À : ICS support mailing Objet : [twsocket] ThttpServer and SOAP Hello, I'm using François's HttpServer and TICSIsapi component from Sven Schmidts. I've slightly modified TICSIsapi to handle the soap requests (wsdl and so on). This part is working. But i'm facing another problem : When transmit a soap request, i get the error from my ISAPI dll : 'EDOMParse Error : An Invalid character was found in text content' This seems to say that the request is not well formed. But the same client and the same ISAPI DLL works well with IIS. So it is a problem happening in HttpServer when transfering the datas to the ISAPI DLL Loading the content of FPostedDataBuffer in a separate TXMLDocument works without problems... Does somebody have an idea where the problem can be ? Thanks regards Frédéric SCHENCKEL * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * cab technologies za Nord du val de Moder 67350 Niedermodern Tél: + 33 3 88 72 25 01 / Fax: +33 3 88 72 25 02 Notre site en Français: www.cab-technologies.fr http://www.cab-technologies.fr/ Adresse support: [EMAIL PROTECTED] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -- 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 -- 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] Thttpserver and databases
are you sure? if 10 user at the same time press intro, fired ongetdocument and using a Tdatabase-Tquery only one of them is processing? If you don't use multithreading yourself, the HTTP server component will serialize requests. This is very handy when processing for your requests is fast. But if you have lengthy SQL requests, you should use a thread to execute the request in the background. What about Tsession,unique name, is that way? If you don't use multithreading, you don't need additional TSession component. The webserver will looks like a single user for the database. If you use multithreading, you must use separated components and sessions for each thread. -- 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] Thttpserver and databases
Hello Adrian, Yes, ICS does not create threads. If you have bloking code then you can eventually execute it in a thread, but for the communication it is not needed. --- Rgds, Wilfried http://www.mestdagh.biz Tuesday, September 13, 2005, 00:57, adrian spinetta wrote: are you sure? if 10 user at the same time press intro, fired ongetdocument and using a Tdatabase-Tquery only one of them is processing? What about Tsession,unique name, is that way? thanks a lot. Guillaume MAISON [EMAIL PROTECTED] escribió: adrian spinetta a écrit : I am making a complete webserver dinamic using the examples of createvirtualdoc. is it ok using criticalsection inside ongetdocument to block access of a Tquery? Hello, You have no need to use criticalsection as ICS is not thread based. Only one onGetdocument event is fired at a time, so only one 'http query' will access the TQuery Object at a time. HTH, Best regards, -- Guillaume MAISON - [EMAIL PROTECTED] 83, Cours Victor Hugo 47000 AGEN Tél : 05 53 87 91 48 - Fax : 05 53 68 73 50 e-mail : [EMAIL PROTECTED] - Web : http://nauteus.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 __ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam ¡gratis! Regístrate ya - http://correo.espanol.yahoo.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
[twsocket] Thttpserver and databases
I am making a complete webserver dinamic using the examples of createvirtualdoc. is it ok using criticalsection inside ongetdocument to block access of a Tquery? __ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam ¡gratis! Regístrate ya - http://correo.espanol.yahoo.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
Re: [twsocket] Thttpserver and databases
adrian spinetta a écrit : I am making a complete webserver dinamic using the examples of createvirtualdoc. is it ok using criticalsection inside ongetdocument to block access of a Tquery? Hello, You have no need to use criticalsection as ICS is not thread based. Only one onGetdocument event is fired at a time, so only one 'http query' will access the TQuery Object at a time. HTH, Best regards, -- Guillaume MAISON - [EMAIL PROTECTED] 83, Cours Victor Hugo 47000 AGEN Tél : 05 53 87 91 48 - Fax : 05 53 68 73 50 e-mail : [EMAIL PROTECTED] - Web : http://nauteus.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
Re: [twsocket] Thttpserver and databases
I am making a complete webserver dinamic using the examples of createvirtualdoc. is it ok using criticalsection inside ongetdocument to block access of a Tquery? It is not needed because the component is asynchronous. If you don't use a thread yourself, then only one request is handled at a given time. Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html -- [EMAIL PROTECTED] The author for 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://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Thttpserver and databases
are you sure? if 10 user at the same time press intro, fired ongetdocument and using a Tdatabase-Tquery only one of them is processing? What about Tsession,unique name, is that way? thanks a lot. Guillaume MAISON [EMAIL PROTECTED] escribió: adrian spinetta a écrit : I am making a complete webserver dinamic using the examples of createvirtualdoc. is it ok using criticalsection inside ongetdocument to block access of a Tquery? Hello, You have no need to use criticalsection as ICS is not thread based. Only one onGetdocument event is fired at a time, so only one 'http query' will access the TQuery Object at a time. HTH, Best regards, -- Guillaume MAISON - [EMAIL PROTECTED] 83, Cours Victor Hugo 47000 AGEN Tél : 05 53 87 91 48 - Fax : 05 53 68 73 50 e-mail : [EMAIL PROTECTED] - Web : http://nauteus.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 __ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam ¡gratis! Regístrate ya - http://correo.espanol.yahoo.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
Re: [twsocket] THttpServer not complies with RFC?
Oh, I guess my version was a bit old. This may be the problem. Thanks, SZ - Original Message - From: Bjrnar Nielsen [EMAIL PROTECTED] To: 'ICS support mailing' twsocket@elists.org Sent: Monday, April 18, 2005 12:13 PM Subject: RE: [twsocket] THttpServer not complies with RFC? I have not tested this, but the sourse says that answering 501 was added Mar 07, 2005. Did you test with latest release? Regards Bjrnar -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Fastream Technologies Sent: 18. april 2005 10:48 To: ICS support mailing Subject: [twsocket] THttpServer not complies with RFC? Hello, I am not sure if this was written before but I have found the following problem: When an invalid HTTP command is entered in the header of a HTTP request by the client (for example other than HEAD, GET and POST), the RFC says the server must return 501 (Not Implemented) but ICS server returns 404 (Not found)! This should either be corrected by a Delphi coder or it should be stated in the top section of the code. But it's just my humble opinion. Maybe someone will flame at me once again? 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