(no subject)
Sandro Poppi <[email protected]> Sat, 14 Dec 2002 12:35:26 +0100 (MET)
| Newsgroups | gmane.network.beep.roadrunner.general |
|---|---|
| Message-ID | <[email protected]> |
Hi again, I tried to write such a profile (I called it FORCE ;) but I found that using server_init is not sufficient because it is called after a start request of a client is received for the profile. But if a client does not support the force profile it will never be called and thus - assuming the server accepts other profiles - the client can start a session using server supported profiles. What I'm now thinking of is to extend rr_init to check for required profiles. What do you think of such a solution? What are the pros and cons from your point of view? Or is there another solution for this problem I didn't think of yet? Any other comments? (Of course I would publish the patches on this list if I do it this way so Codefactory may incorporate them into the rr distribution ;) TIA Regards, Sandro > > El vie, 06-12-2002 a las 18:47, Sandro Poppi escribió: > > Hi, > Hi. > > > > How do I force a server to only accept connections from clients which > > support 2 or more given profiles like idxp AND tls? When I tell a server > > to support idxp and tls using rr_profile_registry_add_profile() twice it > > accepts clients which only support one of those profiles (logical OR). > > > > I did not find a function that helps me to define that specific > > behaviour. Is there a chance to do this? And if yes, how ;) > > > I'm going to try to answer you assuming you want your server to accept > inbound connection from clients that support idxp and tls at the same > time (or other profiles). > > I think you need to implement your own profile and override the > server_init method of the RRChannel class, which is called when a start > request is received and before the start response is sent. > > [You will find a good example to do this and other important things in > the example profile which resides in the codefactory cvs.] > > Then, your server_init function will use rr_connection_get_peer_profiles > to figure out what beep profiles does the client-side support, so if > your server don't like the client-side supported profiles you can close > the connection. > > I didn't implement the solution that I'm telling you so don't expect so > much, but it sounds good. ;) > > > TIA, > > Sandro > I hope it helps. > Regard > -- > Francis Brosnan Blázquez <[email protected]> > Advanced Software Production Line, S.L. -- "Linux is like a wigwam: no windows, no gates ... apache inside!" http://spoppi.home.pages.de/ http://www.lug-burghausen.org/ -- +++ GMX - Mail, Messaging & more http://www.gmx.net +++ NEU: Mit GMX ins Internet. Rund um die Uhr für 1 ct/ Min. surfen!