From c4f30a3c3120379a740fd5f6018bf8d5d746c7eb Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 12 Sep 2016 18:26:24 +0100 Subject: add skeleton on handle revoke permissions packet ( non funtional still ) ( do it not using a multidelegate event ) --- .../Region/ClientStack/Linden/UDP/LLClientView.cs | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index fad250b..2d337f1 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs @@ -6108,7 +6108,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP AddLocalPacketHandler(PacketType.SimWideDeletes, HandleSimWideDeletes); AddLocalPacketHandler(PacketType.SendPostcard, HandleSendPostcard); AddLocalPacketHandler(PacketType.ChangeInventoryItemFlags, HandleChangeInventoryItemFlags); - + AddLocalPacketHandler(PacketType.RevokePermissions, HandleRevokePermissions); AddGenericPacketHandler("autopilot", HandleAutopilot); } @@ -10997,6 +10997,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP return true; } + private bool HandleInventoryDescendents(IClientAPI sender, Packet Pack) { return true; @@ -12371,6 +12372,24 @@ namespace OpenSim.Region.ClientStack.LindenUDP return true; } + private bool HandleRevokePermissions(IClientAPI sender, Packet Pack) + { + RevokePermissionsPacket pkt = (RevokePermissionsPacket)Pack; + if (pkt.AgentData.SessionID != SessionId || + pkt .AgentData.AgentID != AgentId) + return true; + + // don't use multidelegate "event" + ScenePresence sp = (ScenePresence)SceneAgent; + if(sp != null && !sp.IsDeleted && !sp.IsInTransit) + { + UUID objectID = pkt.Data.ObjectID; + uint permissions = pkt.Data.ObjectPermissions; + + sp.HandleRevokePermissions(objectID , permissions); + } + return true; + } private bool HandlePlacesQuery(IClientAPI sender, Packet Pack) { PlacesQueryPacket placesQueryPacket = -- cgit v1.1