Patch by revolution, thank you. Mantis #1789 . Implement friends permissions.

Applied with major changes. Core functionality commented pending review
for possible rights escalation. No user functionality yet.
This commit is contained in:
Melanie
2009-11-05 02:09:07 +00:00
parent 30a2411e58
commit 83b4b4440b
10 changed files with 71 additions and 3 deletions

View File

@@ -220,6 +220,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
public event FriendActionDelegate OnApproveFriendRequest;
public event FriendActionDelegate OnDenyFriendRequest;
public event FriendshipTermination OnTerminateFriendship;
public event GrantUserFriendRights OnGrantUserRights;
public event MoneyTransferRequest OnMoneyTransferRequest;
public event EconomyDataRequest OnEconomyDataRequest;
public event MoneyBalanceRequest OnMoneyBalanceRequest;
@@ -9719,7 +9720,26 @@ namespace OpenSim.Region.ClientStack.LindenUDP
Utils.BytesToString(avatarInterestUpdate.PropertiesData.SkillsText),
Utils.BytesToString(avatarInterestUpdate.PropertiesData.LanguagesText));
break;
case PacketType.GrantUserRights:
GrantUserRightsPacket GrantUserRights =
(GrantUserRightsPacket)Pack;
#region Packet Session and User Check
if (m_checkPackets)
{
if (GrantUserRights.AgentData.SessionID != SessionId ||
GrantUserRights.AgentData.AgentID != AgentId)
break;
}
#endregion
GrantUserFriendRights GrantUserRightsHandler = OnGrantUserRights;
if (GrantUserRightsHandler != null)
GrantUserRightsHandler(this,
GrantUserRights.AgentData.AgentID,
GrantUserRights.Rights[0].AgentRelated,
GrantUserRights.Rights[0].RelatedRights);
break;
case PacketType.PlacesQuery:
PlacesQueryPacket placesQueryPacket =
(PlacesQueryPacket)Pack;