Thanks Justin,<div><br></div><div>Will do just shortly.</div><div><br></div><div>Cheers!</div><div>James<br><br><div class="gmail_quote">On Fri, May 27, 2011 at 7:08 PM, Justin Clark-Casey <span dir="ltr"><<a href="mailto:jjustincc@googlemail.com">jjustincc@googlemail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">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.<br>

<br>
The best way to generate a suitable patch is to use<br>
<br>
git am <commit uuid>^<br>
<br>
on the command line.<div class="im"><br>
<br>
On 27/05/11 02:01, James Stallings II wrote:<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
Just a quick apology to the list for the oldskool diff, Melanie_T tells me I should use udiff, and next time, I will.<br>
<br>
Cheers!<br>
James/Hiro<br>
<br></div><div><div></div><div class="h5">
On Thu, May 26, 2011 at 6:19 PM, James Stallings II <<a href="mailto:james.stallings@gmail.com" target="_blank">james.stallings@gmail.com</a> <mailto:<a href="mailto:james.stallings@gmail.com" target="_blank">james.stallings@gmail.com</a>>> wrote:<br>

<br>
    My apologies, but the previous code was completely ineffective on testing. I know, it should be tested before<br>
    submission. Mea Culpa, it looked really good.<br>
<br>
    This, however, actually works:<br>
<br>
    1103d1102<br>
    <<br>
    1117,1125c1116,1125<br>
    <<br>
    <                if (GetRequestingAgentID(remoteClient) != dataForAgentID)<br>
    <                {<br>
    <                    if (!membership.ListInProfile)<br>
    <                    {<br>
    <                       // If we're sending group info to remoteclient about another agent,<br>
    <                       // filter out groups the other agent doesn't want to share.<br>
    <                       continue;<br>
    <                    }<br>
    ---<br>
     >                 if (!remoteClient.Scene.Permissions.IsGod(remoteClient.AgentID))<br>
     >                     if (GetRequestingAgentID(remoteClient) != dataForAgentID)<br>
     >                     {<br>
     >                         if (!membership.ListInProfile)<br>
     >                         {<br>
     >                             // If we're sending group info to remoteclient about another agent,<br>
     >                             // filter out groups the other agent doesn't want to share.<br>
     >                             continue;<br>
     >                         }<br>
     >                     }<br>
    1128d1127<br>
    <<br>
    1237,1242c1236,1237<br>
    <             //  c_scene and property accessor 'is_god' are in support of the opertions to bypass 'hidden' group<br>
    attributes for<br>
    <             // those with a GodLike aspect.<br>
    <             Scene c_scene = (Scene) requestingClient.Scene;<br>
    <             bool is_god = c_scene.Permissions.IsGod(requestingClient.AgentId);<br>
    <<br>
    <             if(is_god) {<br>
    ---<br>
     >             if (requestingClient.AgentId != dataForAgentID)<br>
     >             {<br>
    1248c1243<br>
    <                 membershipArray = membershipData.ToArray();<br>
    ---<br>
     >                 membershipArray = membershipData.FindAll(showInProfile).ToArray();<br>
    1252,1265c1247<br>
    <<br>
    <                 if (requestingClient.AgentId != dataForAgentID)<br>
    <                 {<br>
    <                     Predicate<GroupMembershipData> showInProfile = delegate(GroupMembershipData membership)<br>
    <                     {<br>
    <                         return membership.ListInProfile;<br>
    <                     };<br>
    <<br>
    <                     membershipArray = membershipData.FindAll(showInProfile).ToArray();<br>
    <                 }<br>
    <                 else<br>
    <                 {<br>
    <                     membershipArray = membershipData.ToArray();<br>
    <                 }<br>
    ---<br>
     >                 membershipArray = membershipData.ToArray();<br>
    1266a1249<br>
     ><br>
<br></div></div>
    On Thu, May 26, 2011 at 11:36 AM, James Stallings II <<a href="mailto:james.stallings@gmail.com" target="_blank">james.stallings@gmail.com</a> <mailto:<a href="mailto:james.stallings@gmail.com" target="_blank">james.stallings@gmail.com</a>>><div class="im">
<br>
    wrote:<br>
<br>
        Greetings, OpenSimulator developers :)<br>
<br>
        I'm writing to propose the addition of certain functionality<br>
        to OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs, to wit:<br>
<br>
        Present 'Hidden' groups and other related group detail to agents requesting such iniformation via CAPs as have<br>
        assumed a 'godlike' aspect, or in other words, have successfully activated the administrative functionality in<br>
        the client.<br>
<br>
        The changes to the substance of the code involve credits more than not; a diff is both attached and included for<br>
        convenient review. A fork has been created on github at git://<a href="http://github.com/JamesStallings/opensim.git" target="_blank">github.com/JamesStallings/opensim.git</a><br></div>
        <<a href="http://github.com/JamesStallings/opensim.git" target="_blank">http://github.com/JamesStallings/opensim.git</a>> which contains the changes for convenience should contribution of<div><div></div><div class="h5">
<br>
        source be accepted. I will also open a mantis on the topic for the sake of thoroughness and attach the diff there.<br>
<br>
<br>
        Many thanks and cheers!<br>
<br>
        James Stallings aka Hiro Protagonist<br>
<br>
<br>
        Diff follows:<br>
<br>
        1103,1107d1102<br>
        <             //  c_scene and property accessor 'is_god' are in support of the opertions to bypass 'hidden'<br>
        group attributes for<br>
        <             // those with a GodLike aspect.<br>
        <             Scene c_scene = (Scene) remoteClient.Scene;<br>
        <             bool is_god = c_scene.Permissions.IsGod(remoteClient.AgentId);<br>
        <<br>
        1121,1138c1116,1126<br>
        < //              bypass the 'hidden' attributes of groups for those who have<br>
        < //              a GodLike aspect<br>
        < //<br>
        < //              Big shout out to Dan Banner for showing me his running proof-of-concept and endorsing this<br>
        idea as meaningful work<br>
        < //              Another big shout out to BlueWall Slade for helping me chase down all the elements required to<br>
        properly access<br>
        < //              Scene and IClientAPI properties.  JS aka HP<br>
        <                 if (!is_god)<br>
        <                 {<br>
        <                if (GetRequestingAgentID(remoteClient) != dataForAgentID)<br>
        <        {<br>
        <    if (!membership.ListInProfile)<br>
        <                    {<br>
        <                // If we're sending group info to remoteclient about another agent,<br>
        <        // filter out groups the other agent doesn't want to share.<br>
        < continue;<br>
        <                    }<br>
        <        }<br>
        < }<br>
        ---<br>
         >                 if (!remoteClient.Scene.Permissions.IsGod(remoteClient.AgentID))<br>
         >                     if (GetRequestingAgentID(remoteClient) != dataForAgentID)<br>
         >                     {<br>
         >                         if (!membership.ListInProfile)<br>
         >                         {<br>
         >                             // If we're sending group info to remoteclient about another agent,<br>
         >                             // filter out groups the other agent doesn't want to share.<br>
         >                             continue;<br>
         >                         }<br>
         >                     }<br>
         >                 }<br>
<br>
<br>
        --<br>
        ===================================<br>
        <a href="http://simhost.com" target="_blank">http://simhost.com</a> <a href="http://osgrid.org" target="_blank">http://osgrid.org</a><br>
        <a href="http://twitter.com/jstallings2" target="_blank">http://twitter.com/jstallings2</a><br>
        <a href="http://www.linkedin.com/pub/5/770/a49" target="_blank">http://www.linkedin.com/pub/5/770/a49</a><br>
<br>
<br>
<br>
<br>
    --<br>
    ===================================<br>
    <a href="http://simhost.com" target="_blank">http://simhost.com</a> <a href="http://osgrid.org" target="_blank">http://osgrid.org</a><br>
    <a href="http://twitter.com/jstallings2" target="_blank">http://twitter.com/jstallings2</a><br>
    <a href="http://www.linkedin.com/pub/5/770/a49" target="_blank">http://www.linkedin.com/pub/5/770/a49</a><br>
<br>
<br>
<br>
<br>
--<br>
===================================<br>
<a href="http://simhost.com" target="_blank">http://simhost.com</a> <a href="http://osgrid.org" target="_blank">http://osgrid.org</a><br>
<a href="http://twitter.com/jstallings2" target="_blank">http://twitter.com/jstallings2</a><br>
<a href="http://www.linkedin.com/pub/5/770/a49" target="_blank">http://www.linkedin.com/pub/5/770/a49</a><br>
<br>
<br>
<br></div></div>
_______________________________________________<br>
Opensim-dev mailing list<br>
<a href="mailto:Opensim-dev@lists.berlios.de" target="_blank">Opensim-dev@lists.berlios.de</a><br>
<a href="https://lists.berlios.de/mailman/listinfo/opensim-dev" target="_blank">https://lists.berlios.de/mailman/listinfo/opensim-dev</a><br>
</blockquote>
<br>
<br>
-- <br>
Justin Clark-Casey (justincc)<br>
<a href="http://justincc.org/blog" target="_blank">http://justincc.org/blog</a><br>
<a href="http://twitter.com/justincc" target="_blank">http://twitter.com/justincc</a><br>
_______________________________________________<br>
Opensim-dev mailing list<br>
<a href="mailto:Opensim-dev@lists.berlios.de" target="_blank">Opensim-dev@lists.berlios.de</a><br>
<a href="https://lists.berlios.de/mailman/listinfo/opensim-dev" target="_blank">https://lists.berlios.de/mailman/listinfo/opensim-dev</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>===================================<br><a href="http://simhost.com" target="_blank">http://simhost.com</a> <a href="http://osgrid.org" target="_blank">http://osgrid.org</a><br>
<a href="http://twitter.com/jstallings2" target="_blank">http://twitter.com/jstallings2</a><br><a href="http://www.linkedin.com/pub/5/770/a49" target="_blank">http://www.linkedin.com/pub/5/770/a49</a><br>
</div>