[Opensim-dev] Parcel Access Enforcement

James Stallings II james.stallings at gmail.com
Thu Apr 10 15:05:21 UTC 2014


Subsequent work (instrumentation to Scene) shows that the permissions
checking code is also being called twice there.

Cheers
James



On Thu, Apr 10, 2014 at 9:30 AM, James Stallings II <
james.stallings at gmail.com> wrote:

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


-- 
===================================
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/e7526566/attachment-0001.html>


More information about the Opensim-dev mailing list