diff options
author | Oren Hurvitz | 2014-04-07 09:25:18 +0300 |
---|---|---|
committer | Oren Hurvitz | 2014-04-07 07:32:36 +0100 |
commit | 85d51e57a905ac8f823f345f525837926f4ed2ce (patch) | |
tree | 7fc86c9a7743afb0765cc8d822709e12bbc223f1 /OpenSim/Region/CoreModules/Framework/EntityTransfer | |
parent | Refactored: use Scene.GetAgentHomeURI() to get the Home URI of a user (diff) | |
download | opensim-SC-85d51e57a905ac8f823f345f525837926f4ed2ce.zip opensim-SC-85d51e57a905ac8f823f345f525837926f4ed2ce.tar.gz opensim-SC-85d51e57a905ac8f823f345f525837926f4ed2ce.tar.bz2 opensim-SC-85d51e57a905ac8f823f345f525837926f4ed2ce.tar.xz |
When sending QueryAccess to a region, also send the user's Home URI
Diffstat (limited to 'OpenSim/Region/CoreModules/Framework/EntityTransfer')
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 3d9c93f..7e1d68d 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | |||
@@ -700,6 +700,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
700 | return; | 700 | return; |
701 | } | 701 | } |
702 | 702 | ||
703 | string homeURI = Scene.GetAgentHomeURI(sp.ControllingClient.AgentId); | ||
704 | |||
703 | m_log.DebugFormat( | 705 | m_log.DebugFormat( |
704 | "[ENTITY TRANSFER MODULE]: Teleporting {0} {1} from {2} to {3} ({4}) {5}/{6}", | 706 | "[ENTITY TRANSFER MODULE]: Teleporting {0} {1} from {2} to {3} ({4}) {5}/{6}", |
705 | sp.Name, sp.UUID, sp.Scene.RegionInfo.RegionName, | 707 | sp.Name, sp.UUID, sp.Scene.RegionInfo.RegionName, |
@@ -744,7 +746,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
744 | string reason; | 746 | string reason; |
745 | string version; | 747 | string version; |
746 | if (!Scene.SimulationService.QueryAccess( | 748 | if (!Scene.SimulationService.QueryAccess( |
747 | finalDestination, sp.ControllingClient.AgentId, position, out version, out reason)) | 749 | finalDestination, sp.ControllingClient.AgentId, homeURI, position, out version, out reason)) |
748 | { | 750 | { |
749 | sp.ControllingClient.SendTeleportFailed(reason); | 751 | sp.ControllingClient.SendTeleportFailed(reason); |
750 | 752 | ||
@@ -1456,6 +1458,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1456 | version = String.Empty; | 1458 | version = String.Empty; |
1457 | newpos = pos; | 1459 | newpos = pos; |
1458 | failureReason = string.Empty; | 1460 | failureReason = string.Empty; |
1461 | string homeURI = scene.GetAgentHomeURI(agentID); | ||
1459 | 1462 | ||
1460 | // m_log.DebugFormat( | 1463 | // m_log.DebugFormat( |
1461 | // "[ENTITY TRANSFER MODULE]: Crossing agent {0} at pos {1} in {2}", agent.Name, pos, scene.Name); | 1464 | // "[ENTITY TRANSFER MODULE]: Crossing agent {0} at pos {1} in {2}", agent.Name, pos, scene.Name); |
@@ -1489,7 +1492,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1489 | 1492 | ||
1490 | // Check to see if we have access to the target region. | 1493 | // Check to see if we have access to the target region. |
1491 | if (neighbourRegion != null | 1494 | if (neighbourRegion != null |
1492 | && !scene.SimulationService.QueryAccess(neighbourRegion, agentID, newpos, out version, out failureReason)) | 1495 | && !scene.SimulationService.QueryAccess(neighbourRegion, agentID, homeURI, newpos, out version, out failureReason)) |
1493 | { | 1496 | { |
1494 | // remember banned | 1497 | // remember banned |
1495 | m_bannedRegionCache.Add(neighbourRegion.RegionHandle, agentID); | 1498 | m_bannedRegionCache.Add(neighbourRegion.RegionHandle, agentID); |