mirror of
https://github.com/opensim/opensim.git
synced 2026-08-05 08:55:56 +08:00
Limit the message length from llInstantMessage to 1024 characters http://wiki.secondlife.com/wiki/LlInstantMessage
Also truncate messages that may exceed the limit set by the packet size. The limit in OpenMetaverse is 1100 bytes including a zero byte terminator. Fixes Mantis #3244
This commit is contained in:
@@ -1206,7 +1206,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||
msg.MessageBlock.RegionID = UUID.Zero;
|
||||
msg.MessageBlock.Timestamp = timeStamp;
|
||||
msg.MessageBlock.ToAgentID = toAgent;
|
||||
msg.MessageBlock.Message = Utils.StringToBytes(message);
|
||||
// Cap the message length at 1099. There is a limit in ImprovedInstantMessagePacket
|
||||
// the limit is 1100 but a 0 byte gets added to mark the end of the string
|
||||
if (message != null && message.Length > 1099)
|
||||
msg.MessageBlock.Message = Utils.StringToBytes(message.Substring(0, 1099));
|
||||
else
|
||||
msg.MessageBlock.Message = Utils.StringToBytes(message);
|
||||
msg.MessageBlock.BinaryBucket = binaryBucket;
|
||||
|
||||
if (message.StartsWith("[grouptest]"))
|
||||
|
||||
Reference in New Issue
Block a user