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/Environment/Scenes/Scene.cs | |
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/Environment/Scenes/Scene.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.cs | 37 |
1 files changed, 37 insertions, 0 deletions
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 | ||