aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Communications
diff options
context:
space:
mode:
authorTeravus Ovares2007-12-20 06:31:03 +0000
committerTeravus Ovares2007-12-20 06:31:03 +0000
commit8aae9094128069b83fbf11cb77503e29fd381b25 (patch)
tree96515c224150272c435c6b004d0950fcd4f07509 /OpenSim/Region/Communications
parentAdded patch from Johan. First attempt to solve the LibSL.Packet GC problem. W... (diff)
downloadopensim-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.cs22
-rw-r--r--OpenSim/Region/Communications/OGS1/OGS1GridServices.cs27
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>