diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 311b1e4..789e86c 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -5003,7 +5003,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
5003 | AddLocalPacketHandler(PacketType.TeleportLocationRequest, HandleTeleportLocationRequest); | 5003 | AddLocalPacketHandler(PacketType.TeleportLocationRequest, HandleTeleportLocationRequest); |
5004 | AddLocalPacketHandler(PacketType.UUIDNameRequest, HandleUUIDNameRequest, false); | 5004 | AddLocalPacketHandler(PacketType.UUIDNameRequest, HandleUUIDNameRequest, false); |
5005 | AddLocalPacketHandler(PacketType.RegionHandleRequest, HandleRegionHandleRequest); | 5005 | AddLocalPacketHandler(PacketType.RegionHandleRequest, HandleRegionHandleRequest); |
5006 | AddLocalPacketHandler(PacketType.ParcelInfoRequest, HandleParcelInfoRequest, false); | 5006 | AddLocalPacketHandler(PacketType.ParcelInfoRequest, HandleParcelInfoRequest); |
5007 | AddLocalPacketHandler(PacketType.ParcelAccessListRequest, HandleParcelAccessListRequest, false); | 5007 | AddLocalPacketHandler(PacketType.ParcelAccessListRequest, HandleParcelAccessListRequest, false); |
5008 | AddLocalPacketHandler(PacketType.ParcelAccessListUpdate, HandleParcelAccessListUpdate, false); | 5008 | AddLocalPacketHandler(PacketType.ParcelAccessListUpdate, HandleParcelAccessListUpdate, false); |
5009 | AddLocalPacketHandler(PacketType.ParcelPropertiesRequest, HandleParcelPropertiesRequest, false); | 5009 | AddLocalPacketHandler(PacketType.ParcelPropertiesRequest, HandleParcelPropertiesRequest, false); |
@@ -8876,13 +8876,29 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
8876 | case "instantmessage": | 8876 | case "instantmessage": |
8877 | if (((Scene)m_scene).Permissions.CanIssueEstateCommand(AgentId, false)) | 8877 | if (((Scene)m_scene).Permissions.CanIssueEstateCommand(AgentId, false)) |
8878 | { | 8878 | { |
8879 | if (messagePacket.ParamList.Length < 5) | 8879 | if (messagePacket.ParamList.Length < 2) |
8880 | return true; | 8880 | return true; |
8881 | |||
8881 | UUID invoice = messagePacket.MethodData.Invoice; | 8882 | UUID invoice = messagePacket.MethodData.Invoice; |
8882 | UUID SenderID = new UUID(Utils.BytesToString(messagePacket.ParamList[2].Parameter)); | ||
8883 | string SenderName = Utils.BytesToString(messagePacket.ParamList[3].Parameter); | ||
8884 | string Message = Utils.BytesToString(messagePacket.ParamList[4].Parameter); | ||
8885 | UUID sessionID = messagePacket.AgentData.SessionID; | 8883 | UUID sessionID = messagePacket.AgentData.SessionID; |
8884 | |||
8885 | UUID SenderID; | ||
8886 | string SenderName; | ||
8887 | string Message; | ||
8888 | |||
8889 | if (messagePacket.ParamList.Length < 5) | ||
8890 | { | ||
8891 | SenderID = AgentId; | ||
8892 | SenderName = Utils.BytesToString(messagePacket.ParamList[0].Parameter); | ||
8893 | Message = Utils.BytesToString(messagePacket.ParamList[1].Parameter); | ||
8894 | } | ||
8895 | else | ||
8896 | { | ||
8897 | SenderID = new UUID(Utils.BytesToString(messagePacket.ParamList[2].Parameter)); | ||
8898 | SenderName = Utils.BytesToString(messagePacket.ParamList[3].Parameter); | ||
8899 | Message = Utils.BytesToString(messagePacket.ParamList[4].Parameter); | ||
8900 | } | ||
8901 | |||
8886 | OnEstateBlueBoxMessageRequest(this, invoice, SenderID, sessionID, SenderName, Message); | 8902 | OnEstateBlueBoxMessageRequest(this, invoice, SenderID, sessionID, SenderName, Message); |
8887 | } | 8903 | } |
8888 | return true; | 8904 | return true; |