aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/Framework
diff options
context:
space:
mode:
authorMelanie2011-01-28 04:09:04 +0000
committerMelanie2011-01-28 04:09:04 +0000
commit188d86998d14d23a59e345568add8ece7f5a0641 (patch)
treebfe565c6174d35c633e4ee3d4c10c40c858cef8d /OpenSim/Region/CoreModules/Framework
parentFix bumping into sim borders and check estate bans for walking crossings (diff)
downloadopensim-SC_OLD-188d86998d14d23a59e345568add8ece7f5a0641.zip
opensim-SC_OLD-188d86998d14d23a59e345568add8ece7f5a0641.tar.gz
opensim-SC_OLD-188d86998d14d23a59e345568add8ece7f5a0641.tar.bz2
opensim-SC_OLD-188d86998d14d23a59e345568add8ece7f5a0641.tar.xz
Fix up QueryAccess to also check parcels
Diffstat (limited to 'OpenSim/Region/CoreModules/Framework')
-rw-r--r--OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs9
1 files changed, 8 insertions, 1 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
index 7804b7f..54b95f7 100644
--- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
@@ -284,6 +284,12 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
284 return; 284 return;
285 } 285 }
286 286
287 if (!m_aScene.SimulationService.QueryAccess(finalDestination, sp.ControllingClient.AgentId, Vector3.Zero))
288 {
289 sp.ControllingClient.SendTeleportFailed("The destination region has refused access");
290 return;
291 }
292
287 sp.ControllingClient.SendTeleportStart(teleportFlags); 293 sp.ControllingClient.SendTeleportStart(teleportFlags);
288 294
289 // the avatar.Close below will clear the child region list. We need this below for (possibly) 295 // the avatar.Close below will clear the child region list. We need this below for (possibly)
@@ -772,8 +778,9 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
772 778
773 GridRegion neighbourRegion = scene.GridService.GetRegionByPosition(scene.RegionInfo.ScopeID, (int)x, (int)y); 779 GridRegion neighbourRegion = scene.GridService.GetRegionByPosition(scene.RegionInfo.ScopeID, (int)x, (int)y);
774 780
775 if (!scene.SimulationService.QueryAccess(neighbourRegion, agent.ControllingClient.AgentId)) 781 if (!scene.SimulationService.QueryAccess(neighbourRegion, agent.ControllingClient.AgentId, newpos))
776 { 782 {
783 agent.ControllingClient.SendAlertMessage("Cannot region cross into banned parcel");
777 if (r == null) 784 if (r == null)
778 { 785 {
779 r = new ExpiringCache<ulong, DateTime>(); 786 r = new ExpiringCache<ulong, DateTime>();