diff options
author | Teravus Ovares | 2007-12-20 06:31:03 +0000 |
---|---|---|
committer | Teravus Ovares | 2007-12-20 06:31:03 +0000 |
commit | 8aae9094128069b83fbf11cb77503e29fd381b25 (patch) | |
tree | 96515c224150272c435c6b004d0950fcd4f07509 /OpenSim/Region/Communications | |
parent | Added patch from Johan. First attempt to solve the LibSL.Packet GC problem. W... (diff) | |
download | opensim-SC-8aae9094128069b83fbf11cb77503e29fd381b25.zip opensim-SC-8aae9094128069b83fbf11cb77503e29fd381b25.tar.gz opensim-SC-8aae9094128069b83fbf11cb77503e29fd381b25.tar.bz2 opensim-SC-8aae9094128069b83fbf11cb77503e29fd381b25.tar.xz |
* 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.
Diffstat (limited to 'OpenSim/Region/Communications')
-rw-r--r-- | OpenSim/Region/Communications/Local/LocalBackEndServices.cs | 22 | ||||
-rw-r--r-- | OpenSim/Region/Communications/OGS1/OGS1GridServices.cs | 27 |
2 files changed, 48 insertions, 1 deletions
diff --git a/OpenSim/Region/Communications/Local/LocalBackEndServices.cs b/OpenSim/Region/Communications/Local/LocalBackEndServices.cs index f57de1c..f6137f7 100644 --- a/OpenSim/Region/Communications/Local/LocalBackEndServices.cs +++ b/OpenSim/Region/Communications/Local/LocalBackEndServices.cs | |||
@@ -43,6 +43,8 @@ namespace OpenSim.Region.Communications.Local | |||
43 | 43 | ||
44 | private Dictionary<ulong, RegionInfo> m_remoteRegionInfoCache = new Dictionary<ulong, RegionInfo>(); | 44 | private Dictionary<ulong, RegionInfo> m_remoteRegionInfoCache = new Dictionary<ulong, RegionInfo>(); |
45 | 45 | ||
46 | private Dictionary<string, string> m_queuedGridSettings = new Dictionary<string, string>(); | ||
47 | |||
46 | public string _gdebugRegionName = ""; | 48 | public string _gdebugRegionName = ""; |
47 | 49 | ||
48 | public string gdebugRegionName | 50 | public string gdebugRegionName |
@@ -218,6 +220,26 @@ namespace OpenSim.Region.Communications.Local | |||
218 | return false; | 220 | return false; |
219 | } | 221 | } |
220 | 222 | ||
223 | // This function Is only here to keep this class in line with the Grid Interface. | ||
224 | // It never gets called. | ||
225 | public virtual Dictionary<string, string> GetGridSettings() | ||
226 | { | ||
227 | Dictionary<string,string> returnGridSettings = new Dictionary<string,string>(); | ||
228 | lock (m_queuedGridSettings) | ||
229 | { | ||
230 | returnGridSettings = m_queuedGridSettings; | ||
231 | m_queuedGridSettings.Clear(); | ||
232 | } | ||
233 | |||
234 | return returnGridSettings; | ||
235 | } | ||
236 | |||
237 | public virtual void SetForcefulBanlistsDisallowed(ulong regionHandle) | ||
238 | { | ||
239 | m_queuedGridSettings.Add("allow_forceful_banlines", "FALSE"); | ||
240 | |||
241 | } | ||
242 | |||
221 | public bool TriggerRegionUp(RegionInfo region, ulong regionhandle) | 243 | public bool TriggerRegionUp(RegionInfo region, ulong regionhandle) |
222 | { | 244 | { |
223 | if (m_regionListeners.ContainsKey(regionhandle)) | 245 | if (m_regionListeners.ContainsKey(regionhandle)) |
diff --git a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs index 060fe28..7adac58 100644 --- a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs +++ b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs | |||
@@ -50,6 +50,7 @@ namespace OpenSim.Region.Communications.OGS1 | |||
50 | private LocalBackEndServices m_localBackend = new LocalBackEndServices(); | 50 | private LocalBackEndServices m_localBackend = new LocalBackEndServices(); |
51 | private Dictionary<ulong, RegionInfo> m_remoteRegionInfoCache = new Dictionary<ulong, RegionInfo>(); | 51 | private Dictionary<ulong, RegionInfo> m_remoteRegionInfoCache = new Dictionary<ulong, RegionInfo>(); |
52 | private List<SimpleRegionInfo> m_knownRegions = new List<SimpleRegionInfo>(); | 52 | private List<SimpleRegionInfo> m_knownRegions = new List<SimpleRegionInfo>(); |
53 | private Dictionary<string, string> m_queuedGridSettings = new Dictionary<string, string>(); | ||
53 | 54 | ||
54 | public BaseHttpServer httpListener; | 55 | public BaseHttpServer httpListener; |
55 | public NetworkServersInfo serversInfo; | 56 | public NetworkServersInfo serversInfo; |
@@ -134,7 +135,15 @@ namespace OpenSim.Region.Communications.OGS1 | |||
134 | else | 135 | else |
135 | { | 136 | { |
136 | m_knownRegions = RequestNeighbours(regionInfo.RegionLocX, regionInfo.RegionLocY); | 137 | m_knownRegions = RequestNeighbours(regionInfo.RegionLocX, regionInfo.RegionLocY); |
137 | 138 | if (GridRespData.ContainsKey("allow_forceful_banlines")) | |
139 | { | ||
140 | |||
141 | if ((string)GridRespData["allow_forceful_banlines"] != "TRUE") | ||
142 | { | ||
143 | //m_localBackend.SetForcefulBanlistsDisallowed(regionInfo.RegionHandle); | ||
144 | m_queuedGridSettings.Add("allow_forceful_banlines", "FALSE"); | ||
145 | } | ||
146 | } | ||
138 | 147 | ||
139 | } | 148 | } |
140 | return m_localBackend.RegisterRegion(regionInfo); | 149 | return m_localBackend.RegisterRegion(regionInfo); |
@@ -144,7 +153,23 @@ namespace OpenSim.Region.Communications.OGS1 | |||
144 | { | 153 | { |
145 | return false; | 154 | return false; |
146 | } | 155 | } |
156 | public virtual Dictionary<string, string> GetGridSettings() | ||
157 | { | ||
158 | Dictionary<string, string> returnGridSettings = new Dictionary<string, string>(); | ||
159 | lock (m_queuedGridSettings) | ||
160 | { | ||
161 | foreach (string Dictkey in m_queuedGridSettings.Keys) | ||
162 | { | ||
163 | returnGridSettings.Add(Dictkey, m_queuedGridSettings[Dictkey]); | ||
164 | |||
165 | } | ||
147 | 166 | ||
167 | |||
168 | m_queuedGridSettings.Clear(); | ||
169 | } | ||
170 | |||
171 | return returnGridSettings; | ||
172 | } | ||
148 | /// <summary> | 173 | /// <summary> |
149 | /// | 174 | /// |
150 | /// </summary> | 175 | /// </summary> |