diff options
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
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 6bb0fe9..69d9c38 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -2717,7 +2717,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2717 | //{ | 2717 | //{ |
2718 | // msg.fromAgentName = "(hippos)";// Added for posterity. This means that we can't figure out who sent it | 2718 | // msg.fromAgentName = "(hippos)";// Added for posterity. This means that we can't figure out who sent it |
2719 | //} | 2719 | //} |
2720 | msg.message = message; | 2720 | // Cap the message length at 1024. |
2721 | if (message != null && message.Length > 1024) | ||
2722 | msg.message = message.Substring(0, 1024); | ||
2723 | else | ||
2724 | msg.message = message; | ||
2721 | msg.dialog = (byte)19; // messgage from script ??? // dialog; | 2725 | msg.dialog = (byte)19; // messgage from script ??? // dialog; |
2722 | msg.fromGroup = false;// fromGroup; | 2726 | msg.fromGroup = false;// fromGroup; |
2723 | msg.offline = (byte)0; //offline; | 2727 | msg.offline = (byte)0; //offline; |