diff options
Diffstat (limited to 'OpenSim/Services')
-rw-r--r-- | OpenSim/Services/Connectors/Inventory/XInventoryConnector.cs | 4 | ||||
-rw-r--r-- | OpenSim/Services/GridService/GridService.cs | 25 |
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; |