After some further exploration, I have seen where the method calls taking
precedence from out of Scene are handling ViaLogin; but they are also doing
some of the same lifting performed in the Land Management module. This
seems to be duplication of effort, if not duplication of code; and is
certainly less elegant than I would hope to find in our codebase (in an
ideal world ;)

This is likely the result of the ad-hoc nature of the development life of
the project over the years; I can see the scene code being a good deal
older than the Land Management module.

I'll be working with this throughout the day, hoping to improve the code as
I'm able; your thoughts, advice and commentary are solicited and


On Thu, Apr 10, 2014 at 9:01 AM, James Stallings II <> wrote:

> Greetings Devs :)
> I have a use case that requires the unlikely and less than popular parcel
> permissions access control featureset.
> Historically speaking, this has not been an area of development that has
> seen much love, and understandably so; none of us are particularly
> interested in fully duplicating the operational envelope of the Second Life
> experience. That coupled with the ability to deploy regions at whim, it is
> no wonder no one wants to involve themselves particularly deeply with
> making this work properly.
> That being said, I have a need at present, and there is also the simple
> fact that we have a dearth of UI components in the viewer we may well never
> get shut of, and a lot of of unfinished and/or unpolished code in the repo
> that touches on this functionality.
> The short story is, it may be above the waterline, but there is a hole in
> the boat, and one of my users is driving it headlong into the surf.
> So much for metaphors.
> I have heard a variety of conflicting reports about the state of this part
> of the codebase; some say it works well; others say it should not be
> counted on to work at all. The commit logs tell the tale that some have
> taken an interest and are working diligently to eliminate certain bugs;
> unfortunately, the work in progress has not yet brought the functionality
> into a state where it is yet useful, at least according to my testing.
> I'm not unwilling to undertake the work needed to bring this situation
> into a more satisfactory light; indeed, I've already begun, and I need only
> a little guidance today.
> I have thoroughly instrumented the method "public void
> EventManagerOnAvatarEnteringNewParcel(ScenePresence avatar, int
> localLandID, UUID regionID)"
> in the land management module, and was immediately confronted with a
> couple of surprises:
> First, when the code is called at all, it is called twice; and as far as I
> can tell, it is called only after a successful login has been completed.
> Neither does it seem to be called when an avatar teleports into the region.
> Instead, the method "public bool TestLandRestrictions(UUID agentID, out
> string reason, ref float posX, ref float posY)" is called from
> "OpenSim/Region/Framework/Scenes/Scene.cs" and
> "OpenSim/Region/Framework/Scenes/ScenePresence.cs", and mediates (rather
> less than consistently) whether the avatar is allowed into the parcel on
> the region.
> Being aware that there are several ways for an avatar to enter a parcel,
> which I will leave off enumerating at present, I would suggest that perhaps
> I have some misapprehensions as to the proper stages of authentication at
> login-time.
> So my question is this: should both of these functions come into play as
> an avatar enters a region (and consequently, a parcel)? or should there be
> a single methoid conducting these presence permission checks?
> Please advise at your convenience :)
> Many thanks and cheers
> James/Hiro
> --
> ===================================

Opensim-dev mailing list

Reply via email to