The login procedure starts in LLLoginService.cs. That method
(NewUserConnection) is called upon CreateAgent. That method is also
called upon teleports, and it's called on all surrounding regions.
Note that there are 3 components involved the procedures related to
agent transfers: the sending component (login service or other region),
the receiving region, and the viewer. In general, the agent is not
considered root until the viewer makes contact with the region. For the
login, however, the agent is launched at the region as root by the login
service.
On 7/5/2011 9:43 AM, Argus wrote:
Am 05.07.2011 01:53, schrieb Justin Clark-Casey:
On 02/07/11 10:35, Argus wrote:
Hi
I am using the AuthorizationService Module for a common bannlaist on
my Regions. In addition i could use this for many
other function, eg. Visitorstats. I now ran into the problem, that
all neighbouring Regions also send a Request which as
a result make a visitorcounter impossible.
I now have narrowed down this issue to NewUserConnection in scene.cs
which always gets called when incomming agents go
through the access process and would like to know how i can
recognize if the agent is asking for access as a new root or
just as a child agent by the neighbouring region. Should agent.child
not already be root when the agent is Teleporting
to a Specific Region during the access permission check? Alternative
TeleportFlags could help if they were diffrent when
a Region gets informed of a new child agent by the neighbour with
the root agent.
Perhaps you could listen for the EventManager.OnMakeRootAgent event
instead?
Hmm, a quick glance at EventManager.OnMakeRootAgent. Looks like that
gets triggert after a Agent already is present, so that would be after
the agent already has gotten access. But i will have a look at it in
more detail on the weekend.
But what i also noticed is, that the child agents which go through the
access process also can be denied. What i still want to test is, if
the child agents that are denied get listed as child or not. A child
agent should in my mind always be listed, even if they dont have
access. In that case checking access permisions for a simple child
would anyway be unnecessary work for the sim. Or not?
Still, the easiest would probably be to handle the incomming agent as
root from the start on instead of changing the child to root once they
already have access. The advantage would be that any step taken from
the first moment on could recognize what work is needed and what not.
So for me the question to figure is, in which of the 1000 files does
the entire login process to a region start... and how would it affect
the rest if we handle incomming agents as root instead of a child
which we change to root later on...
_______________________________________________
Opensim-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/opensim-dev
_______________________________________________
Opensim-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/opensim-dev