aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Services
diff options
context:
space:
mode:
authorMelanie2010-01-11 22:52:05 +0000
committerMelanie2010-01-11 22:52:05 +0000
commit7467a471ca2d3e6066f89d8bca4ba956e07fbb6b (patch)
tree1a3c2e21cf8550a26664d67b42e51840684e0bc3 /OpenSim/Services
parentMerge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim (diff)
downloadopensim-SC-7467a471ca2d3e6066f89d8bca4ba956e07fbb6b.zip
opensim-SC-7467a471ca2d3e6066f89d8bca4ba956e07fbb6b.tar.gz
opensim-SC-7467a471ca2d3e6066f89d8bca4ba956e07fbb6b.tar.bz2
opensim-SC-7467a471ca2d3e6066f89d8bca4ba956e07fbb6b.tar.xz
Add the option to reject duplicate region names
Diffstat (limited to 'OpenSim/Services')
-rw-r--r--OpenSim/Services/GridService/GridService.cs25
1 files changed, 25 insertions, 0 deletions
diff --git a/OpenSim/Services/GridService/GridService.cs b/OpenSim/Services/GridService/GridService.cs
index 86815e5..a500593 100644
--- a/OpenSim/Services/GridService/GridService.cs
+++ b/OpenSim/Services/GridService/GridService.cs
@@ -46,10 +46,18 @@ namespace OpenSim.Services.GridService
46 LogManager.GetLogger( 46 LogManager.GetLogger(
47 MethodBase.GetCurrentMethod().DeclaringType); 47 MethodBase.GetCurrentMethod().DeclaringType);
48 48
49 protected bool m_AllowDuplicateNames = false;
50
49 public GridService(IConfigSource config) 51 public GridService(IConfigSource config)
50 : base(config) 52 : base(config)
51 { 53 {
52 m_log.DebugFormat("[GRID SERVICE]: Starting..."); 54 m_log.DebugFormat("[GRID SERVICE]: Starting...");
55
56 IConfig gridConfig = config.Configs["GridService"];
57 if (gridConfig != null)
58 {
59 m_AllowDuplicateNames = gridConfig.GetBoolean("AllowDuplicateNames", m_AllowDuplicateNames);
60 }
53 } 61 }
54 62
55 #region IGridService 63 #region IGridService
@@ -82,6 +90,23 @@ namespace OpenSim.Services.GridService
82 } 90 }
83 } 91 }
84 92
93 if (!m_AllowDuplicateNames)
94 {
95 List<RegionData> dupe = m_Database.Get(regionInfos.RegionName, scopeID);
96 if (dupe != null && dupe.Count > 0)
97 {
98 foreach (RegionData d in dupe)
99 {
100 if (d.RegionID != regionInfos.RegionID)
101 {
102 m_log.WarnFormat("[GRID SERVICE]: Region {0} tried to register duplicate name with ID {1}.",
103 regionInfos.RegionName, regionInfos.RegionID);
104 return false;
105 }
106 }
107 }
108 }
109
85 // Everything is ok, let's register 110 // Everything is ok, let's register
86 RegionData rdata = RegionInfo2RegionData(regionInfos); 111 RegionData rdata = RegionInfo2RegionData(regionInfos);
87 rdata.ScopeID = scopeID; 112 rdata.ScopeID = scopeID;