[Opensim-dev] Parcel Access Enforcement

James Stallings II james.stallings at gmail.com
Thu Apr 10 14:30:03 UTC 2014


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

Cheers
James



On Thu, Apr 10, 2014 at 9:01 AM, James Stallings II <
james.stallings at gmail.com> 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
>
>
> --
> ===================================
> http://osgrid.org/
> http://simhost.com
> http://twitter.com/jstallings2
>
>


-- 
===================================
http://osgrid.org/
http://simhost.com
http://twitter.com/jstallings2
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20140410/9ed0ec3e/attachment-0001.html>


More information about the Opensim-dev mailing list