aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Services
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Services')
-rw-r--r--OpenSim/Services/Connectors/Inventory/XInventoryConnector.cs4
-rw-r--r--OpenSim/Services/GridService/GridService.cs25
2 files changed, 27 insertions, 2 deletions
diff --git a/OpenSim/Services/Connectors/Inventory/XInventoryConnector.cs b/OpenSim/Services/Connectors/Inventory/XInventoryConnector.cs
index 40acd6d..b9ccd7e 100644
--- a/OpenSim/Services/Connectors/Inventory/XInventoryConnector.cs
+++ b/OpenSim/Services/Connectors/Inventory/XInventoryConnector.cs
@@ -490,7 +490,7 @@ namespace OpenSim.Services.Connectors
490 return replyData; 490 return replyData;
491 } 491 }
492 492
493 InventoryFolderBase BuildFolder(Dictionary<string,object> data) 493 private InventoryFolderBase BuildFolder(Dictionary<string,object> data)
494 { 494 {
495 InventoryFolderBase folder = new InventoryFolderBase(); 495 InventoryFolderBase folder = new InventoryFolderBase();
496 496
@@ -504,7 +504,7 @@ namespace OpenSim.Services.Connectors
504 return folder; 504 return folder;
505 } 505 }
506 506
507 InventoryItemBase BuildItem(Dictionary<string,object> data) 507 private InventoryItemBase BuildItem(Dictionary<string,object> data)
508 { 508 {
509 InventoryItemBase item = new InventoryItemBase(); 509 InventoryItemBase item = new InventoryItemBase();
510 510
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;