Re: [twsocket] IPv6 branch updated with latest changes from trunk Rev. #631

2010-11-25 Thread Fastream Technologies
Ok, managed the SVN. Now what should I do for an IPv4 ICS client/server to
upgrade to IPv6? I saw almost no documentation in the source. Can
applications support both protocols with no modification or must one make a
separate listening/target IP per v4 and v6?

Regards,

SZ

On Wed, Nov 24, 2010 at 2:59 PM, Fastream Technologies
ga...@fastream.comwrote:

 Arno, Thanks for the detailed explanation.

 SZ

 On Wed, Nov 24, 2010 at 2:03 PM, Arno Garrels arno.garr...@gmx.de wrote:

 Fastream Technologies wrote:
  Hi Arno,
 
  On Tue, Nov 23, 2010 at 7:33 PM, Arno Garrels arno.garr...@gmx.de
  wrote:
 
  Fastream Technologies wrote:
  Ok, somehow the packages got mixed and the defines were wrong.
  Anyway, can you try to compile the latest IPv6 package with
  NO_ADV_MT defined? It bombs in web server component!
 
  Thanks, it's fixed now and checked in.
 
 
  I have made a comparison in Tortoise SVN by selecting the download
  folder and right clicking but it did not show any changes for the
  Httpsrv.pas!

 I don't know what you are comparing. After an Update your local work
 copy already contains the change. Note that Update does not silently
 overwrite your own local changes, if there where conflicts TortoiseSVN
 prompts you to resolve them. If there are no conflicts changes are
 merged with your local copy, so you do not have to do a full checkout
 to get latest changes.

 The TortoiseSVN log view is the best place to compare versions.
 Right click the root checkout directory and select TortoisSVN | Show Log
 in order to see the history of everything. The last change is on top
 of the list. The bottom listview lists files changed with a single
 check-in,
 just double click a file entry there and TortouseSVN will download
 previous
 version or both and start your favorite differ.

 That also works with single files of your work copy, just right click a
 single file in Windows Explorer and select TortoisSVN | Show Log or
 simply TortoisSVN | Diff with previous version.

 If you made local changes just select TortoisSVN | Check for
 Modifications
 to get a list of all locally changed files or TortoisSVN | Diff for a
 single file.

 --
 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] IPv6 branch updated with latest changes from trunk Rev. #631

2010-11-25 Thread Arno Garrels
Fastream Technologies wrote:
 Ok, managed the SVN. Now what should I do for an IPv4 ICS
 client/server to upgrade to IPv6? I saw almost no documentation in
 the source. Can applications support both protocols with no
 modification or must one make a separate listening/target IP per v4
 and v6? 

I added some experimental multi-listen stuff.
See OverbyteIcsTcpSrv1IPv6 demo, especially TTcpSrvForm.WMAppStartup
and TTcpSrvForm.WSocketServer1BeforeClientCreate.

It works fine, however its design is not the best so will most
likely change. For instance, a listening socket cannot be closed 
separately without closing all other listening sockets as well,
or if one socket fails to listen in new method TcpMultiListen
the already listening sockets are closed (and an exception
is raised). 

-- 
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] IPv6 branch updated with latest changes from trunk Rev. #631

2010-11-25 Thread Fastream Technologies
Hello,

On Thu, Nov 25, 2010 at 5:04 PM, Arno Garrels arno.garr...@gmx.de wrote:

 Fastream Technologies wrote:
  Ok, managed the SVN. Now what should I do for an IPv4 ICS
  client/server to upgrade to IPv6? I saw almost no documentation in
  the source. Can applications support both protocols with no
  modification or must one make a separate listening/target IP per v4
  and v6?

 I added some experimental multi-listen stuff.
 See OverbyteIcsTcpSrv1IPv6 demo, especially TTcpSrvForm.WMAppStartup
 and TTcpSrvForm.WSocketServer1BeforeClientCreate.

 It works fine, however its design is not the best so will most
 likely change. For instance, a listening socket cannot be closed
 separately without closing all other listening sockets as well,
 or if one socket fails to listen in new method TcpMultiListen
 the already listening sockets are closed (and an exception
 is raised).

 --
 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


As you said the below function and the design that is forcing it is not
good. Perhaps we should have Addrv6 property which will be null if Addr (v4)
is filled and vice versa.

procedure TTcpSrvForm.WSocketServer1BeforeClientCreate(Sender: TObject;
  AListenSocketInfo: TListenSocketInfo; var AClientClass:
TWSocketClientClass);
begin
{ Use this event to get info about the listening socket accepted }
{ a connection. Optionally change the client class that will be  }
{ created.   }
if AListenSocketInfo  nil then begin
   { When listening with method TcpMultiListen AListenSocketInfo }
   { is assigned.}
   Display('BeforeClientCreate: Listening socket ' +
   AListenSocketInfo.FAddrStr + '/' +
   IntToStr(AListenSocketInfo.FPortNum));
end
else begin
{ If method Listen was called AListenSocketInfo is unassigned }
Display('BeforeClientCreate: Listening socket ' +
   TWSocketServer(Sender).Addr + '/' +
   IntToStr(TWSocketServer(Sender).PortNum));
end;
end;

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] IPv6 branch updated with latest changes from trunk Rev. #631

2010-11-24 Thread Fastream Technologies
Hi Arno,

On Tue, Nov 23, 2010 at 7:33 PM, Arno Garrels arno.garr...@gmx.de wrote:

 Fastream Technologies wrote:
  Ok, somehow the packages got mixed and the defines were wrong.
  Anyway, can you try to compile the latest IPv6 package with NO_ADV_MT
  defined? It bombs in web server component!

 Thanks, it's fixed now and checked in.


I have made a comparison in Tortoise SVN by selecting the download folder
and right clicking but it did not show any changes for the Httpsrv.pas!

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] IPv6 branch updated with latest changes from trunk Rev. #631

2010-11-24 Thread Arno Garrels
Fastream Technologies wrote:
 Hi Arno,
 
 On Tue, Nov 23, 2010 at 7:33 PM, Arno Garrels arno.garr...@gmx.de
 wrote: 
 
 Fastream Technologies wrote:
 Ok, somehow the packages got mixed and the defines were wrong.
 Anyway, can you try to compile the latest IPv6 package with
 NO_ADV_MT defined? It bombs in web server component!
 
 Thanks, it's fixed now and checked in.
 
 
 I have made a comparison in Tortoise SVN by selecting the download
 folder and right clicking but it did not show any changes for the
 Httpsrv.pas!

I don't know what you are comparing. After an Update your local work
copy already contains the change. Note that Update does not silently
overwrite your own local changes, if there where conflicts TortoiseSVN
prompts you to resolve them. If there are no conflicts changes are
merged with your local copy, so you do not have to do a full checkout
to get latest changes. 

The TortoiseSVN log view is the best place to compare versions.
Right click the root checkout directory and select TortoisSVN | Show Log
in order to see the history of everything. The last change is on top
of the list. The bottom listview lists files changed with a single check-in,
just double click a file entry there and TortouseSVN will download previous
version or both and start your favorite differ. 

That also works with single files of your work copy, just right click a
single file in Windows Explorer and select TortoisSVN | Show Log or
simply TortoisSVN | Diff with previous version.

If you made local changes just select TortoisSVN | Check for Modifications
to get a list of all locally changed files or TortoisSVN | Diff for a 
single file.

-- 
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] IPv6 branch updated with latest changes from trunk Rev. #631

2010-11-24 Thread Fastream Technologies
Arno, Thanks for the detailed explanation.

SZ

On Wed, Nov 24, 2010 at 2:03 PM, Arno Garrels arno.garr...@gmx.de wrote:

 Fastream Technologies wrote:
  Hi Arno,
 
  On Tue, Nov 23, 2010 at 7:33 PM, Arno Garrels arno.garr...@gmx.de
  wrote:
 
  Fastream Technologies wrote:
  Ok, somehow the packages got mixed and the defines were wrong.
  Anyway, can you try to compile the latest IPv6 package with
  NO_ADV_MT defined? It bombs in web server component!
 
  Thanks, it's fixed now and checked in.
 
 
  I have made a comparison in Tortoise SVN by selecting the download
  folder and right clicking but it did not show any changes for the
  Httpsrv.pas!

 I don't know what you are comparing. After an Update your local work
 copy already contains the change. Note that Update does not silently
 overwrite your own local changes, if there where conflicts TortoiseSVN
 prompts you to resolve them. If there are no conflicts changes are
 merged with your local copy, so you do not have to do a full checkout
 to get latest changes.

 The TortoiseSVN log view is the best place to compare versions.
 Right click the root checkout directory and select TortoisSVN | Show Log
 in order to see the history of everything. The last change is on top
 of the list. The bottom listview lists files changed with a single
 check-in,
 just double click a file entry there and TortouseSVN will download previous
 version or both and start your favorite differ.

 That also works with single files of your work copy, just right click a
 single file in Windows Explorer and select TortoisSVN | Show Log or
 simply TortoisSVN | Diff with previous version.

 If you made local changes just select TortoisSVN | Check for
 Modifications
 to get a list of all locally changed files or TortoisSVN | Diff for a
 single file.

 --
 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] IPv6 branch updated with latest changes from trunk Rev. #631

2010-11-23 Thread Arno Garrels
Fastream Technologies wrote:
 Ok, somehow the packages got mixed and the defines were wrong.
 Anyway, can you try to compile the latest IPv6 package with NO_ADV_MT
 defined? It bombs in web server component!

Thanks, it's fixed now and checked in.

-- 
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] IPv6 branch updated with latest changes from trunk Rev. #631

2010-11-22 Thread Fastream Technologies
Dear Arno,

Here is the first impression with the new IPv6 code. Package compile with
our defines went well. However in the project, it gave the following error
on Winsock2.hpp:

http://www.fastream.com/ics/icsipv6error.png

Hope you can help. Our unit httpmtsrv inherits from Overbyteicshttpsrv.pas.
I do not think it includes the winsock2.pas directly.

Regards,

SZ

On Mon, Nov 22, 2010 at 11:35 AM, Arno Garrels arno.garr...@gmx.de wrote:

 See subject.

 --
 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

--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] IPv6 branch updated with latest changes from trunk Rev. #631

2010-11-22 Thread Fastream Technologies
Also, as I have asked before, can you make:

procedure CheckDelaySetReady;   { 09/26/08 ML }

in httpprot.pas as virtual?

Regards,

SZ

On Mon, Nov 22, 2010 at 1:20 PM, Fastream Technologies
ga...@fastream.comwrote:

 Dear Arno,

 Here is the first impression with the new IPv6 code. Package compile with
 our defines went well. However in the project, it gave the following error
 on Winsock2.hpp:

 http://www.fastream.com/ics/icsipv6error.png

 Hope you can help. Our unit httpmtsrv inherits from Overbyteicshttpsrv.pas.
 I do not think it includes the winsock2.pas directly.

 Regards,

 SZ

 On Mon, Nov 22, 2010 at 11:35 AM, Arno Garrels arno.garr...@gmx.dewrote:

 See subject.

 --
 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





--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] IPv6 branch updated with latest changes from trunk Rev. #631

2010-11-22 Thread Arno Garrels
Fastream Technologies wrote:
 Also, as I have asked before, can you make:
 
procedure CheckDelaySetReady;   { 09/26/08
 ML } 
 
 in httpprot.pas as virtual?

Done in both trunk and IPv6.

 with our defines went well. However in the project, it gave the
 following error on Winsock2.hpp:
 
 http://www.fastream.com/ics/icsipv6error.png

Is Winsock in uses clause of HttpMTSrv.pas?
If yes, change it to OverbyteIcsWinsock.  

Do not include Winsock.h, Winsock.hpp but 
OverbyteIcsWinsock.hpp.

-- 
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] IPv6 branch updated with latest changes from trunk Rev. #631

2010-11-22 Thread Fastream Technologies
Ok that's passed now with what you suggested. I now get the below AV:

http://www.fastream.com/ics/icsipv6error2.png

This is the first listening web server socket, for the admin interface...

Regards,

SZ

On Mon, Nov 22, 2010 at 2:40 PM, Arno Garrels arno.garr...@gmx.de wrote:

 Arno Garrels wrote:
  Fastream Technologies wrote:
  Also, as I have asked before, can you make:
 
 procedure CheckDelaySetReady;   { 09/26/08
  ML }
 
  in httpprot.pas as virtual?
 
  Done in both trunk and IPv6.
 
  with our defines went well. However in the project, it gave the
  following error on Winsock2.hpp:
 
  http://www.fastream.com/ics/icsipv6error.png
 
  Is Winsock in uses clause of HttpMTSrv.pas?
  If yes, change it to OverbyteIcsWinsock.
 
  Do not include Winsock.h, Winsock.hpp but
  OverbyteIcsWinsock.hpp.

 Or Winsock2.h

 --
 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

--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] IPv6 branch updated with latest changes from trunk Rev. #631

2010-11-22 Thread Arno Garrels
Fastream Technologies wrote:
 Ok that's passed now with what you suggested. I now get the below AV:
 
 http://www.fastream.com/ics/icsipv6error2.png
 
 This is the first listening web server socket, for the admin
 interface... 

This call stack makes no sense IMO.
TCustomSocksWSocket.Create calls
inherited Create{$IFDEF VCL}(AOwner){$ENDIF};
which is TCustomWSocket::Create
And there is nothing in TCustomSocksWSocket's constructor
that touched Classes::TList.

New ICS, old question: Are you sure that no old stuff
is linked? Check your paths again.

The C++ Builder webserv demo, for example, builds and 
runs just fine.

-- 
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] IPv6 branch updated with latest changes from trunk Rev. #631

2010-11-22 Thread Fastream Technologies
Hi again Arno,

Here is what I did:

- renamed the old ICS folder to something like ICS IPv4 backup
- checked out the code to a new folder with the old folder's name
- copied the old BCB2010 package's project files over so that I would not
have to re-enter all the defines
- cleared the project files of both the package and the application project

Still no joy! Any other ideas?

Regards,

SZ

On Mon, Nov 22, 2010 at 4:52 PM, Arno Garrels arno.garr...@gmx.de wrote:

 Fastream Technologies wrote:
  Ok that's passed now with what you suggested. I now get the below AV:
 
  http://www.fastream.com/ics/icsipv6error2.png
 
  This is the first listening web server socket, for the admin
  interface...

 This call stack makes no sense IMO.
 TCustomSocksWSocket.Create calls
 inherited Create{$IFDEF VCL}(AOwner){$ENDIF};
 which is TCustomWSocket::Create
 And there is nothing in TCustomSocksWSocket's constructor
 that touched Classes::TList.

 New ICS, old question: Are you sure that no old stuff
 is linked? Check your paths again.

 The C++ Builder webserv demo, for example, builds and
 runs just fine.

 --
 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

--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] IPv6 branch updated with latest changes from trunk Rev. #631

2010-11-22 Thread Arno Garrels
Fastream Technologies wrote:
 Hi again Arno,
 
 Here is what I did:
 
 - renamed the old ICS folder to something like ICS IPv4 backup
 - checked out the code to a new folder with the old folder's name
 - copied the old BCB2010 package's project files over so that I would
 not have to re-enter all the defines
 - cleared the project files of both the package and the application
 project 
 
 Still no joy! Any other ideas?

No, I still think it's a bad build. Rebuild the packages.
Add the ics\delphi\vc32\ directory to project option's debug path,
set a break point where you create the THttpServer object and step into
the various calls to inherited create, there's obviously something
wrong on your side.

Also try to build the C++ Builder demo group project, all demos should
build. Run the webserver and HttpTst demo both should run just fine.

-- 
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] IPv6 branch updated with latest changes from trunk Rev. #631

2010-11-22 Thread Fastream Technologies
Hello,

On Mon, Nov 22, 2010 at 8:02 PM, Arno Garrels arno.garr...@gmx.de wrote:

 Fastream Technologies wrote:
  Hi again Arno,
 
  Here is what I did:
 
  - renamed the old ICS folder to something like ICS IPv4 backup
  - checked out the code to a new folder with the old folder's name
  - copied the old BCB2010 package's project files over so that I would
  not have to re-enter all the defines
  - cleared the project files of both the package and the application
  project
 
  Still no joy! Any other ideas?

 No, I still think it's a bad build. Rebuild the packages.
 Add the ics\delphi\vc32\ directory to project option's debug path,
 set a break point where you create the THttpServer object and step into
 the various calls to inherited create, there's obviously something
 wrong on your side.

 Also try to build the C++ Builder demo group project, all demos should
 build. Run the webserver and HttpTst demo both should run just fine.

 --
 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


I have tried what you said but it still gives read of address .

This is the problematic line:

adminHTTPServer = new THttpServer(NULL);

Maybe you call it with a non-null parameter in your tests? But this should
also work because I need full control over when the instance is destructed!

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] IPv6 branch updated with latest changes from trunk Rev. #631

2010-11-22 Thread Arno Garrels
Fastream Technologies wrote:
 
 I have tried what you said but it still gives read of address
 . 
 
 This is the problematic line:
 
 adminHTTPServer = new THttpServer(NULL);

I know :)

 
 Maybe you call it with a non-null parameter in your tests? But this
 should also work because I need full control over when the instance
 is destructed!

It has nothing to do with that.

Create a new VCL Forms application, drop a button on the form and
try this (proper includes and defines provided): 

void __fastcall TForm1::Button1Click(TObject *Sender)
{
 THttpServer * httpsrv;
 breakpoint here == httpsrv = new THttpServer(NULL);
 delete httpsrv;
}

(works for me)

Start stepping into (F7) and I bet you'll notice some crazy jump
somewhere :)

-- 
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] IPv6 branch updated with latest changes from trunk Rev. #631

2010-11-22 Thread Fastream Technologies
Ok, somehow the packages got mixed and the defines were wrong. Anyway, can
you try to compile the latest IPv6 package with NO_ADV_MT defined? It bombs
in web server component!

Regards,

SZ

On Mon, Nov 22, 2010 at 8:36 PM, Arno Garrels arno.garr...@gmx.de wrote:

 Fastream Technologies wrote:
 
  I have tried what you said but it still gives read of address
  .
 
  This is the problematic line:
 
  adminHTTPServer = new THttpServer(NULL);

 I know :)

 
  Maybe you call it with a non-null parameter in your tests? But this
  should also work because I need full control over when the instance
  is destructed!

 It has nothing to do with that.

 Create a new VCL Forms application, drop a button on the form and
 try this (proper includes and defines provided):

 void __fastcall TForm1::Button1Click(TObject *Sender)
 {
  THttpServer * httpsrv;
  breakpoint here == httpsrv = new THttpServer(NULL);
  delete httpsrv;
 }

 (works for me)

 Start stepping into (F7) and I bet you'll notice some crazy jump
 somewhere :)

 --
 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