aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs
diff options
context:
space:
mode:
authorDr Scofield2009-05-05 16:17:52 +0000
committerDr Scofield2009-05-05 16:17:52 +0000
commite0a06f641668cd5c25a7854af2faf8a61c4053ee (patch)
treec2a4620c4bdc0e479ca16528cd9e0524529a7998 /OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs
parent* Fix http://opensimulator.org/mantis/view.php?id=3585 (diff)
downloadopensim-SC-e0a06f641668cd5c25a7854af2faf8a61c4053ee.zip
opensim-SC-e0a06f641668cd5c25a7854af2faf8a61c4053ee.tar.gz
opensim-SC-e0a06f641668cd5c25a7854af2faf8a61c4053ee.tar.bz2
opensim-SC-e0a06f641668cd5c25a7854af2faf8a61c4053ee.tar.xz
- moving banned check and public/private check to
Scene.NewUserConnection() - adding reason reporting this enforces estate bans very early on and prevents us from circulating client objects that we'd then have to retract once we realize that the client is not allowed into the region
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs11
1 files changed, 8 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs b/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs
index 2fe005d..0699552 100644
--- a/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs
@@ -296,8 +296,10 @@ namespace OpenSim.Region.Framework.Scenes
296 string capsPath = "http://" + reg.ExternalHostName + ":" + reg.HttpPort 296 string capsPath = "http://" + reg.ExternalHostName + ":" + reg.HttpPort
297 + "/CAPS/" + a.CapsPath + "0000/"; 297 + "/CAPS/" + a.CapsPath + "0000/";
298 298
299 string reason = String.Empty;
300
299 //bool regionAccepted = m_commsProvider.InterRegion.InformRegionOfChildAgent(reg.RegionHandle, a); 301 //bool regionAccepted = m_commsProvider.InterRegion.InformRegionOfChildAgent(reg.RegionHandle, a);
300 bool regionAccepted = m_interregionCommsOut.SendCreateChildAgent(reg.RegionHandle, a); 302 bool regionAccepted = m_interregionCommsOut.SendCreateChildAgent(reg.RegionHandle, a, out reason);
301 303
302 if (regionAccepted && newAgent) 304 if (regionAccepted && newAgent)
303 { 305 {
@@ -785,11 +787,14 @@ namespace OpenSim.Region.Framework.Scenes
785 agentCircuit.CapsPath = CapsUtil.GetRandomCapsObjectPath(); 787 agentCircuit.CapsPath = CapsUtil.GetRandomCapsObjectPath();
786 } 788 }
787 789
790 string reason = String.Empty;
791
788 // Let's create an agent there if one doesn't exist yet. 792 // Let's create an agent there if one doesn't exist yet.
789 //if (!m_commsProvider.InterRegion.InformRegionOfChildAgent(reg.RegionHandle, agentCircuit)) 793 //if (!m_commsProvider.InterRegion.InformRegionOfChildAgent(reg.RegionHandle, agentCircuit))
790 if (!m_interregionCommsOut.SendCreateChildAgent(reg.RegionHandle, agentCircuit)) 794 if (!m_interregionCommsOut.SendCreateChildAgent(reg.RegionHandle, agentCircuit, out reason))
791 { 795 {
792 avatar.ControllingClient.SendTeleportFailed("Destination is not accepting teleports."); 796 avatar.ControllingClient.SendTeleportFailed(String.Format("Destination is not accepting teleports: {0}",
797 reason));
793 return; 798 return;
794 } 799 }
795 800