aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs')
-rw-r--r--OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs17
1 files changed, 17 insertions, 0 deletions
diff --git a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs
index 1c503aa..00ac44d 100644
--- a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs
+++ b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs
@@ -389,6 +389,8 @@ namespace OpenSim.Region.CoreModules.World.Land
389 { 389 {
390 if (avatar.AbsolutePosition.Z < LandChannel.BAN_LINE_SAFETY_HIEGHT) 390 if (avatar.AbsolutePosition.Z < LandChannel.BAN_LINE_SAFETY_HIEGHT)
391 { 391 {
392 ExpireAccessList(parcelAvatarIsEntering);
393
392 if (parcelAvatarIsEntering.IsBannedFromLand(avatar.UUID)) 394 if (parcelAvatarIsEntering.IsBannedFromLand(avatar.UUID))
393 { 395 {
394 SendYouAreBannedNotice(avatar); 396 SendYouAreBannedNotice(avatar);
@@ -1711,5 +1713,20 @@ namespace OpenSim.Region.CoreModules.World.Land
1711 1713
1712 MainConsole.Instance.Output(report.ToString()); 1714 MainConsole.Instance.Output(report.ToString());
1713 } 1715 }
1716
1717 private void ExpireAccessList(ILandObject land)
1718 {
1719 List<LandAccessEntry> delete = new List<LandAccessEntry>();
1720
1721 foreach (LandAccessEntry entry in land.LandData.ParcelAccessList)
1722 {
1723 if (entry.Expires != 0 && entry.Expires < Util.UnixTimeSinceEpoch())
1724 delete.Add(entry);
1725 }
1726 foreach (LandAccessEntry entry in delete)
1727 land.LandData.ParcelAccessList.Remove(entry);
1728
1729 m_scene.EventManager.TriggerLandObjectUpdated((uint)land.LandData.LocalID, land);
1730 }
1714 } 1731 }
1715} 1732}