aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/Framework/EntityTransfer
diff options
context:
space:
mode:
authorOren Hurvitz2014-04-07 09:25:18 +0300
committerOren Hurvitz2014-04-07 07:32:36 +0100
commit85d51e57a905ac8f823f345f525837926f4ed2ce (patch)
tree7fc86c9a7743afb0765cc8d822709e12bbc223f1 /OpenSim/Region/CoreModules/Framework/EntityTransfer
parentRefactored: use Scene.GetAgentHomeURI() to get the Home URI of a user (diff)
downloadopensim-SC_OLD-85d51e57a905ac8f823f345f525837926f4ed2ce.zip
opensim-SC_OLD-85d51e57a905ac8f823f345f525837926f4ed2ce.tar.gz
opensim-SC_OLD-85d51e57a905ac8f823f345f525837926f4ed2ce.tar.bz2
opensim-SC_OLD-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.cs7
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);