[Opensim-dev] Proposed feature addition to OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs (patch included)
James Stallings II
james.stallings at gmail.com
Sat May 28 00:08:57 UTC 2011
Thanks Justin,
Will do just shortly.
Cheers!
James
On Fri, May 27, 2011 at 7:08 PM, Justin Clark-Casey <
jjustincc at googlemail.com> wrote:
> 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
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-dev
>
--
===================================
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/20110527/64871156/attachment-0001.html>
More information about the Opensim-dev
mailing list