diff options
author | Melanie | 2011-01-28 04:09:04 +0000 |
---|---|---|
committer | Melanie | 2011-01-28 04:09:04 +0000 |
commit | 188d86998d14d23a59e345568add8ece7f5a0641 (patch) | |
tree | bfe565c6174d35c633e4ee3d4c10c40c858cef8d /OpenSim/Region/CoreModules/Framework | |
parent | Fix bumping into sim borders and check estate bans for walking crossings (diff) | |
download | opensim-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.cs | 9 |
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>(); |