diff options
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 2faffae..f8a0e07 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -8809,13 +8809,29 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
8809 | case "instantmessage": | 8809 | case "instantmessage": |
8810 | if (((Scene)m_scene).Permissions.CanIssueEstateCommand(AgentId, false)) | 8810 | if (((Scene)m_scene).Permissions.CanIssueEstateCommand(AgentId, false)) |
8811 | { | 8811 | { |
8812 | if (messagePacket.ParamList.Length < 5) | 8812 | if (messagePacket.ParamList.Length < 2) |
8813 | return true; | 8813 | return true; |
8814 | |||
8814 | UUID invoice = messagePacket.MethodData.Invoice; | 8815 | UUID invoice = messagePacket.MethodData.Invoice; |
8815 | UUID SenderID = new UUID(Utils.BytesToString(messagePacket.ParamList[2].Parameter)); | ||
8816 | string SenderName = Utils.BytesToString(messagePacket.ParamList[3].Parameter); | ||
8817 | string Message = Utils.BytesToString(messagePacket.ParamList[4].Parameter); | ||
8818 | UUID sessionID = messagePacket.AgentData.SessionID; | 8816 | UUID sessionID = messagePacket.AgentData.SessionID; |
8817 | |||
8818 | UUID SenderID; | ||
8819 | string SenderName; | ||
8820 | string Message; | ||
8821 | |||
8822 | if (messagePacket.ParamList.Length < 5) | ||
8823 | { | ||
8824 | SenderID = AgentId; | ||
8825 | SenderName = Utils.BytesToString(messagePacket.ParamList[0].Parameter); | ||
8826 | Message = Utils.BytesToString(messagePacket.ParamList[1].Parameter); | ||
8827 | } | ||
8828 | else | ||
8829 | { | ||
8830 | SenderID = new UUID(Utils.BytesToString(messagePacket.ParamList[2].Parameter)); | ||
8831 | SenderName = Utils.BytesToString(messagePacket.ParamList[3].Parameter); | ||
8832 | Message = Utils.BytesToString(messagePacket.ParamList[4].Parameter); | ||
8833 | } | ||
8834 | |||
8819 | OnEstateBlueBoxMessageRequest(this, invoice, SenderID, sessionID, SenderName, Message); | 8835 | OnEstateBlueBoxMessageRequest(this, invoice, SenderID, sessionID, SenderName, Message); |
8820 | } | 8836 | } |
8821 | return true; | 8837 | return true; |