From 8aae9094128069b83fbf11cb77503e29fd381b25 Mon Sep 17 00:00:00 2001 From: Teravus Ovares Date: Thu, 20 Dec 2007 06:31:03 +0000 Subject: * Added a configuration parameter on the Grid Server to disallow forceful banlists. * Added a way for Grid based configuration parameters to (generally used in overriding functionality) to get to the regions on Registration. --- OpenSim/Region/Environment/Scenes/Scene.cs | 25 ++++++++++++++++++++-- .../Scenes/SceneCommunicationService.cs | 9 ++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) (limited to 'OpenSim/Region/Environment') diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 01d6c5a..6d2d31f 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs @@ -818,6 +818,12 @@ namespace OpenSim.Region.Environment.Scenes // These two 'commands' *must be* next to each other or sim rebooting fails. m_sceneGridService.RegisterRegion(RegionInfo); m_sceneGridService.InformNeighborsThatRegionisUp(RegionInfo); + Dictionary dGridSettings = m_sceneGridService.GetGridSettings(); + if (dGridSettings.ContainsKey("allow_forceful_banlines")) + { + if (dGridSettings["allow_forceful_banlines"] != "TRUE") + MainLog.Instance.Verbose("GRID","Grid is disabling forceful parcel banlists"); + } } /// @@ -1295,6 +1301,7 @@ namespace OpenSim.Region.Environment.Scenes m_sceneGridService.OnCloseAgentConnection += CloseConnection; m_sceneGridService.OnRegionUp += OtherRegionUp; m_sceneGridService.OnChildAgentUpdate += IncomingChildAgentDataUpdate; + m_sceneGridService.KillObject = SendKillObject; } @@ -1303,15 +1310,29 @@ namespace OpenSim.Region.Environment.Scenes /// /// public void UnRegisterReginWithComms() - { + { + m_sceneGridService.OnChildAgentUpdate -= IncomingChildAgentDataUpdate; m_sceneGridService.OnRegionUp -= OtherRegionUp; m_sceneGridService.OnExpectUser -= NewUserConnection; m_sceneGridService.OnAvatarCrossingIntoRegion -= AgentCrossing; m_sceneGridService.OnCloseAgentConnection -= CloseConnection; - + m_sceneGridService.Close(); } + public void NewIncomingGridSetting(ulong regionHandle, string key, string gvalue) + { + if (key == "allow_forceful_banlines") + { + if (gvalue == "FALSE") + { + MainLog.Instance.Verbose("INTERGRID", "Grid is disallowing forcefull banlines"); + //Ming, Do stuff here + } + } + + + } /// /// diff --git a/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs b/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs index c72e344..b184af2 100644 --- a/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs +++ b/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs @@ -52,6 +52,7 @@ namespace OpenSim.Region.Environment.Scenes public event PrimCrossing OnPrimCrossingIntoRegion; public event RegionUp OnRegionUp; public event ChildAgentUpdate OnChildAgentUpdate; + public KillObjectDelegate KillObject; public string _debugRegionName = ""; @@ -101,6 +102,7 @@ namespace OpenSim.Region.Environment.Scenes { if (regionCommsHost != null) { + regionCommsHost.OnChildAgentUpdate -= ChildAgentUpdate; regionCommsHost.OnRegionUp -= newRegionUp; regionCommsHost.OnExpectUser -= NewUserConnection; @@ -168,6 +170,7 @@ namespace OpenSim.Region.Environment.Scenes OnCloseAgentConnection(regionHandle, agentID); } } + #endregion #region Inform Client of Neighbours @@ -466,5 +469,11 @@ namespace OpenSim.Region.Environment.Scenes presence.RemoveNeighbourRegion(regionHandle); } } + + public Dictionary GetGridSettings() + { + return m_commsProvider.GridService.GetGridSettings(); + } + } } -- cgit v1.1