From e4bb8dc3859c49811c0a7b70ada5dcce79094923 Mon Sep 17 00:00:00 2001 From: Melanie Date: Thu, 13 Jan 2011 00:19:39 +0100 Subject: Guard against invalid light color specifiers from the database --- OpenSim/Framework/PrimitiveBaseShape.cs | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/OpenSim/Framework/PrimitiveBaseShape.cs b/OpenSim/Framework/PrimitiveBaseShape.cs index 20b9cf1..9a38f23 100644 --- a/OpenSim/Framework/PrimitiveBaseShape.cs +++ b/OpenSim/Framework/PrimitiveBaseShape.cs @@ -708,7 +708,12 @@ namespace OpenSim.Framework return _lightColorR; } set { - _lightColorR = value; + if (value < 0) + _lightColorR = 0; + else if (value > 1.0f) + _lightColorR = 1.0f; + else + _lightColorR = value; } } @@ -717,7 +722,12 @@ namespace OpenSim.Framework return _lightColorG; } set { - _lightColorG = value; + if (value < 0) + _lightColorG = 0; + else if (value > 1.0f) + _lightColorG = 1.0f; + else + _lightColorG = value; } } @@ -726,7 +736,12 @@ namespace OpenSim.Framework return _lightColorB; } set { - _lightColorB = value; + if (value < 0) + _lightColorB = 0; + else if (value > 1.0f) + _lightColorB = 1.0f; + else + _lightColorB = value; } } @@ -735,7 +750,12 @@ namespace OpenSim.Framework return _lightColorA; } set { - _lightColorA = value; + if (value < 0) + _lightColorA = 0; + else if (value > 1.0f) + _lightColorA = 1.0f; + else + _lightColorA = value; } } -- cgit v1.1 From 69666be28c5700b94be54d6165c9f59d681a4f4f Mon Sep 17 00:00:00 2001 From: Melanie Date: Thu, 13 Jan 2011 16:05:17 +0100 Subject: Implement kicking, freezing and unfreezing users in the same sim via profile god buttons. --- .../Region/CoreModules/Avatar/Gods/GodsModule.cs | 175 ++++++++++++++------- 1 file changed, 117 insertions(+), 58 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs b/OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs index 5ec64d5..9fd3318 100644 --- a/OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs @@ -31,16 +31,40 @@ using OpenMetaverse; using OpenSim.Framework; using OpenSim.Region.Framework.Scenes; using OpenSim.Region.Framework.Interfaces; +using System; +using System.Reflection; +using System.Collections; +using System.Collections.Specialized; +using System.Reflection; +using System.IO; +using System.Web; +using System.Xml; +using log4net; +using Mono.Addins; +using OpenMetaverse.Messages.Linden; +using OpenMetaverse.StructuredData; +using OpenSim.Framework.Capabilities; +using OpenSim.Framework.Servers; +using OpenSim.Framework.Servers.HttpServer; +using Caps = OpenSim.Framework.Capabilities.Caps; +using OSDArray = OpenMetaverse.StructuredData.OSDArray; +using OSDMap = OpenMetaverse.StructuredData.OSDMap; namespace OpenSim.Region.CoreModules.Avatar.Gods { public class GodsModule : IRegionModule, IGodsModule { + private static readonly ILog m_log = + LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + /// Special UUID for actions that apply to all agents private static readonly UUID ALL_AGENTS = new UUID("44e87126-e794-4ded-05b3-7c42da3d5cdb"); protected Scene m_scene; protected IDialogModule m_dialogModule; + + protected Dictionary m_capsDict = + new Dictionary(); public void Initialise(Scene scene, IConfigSource source) { @@ -48,6 +72,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Gods m_dialogModule = m_scene.RequestModuleInterface(); m_scene.RegisterModuleInterface(this); m_scene.EventManager.OnNewClient += SubscribeToClientEvents; + m_scene.EventManager.OnRegisterCaps += OnRegisterCaps; + m_scene.EventManager.OnClientClosed += OnClientClosed; } public void PostInitialise() {} @@ -67,6 +93,50 @@ namespace OpenSim.Region.CoreModules.Avatar.Gods client.OnRequestGodlikePowers -= RequestGodlikePowers; } + private void OnClientClosed(UUID agentID, Scene scene) + { + m_capsDict.Remove(agentID); + } + + private void OnRegisterCaps(UUID agentID, Caps caps) + { + string uri = "/CAPS/" + UUID.Random(); + m_capsDict[agentID] = uri; + + caps.RegisterHandler("UntrustedSimulatorMessage", + new RestStreamHandler("POST", uri, + HandleUntrustedSimulatorMessage)); + } + + private string HandleUntrustedSimulatorMessage(string request, + string path, string param, OSHttpRequest httpRequest, + OSHttpResponse httpResponse) + { + OSDMap osd = (OSDMap)OSDParser.DeserializeLLSDXml(request); + + string message = osd["message"].AsString(); + + if (message == "GodKickUser") + { + OSDMap body = (OSDMap)osd["body"]; + OSDArray userInfo = (OSDArray)body["UserInfo"]; + OSDMap userData = (OSDMap)userInfo[0]; + + UUID agentID = userData["AgentID"].AsUUID(); + UUID godID = userData["GodID"].AsUUID(); + UUID godSessionID = userData["GodSessionID"].AsUUID(); + uint kickFlags = userData["KickFlags"].AsUInteger(); + string reason = userData["Reason"].AsString(); + + KickUser(godID, godSessionID, agentID, kickFlags, Util.StringToBytes1024(reason)); + } + else + { + m_log.ErrorFormat("[GOD]: Unhandled UntrustedSimulatorMessage: {0}", message); + } + return String.Empty; + } + public void RequestGodlikePowers( UUID agentID, UUID sessionID, UUID token, bool godLike, IClientAPI controllingClient) { @@ -115,71 +185,60 @@ namespace OpenSim.Region.CoreModules.Avatar.Gods /// The message to send to the user after it's been turned into a field public void KickUser(UUID godID, UUID sessionID, UUID agentID, uint kickflags, byte[] reason) { - UUID kickUserID = ALL_AGENTS; - + if (!m_scene.Permissions.IsGod(godID)) + return; + + ScenePresence god = m_scene.GetScenePresence(godID); + if (god == null || god.ControllingClient.SessionId != sessionID) + return; + ScenePresence sp = m_scene.GetScenePresence(agentID); - if (sp != null || agentID == kickUserID) + switch (kickflags) { - if (m_scene.Permissions.IsGod(godID)) + case 0: + if (sp != null) { - if (kickflags == 0) - { - if (agentID == kickUserID) - { - string reasonStr = Utils.BytesToString(reason); - - m_scene.ForEachClient( - delegate(IClientAPI controller) - { - if (controller.AgentId != godID) - controller.Kick(reasonStr); - } - ); - - // This is a bit crude. It seems the client will be null before it actually stops the thread - // The thread will kill itself eventually :/ - // Is there another way to make sure *all* clients get this 'inter region' message? - m_scene.ForEachScenePresence( - delegate(ScenePresence p) - { - if (p.UUID != godID && !p.IsChildAgent) - { - // Possibly this should really be p.Close() though that method doesn't send a close - // to the client - p.ControllingClient.Close(); - } - } - ); - } - else - { - m_scene.SceneGraph.removeUserCount(!sp.IsChildAgent); - - sp.ControllingClient.Kick(Utils.BytesToString(reason)); - sp.ControllingClient.Close(); - } - } - - if (kickflags == 1) - { - sp.AllowMovement = false; - m_dialogModule.SendAlertToUser(agentID, Utils.BytesToString(reason)); - m_dialogModule.SendAlertToUser(godID, "User Frozen"); - } - - if (kickflags == 2) - { - sp.AllowMovement = true; - m_dialogModule.SendAlertToUser(agentID, Utils.BytesToString(reason)); - m_dialogModule.SendAlertToUser(godID, "User Unfrozen"); - } + KickPresence(sp, Utils.BytesToString(reason)); } - else + else if (agentID == ALL_AGENTS) + { + m_scene.ForEachScenePresence( + delegate(ScenePresence p) + { + if (p.UUID != godID && (!m_scene.Permissions.IsGod(p.UUID))) + KickPresence(p, Utils.BytesToString(reason)); + } + ); + } + break; + case 1: + if (sp != null) { - m_dialogModule.SendAlertToUser(godID, "Kick request denied"); + sp.AllowMovement = false; + m_dialogModule.SendAlertToUser(agentID, Utils.BytesToString(reason)); + m_dialogModule.SendAlertToUser(godID, "User Frozen"); } + break; + case 2: + if (sp != null) + { + sp.AllowMovement = true; + m_dialogModule.SendAlertToUser(agentID, Utils.BytesToString(reason)); + m_dialogModule.SendAlertToUser(godID, "User Unfrozen"); + } + break; + default: + break; } } + + private void KickPresence(ScenePresence sp, string reason) + { + if (sp.IsChildAgent) + return; + sp.ControllingClient.Kick(reason); + sp.Scene.IncomingCloseAgent(sp.UUID); + } } -} \ No newline at end of file +} -- cgit v1.1 From 69c8cc787f0bcecd617aeeff3d2776ba159d82ee Mon Sep 17 00:00:00 2001 From: BlueWall Date: Thu, 13 Jan 2011 11:39:50 -0500 Subject: Make FireAndForgetWrapper a singleton class Made FireAndForgetWrapper a singleton class to allow us to drop dependancy on the BclExtras35 library. BclExtras is broken in Mono 2.8.2 and we used the library in only one function. --- OpenSim/Framework/Util.cs | 27 ++++++++++++++++++++++++--- bin/BclExtras35.dll | Bin 153600 -> 0 bytes prebuild.xml | 2 -- 3 files changed, 24 insertions(+), 5 deletions(-) delete mode 100644 bin/BclExtras35.dll diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs index 8d1671a..d1d8736 100644 --- a/OpenSim/Framework/Util.cs +++ b/OpenSim/Framework/Util.cs @@ -46,7 +46,7 @@ using System.Threading; using log4net; using Nini.Config; using Nwc.XmlRpc; -using BclExtras; +// using BclExtras; using OpenMetaverse; using OpenMetaverse.StructuredData; using Amib.Threading; @@ -1375,8 +1375,29 @@ namespace OpenSim.Framework /// /// Created to work around a limitation in Mono with nested delegates /// - private class FireAndForgetWrapper + private sealed class FireAndForgetWrapper { + private static volatile FireAndForgetWrapper instance; + private static object syncRoot = new Object(); + + public static FireAndForgetWrapper Instance { + get { + + if (instance == null) + { + lock (syncRoot) + { + if (instance == null) + { + instance = new FireAndForgetWrapper(); + } + } + } + + return instance; + } + } + public void FireAndForget(System.Threading.WaitCallback callback) { callback.BeginInvoke(null, EndFireAndForget, callback); @@ -1445,7 +1466,7 @@ namespace OpenSim.Framework ThreadPool.QueueUserWorkItem(callback, obj); break; case FireAndForgetMethod.BeginInvoke: - FireAndForgetWrapper wrapper = Singleton.GetInstance(); + FireAndForgetWrapper wrapper = FireAndForgetWrapper.Instance; wrapper.FireAndForget(callback, obj); break; case FireAndForgetMethod.SmartThreadPool: diff --git a/bin/BclExtras35.dll b/bin/BclExtras35.dll deleted file mode 100644 index 7a7480a..0000000 Binary files a/bin/BclExtras35.dll and /dev/null differ diff --git a/prebuild.xml b/prebuild.xml index 48bb2d3..854149b 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -158,7 +158,6 @@ - @@ -1597,7 +1596,6 @@ - -- cgit v1.1 From 139e84c0b2033462bdfa91b186fb77432474afc5 Mon Sep 17 00:00:00 2001 From: Melanie Date: Fri, 14 Jan 2011 01:01:02 +0100 Subject: Fix slam bits being lost when editing perms in prim inventory --- OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs index 8761284..2ee8c07 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs @@ -881,7 +881,6 @@ namespace OpenSim.Region.Framework.Scenes { item.ParentID = m_part.UUID; item.ParentPartID = m_part.UUID; - item.Flags = m_items[item.ItemID].Flags; // If group permissions have been set on, check that the groupID is up to date in case it has // changed since permissions were last set. -- cgit v1.1 From fe2d9be0cff649fad7fee78b257686954262e3cd Mon Sep 17 00:00:00 2001 From: Melanie Date: Fri, 14 Jan 2011 03:35:45 +0100 Subject: Implement nonlocal god kicks and freezes --- .../Region/CoreModules/Avatar/Gods/GodsModule.cs | 39 +++++++++++++++++++--- 1 file changed, 35 insertions(+), 4 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs b/OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs index 9fd3318..a83b3df 100644 --- a/OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs @@ -74,6 +74,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Gods m_scene.EventManager.OnNewClient += SubscribeToClientEvents; m_scene.EventManager.OnRegisterCaps += OnRegisterCaps; m_scene.EventManager.OnClientClosed += OnClientClosed; + scene.EventManager.OnIncomingInstantMessage += + OnIncomingInstantMessage; } public void PostInitialise() {} @@ -128,6 +130,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Gods uint kickFlags = userData["KickFlags"].AsUInteger(); string reason = userData["Reason"].AsString(); + ScenePresence god = m_scene.GetScenePresence(godID); + if (god == null || god.ControllingClient.SessionId != godSessionID) + return String.Empty; + KickUser(godID, godSessionID, agentID, kickFlags, Util.StringToBytes1024(reason)); } else @@ -188,12 +194,24 @@ namespace OpenSim.Region.CoreModules.Avatar.Gods if (!m_scene.Permissions.IsGod(godID)) return; - ScenePresence god = m_scene.GetScenePresence(godID); - if (god == null || god.ControllingClient.SessionId != sessionID) - return; - ScenePresence sp = m_scene.GetScenePresence(agentID); + if (sp == null && agentID != ALL_AGENTS) + { + IMessageTransferModule transferModule = + m_scene.RequestModuleInterface(); + if (transferModule != null) + { + m_log.DebugFormat("[GODS]: Sending nonlocal kill for agent {0}", agentID); + transferModule.SendInstantMessage(new GridInstantMessage( + m_scene, godID, "God", agentID, (byte)250, false, + Utils.BytesToString(reason), UUID.Zero, true, + new Vector3(), new byte[] {(byte)kickflags}), + delegate(bool success) {} ); + } + return; + } + switch (kickflags) { case 0: @@ -240,5 +258,18 @@ namespace OpenSim.Region.CoreModules.Avatar.Gods sp.ControllingClient.Kick(reason); sp.Scene.IncomingCloseAgent(sp.UUID); } + + private void OnIncomingInstantMessage(GridInstantMessage msg) + { + if (msg.dialog == (uint)250) // Nonlocal kick + { + UUID agentID = new UUID(msg.toAgentID); + string reason = msg.message; + UUID godID = new UUID(msg.fromAgentID); + uint kickMode = (uint)msg.binaryBucket[0]; + + KickUser(godID, UUID.Zero, agentID, kickMode, Util.StringToBytes1024(reason)); + } + } } } -- cgit v1.1 From a30bbcbb64e9b985b0db4c4b795ad369d7f4cda7 Mon Sep 17 00:00:00 2001 From: Melanie Date: Fri, 14 Jan 2011 04:09:02 +0100 Subject: Temporarily reinstate prim counting in the update loop to make the production systems run --- OpenSim/Region/Framework/Scenes/Scene.cs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 066e504..a4f630a 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -151,7 +151,7 @@ namespace OpenSim.Region.Framework.Scenes private int m_update_events = 1; private int m_update_backup = 200; private int m_update_terrain = 50; -// private int m_update_land = 1; + private int m_update_land = 10; private int m_update_coarse_locations = 50; private int frameMS; @@ -1330,12 +1330,12 @@ namespace OpenSim.Region.Framework.Scenes terrainMS = Util.EnvironmentTickCountSubtract(terMS); } - //if (m_frame % m_update_land == 0) - //{ - // int ldMS = Util.EnvironmentTickCount(); - // UpdateLand(); - // landMS = Util.EnvironmentTickCountSubtract(ldMS); - //} + if (m_frame % m_update_land == 0) + { + int ldMS = Util.EnvironmentTickCount(); + UpdateLand(); + landMS = Util.EnvironmentTickCountSubtract(ldMS); + } frameMS = Util.EnvironmentTickCountSubtract(tmpFrameMS); otherMS = tempOnRezMS + eventMS + backupMS + terrainMS + landMS; -- cgit v1.1 From 30320077a292ba98f054794f9f817628bf2be0f9 Mon Sep 17 00:00:00 2001 From: Melanie Date: Fri, 14 Jan 2011 01:01:02 +0100 Subject: Fix slam bits being lost when editing perms in prim inventory --- OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs index 91bb3a5..004e20c 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs @@ -695,7 +695,6 @@ namespace OpenSim.Region.Framework.Scenes { item.ParentID = m_part.UUID; item.ParentPartID = m_part.UUID; - item.Flags = m_items[item.ItemID].Flags; // If group permissions have been set on, check that the groupID is up to date in case it has // changed since permissions were last set. -- cgit v1.1 From d60ddfdfcba9e9c4173b6498e5646c05ecea1bc8 Mon Sep 17 00:00:00 2001 From: Melanie Date: Fri, 14 Jan 2011 14:54:14 +0100 Subject: Revert "Remove old guids from the examples, for completeness' sake" This reverts commit 52222d82d50cbeb7f709142e37421c6cef490706. --- bin/Robust.HG.ini.example | 2 +- bin/Robust.ini.example | 2 +- bin/config-include/StandaloneCommon.ini.example | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example index 271328c..9adf1ac 100644 --- a/bin/Robust.HG.ini.example +++ b/bin/Robust.HG.ini.example @@ -38,7 +38,7 @@ ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003 [DatabaseService] StorageProvider = "OpenSim.Data.MySQL.dll" - ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;" + ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;Old Guids=true;" ; * As an example, the below configuration precisely mimicks the legacy ; * asset server. It is read by the asset IN connector (defined above) diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index 9abfd4b..7c13076 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -30,7 +30,7 @@ ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003 [DatabaseService] StorageProvider = "OpenSim.Data.MySQL.dll" - ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;" + ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;Old Guids=true;" ; * As an example, the below configuration precisely mimicks the legacy ; * asset server. It is read by the asset IN connector (defined above) diff --git a/bin/config-include/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example index b968590..4956bc3 100644 --- a/bin/config-include/StandaloneCommon.ini.example +++ b/bin/config-include/StandaloneCommon.ini.example @@ -17,9 +17,9 @@ ; Uncomment these lines if you want to use mysql storage ; Change the connection string to your db details ;StorageProvider = "OpenSim.Data.MySQL.dll" - ;ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;" + ;ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;" ; Uncomment this line if you are using MySQL and want to use a different database for estates - ;EstateConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;" + ;EstateConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;" [AssetService] DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" -- cgit v1.1 From 8074c6ace1044cdc2c28b98b0930d6f56291402f Mon Sep 17 00:00:00 2001 From: Melanie Date: Fri, 14 Jan 2011 14:54:28 +0100 Subject: Revert "Replace the new, tricky MySql.Data.dll with the older version from 0.6.9" This reverts commit e5ce59ff34351612980e70a25ed978dd90ebe593. The old module causes a truly massive (double!) rise in connections. Please put "old guids=true;" back in after this commit --- bin/MySql.Data.dll | Bin 294912 -> 360448 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/bin/MySql.Data.dll b/bin/MySql.Data.dll index a94dd3d..c28c618 100644 Binary files a/bin/MySql.Data.dll and b/bin/MySql.Data.dll differ -- cgit v1.1 From 76f39d326e88f0793daf5d1f0d19654d596d572c Mon Sep 17 00:00:00 2001 From: Melanie Date: Fri, 14 Jan 2011 18:26:41 +0100 Subject: Add a new ViewObjectInventory permission to decouple viewing from +MOD status --- OpenSim/Region/Framework/Scenes/Scene.Permissions.cs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/OpenSim/Region/Framework/Scenes/Scene.Permissions.cs b/OpenSim/Region/Framework/Scenes/Scene.Permissions.cs index e1fedf4..48beb9c 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Permissions.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Permissions.cs @@ -49,6 +49,7 @@ namespace OpenSim.Region.Framework.Scenes public delegate bool DuplicateObjectHandler(int objectCount, UUID objectID, UUID owner, Scene scene, Vector3 objectPosition); public delegate bool EditObjectHandler(UUID objectID, UUID editorID, Scene scene); public delegate bool EditObjectInventoryHandler(UUID objectID, UUID editorID, Scene scene); + public delegate bool ViewObjectInventoryHandler(UUID objectID, UUID editorID, Scene scene); public delegate bool MoveObjectHandler(UUID objectID, UUID moverID, Scene scene); public delegate bool ObjectEntryHandler(UUID objectID, bool enteringRegion, Vector3 newPoint, Scene scene); public delegate bool ReturnObjectsHandler(ILandObject land, UUID user, List objects, Scene scene); @@ -116,6 +117,7 @@ namespace OpenSim.Region.Framework.Scenes public event DuplicateObjectHandler OnDuplicateObject; public event EditObjectHandler OnEditObject; public event EditObjectInventoryHandler OnEditObjectInventory; + public event ViewObjectInventoryHandler OnViewObjectInventory; public event MoveObjectHandler OnMoveObject; public event ObjectEntryHandler OnObjectEntry; public event ReturnObjectsHandler OnReturnObjects; @@ -401,6 +403,21 @@ namespace OpenSim.Region.Framework.Scenes return true; } + public bool CanViewObjectInventory(UUID objectID, UUID editorID) + { + ViewObjectInventoryHandler handler = OnViewObjectInventory; + if (handler != null) + { + Delegate[] list = handler.GetInvocationList(); + foreach (ViewObjectInventoryHandler h in list) + { + if (h(objectID, editorID, m_scene) == false) + return false; + } + } + return true; + } + #endregion #region MOVE OBJECT -- cgit v1.1 From 66f99ae2677c4cfc26d2376c1de9e8e5d7022dfd Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Mon, 17 Jan 2011 11:03:46 -0800 Subject: More debug messages to help track the XFF header problem. --- OpenSim/Server/Handlers/Hypergrid/HomeAgentHandlers.cs | 2 ++ OpenSim/Server/Handlers/Simulation/AgentHandlers.cs | 3 +++ 2 files changed, 5 insertions(+) diff --git a/OpenSim/Server/Handlers/Hypergrid/HomeAgentHandlers.cs b/OpenSim/Server/Handlers/Hypergrid/HomeAgentHandlers.cs index 0066bd4..814a8d9 100644 --- a/OpenSim/Server/Handlers/Hypergrid/HomeAgentHandlers.cs +++ b/OpenSim/Server/Handlers/Hypergrid/HomeAgentHandlers.cs @@ -223,6 +223,8 @@ namespace OpenSim.Server.Handlers.Hypergrid if (ep != null) return ep.Address.ToString(); } + else + m_log.WarnFormat("[HOME AGENT HANDLER]: No XFF header"); // Oops return Util.GetCallerIP(request); diff --git a/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs b/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs index 9c41bcb..b572cb3 100644 --- a/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs +++ b/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs @@ -208,6 +208,9 @@ namespace OpenSim.Server.Handlers.Simulation if (ep != null) return ep.Address.ToString(); } + else + m_log.WarnFormat("[AGENT HANDLER]: No XFF header"); + // Oops return Util.GetCallerIP(request); -- cgit v1.1 From 0aeb8981b2b147e2caf2614fbfe59bd7e4340aee Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Mon, 17 Jan 2011 11:19:20 -0800 Subject: Brute force debug for XFF issue --- OpenSim/Server/Handlers/Simulation/AgentHandlers.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs b/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs index b572cb3..96821ec 100644 --- a/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs +++ b/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs @@ -200,6 +200,13 @@ namespace OpenSim.Server.Handlers.Simulation // We're behind a proxy Hashtable headers = (Hashtable)request["headers"]; + + foreach (object o in headers.Keys) + { + if (o != null) + m_log.DebugFormat("[XXX] {0}", o.ToString()); + } + if (headers.ContainsKey("X-Forwarded-For") && headers["X-Forwarded-For"] != null) { m_log.DebugFormat("[AGENT HANDLER]: XFF is {0}", headers["X-Forwarded-For"]); -- cgit v1.1 From 479d72ac975fd34f43d76c0ab20f869cb07fb6fc Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Mon, 17 Jan 2011 11:37:39 -0800 Subject: Account for some component along the way lower-casing the HTTP header keys. (XFF header issue) --- .../Server/Handlers/Hypergrid/HomeAgentHandlers.cs | 21 ++++++++++++-------- .../Server/Handlers/Simulation/AgentHandlers.cs | 23 ++++++++++------------ 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/OpenSim/Server/Handlers/Hypergrid/HomeAgentHandlers.cs b/OpenSim/Server/Handlers/Hypergrid/HomeAgentHandlers.cs index 814a8d9..968c1e6 100644 --- a/OpenSim/Server/Handlers/Hypergrid/HomeAgentHandlers.cs +++ b/OpenSim/Server/Handlers/Hypergrid/HomeAgentHandlers.cs @@ -215,16 +215,21 @@ namespace OpenSim.Server.Handlers.Hypergrid // We're behind a proxy Hashtable headers = (Hashtable)request["headers"]; - if (headers.ContainsKey("X-Forwarded-For") && headers["X-Forwarded-For"] != null) - { - m_log.DebugFormat("[HOME AGENT HANDLER]: XFF is {0}", headers["X-Forwarded-For"]); + string xff = "X-Forwarded-For"; + if (headers.ContainsKey(xff.ToLower())) + xff = xff.ToLower(); - IPEndPoint ep = Util.GetClientIPFromXFF((string)headers["X-Forwarded-For"]); - if (ep != null) - return ep.Address.ToString(); + if (!headers.ContainsKey(xff) || headers[xff] == null) + { + m_log.WarnFormat("[AGENT HANDLER]: No XFF header"); + return Util.GetCallerIP(request); } - else - m_log.WarnFormat("[HOME AGENT HANDLER]: No XFF header"); + + m_log.DebugFormat("[AGENT HANDLER]: XFF is {0}", headers[xff]); + + IPEndPoint ep = Util.GetClientIPFromXFF((string)headers[xff]); + if (ep != null) + return ep.Address.ToString(); // Oops return Util.GetCallerIP(request); diff --git a/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs b/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs index 96821ec..57672a8 100644 --- a/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs +++ b/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs @@ -200,24 +200,21 @@ namespace OpenSim.Server.Handlers.Simulation // We're behind a proxy Hashtable headers = (Hashtable)request["headers"]; + string xff = "X-Forwarded-For"; + if (headers.ContainsKey(xff.ToLower())) + xff = xff.ToLower(); - foreach (object o in headers.Keys) + if (!headers.ContainsKey(xff) || headers[xff] == null) { - if (o != null) - m_log.DebugFormat("[XXX] {0}", o.ToString()); + m_log.WarnFormat("[AGENT HANDLER]: No XFF header"); + return Util.GetCallerIP(request); } - if (headers.ContainsKey("X-Forwarded-For") && headers["X-Forwarded-For"] != null) - { - m_log.DebugFormat("[AGENT HANDLER]: XFF is {0}", headers["X-Forwarded-For"]); - - IPEndPoint ep = Util.GetClientIPFromXFF((string)headers["X-Forwarded-For"]); - if (ep != null) - return ep.Address.ToString(); - } - else - m_log.WarnFormat("[AGENT HANDLER]: No XFF header"); + m_log.DebugFormat("[AGENT HANDLER]: XFF is {0}", headers[xff]); + IPEndPoint ep = Util.GetClientIPFromXFF((string)headers[xff]); + if (ep != null) + return ep.Address.ToString(); // Oops return Util.GetCallerIP(request); -- cgit v1.1 From 5e35651efc98fd140a454c2dd6c5e826573f9dd6 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Mon, 17 Jan 2011 11:45:13 -0800 Subject: Protect World Map module, RequestMapItemsAsync, from badly formed URLs. --- OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs index f9d28b9..e0f36a2 100644 --- a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs +++ b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs @@ -641,7 +641,17 @@ namespace OpenSim.Region.CoreModules.World.WorldMap lock (m_openRequests) m_openRequests.Add(requestID, mrs); - WebRequest mapitemsrequest = WebRequest.Create(httpserver); + WebRequest mapitemsrequest = null; + try + { + mapitemsrequest = WebRequest.Create(httpserver); + } + catch (Exception e) + { + m_log.DebugFormat("[WORLD MAP]: Access to {0} failed with {1}", httpserver, e); + return new OSDMap(); + } + mapitemsrequest.Method = "POST"; mapitemsrequest.ContentType = "application/xml+llsd"; OSDMap RAMap = new OSDMap(); -- cgit v1.1 From ddb4de139ccd6eff117ac322e94b323bd91212ee Mon Sep 17 00:00:00 2001 From: Melanie Date: Mon, 17 Jan 2011 21:22:32 +0100 Subject: Change gesture activation to not quash any other flags --- OpenSim/Region/CoreModules/Avatar/Gestures/GesturesModule.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Gestures/GesturesModule.cs b/OpenSim/Region/CoreModules/Avatar/Gestures/GesturesModule.cs index 7303fe7..914990c 100644 --- a/OpenSim/Region/CoreModules/Avatar/Gestures/GesturesModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Gestures/GesturesModule.cs @@ -69,7 +69,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Gestures item = invService.GetItem(item); if (item != null) { - item.Flags = 1; + item.Flags |= 1; invService.UpdateItem(item); } else @@ -85,7 +85,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Gestures item = invService.GetItem(item); if (item != null) { - item.Flags = 0; + item.Flags &= ~1; invService.UpdateItem(item); } else @@ -93,4 +93,4 @@ namespace OpenSim.Region.CoreModules.Avatar.Gestures "[GESTURES]: Unable to find gesture to deactivate {0} for {1}", gestureId, client.Name); } } -} \ No newline at end of file +} -- cgit v1.1 From 59c2cd04ba056b85eb4873e472b95826a1cc13b5 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Mon, 17 Jan 2011 12:35:19 -0800 Subject: DEBUG DEBUG DEBUG --- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 4 ++++ OpenSim/Services/HypergridService/UserAgentService.cs | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 3a40196..8e4aaf1 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -839,6 +839,7 @@ namespace OpenSim.Region.Framework.Scenes m_rootRegionHandle = m_scene.RegionInfo.RegionHandle; m_scene.EventManager.TriggerSetRootAgentScene(m_uuid, m_scene); + m_log.DebugFormat("[XXX] MakeRoot 1"); // Moved this from SendInitialData to ensure that m_appearance is initialized // before the inventory is processed in MakeRootAgent. This fixes a race condition @@ -899,6 +900,7 @@ namespace OpenSim.Region.Framework.Scenes } AddToPhysicalScene(isFlying); + m_log.DebugFormat("[XXX] MakeRoot 2"); if (m_appearance != null) { @@ -941,7 +943,9 @@ namespace OpenSim.Region.Framework.Scenes presence.Animator.SendAnimPackToClient(ControllingClient); }); + m_log.DebugFormat("[XXX] MakeRoot 3"); m_scene.EventManager.TriggerOnMakeRootAgent(this); + m_log.DebugFormat("[XXX] MakeRoot 4"); } /// diff --git a/OpenSim/Services/HypergridService/UserAgentService.cs b/OpenSim/Services/HypergridService/UserAgentService.cs index 3ead180..d5842fb 100644 --- a/OpenSim/Services/HypergridService/UserAgentService.cs +++ b/OpenSim/Services/HypergridService/UserAgentService.cs @@ -269,7 +269,7 @@ namespace OpenSim.Services.HypergridService bool result = m_TravelingAgents[sessionID].ClientIPAddress == reportedIP || m_TravelingAgents[sessionID].MyIpAddress == reportedIP; // NATed - m_log.DebugFormat("[USER AGENT SERVICE]: Comparing {0} with login IP {1} and MyIP {1}; result is {3}", + m_log.DebugFormat("[USER AGENT SERVICE]: Comparing {0} with login IP {1} and MyIP {2}; result is {3}", reportedIP, m_TravelingAgents[sessionID].ClientIPAddress, m_TravelingAgents[sessionID].MyIpAddress, result); return result; -- cgit v1.1 From 4bcee1dfb4337fca342fd29916d5da3b4c7db954 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Mon, 17 Jan 2011 13:07:02 -0800 Subject: Revert "DEBUG DEBUG DEBUG" This reverts commit 59c2cd04ba056b85eb4873e472b95826a1cc13b5. --- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 4 ---- OpenSim/Services/HypergridService/UserAgentService.cs | 2 +- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 8e4aaf1..3a40196 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -839,7 +839,6 @@ namespace OpenSim.Region.Framework.Scenes m_rootRegionHandle = m_scene.RegionInfo.RegionHandle; m_scene.EventManager.TriggerSetRootAgentScene(m_uuid, m_scene); - m_log.DebugFormat("[XXX] MakeRoot 1"); // Moved this from SendInitialData to ensure that m_appearance is initialized // before the inventory is processed in MakeRootAgent. This fixes a race condition @@ -900,7 +899,6 @@ namespace OpenSim.Region.Framework.Scenes } AddToPhysicalScene(isFlying); - m_log.DebugFormat("[XXX] MakeRoot 2"); if (m_appearance != null) { @@ -943,9 +941,7 @@ namespace OpenSim.Region.Framework.Scenes presence.Animator.SendAnimPackToClient(ControllingClient); }); - m_log.DebugFormat("[XXX] MakeRoot 3"); m_scene.EventManager.TriggerOnMakeRootAgent(this); - m_log.DebugFormat("[XXX] MakeRoot 4"); } /// diff --git a/OpenSim/Services/HypergridService/UserAgentService.cs b/OpenSim/Services/HypergridService/UserAgentService.cs index d5842fb..3ead180 100644 --- a/OpenSim/Services/HypergridService/UserAgentService.cs +++ b/OpenSim/Services/HypergridService/UserAgentService.cs @@ -269,7 +269,7 @@ namespace OpenSim.Services.HypergridService bool result = m_TravelingAgents[sessionID].ClientIPAddress == reportedIP || m_TravelingAgents[sessionID].MyIpAddress == reportedIP; // NATed - m_log.DebugFormat("[USER AGENT SERVICE]: Comparing {0} with login IP {1} and MyIP {2}; result is {3}", + m_log.DebugFormat("[USER AGENT SERVICE]: Comparing {0} with login IP {1} and MyIP {1}; result is {3}", reportedIP, m_TravelingAgents[sessionID].ClientIPAddress, m_TravelingAgents[sessionID].MyIpAddress, result); return result; -- cgit v1.1 From aecaadd3bdb8013addde47731e12427e2acc8994 Mon Sep 17 00:00:00 2001 From: dahlia Date: Mon, 17 Jan 2011 13:10:09 -0800 Subject: objectId in AvatarAnimation packet should be UUID.Zero for non-overridden animations --- OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index ee4f04e..c765e68 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs @@ -3466,8 +3466,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP ani.AnimationSourceList[i] = new AvatarAnimationPacket.AnimationSourceListBlock(); ani.AnimationSourceList[i].ObjectID = objectIDs[i]; - if (objectIDs[i] == UUID.Zero) - ani.AnimationSourceList[i].ObjectID = sourceAgentId; } ani.Header.Reliable = false; OutPacket(ani, ThrottleOutPacketType.Task); -- cgit v1.1 From 81552099d6eaf1142cde4bbe864dfa1e752af5e5 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Mon, 17 Jan 2011 23:45:25 +0000 Subject: Fix UnackedBytes client stack statistic as seen in "show queues" Bytes were being wrongly added again on a resend --- OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | 2 -- OpenSim/Region/ClientStack/LindenUDP/UnackedPacketCollection.cs | 4 +++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs index e54cfc2..fe5156e 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs @@ -585,8 +585,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP // Stats tracking Interlocked.Increment(ref udpClient.PacketsSent); - if (isReliable) - Interlocked.Add(ref udpClient.UnackedBytes, outgoingPacket.Buffer.DataLength); // Put the UDP payload on the wire AsyncBeginSend(buffer); diff --git a/OpenSim/Region/ClientStack/LindenUDP/UnackedPacketCollection.cs b/OpenSim/Region/ClientStack/LindenUDP/UnackedPacketCollection.cs index 4cb4aee..d762bef 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/UnackedPacketCollection.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/UnackedPacketCollection.cs @@ -28,6 +28,7 @@ using System; using System.Collections.Generic; using System.Net; +using System.Threading; using OpenMetaverse; namespace OpenSim.Region.ClientStack.LindenUDP @@ -77,6 +78,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP public void Add(OutgoingPacket packet) { m_pendingAdds.Enqueue(packet); + Interlocked.Add(ref packet.Client.UnackedBytes, packet.Buffer.DataLength); } /// @@ -166,7 +168,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP m_packets.Remove(pendingRemove.SequenceNumber); // Update stats - System.Threading.Interlocked.Add(ref ackedPacket.Client.UnackedBytes, -ackedPacket.Buffer.DataLength); + Interlocked.Add(ref ackedPacket.Client.UnackedBytes, -ackedPacket.Buffer.DataLength); if (!pendingRemove.FromResend) { -- cgit v1.1 From 4f8ba53f86281484963124bc9900e8bb9d388fbe Mon Sep 17 00:00:00 2001 From: Melanie Date: Tue, 18 Jan 2011 00:55:08 +0100 Subject: Prevent activation and deactivation of gestures from clobbering the slam bits --- OpenSim/Data/MySQL/MySQLInventoryData.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Data/MySQL/MySQLInventoryData.cs b/OpenSim/Data/MySQL/MySQLInventoryData.cs index 2dca3eb..9d70acb 100644 --- a/OpenSim/Data/MySQL/MySQLInventoryData.cs +++ b/OpenSim/Data/MySQL/MySQLInventoryData.cs @@ -867,7 +867,7 @@ namespace OpenSim.Data.MySQL dbcon.Open(); using (MySqlCommand sqlCmd = new MySqlCommand( - "SELECT * FROM inventoryitems WHERE avatarId = ?uuid AND assetType = ?type and flags = 1", dbcon)) + "SELECT * FROM inventoryitems WHERE avatarId = ?uuid AND assetType = ?type and flags & 1", dbcon)) { sqlCmd.Parameters.AddWithValue("?uuid", avatarID.ToString()); sqlCmd.Parameters.AddWithValue("?type", (int)AssetType.Gesture); -- cgit v1.1 From 6e58996b4d9db202cd7795a37bd687362effef48 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Mon, 17 Jan 2011 23:57:50 +0000 Subject: refactor: remove redundant null checks --- .../LindenUDP/UnackedPacketCollection.cs | 45 ++++++++-------------- 1 file changed, 15 insertions(+), 30 deletions(-) diff --git a/OpenSim/Region/ClientStack/LindenUDP/UnackedPacketCollection.cs b/OpenSim/Region/ClientStack/LindenUDP/UnackedPacketCollection.cs index d762bef..9d40688 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/UnackedPacketCollection.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/UnackedPacketCollection.cs @@ -141,46 +141,31 @@ namespace OpenSim.Region.ClientStack.LindenUDP private void ProcessQueues() { // Process all the pending adds - OutgoingPacket pendingAdd; - if (m_pendingAdds != null) - { - while (m_pendingAdds.TryDequeue(out pendingAdd)) - { - if (pendingAdd != null && m_packets != null) - { - m_packets[pendingAdd.SequenceNumber] = pendingAdd; - } - } - } + while (m_pendingAdds.TryDequeue(out pendingAdd)) + m_packets[pendingAdd.SequenceNumber] = pendingAdd; // Process all the pending removes, including updating statistics and round-trip times PendingAck pendingRemove; OutgoingPacket ackedPacket; - if (m_pendingRemoves != null) + while (m_pendingRemoves.TryDequeue(out pendingRemove)) { - while (m_pendingRemoves.TryDequeue(out pendingRemove)) + if (m_packets.TryGetValue(pendingRemove.SequenceNumber, out ackedPacket)) { - if (m_pendingRemoves != null && m_packets != null) + m_packets.Remove(pendingRemove.SequenceNumber); + + // Update stats + Interlocked.Add(ref ackedPacket.Client.UnackedBytes, -ackedPacket.Buffer.DataLength); + + if (!pendingRemove.FromResend) { - if (m_packets.TryGetValue(pendingRemove.SequenceNumber, out ackedPacket)) - { - m_packets.Remove(pendingRemove.SequenceNumber); - - // Update stats - Interlocked.Add(ref ackedPacket.Client.UnackedBytes, -ackedPacket.Buffer.DataLength); - - if (!pendingRemove.FromResend) - { - // Calculate the round-trip time for this packet and its ACK - int rtt = pendingRemove.RemoveTime - ackedPacket.TickCount; - if (rtt > 0) - ackedPacket.Client.UpdateRoundTrip(rtt); - } - } + // Calculate the round-trip time for this packet and its ACK + int rtt = pendingRemove.RemoveTime - ackedPacket.TickCount; + if (rtt > 0) + ackedPacket.Client.UpdateRoundTrip(rtt); } } } } } -} +} \ No newline at end of file -- cgit v1.1 From 8233ef25ba53357bec02a9e3ad4759ef8d01ea1b Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Tue, 18 Jan 2011 00:10:34 +0000 Subject: Reduce amount of debug lopgging put out by some simiangrid connectors. Please re-enable if needed. --- .../SimianGrid/SimianGridServiceConnector.cs | 2 +- .../SimianGrid/SimianInventoryServiceConnector.cs | 4 ++-- .../SimianGrid/SimianPresenceServiceConnector.cs | 27 +++++++++++----------- .../SimianUserAccountServiceConnector.cs | 8 +++---- 4 files changed, 20 insertions(+), 21 deletions(-) diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianGridServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianGridServiceConnector.cs index 18a31670..b62459e 100644 --- a/OpenSim/Services/Connectors/SimianGrid/SimianGridServiceConnector.cs +++ b/OpenSim/Services/Connectors/SimianGrid/SimianGridServiceConnector.cs @@ -175,7 +175,7 @@ namespace OpenSim.Services.Connectors.SimianGrid } } - m_log.Debug("[SIMIAN GRID CONNECTOR]: Found " + regions.Count + " neighbors for region " + regionID); +// m_log.Debug("[SIMIAN GRID CONNECTOR]: Found " + regions.Count + " neighbors for region " + regionID); return regions; } diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs index 61f3fbe..39df1f5 100644 --- a/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs +++ b/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs @@ -757,7 +757,7 @@ namespace OpenSim.Services.Connectors.SimianGrid } } - m_log.Debug("[SIMIAN INVENTORY CONNECTOR]: Parsed " + invFolders.Count + " folders from SimianGrid response"); +// m_log.Debug("[SIMIAN INVENTORY CONNECTOR]: Parsed " + invFolders.Count + " folders from SimianGrid response"); return invFolders; } @@ -824,7 +824,7 @@ namespace OpenSim.Services.Connectors.SimianGrid } } - m_log.Debug("[SIMIAN INVENTORY CONNECTOR]: Parsed " + invItems.Count + " items from SimianGrid response"); +// m_log.Debug("[SIMIAN INVENTORY CONNECTOR]: Parsed " + invItems.Count + " items from SimianGrid response"); return invItems; } diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianPresenceServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianPresenceServiceConnector.cs index 8141420..678f738 100644 --- a/OpenSim/Services/Connectors/SimianGrid/SimianPresenceServiceConnector.cs +++ b/OpenSim/Services/Connectors/SimianGrid/SimianPresenceServiceConnector.cs @@ -158,7 +158,7 @@ namespace OpenSim.Services.Connectors.SimianGrid public bool LogoutAgent(UUID sessionID) { - m_log.InfoFormat("[SIMIAN PRESENCE CONNECTOR]: Logout requested for agent with sessionID " + sessionID); +// m_log.InfoFormat("[SIMIAN PRESENCE CONNECTOR]: Logout requested for agent with sessionID " + sessionID); NameValueCollection requestArgs = new NameValueCollection { @@ -177,7 +177,7 @@ namespace OpenSim.Services.Connectors.SimianGrid public bool LogoutRegionAgents(UUID regionID) { - m_log.InfoFormat("[SIMIAN PRESENCE CONNECTOR]: Logout requested for all agents in region " + regionID); +// m_log.InfoFormat("[SIMIAN PRESENCE CONNECTOR]: Logout requested for all agents in region " + regionID); NameValueCollection requestArgs = new NameValueCollection { @@ -202,7 +202,7 @@ namespace OpenSim.Services.Connectors.SimianGrid public PresenceInfo GetAgent(UUID sessionID) { - m_log.DebugFormat("[SIMIAN PRESENCE CONNECTOR]: Requesting session data for agent with sessionID " + sessionID); +// m_log.DebugFormat("[SIMIAN PRESENCE CONNECTOR]: Requesting session data for agent with sessionID " + sessionID); NameValueCollection requestArgs = new NameValueCollection { @@ -262,7 +262,7 @@ namespace OpenSim.Services.Connectors.SimianGrid public bool LoggedOut(string userID, UUID sessionID, UUID regionID, Vector3 lastPosition, Vector3 lastLookAt) { - m_log.DebugFormat("[SIMIAN PRESENCE CONNECTOR]: Logging out user " + userID); +// m_log.DebugFormat("[SIMIAN PRESENCE CONNECTOR]: Logging out user " + userID); // Remove the session to mark this user offline if (!LogoutAgent(sessionID)) @@ -287,7 +287,7 @@ namespace OpenSim.Services.Connectors.SimianGrid public bool SetHome(string userID, UUID regionID, Vector3 position, Vector3 lookAt) { - m_log.DebugFormat("[SIMIAN PRESENCE CONNECTOR]: Setting home location for user " + userID); +// m_log.DebugFormat("[SIMIAN PRESENCE CONNECTOR]: Setting home location for user " + userID); NameValueCollection requestArgs = new NameValueCollection { @@ -312,10 +312,10 @@ namespace OpenSim.Services.Connectors.SimianGrid public GridUserInfo GetGridUserInfo(string user) { - m_log.DebugFormat("[SIMIAN PRESENCE CONNECTOR]: Requesting session data for agent " + user); +// m_log.DebugFormat("[SIMIAN PRESENCE CONNECTOR]: Requesting session data for agent " + user); UUID userID = new UUID(user); - m_log.DebugFormat("[SIMIAN PRESENCE CONNECTOR]: Requesting user data for " + userID); +// m_log.DebugFormat("[SIMIAN PRESENCE CONNECTOR]: Requesting user data for " + userID); NameValueCollection requestArgs = new NameValueCollection { @@ -338,7 +338,7 @@ namespace OpenSim.Services.Connectors.SimianGrid private OSDMap GetUserData(UUID userID) { - m_log.DebugFormat("[SIMIAN PRESENCE CONNECTOR]: Requesting user data for " + userID); +// m_log.DebugFormat("[SIMIAN PRESENCE CONNECTOR]: Requesting user data for " + userID); NameValueCollection requestArgs = new NameValueCollection { @@ -362,7 +362,7 @@ namespace OpenSim.Services.Connectors.SimianGrid OSDMap userResponse = GetUserData(userID); if (userResponse != null) { - m_log.DebugFormat("[SIMIAN PRESENCE CONNECTOR]: Requesting sessions for " + userID); +// m_log.DebugFormat("[SIMIAN PRESENCE CONNECTOR]: Requesting sessions for " + userID); NameValueCollection requestArgs = new NameValueCollection { @@ -377,10 +377,10 @@ namespace OpenSim.Services.Connectors.SimianGrid if (presence != null) presences.Add(presence); } - else - { - m_log.Debug("[SIMIAN PRESENCE CONNECTOR]: No session returned for " + userID + ": " + response["Message"].AsString()); - } +// else +// { +// m_log.Debug("[SIMIAN PRESENCE CONNECTOR]: No session returned for " + userID + ": " + response["Message"].AsString()); +// } } return presences; @@ -424,7 +424,6 @@ namespace OpenSim.Services.Connectors.SimianGrid { if (userResponse != null && userResponse["User"] is OSDMap) { - GridUserInfo info = new GridUserInfo(); info.Online = true; diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianUserAccountServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianUserAccountServiceConnector.cs index 9c150ee..91e2976 100644 --- a/OpenSim/Services/Connectors/SimianGrid/SimianUserAccountServiceConnector.cs +++ b/OpenSim/Services/Connectors/SimianGrid/SimianUserAccountServiceConnector.cs @@ -157,7 +157,7 @@ namespace OpenSim.Services.Connectors.SimianGrid { List accounts = new List(); - m_log.DebugFormat("[SIMIAN ACCOUNT CONNECTOR]: Searching for user accounts with name query " + query); +// m_log.DebugFormat("[SIMIAN ACCOUNT CONNECTOR]: Searching for user accounts with name query " + query); NameValueCollection requestArgs = new NameValueCollection { @@ -193,7 +193,7 @@ namespace OpenSim.Services.Connectors.SimianGrid public bool StoreUserAccount(UserAccount data) { - m_log.InfoFormat("[SIMIAN ACCOUNT CONNECTOR]: Storing user account for " + data.Name); +// m_log.InfoFormat("[SIMIAN ACCOUNT CONNECTOR]: Storing user account for " + data.Name); NameValueCollection requestArgs = new NameValueCollection { @@ -250,7 +250,7 @@ namespace OpenSim.Services.Connectors.SimianGrid private UserAccount GetUser(NameValueCollection requestArgs) { string lookupValue = (requestArgs.Count > 1) ? requestArgs[1] : "(Unknown)"; - m_log.DebugFormat("[SIMIAN ACCOUNT CONNECTOR]: Looking up user account with query: " + lookupValue); +// m_log.DebugFormat("[SIMIAN ACCOUNT CONNECTOR]: Looking up user account with query: " + lookupValue); OSDMap response = WebUtil.PostToService(m_serverUrl, requestArgs); if (response["Success"].AsBoolean()) @@ -325,4 +325,4 @@ namespace OpenSim.Services.Connectors.SimianGrid } } } -} +} \ No newline at end of file -- cgit v1.1 From 523628dca30ea46c4da103f06e71931c36b7c063 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Tue, 18 Jan 2011 00:14:58 +0000 Subject: minor: remove mono compiler warnings --- .../Services/Connectors/SimianGrid/SimianGridServiceConnector.cs | 4 ++-- OpenSim/Services/Connectors/Simulation/EstateDataService.cs | 6 +++--- OpenSim/Services/Connectors/Simulation/SimulationDataService.cs | 6 +++--- .../Services/Connectors/Simulation/SimulationServiceConnector.cs | 6 +++--- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianGridServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianGridServiceConnector.cs index b62459e..918544f 100644 --- a/OpenSim/Services/Connectors/SimianGrid/SimianGridServiceConnector.cs +++ b/OpenSim/Services/Connectors/SimianGrid/SimianGridServiceConnector.cs @@ -56,7 +56,7 @@ namespace OpenSim.Services.Connectors.SimianGrid MethodBase.GetCurrentMethod().DeclaringType); private string m_ServerURI = String.Empty; - private bool m_Enabled = false; +// private bool m_Enabled = false; public SimianGridServiceConnector() { } public SimianGridServiceConnector(string serverURI) @@ -93,7 +93,7 @@ namespace OpenSim.Services.Connectors.SimianGrid if (!serviceUrl.EndsWith("/") && !serviceUrl.EndsWith("=")) serviceUrl = serviceUrl + '/'; m_ServerURI = serviceUrl; - m_Enabled = true; +// m_Enabled = true; } #region IGridService diff --git a/OpenSim/Services/Connectors/Simulation/EstateDataService.cs b/OpenSim/Services/Connectors/Simulation/EstateDataService.cs index 8a8b46d..b6df5a2 100644 --- a/OpenSim/Services/Connectors/Simulation/EstateDataService.cs +++ b/OpenSim/Services/Connectors/Simulation/EstateDataService.cs @@ -43,9 +43,9 @@ namespace OpenSim.Services.Connectors { public class EstateDataService : ServiceBase, IEstateDataService { - private static readonly ILog m_log = - LogManager.GetLogger( - MethodBase.GetCurrentMethod().DeclaringType); +// private static readonly ILog m_log = +// LogManager.GetLogger( +// MethodBase.GetCurrentMethod().DeclaringType); protected IEstateDataStore m_database; diff --git a/OpenSim/Services/Connectors/Simulation/SimulationDataService.cs b/OpenSim/Services/Connectors/Simulation/SimulationDataService.cs index 0df9380..ccef50b 100644 --- a/OpenSim/Services/Connectors/Simulation/SimulationDataService.cs +++ b/OpenSim/Services/Connectors/Simulation/SimulationDataService.cs @@ -43,9 +43,9 @@ namespace OpenSim.Services.Connectors { public class SimulationDataService : ServiceBase, ISimulationDataService { - private static readonly ILog m_log = - LogManager.GetLogger( - MethodBase.GetCurrentMethod().DeclaringType); +// private static readonly ILog m_log = +// LogManager.GetLogger( +// MethodBase.GetCurrentMethod().DeclaringType); protected ISimulationDataStore m_database; diff --git a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs index f34c2bd..143c296 100644 --- a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs +++ b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs @@ -237,7 +237,7 @@ namespace OpenSim.Services.Connectors.Simulation try { - OSDMap result = WebUtil.ServiceOSDRequest(uri,null,"DELETE",10000); + WebUtil.ServiceOSDRequest(uri, null, "DELETE", 10000); } catch (Exception e) { @@ -257,7 +257,7 @@ namespace OpenSim.Services.Connectors.Simulation try { - OSDMap result = WebUtil.ServiceOSDRequest(uri,null,"DELETE",10000); + WebUtil.ServiceOSDRequest(uri, null, "DELETE", 10000); } catch (Exception e) { @@ -303,7 +303,7 @@ namespace OpenSim.Services.Connectors.Simulation args["destination_name"] = OSD.FromString(destination.RegionName); args["destination_uuid"] = OSD.FromString(destination.RegionID.ToString()); - OSDMap result = WebUtil.PostToService(uri,args); + WebUtil.PostToService(uri, args); } catch (Exception e) { -- cgit v1.1 From c544f0d0c5fcea625107c0eff25be8aa0586564a Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Tue, 18 Jan 2011 00:25:24 +0000 Subject: Prune some of the excess logging for client logins. Didn't touch the appearance related stuff. --- OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | 6 +++--- OpenSim/Region/CoreModules/Avatar/Assets/GetMeshModule.cs | 2 +- OpenSim/Region/CoreModules/Avatar/Assets/GetTextureModule.cs | 4 ++-- OpenSim/Region/CoreModules/Avatar/ObjectCaps/ObjectAdd.cs | 2 +- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 6 +++--- OpenSim/Services/LLLoginService/LLLoginResponse.cs | 2 +- OpenSim/Services/LLLoginService/LLLoginService.cs | 2 +- 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs index fe5156e..571624b 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs @@ -857,9 +857,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP // Acknowledge the UseCircuitCode packet SendAckImmediate(remoteEndPoint, packet.Header.Sequence); - m_log.DebugFormat( - "[LLUDPSERVER]: Handling UseCircuitCode request from {0} took {1}ms", - buffer.RemoteEndPoint, (DateTime.Now - startTime).Milliseconds); +// m_log.DebugFormat( +// "[LLUDPSERVER]: Handling UseCircuitCode request from {0} took {1}ms", +// buffer.RemoteEndPoint, (DateTime.Now - startTime).Milliseconds); } private void SendAckImmediate(IPEndPoint remoteEndpoint, uint sequenceNumber) diff --git a/OpenSim/Region/CoreModules/Avatar/Assets/GetMeshModule.cs b/OpenSim/Region/CoreModules/Avatar/Assets/GetMeshModule.cs index 36aaab3..8347e35 100644 --- a/OpenSim/Region/CoreModules/Avatar/Assets/GetMeshModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Assets/GetMeshModule.cs @@ -102,7 +102,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Assets { UUID capID = UUID.Random(); - m_log.Info("[GETMESH]: /CAPS/" + capID); +// m_log.Info("[GETMESH]: /CAPS/" + capID); caps.RegisterHandler("GetMesh", new RestHTTPHandler("GET", "/CAPS/" + capID, delegate(Hashtable m_dhttpMethod) diff --git a/OpenSim/Region/CoreModules/Avatar/Assets/GetTextureModule.cs b/OpenSim/Region/CoreModules/Avatar/Assets/GetTextureModule.cs index 1f60e36..6fb8b46 100644 --- a/OpenSim/Region/CoreModules/Avatar/Assets/GetTextureModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Assets/GetTextureModule.cs @@ -105,7 +105,7 @@ namespace OpenSim.Region.CoreModules.Avatar.ObjectCaps { UUID capID = UUID.Random(); - m_log.InfoFormat("[GETTEXTURE]: /CAPS/{0} in region {1}", capID, m_scene.RegionInfo.RegionName); +// m_log.InfoFormat("[GETTEXTURE]: /CAPS/{0} in region {1}", capID, m_scene.RegionInfo.RegionName); caps.RegisterHandler("GetTexture", new StreamHandler("GET", "/CAPS/" + capID, ProcessGetTexture)); } @@ -171,7 +171,7 @@ namespace OpenSim.Region.CoreModules.Avatar.ObjectCaps /// False for "caller try another codec"; true otherwise private bool FetchTexture(OSHttpRequest httpRequest, OSHttpResponse httpResponse, UUID textureID, string format) { - m_log.DebugFormat("[GETTEXTURE]: {0} with requested format {1}", textureID, format); +// m_log.DebugFormat("[GETTEXTURE]: {0} with requested format {1}", textureID, format); AssetBase texture; string fullID = textureID.ToString(); diff --git a/OpenSim/Region/CoreModules/Avatar/ObjectCaps/ObjectAdd.cs b/OpenSim/Region/CoreModules/Avatar/ObjectCaps/ObjectAdd.cs index c011776..008233b 100644 --- a/OpenSim/Region/CoreModules/Avatar/ObjectCaps/ObjectAdd.cs +++ b/OpenSim/Region/CoreModules/Avatar/ObjectCaps/ObjectAdd.cs @@ -63,7 +63,7 @@ namespace OpenSim.Region.CoreModules.Avatar.ObjectCaps { UUID capuuid = UUID.Random(); - m_log.InfoFormat("[OBJECTADD]: {0}", "/CAPS/OA/" + capuuid + "/"); +// m_log.InfoFormat("[OBJECTADD]: {0}", "/CAPS/OA/" + capuuid + "/"); caps.RegisterHandler("ObjectAdd", new RestHTTPHandler("POST", "/CAPS/OA/" + capuuid + "/", diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 3a40196..7b94202 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -1161,9 +1161,9 @@ namespace OpenSim.Region.Framework.Scenes friendsModule.SendFriendsOnlineIfNeeded(ControllingClient); } - m_log.DebugFormat( - "[SCENE PRESENCE]: Completing movement of {0} into region {1} took {2}ms", - client.Name, Scene.RegionInfo.RegionName, (DateTime.Now - startTime).Milliseconds); +// m_log.DebugFormat( +// "[SCENE PRESENCE]: Completing movement of {0} into region {1} took {2}ms", +// client.Name, Scene.RegionInfo.RegionName, (DateTime.Now - startTime).Milliseconds); } /// diff --git a/OpenSim/Services/LLLoginService/LLLoginResponse.cs b/OpenSim/Services/LLLoginService/LLLoginResponse.cs index f985ab2..ebd6f7c 100644 --- a/OpenSim/Services/LLLoginService/LLLoginResponse.cs +++ b/OpenSim/Services/LLLoginService/LLLoginResponse.cs @@ -661,7 +661,7 @@ namespace OpenSim.Services.LLLoginService protected virtual ArrayList GetInventoryLibrary(ILibraryService library) { Dictionary rootFolders = library.GetAllFolders(); - m_log.DebugFormat("[LLOGIN]: Library has {0} folders", rootFolders.Count); +// m_log.DebugFormat("[LLOGIN]: Library has {0} folders", rootFolders.Count); //Dictionary rootFolders = new Dictionary(); ArrayList folderHashes = new ArrayList(); diff --git a/OpenSim/Services/LLLoginService/LLLoginService.cs b/OpenSim/Services/LLLoginService/LLLoginService.cs index 281b6e3..7568870 100644 --- a/OpenSim/Services/LLLoginService/LLLoginService.cs +++ b/OpenSim/Services/LLLoginService/LLLoginService.cs @@ -282,7 +282,7 @@ namespace OpenSim.Services.LLLoginService // Get active gestures List gestures = m_InventoryService.GetActiveGestures(account.PrincipalID); - m_log.DebugFormat("[LLOGIN SERVICE]: {0} active gestures", gestures.Count); +// m_log.DebugFormat("[LLOGIN SERVICE]: {0} active gestures", gestures.Count); // // Login the presence -- cgit v1.1 From 3083c517a01b4265434f9286aa1c95b2b513549b Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Tue, 18 Jan 2011 00:29:10 +0000 Subject: minor: resolve some mono compiler warnings --- OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs | 2 +- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 2 +- OpenSim/Services/HypergridService/GatekeeperService.cs | 2 +- OpenSim/Services/HypergridService/HGInventoryService.cs | 2 +- OpenSim/Services/HypergridService/UserAccountCache.cs | 7 ++++--- 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs index 004e20c..cff2cf4 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs @@ -849,7 +849,7 @@ namespace OpenSim.Region.Framework.Scenes /// public void RequestInventoryFile(IClientAPI client, IXfer xferManager) { - bool changed = CreateInventoryFile(); + CreateInventoryFile(); if (m_inventorySerial == 0) // No inventory { diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 7b94202..03cd90f 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -1108,7 +1108,7 @@ namespace OpenSim.Region.Framework.Scenes /// public void CompleteMovement(IClientAPI client) { - DateTime startTime = DateTime.Now; +// DateTime startTime = DateTime.Now; m_log.DebugFormat( "[SCENE PRESENCE]: Completing movement of {0} into region {1}", diff --git a/OpenSim/Services/HypergridService/GatekeeperService.cs b/OpenSim/Services/HypergridService/GatekeeperService.cs index bbddd87..b66bfed 100644 --- a/OpenSim/Services/HypergridService/GatekeeperService.cs +++ b/OpenSim/Services/HypergridService/GatekeeperService.cs @@ -303,7 +303,7 @@ namespace OpenSim.Services.HypergridService return m_UserAgentService.VerifyAgent(aCircuit.SessionID, aCircuit.ServiceSessionID); else { - Object[] args = new Object[] { userURL }; +// Object[] args = new Object[] { userURL }; IUserAgentService userAgentService = new UserAgentServiceConnector(userURL); if (userAgentService != null) { diff --git a/OpenSim/Services/HypergridService/HGInventoryService.cs b/OpenSim/Services/HypergridService/HGInventoryService.cs index 9ee1ae4..4b02698 100644 --- a/OpenSim/Services/HypergridService/HGInventoryService.cs +++ b/OpenSim/Services/HypergridService/HGInventoryService.cs @@ -53,7 +53,7 @@ namespace OpenSim.Services.HypergridService LogManager.GetLogger( MethodBase.GetCurrentMethod().DeclaringType); - protected new IXInventoryData m_Database; + protected IXInventoryData m_Database; private string m_ProfileServiceURL; private IUserAccountService m_UserAccountService; diff --git a/OpenSim/Services/HypergridService/UserAccountCache.cs b/OpenSim/Services/HypergridService/UserAccountCache.cs index 3e9aea1..65f9dd5 100644 --- a/OpenSim/Services/HypergridService/UserAccountCache.cs +++ b/OpenSim/Services/HypergridService/UserAccountCache.cs @@ -13,9 +13,10 @@ namespace OpenSim.Services.HypergridService { private const double CACHE_EXPIRATION_SECONDS = 120000.0; // 33 hours! - private static readonly ILog m_log = - LogManager.GetLogger( - MethodBase.GetCurrentMethod().DeclaringType); +// private static readonly ILog m_log = +// LogManager.GetLogger( +// MethodBase.GetCurrentMethod().DeclaringType); + private ExpiringCache m_UUIDCache; private IUserAccountService m_UserAccountService; -- cgit v1.1 From 624bf23abb3f7cf58447c73cff5187963945a15a Mon Sep 17 00:00:00 2001 From: dahlia Date: Mon, 17 Jan 2011 16:39:53 -0800 Subject: force objectId to UUID.Zero for non-overridden animations in AvatarAnimation packet --- OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index c765e68..e43e3c9 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs @@ -3465,7 +3465,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP ani.AnimationList[i].AnimSequenceID = seqs[i]; ani.AnimationSourceList[i] = new AvatarAnimationPacket.AnimationSourceListBlock(); - ani.AnimationSourceList[i].ObjectID = objectIDs[i]; + if (objectIDs[i].Equals(sourceAgentId)) + ani.AnimationSourceList[i].ObjectID = UUID.Zero; + else + ani.AnimationSourceList[i].ObjectID = objectIDs[i]; } ani.Header.Reliable = false; OutPacket(ani, ThrottleOutPacketType.Task); -- cgit v1.1 From 31144a62b34cf84cbc2c5508924294334fb76979 Mon Sep 17 00:00:00 2001 From: Melanie Date: Mon, 17 Jan 2011 21:22:32 +0100 Subject: Change gesture activation to not quash any other flags --- OpenSim/Region/CoreModules/Avatar/Gestures/GesturesModule.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Gestures/GesturesModule.cs b/OpenSim/Region/CoreModules/Avatar/Gestures/GesturesModule.cs index 7303fe7..914990c 100644 --- a/OpenSim/Region/CoreModules/Avatar/Gestures/GesturesModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Gestures/GesturesModule.cs @@ -69,7 +69,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Gestures item = invService.GetItem(item); if (item != null) { - item.Flags = 1; + item.Flags |= 1; invService.UpdateItem(item); } else @@ -85,7 +85,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Gestures item = invService.GetItem(item); if (item != null) { - item.Flags = 0; + item.Flags &= ~1; invService.UpdateItem(item); } else @@ -93,4 +93,4 @@ namespace OpenSim.Region.CoreModules.Avatar.Gestures "[GESTURES]: Unable to find gesture to deactivate {0} for {1}", gestureId, client.Name); } } -} \ No newline at end of file +} -- cgit v1.1 From 75644e0f6e08e5b5866af3a44afcf1308b9513f1 Mon Sep 17 00:00:00 2001 From: Melanie Date: Tue, 18 Jan 2011 00:55:08 +0100 Subject: Prevent activation and deactivation of gestures from clobbering the slam bits --- OpenSim/Data/MySQL/MySQLInventoryData.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Data/MySQL/MySQLInventoryData.cs b/OpenSim/Data/MySQL/MySQLInventoryData.cs index 2dca3eb..9d70acb 100644 --- a/OpenSim/Data/MySQL/MySQLInventoryData.cs +++ b/OpenSim/Data/MySQL/MySQLInventoryData.cs @@ -867,7 +867,7 @@ namespace OpenSim.Data.MySQL dbcon.Open(); using (MySqlCommand sqlCmd = new MySqlCommand( - "SELECT * FROM inventoryitems WHERE avatarId = ?uuid AND assetType = ?type and flags = 1", dbcon)) + "SELECT * FROM inventoryitems WHERE avatarId = ?uuid AND assetType = ?type and flags & 1", dbcon)) { sqlCmd.Parameters.AddWithValue("?uuid", avatarID.ToString()); sqlCmd.Parameters.AddWithValue("?type", (int)AssetType.Gesture); -- cgit v1.1 From c98d1cffe222085378ef8a9935f956882eae4ee9 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Mon, 17 Jan 2011 17:40:48 -0800 Subject: Removed the call to sceneViewer.Reset upon MakeRoot and ChildAgentUpdate, because Reset hangs for a long time waiting for the lock. That is a problem in itself -- that long holding of the lock by some thread -- but let's just avoid it altogether. --- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 8 -------- 1 file changed, 8 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 3a40196..f811f3e 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -928,10 +928,6 @@ namespace OpenSim.Region.Framework.Scenes //else // m_log.ErrorFormat("[SCENE]: Could not find user info for {0} when making it a root agent", m_uuid); - // On the next prim update, all objects will be sent - // - m_sceneViewer.Reset(); - m_isChildAgent = false; // send the animations of the other presences to me @@ -2952,10 +2948,6 @@ namespace OpenSim.Region.Framework.Scenes if ((cAgentData.Throttles != null) && cAgentData.Throttles.Length > 0) ControllingClient.SetChildAgentThrottle(cAgentData.Throttles); - // Sends out the objects in the user's draw distance if m_sendTasksToChild is true. - if (m_scene.m_seeIntoRegionFromNeighbor) - m_sceneViewer.Reset(); - //cAgentData.AVHeight; m_rootRegionHandle = cAgentData.RegionHandle; //m_velocity = cAgentData.Velocity; -- cgit v1.1 From f73c90c63389cbdf568fd66840268b913f7f84da Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Mon, 17 Jan 2011 17:52:03 -0800 Subject: Put the 'new' back to avoid a warning. Yes, we want to hide it. --- OpenSim/Services/HypergridService/HGInventoryService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Services/HypergridService/HGInventoryService.cs b/OpenSim/Services/HypergridService/HGInventoryService.cs index 4b02698..9ee1ae4 100644 --- a/OpenSim/Services/HypergridService/HGInventoryService.cs +++ b/OpenSim/Services/HypergridService/HGInventoryService.cs @@ -53,7 +53,7 @@ namespace OpenSim.Services.HypergridService LogManager.GetLogger( MethodBase.GetCurrentMethod().DeclaringType); - protected IXInventoryData m_Database; + protected new IXInventoryData m_Database; private string m_ProfileServiceURL; private IUserAccountService m_UserAccountService; -- cgit v1.1 From 06e225bc0b881ca38f73b2598263c90c4bd129f2 Mon Sep 17 00:00:00 2001 From: Melanie Date: Tue, 18 Jan 2011 01:31:14 +0000 Subject: Also fix MySQLXInventoryData --- OpenSim/Data/MySQL/MySQLXInventoryData.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Data/MySQL/MySQLXInventoryData.cs b/OpenSim/Data/MySQL/MySQLXInventoryData.cs index 3c73095..287c4dd 100644 --- a/OpenSim/Data/MySQL/MySQLXInventoryData.cs +++ b/OpenSim/Data/MySQL/MySQLXInventoryData.cs @@ -130,7 +130,7 @@ namespace OpenSim.Data.MySQL { using (MySqlCommand cmd = new MySqlCommand()) { - cmd.CommandText = String.Format("select * from inventoryitems where avatarId = ?uuid and assetType = ?type and flags = 1", m_Realm); + cmd.CommandText = String.Format("select * from inventoryitems where avatarId = ?uuid and assetType = ?type and flags & 1", m_Realm); cmd.Parameters.AddWithValue("?uuid", principalID.ToString()); cmd.Parameters.AddWithValue("?type", (int)AssetType.Gesture); -- cgit v1.1 From 9f7b37b37cb746c603642df3c99e90f6ed0059ce Mon Sep 17 00:00:00 2001 From: Melanie Date: Tue, 18 Jan 2011 01:48:28 +0000 Subject: Fix build break --- OpenSim/Region/CoreModules/Avatar/Gestures/GesturesModule.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/CoreModules/Avatar/Gestures/GesturesModule.cs b/OpenSim/Region/CoreModules/Avatar/Gestures/GesturesModule.cs index 914990c..7df2beb 100644 --- a/OpenSim/Region/CoreModules/Avatar/Gestures/GesturesModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Gestures/GesturesModule.cs @@ -85,7 +85,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Gestures item = invService.GetItem(item); if (item != null) { - item.Flags &= ~1; + item.Flags &= ~(uint)1; invService.UpdateItem(item); } else -- cgit v1.1