[Opensim-dev] Proposed feature addition to OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs (patch included)

James Stallings II james.stallings at gmail.com
Thu May 26 16:36:58 UTC 2011


Greetings, OpenSimulator developers :)

I'm writing to propose the addition of certain functionality
to OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs, to
wit:

Present 'Hidden' groups and other related group detail to agents requesting
such iniformation via CAPs as have assumed a 'godlike' aspect, or in other
words, have successfully activated the administrative functionality in the
client.

The changes to the substance of the code involve credits more than not; a
diff is both attached and included for convenient review. A fork has been
created on github at git://github.com/JamesStallings/opensim.git which
contains the changes for convenience should contribution of source be
accepted. I will also open a mantis on the topic for the sake of
thoroughness and attach the diff there.


Many thanks and cheers!

James Stallings aka Hiro Protagonist


Diff follows:

1103,1107d1102
<             //  c_scene and property accessor 'is_god' are in support of
the opertions to bypass 'hidden' group attributes for
<             // those with a GodLike aspect.
<             Scene c_scene = (Scene) remoteClient.Scene;
<             bool is_god = c_scene.Permissions.IsGod(remoteClient.AgentId);
<
1121,1138c1116,1126
< //              bypass the 'hidden' attributes of groups for those who
have
< //              a GodLike aspect
< //
< //              Big shout out to Dan Banner for showing me his running
proof-of-concept and endorsing this idea as meaningful work
< //              Another big shout out to BlueWall Slade for helping me
chase down all the elements required to properly access
< //              Scene and IClientAPI properties.  JS aka HP
<                 if (!is_god)
<                 {
<                 if (GetRequestingAgentID(remoteClient) != dataForAgentID)
<                 {
<                     if (!membership.ListInProfile)
<                     {
<                         // If we're sending group info to remoteclient
about another agent,
<                         // filter out groups the other agent doesn't want
to share.
<                         continue;
<                     }
<                 }
< }
---
>                 if
(!remoteClient.Scene.Permissions.IsGod(remoteClient.AgentID))
>                     if (GetRequestingAgentID(remoteClient) !=
dataForAgentID)
>                     {
>                         if (!membership.ListInProfile)
>                         {
>                             // If we're sending group info to remoteclient
about another agent,
>                             // filter out groups the other agent doesn't
want to share.
>                             continue;
>                         }
>                     }
>                 }


-- 
===================================
http://simhost.com http://osgrid.org
http://twitter.com/jstallings2
http://www.linkedin.com/pub/5/770/a49
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20110526/9be7ee25/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: GroupsModule.cs.diff
Type: text/x-patch
Size: 1880 bytes
Desc: not available
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20110526/9be7ee25/attachment-0001.bin>


More information about the Opensim-dev mailing list