[Opensim-dev] Proposed feature addition to OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs (patch included)
Justin Clark-Casey
jjustincc at googlemail.com
Sat May 28 00:08:05 UTC 2011
Yes, please could you consolidate the patches (from a brief look it appears that later ones are now editing earlier
ones) and attach to a mantis, which should be in patch included state.
The best way to generate a suitable patch is to use
git am <commit uuid>^
on the command line.
On 27/05/11 02:01, James Stallings II wrote:
> Just a quick apology to the list for the oldskool diff, Melanie_T tells me I should use udiff, and next time, I will.
>
> Cheers!
> James/Hiro
>
> On Thu, May 26, 2011 at 6:19 PM, James Stallings II <james.stallings at gmail.com <mailto:james.stallings at gmail.com>> wrote:
>
> My apologies, but the previous code was completely ineffective on testing. I know, it should be tested before
> submission. Mea Culpa, it looked really good.
>
> This, however, actually works:
>
> 1103d1102
> <
> 1117,1125c1116,1125
> <
> < 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;
> > }
> > }
> 1128d1127
> <
> 1237,1242c1236,1237
> < // 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) requestingClient.Scene;
> < bool is_god = c_scene.Permissions.IsGod(requestingClient.AgentId);
> <
> < if(is_god) {
> ---
> > if (requestingClient.AgentId != dataForAgentID)
> > {
> 1248c1243
> < membershipArray = membershipData.ToArray();
> ---
> > membershipArray = membershipData.FindAll(showInProfile).ToArray();
> 1252,1265c1247
> <
> < if (requestingClient.AgentId != dataForAgentID)
> < {
> < Predicate<GroupMembershipData> showInProfile = delegate(GroupMembershipData membership)
> < {
> < return membership.ListInProfile;
> < };
> <
> < membershipArray = membershipData.FindAll(showInProfile).ToArray();
> < }
> < else
> < {
> < membershipArray = membershipData.ToArray();
> < }
> ---
> > membershipArray = membershipData.ToArray();
> 1266a1249
> >
>
> On Thu, May 26, 2011 at 11:36 AM, James Stallings II <james.stallings at gmail.com <mailto:james.stallings at gmail.com>>
> wrote:
>
> 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
> <http://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
>
>
>
>
> --
> ===================================
> http://simhost.com http://osgrid.org
> http://twitter.com/jstallings2
> http://www.linkedin.com/pub/5/770/a49
>
>
>
>
> --
> ===================================
> http://simhost.com http://osgrid.org
> http://twitter.com/jstallings2
> http://www.linkedin.com/pub/5/770/a49
>
>
>
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-dev
--
Justin Clark-Casey (justincc)
http://justincc.org/blog
http://twitter.com/justincc
More information about the Opensim-dev
mailing list