aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorMelanie2012-09-09 16:30:01 +0200
committerMelanie2012-09-09 16:30:01 +0200
commit0556bbefdda9643abf4bbba08ab8e3f066501b74 (patch)
treea02d2e786b1542c5a8597b045941e965a3019f7e
parentMerge branch 'ubitwork' into avination (diff)
downloadopensim-SC-0556bbefdda9643abf4bbba08ab8e3f066501b74.zip
opensim-SC-0556bbefdda9643abf4bbba08ab8e3f066501b74.tar.gz
opensim-SC-0556bbefdda9643abf4bbba08ab8e3f066501b74.tar.bz2
opensim-SC-0556bbefdda9643abf4bbba08ab8e3f066501b74.tar.xz
Catch zero UUIDs in LSL and shout as an error. Also catch attempts to send IM
to UUID.Zero because it ties up XMLRPC handlers needlessly.
-rw-r--r--OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs3
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs2
2 files changed, 4 insertions, 1 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs
index 1406aae..0c067d7 100644
--- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs
@@ -137,6 +137,9 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage
137 { 137 {
138 UUID toAgentID = new UUID(im.toAgentID); 138 UUID toAgentID = new UUID(im.toAgentID);
139 139
140 if (toAgentID == UUID.Zero)
141 return;
142
140 // Try root avatar only first 143 // Try root avatar only first
141 foreach (Scene scene in m_Scenes) 144 foreach (Scene scene in m_Scenes)
142 { 145 {
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index d5e611c..f9b4bfd 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -3420,7 +3420,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
3420 public void llInstantMessage(string user, string message) 3420 public void llInstantMessage(string user, string message)
3421 { 3421 {
3422 UUID result; 3422 UUID result;
3423 if (!UUID.TryParse(user, out result)) 3423 if (!UUID.TryParse(user, out result) || result == UUID.Zero)
3424 { 3424 {
3425 ShoutError("An invalid key was passed to llInstantMessage"); 3425 ShoutError("An invalid key was passed to llInstantMessage");
3426 ScriptSleep(2000); 3426 ScriptSleep(2000);