diff options
author | Teravus Ovares | 2008-06-21 03:29:08 +0000 |
---|---|---|
committer | Teravus Ovares | 2008-06-21 03:29:08 +0000 |
commit | a5860ad438885cbf76a36dc7958947355522b8cf (patch) | |
tree | b392682ca7bf79e7fae18c16271980a9eead28bf /OpenSim/Region | |
parent | lots of futzing with nhibernate to make it more efficient. I (diff) | |
download | opensim-SC_OLD-a5860ad438885cbf76a36dc7958947355522b8cf.zip opensim-SC_OLD-a5860ad438885cbf76a36dc7958947355522b8cf.tar.gz opensim-SC_OLD-a5860ad438885cbf76a36dc7958947355522b8cf.tar.bz2 opensim-SC_OLD-a5860ad438885cbf76a36dc7958947355522b8cf.tar.xz |
* Adds Region ban capability to Regions. You access this by going to World->Region/Estate. Then on the Estate tab, at the lower right hand corner, clicking the 'Add' button and picking an avatar.
* It only persists across reboots for the mySQL datastore currently.
* Currently have stubs in the other datastores.
Diffstat (limited to 'OpenSim/Region')
9 files changed, 267 insertions, 5 deletions
diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs index 572e98f..f205686 100644 --- a/OpenSim/Region/Application/OpenSimBase.cs +++ b/OpenSim/Region/Application/OpenSimBase.cs | |||
@@ -515,6 +515,7 @@ namespace OpenSim | |||
515 | //moved these here as the terrain texture has to be created after the modules are initialized | 515 | //moved these here as the terrain texture has to be created after the modules are initialized |
516 | // and has to happen before the region is registered with the grid. | 516 | // and has to happen before the region is registered with the grid. |
517 | scene.CreateTerrainTexture(false); | 517 | scene.CreateTerrainTexture(false); |
518 | scene.LoadRegionBanlist(); | ||
518 | 519 | ||
519 | try | 520 | try |
520 | { | 521 | { |
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 3b3ec3d..facee5c 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -2570,6 +2570,51 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
2570 | this.OutPacket(packet, ThrottleOutPacketType.Task); | 2570 | this.OutPacket(packet, ThrottleOutPacketType.Task); |
2571 | } | 2571 | } |
2572 | 2572 | ||
2573 | public void sendBannedUserList(LLUUID invoice, List<RegionBanListItem> banlist, uint estateID) | ||
2574 | { | ||
2575 | RegionBanListItem[] bl = banlist.ToArray(); | ||
2576 | |||
2577 | LLUUID[] BannedUsers = new LLUUID[bl.Length]; | ||
2578 | |||
2579 | |||
2580 | for (int i = 0; i < bl.Length; i++) | ||
2581 | { | ||
2582 | if (bl[i] == null) | ||
2583 | continue; | ||
2584 | BannedUsers[i] = bl[i].bannedUUID; | ||
2585 | } | ||
2586 | |||
2587 | EstateOwnerMessagePacket packet = new EstateOwnerMessagePacket(); | ||
2588 | packet.AgentData.TransactionID = LLUUID.Random(); | ||
2589 | packet.AgentData.AgentID = this.AgentId; | ||
2590 | packet.AgentData.SessionID = this.SessionId; | ||
2591 | packet.MethodData.Invoice = invoice; | ||
2592 | packet.MethodData.Method = Helpers.StringToField("setaccess"); | ||
2593 | |||
2594 | EstateOwnerMessagePacket.ParamListBlock[] returnblock = new EstateOwnerMessagePacket.ParamListBlock[6 + BannedUsers.Length]; | ||
2595 | |||
2596 | for (int i = 0; i < (6 + BannedUsers.Length); i++) | ||
2597 | { | ||
2598 | returnblock[i] = new EstateOwnerMessagePacket.ParamListBlock(); | ||
2599 | } | ||
2600 | int j = 0; | ||
2601 | |||
2602 | returnblock[j].Parameter = Helpers.StringToField(estateID.ToString()); j++; | ||
2603 | returnblock[j].Parameter = Helpers.StringToField(((int)Constants.EstateAccessCodex.EstateBans).ToString()); j++; | ||
2604 | returnblock[j].Parameter = Helpers.StringToField("0"); j++; | ||
2605 | returnblock[j].Parameter = Helpers.StringToField("0"); j++; | ||
2606 | returnblock[j].Parameter = Helpers.StringToField(BannedUsers.Length.ToString()); j++; | ||
2607 | returnblock[j].Parameter = Helpers.StringToField("0"); j++; | ||
2608 | |||
2609 | for (int i = 0; i < BannedUsers.Length; i++) | ||
2610 | { | ||
2611 | returnblock[j].Parameter = BannedUsers[i].GetBytes(); j++; | ||
2612 | } | ||
2613 | packet.ParamList = returnblock; | ||
2614 | packet.Header.Reliable = false; | ||
2615 | this.OutPacket(packet, ThrottleOutPacketType.Task); | ||
2616 | } | ||
2617 | |||
2573 | public void sendRegionInfoToEstateMenu(RegionInfoForEstateMenuArgs args) | 2618 | public void sendRegionInfoToEstateMenu(RegionInfoForEstateMenuArgs args) |
2574 | { | 2619 | { |
2575 | RegionInfoPacket rinfopack = new RegionInfoPacket(); | 2620 | RegionInfoPacket rinfopack = new RegionInfoPacket(); |
diff --git a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs index bbb3163..f7de887 100644 --- a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs +++ b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs | |||
@@ -55,10 +55,14 @@ namespace OpenSim.Region.Communications.OGS1 | |||
55 | private List<SimpleRegionInfo> m_knownRegions = new List<SimpleRegionInfo>(); | 55 | private List<SimpleRegionInfo> m_knownRegions = new List<SimpleRegionInfo>(); |
56 | private Dictionary<ulong, int> m_deadRegionCache = new Dictionary<ulong, int>(); | 56 | private Dictionary<ulong, int> m_deadRegionCache = new Dictionary<ulong, int>(); |
57 | private Dictionary<string, string> m_queuedGridSettings = new Dictionary<string, string>(); | 57 | private Dictionary<string, string> m_queuedGridSettings = new Dictionary<string, string>(); |
58 | private List<RegionInfo> m_regionsOnInstance = new List<RegionInfo>(); | ||
59 | |||
60 | |||
58 | 61 | ||
59 | public BaseHttpServer httpListener; | 62 | public BaseHttpServer httpListener; |
60 | public NetworkServersInfo serversInfo; | 63 | public NetworkServersInfo serversInfo; |
61 | public BaseHttpServer httpServer; | 64 | public BaseHttpServer httpServer; |
65 | |||
62 | public string _gdebugRegionName = String.Empty; | 66 | public string _gdebugRegionName = String.Empty; |
63 | 67 | ||
64 | public string gdebugRegionName | 68 | public string gdebugRegionName |
@@ -95,6 +99,8 @@ namespace OpenSim.Region.Communications.OGS1 | |||
95 | // see IGridServices | 99 | // see IGridServices |
96 | public RegionCommsListener RegisterRegion(RegionInfo regionInfo) | 100 | public RegionCommsListener RegisterRegion(RegionInfo regionInfo) |
97 | { | 101 | { |
102 | m_regionsOnInstance.Add(regionInfo); | ||
103 | |||
98 | m_log.InfoFormat( | 104 | m_log.InfoFormat( |
99 | "[OGS1 GRID SERVICES]: Attempting to register region {0} with grid at {1}", | 105 | "[OGS1 GRID SERVICES]: Attempting to register region {0} with grid at {1}", |
100 | regionInfo.RegionName, serversInfo.GridURL); | 106 | regionInfo.RegionName, serversInfo.GridURL); |
@@ -606,12 +612,47 @@ namespace OpenSim.Region.Communications.OGS1 | |||
606 | 612 | ||
607 | ulong regionHandle = Convert.ToUInt64((string) requestData["regionhandle"]); | 613 | ulong regionHandle = Convert.ToUInt64((string) requestData["regionhandle"]); |
608 | 614 | ||
609 | m_log.Debug("[CONNECTION DEBUGGING]: Triggering welcome for " + agentData.AgentID.ToString() + " into " + regionHandle.ToString()); | ||
610 | m_localBackend.TriggerExpectUser(regionHandle, agentData); | ||
611 | 615 | ||
612 | m_log.Info("[OGS1 GRID SERVICES]: Welcoming new user..."); | 616 | RegionInfo[] regions = m_regionsOnInstance.ToArray(); |
617 | bool banned = false; | ||
613 | 618 | ||
614 | return new XmlRpcResponse(); | 619 | for (int i = 0; i < regions.Length; i++) |
620 | { | ||
621 | if (regions[i] != null) | ||
622 | { | ||
623 | if (regions[i].RegionHandle == regionHandle) | ||
624 | { | ||
625 | if (regions[i].CheckIfUserBanned(agentData.AgentID)) | ||
626 | { | ||
627 | banned = true; | ||
628 | break; | ||
629 | } | ||
630 | } | ||
631 | } | ||
632 | } | ||
633 | |||
634 | XmlRpcResponse resp = new XmlRpcResponse(); | ||
635 | |||
636 | if (banned) | ||
637 | { | ||
638 | m_log.InfoFormat("[OGS1 GRID SERVICES]: Denying access for user {0} {1} because user is banned",agentData.firstname,agentData.lastname); | ||
639 | |||
640 | Hashtable respdata = new Hashtable(); | ||
641 | respdata["success"] = "FALSE"; | ||
642 | respdata["reason"] = "banned"; | ||
643 | resp.Value = respdata; | ||
644 | } | ||
645 | else | ||
646 | { | ||
647 | m_log.Debug("[CONNECTION DEBUGGING]: Triggering welcome for " + agentData.AgentID.ToString() + " into " + regionHandle.ToString()); | ||
648 | m_localBackend.TriggerExpectUser(regionHandle, agentData); | ||
649 | m_log.Info("[OGS1 GRID SERVICES]: Welcoming new user..."); | ||
650 | Hashtable respdata = new Hashtable(); | ||
651 | respdata["success"] = "TRUE"; | ||
652 | resp.Value = respdata; | ||
653 | |||
654 | } | ||
655 | return resp; | ||
615 | } | 656 | } |
616 | // Grid Request Processing | 657 | // Grid Request Processing |
617 | /// <summary> | 658 | /// <summary> |
@@ -1107,6 +1148,27 @@ namespace OpenSim.Region.Communications.OGS1 | |||
1107 | /// <returns></returns> | 1148 | /// <returns></returns> |
1108 | public bool ExpectAvatarCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position, bool isFlying) | 1149 | public bool ExpectAvatarCrossing(ulong regionHandle, LLUUID agentID, LLVector3 position, bool isFlying) |
1109 | { | 1150 | { |
1151 | RegionInfo[] regions = m_regionsOnInstance.ToArray(); | ||
1152 | bool banned = false; | ||
1153 | |||
1154 | for (int i = 0; i < regions.Length; i++) | ||
1155 | { | ||
1156 | if (regions[i] != null) | ||
1157 | { | ||
1158 | if (regions[i].RegionHandle == regionHandle) | ||
1159 | { | ||
1160 | if (regions[i].CheckIfUserBanned(agentID)) | ||
1161 | { | ||
1162 | banned = true; | ||
1163 | break; | ||
1164 | } | ||
1165 | } | ||
1166 | } | ||
1167 | } | ||
1168 | |||
1169 | if (banned) | ||
1170 | return false; | ||
1171 | |||
1110 | RegionInfo regInfo = null; | 1172 | RegionInfo regInfo = null; |
1111 | try | 1173 | try |
1112 | { | 1174 | { |
diff --git a/OpenSim/Region/Environment/Interfaces/IRegionDataStore.cs b/OpenSim/Region/Environment/Interfaces/IRegionDataStore.cs index c757461..0ea2c03 100644 --- a/OpenSim/Region/Environment/Interfaces/IRegionDataStore.cs +++ b/OpenSim/Region/Environment/Interfaces/IRegionDataStore.cs | |||
@@ -72,6 +72,12 @@ namespace OpenSim.Region.Environment.Interfaces | |||
72 | void RemoveLandObject(LLUUID globalID); | 72 | void RemoveLandObject(LLUUID globalID); |
73 | List<LandData> LoadLandObjects(LLUUID regionUUID); | 73 | List<LandData> LoadLandObjects(LLUUID regionUUID); |
74 | 74 | ||
75 | List<RegionBanListItem> LoadRegionBanList(LLUUID regionUUID); | ||
76 | void AddToRegionBanlist(RegionBanListItem item); | ||
77 | void RemoveFromRegionBanlist(RegionBanListItem item); | ||
78 | |||
79 | |||
80 | |||
75 | void Shutdown(); | 81 | void Shutdown(); |
76 | } | 82 | } |
77 | } | 83 | } |
diff --git a/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs index 147e4aa..b6d2ab4 100644 --- a/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs +++ b/OpenSim/Region/Environment/Modules/World/Estate/EstateManagementModule.cs | |||
@@ -51,6 +51,7 @@ namespace OpenSim.Region.Environment.Modules.World.Estate | |||
51 | { | 51 | { |
52 | remote_client.sendDetailedEstateData(invoice,m_scene.RegionInfo.EstateSettings.estateName,m_scene.RegionInfo.EstateSettings.estateID); | 52 | remote_client.sendDetailedEstateData(invoice,m_scene.RegionInfo.EstateSettings.estateName,m_scene.RegionInfo.EstateSettings.estateID); |
53 | remote_client.sendEstateManagersList(invoice,m_scene.RegionInfo.EstateSettings.estateManagers,m_scene.RegionInfo.EstateSettings.estateID); | 53 | remote_client.sendEstateManagersList(invoice,m_scene.RegionInfo.EstateSettings.estateManagers,m_scene.RegionInfo.EstateSettings.estateID); |
54 | remote_client.sendBannedUserList(invoice, m_scene.RegionInfo.regionBanlist, m_scene.RegionInfo.EstateSettings.estateID); | ||
54 | } | 55 | } |
55 | 56 | ||
56 | private void estateSetRegionInfoHandler(bool blockTerraform, bool noFly, bool allowDamage, bool blockLandResell, int maxAgents, float objectBonusFactor, | 57 | private void estateSetRegionInfoHandler(bool blockTerraform, bool noFly, bool allowDamage, bool blockLandResell, int maxAgents, float objectBonusFactor, |
@@ -206,6 +207,89 @@ namespace OpenSim.Region.Environment.Modules.World.Estate | |||
206 | 207 | ||
207 | switch (estateAccessType) | 208 | switch (estateAccessType) |
208 | { | 209 | { |
210 | case 64: | ||
211 | if (m_scene.ExternalChecks.ExternalChecksCanIssueEstateCommand(remote_client.AgentId) || m_scene.ExternalChecks.ExternalChecksBypassPermissions()) | ||
212 | { | ||
213 | RegionBanListItem[] banlistcheck = m_scene.RegionInfo.regionBanlist.ToArray(); | ||
214 | |||
215 | bool alreadyInList = false; | ||
216 | |||
217 | for (int i = 0; i < banlistcheck.Length; i++) | ||
218 | { | ||
219 | if (user == banlistcheck[i].bannedUUID) | ||
220 | { | ||
221 | alreadyInList = true; | ||
222 | break; | ||
223 | } | ||
224 | |||
225 | } | ||
226 | if (!alreadyInList) | ||
227 | { | ||
228 | |||
229 | RegionBanListItem item = new RegionBanListItem(); | ||
230 | |||
231 | item.bannedUUID = user; | ||
232 | item.regionUUID = m_scene.RegionInfo.RegionID; | ||
233 | item.bannedIP = "0.0.0.0"; | ||
234 | item.bannedIPHostMask = "0.0.0.0"; | ||
235 | |||
236 | m_scene.RegionInfo.regionBanlist.Add(item); | ||
237 | m_scene.AddToRegionBanlist(item); | ||
238 | |||
239 | ScenePresence s = m_scene.GetScenePresence(user); | ||
240 | if (s != null) | ||
241 | { | ||
242 | m_scene.TeleportClientHome(user, s.ControllingClient); | ||
243 | } | ||
244 | |||
245 | } | ||
246 | else | ||
247 | { | ||
248 | remote_client.SendAlertMessage("User is already on the region ban list"); | ||
249 | } | ||
250 | //m_scene.RegionInfo.regionBanlist.Add(Manager(user); | ||
251 | remote_client.sendBannedUserList(invoice, m_scene.RegionInfo.regionBanlist, m_scene.RegionInfo.EstateSettings.estateID); | ||
252 | } | ||
253 | else | ||
254 | { | ||
255 | remote_client.SendAlertMessage("Method EstateAccessDelta Failed, you don't have permissions"); | ||
256 | } | ||
257 | break; | ||
258 | case 128: | ||
259 | if (m_scene.ExternalChecks.ExternalChecksCanIssueEstateCommand(remote_client.AgentId) || m_scene.ExternalChecks.ExternalChecksBypassPermissions()) | ||
260 | { | ||
261 | RegionBanListItem[] banlistcheck = m_scene.RegionInfo.regionBanlist.ToArray(); | ||
262 | |||
263 | bool alreadyInList = false; | ||
264 | RegionBanListItem listitem = null; | ||
265 | |||
266 | for (int i = 0; i < banlistcheck.Length; i++) | ||
267 | { | ||
268 | if (user == banlistcheck[i].bannedUUID) | ||
269 | { | ||
270 | alreadyInList = true; | ||
271 | listitem = banlistcheck[i]; | ||
272 | break; | ||
273 | } | ||
274 | |||
275 | } | ||
276 | if (alreadyInList && listitem != null) | ||
277 | { | ||
278 | m_scene.RegionInfo.regionBanlist.Remove(listitem); | ||
279 | m_scene.RemoveFromRegionBanlist(listitem); | ||
280 | } | ||
281 | else | ||
282 | { | ||
283 | remote_client.SendAlertMessage("User is not on the region ban list"); | ||
284 | } | ||
285 | //m_scene.RegionInfo.regionBanlist.Add(Manager(user); | ||
286 | remote_client.sendBannedUserList(invoice, m_scene.RegionInfo.regionBanlist, m_scene.RegionInfo.EstateSettings.estateID); | ||
287 | } | ||
288 | else | ||
289 | { | ||
290 | remote_client.SendAlertMessage("Method EstateAccessDelta Failed, you don't have permissions"); | ||
291 | } | ||
292 | break; | ||
209 | case 256: | 293 | case 256: |
210 | 294 | ||
211 | // This needs to be updated for SuperEstateOwnerUser.. a non existing user in the estatesettings.xml | 295 | // This needs to be updated for SuperEstateOwnerUser.. a non existing user in the estatesettings.xml |
@@ -237,7 +321,7 @@ namespace OpenSim.Region.Environment.Modules.World.Estate | |||
237 | 321 | ||
238 | default: | 322 | default: |
239 | 323 | ||
240 | m_log.Error("EstateOwnerMessage: Unknown EstateAccessType requested in estateAccessDelta"); | 324 | m_log.ErrorFormat("EstateOwnerMessage: Unknown EstateAccessType requested in estateAccessDelta: {0}", estateAccessType.ToString()); |
241 | break; | 325 | break; |
242 | } | 326 | } |
243 | } | 327 | } |
diff --git a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs index a242ebe..50403b9 100644 --- a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs +++ b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs | |||
@@ -743,6 +743,11 @@ namespace OpenSim.Region.Environment.Modules.World.NPC | |||
743 | public void sendEstateManagersList(LLUUID invoice, LLUUID[] EstateManagers, uint estateID) | 743 | public void sendEstateManagersList(LLUUID invoice, LLUUID[] EstateManagers, uint estateID) |
744 | { | 744 | { |
745 | } | 745 | } |
746 | |||
747 | public void sendBannedUserList(LLUUID invoice, List<RegionBanListItem> banlist, uint estateID) | ||
748 | { | ||
749 | } | ||
750 | |||
746 | public void sendRegionInfoToEstateMenu(RegionInfoForEstateMenuArgs args) | 751 | public void sendRegionInfoToEstateMenu(RegionInfoForEstateMenuArgs args) |
747 | { | 752 | { |
748 | } | 753 | } |
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index cfebd14..73b3a49 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -1437,6 +1437,20 @@ namespace OpenSim.Region.Environment.Scenes | |||
1437 | } | 1437 | } |
1438 | } | 1438 | } |
1439 | 1439 | ||
1440 | public void LoadRegionBanlist() | ||
1441 | { | ||
1442 | List<RegionBanListItem> regionbanlist = m_storageManager.DataStore.LoadRegionBanList(m_regInfo.RegionID); | ||
1443 | m_regInfo.regionBanlist = regionbanlist; | ||
1444 | } | ||
1445 | public void AddToRegionBanlist(RegionBanListItem item) | ||
1446 | { | ||
1447 | m_storageManager.DataStore.AddToRegionBanlist(item); | ||
1448 | } | ||
1449 | |||
1450 | public void RemoveFromRegionBanlist(RegionBanListItem item) | ||
1451 | { | ||
1452 | m_storageManager.DataStore.RemoveFromRegionBanlist(item); | ||
1453 | } | ||
1440 | #endregion | 1454 | #endregion |
1441 | 1455 | ||
1442 | #region Primitives Methods | 1456 | #region Primitives Methods |
@@ -1854,6 +1868,18 @@ namespace OpenSim.Region.Environment.Scenes | |||
1854 | SceneObjectPart RootPrim = GetSceneObjectPart(primID); | 1868 | SceneObjectPart RootPrim = GetSceneObjectPart(primID); |
1855 | if (RootPrim != null) | 1869 | if (RootPrim != null) |
1856 | { | 1870 | { |
1871 | if (m_regInfo.CheckIfUserBanned(RootPrim.OwnerID)) | ||
1872 | { | ||
1873 | SceneObjectGroup grp = RootPrim.ParentGroup; | ||
1874 | if (grp != null) | ||
1875 | { | ||
1876 | DeleteSceneObject(grp); | ||
1877 | } | ||
1878 | |||
1879 | m_log.Info("[INTERREGION]: Denied prim crossing for banned avatar"); | ||
1880 | |||
1881 | return false; | ||
1882 | } | ||
1857 | if (RootPrim.Shape.PCode == (byte)PCode.Prim) | 1883 | if (RootPrim.Shape.PCode == (byte)PCode.Prim) |
1858 | { | 1884 | { |
1859 | SceneObjectGroup grp = RootPrim.ParentGroup; | 1885 | SceneObjectGroup grp = RootPrim.ParentGroup; |
@@ -2333,6 +2359,13 @@ namespace OpenSim.Region.Environment.Scenes | |||
2333 | { | 2359 | { |
2334 | if (regionHandle == m_regInfo.RegionHandle) | 2360 | if (regionHandle == m_regInfo.RegionHandle) |
2335 | { | 2361 | { |
2362 | if (m_regInfo.CheckIfUserBanned(agent.AgentID)) | ||
2363 | { | ||
2364 | m_log.WarnFormat( | ||
2365 | "[CONNECTION DEBUGGING]: Denied access to: {0} [{1}] at {2} because the user is on the region banlist", | ||
2366 | agent.AgentID, regionHandle, RegionInfo.RegionName); | ||
2367 | } | ||
2368 | |||
2336 | capsPaths[agent.AgentID] = agent.CapsPath; | 2369 | capsPaths[agent.AgentID] = agent.CapsPath; |
2337 | 2370 | ||
2338 | if (!agent.child) | 2371 | if (!agent.child) |
@@ -3599,5 +3632,9 @@ namespace OpenSim.Region.Environment.Scenes | |||
3599 | } | 3632 | } |
3600 | 3633 | ||
3601 | #endregion | 3634 | #endregion |
3635 | |||
3636 | |||
3602 | } | 3637 | } |
3603 | } | 3638 | } |
3639 | |||
3640 | \ No newline at end of file | ||
diff --git a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs index 0f7a057..c6fd64c 100644 --- a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs +++ b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs | |||
@@ -736,6 +736,11 @@ namespace OpenSim.Region.Examples.SimpleModule | |||
736 | public void sendEstateManagersList(LLUUID invoice, LLUUID[] EstateManagers, uint estateID) | 736 | public void sendEstateManagersList(LLUUID invoice, LLUUID[] EstateManagers, uint estateID) |
737 | { | 737 | { |
738 | } | 738 | } |
739 | |||
740 | public void sendBannedUserList(LLUUID invoice, List<RegionBanListItem> banlist, uint estateID) | ||
741 | { | ||
742 | } | ||
743 | |||
739 | public void sendRegionInfoToEstateMenu(RegionInfoForEstateMenuArgs args) | 744 | public void sendRegionInfoToEstateMenu(RegionInfoForEstateMenuArgs args) |
740 | { | 745 | { |
741 | } | 746 | } |
diff --git a/OpenSim/Region/Storage/OpenSim.DataStore.MSSQL/MSSQLDataStore.cs b/OpenSim/Region/Storage/OpenSim.DataStore.MSSQL/MSSQLDataStore.cs index b7919e0..145d5eb 100644 --- a/OpenSim/Region/Storage/OpenSim.DataStore.MSSQL/MSSQLDataStore.cs +++ b/OpenSim/Region/Storage/OpenSim.DataStore.MSSQL/MSSQLDataStore.cs | |||
@@ -313,6 +313,23 @@ namespace OpenSim.DataStore.MSSQL | |||
313 | return new List<LandData>(); | 313 | return new List<LandData>(); |
314 | } | 314 | } |
315 | 315 | ||
316 | public List<RegionBanListItem> LoadRegionBanList(LLUUID regionUUID) | ||
317 | { | ||
318 | List<RegionBanListItem> regionbanlist = new List<RegionBanListItem>(); | ||
319 | return regionbanlist; | ||
320 | } | ||
321 | |||
322 | public void AddToRegionBanlist(RegionBanListItem item) | ||
323 | { | ||
324 | |||
325 | } | ||
326 | |||
327 | public void RemoveFromRegionBanlist(RegionBanListItem item) | ||
328 | { | ||
329 | |||
330 | } | ||
331 | |||
332 | |||
316 | public void Commit() | 333 | public void Commit() |
317 | { | 334 | { |
318 | lock (ds) | 335 | lock (ds) |