aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Scene.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs27
1 files changed, 22 insertions, 5 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index 2006c2b..b1a79c2 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -2296,7 +2296,7 @@ namespace OpenSim.Region.Framework.Scenes
2296 /// </summary> 2296 /// </summary>
2297 public void RegisterCommsEvents() 2297 public void RegisterCommsEvents()
2298 { 2298 {
2299 m_sceneGridService.OnExpectUser += NewUserConnection; 2299 m_sceneGridService.OnExpectUser += HandleNewUserConnection;
2300 m_sceneGridService.OnAvatarCrossingIntoRegion += AgentCrossing; 2300 m_sceneGridService.OnAvatarCrossingIntoRegion += AgentCrossing;
2301 m_sceneGridService.OnCloseAgentConnection += IncomingCloseAgent; 2301 m_sceneGridService.OnCloseAgentConnection += IncomingCloseAgent;
2302 m_sceneGridService.OnRegionUp += OtherRegionUp; 2302 m_sceneGridService.OnRegionUp += OtherRegionUp;
@@ -2328,7 +2328,7 @@ namespace OpenSim.Region.Framework.Scenes
2328 m_sceneGridService.OnExpectPrim -= IncomingInterRegionPrimGroup; 2328 m_sceneGridService.OnExpectPrim -= IncomingInterRegionPrimGroup;
2329 //m_sceneGridService.OnChildAgentUpdate -= IncomingChildAgentDataUpdate; 2329 //m_sceneGridService.OnChildAgentUpdate -= IncomingChildAgentDataUpdate;
2330 m_sceneGridService.OnRegionUp -= OtherRegionUp; 2330 m_sceneGridService.OnRegionUp -= OtherRegionUp;
2331 m_sceneGridService.OnExpectUser -= NewUserConnection; 2331 m_sceneGridService.OnExpectUser -= HandleNewUserConnection;
2332 m_sceneGridService.OnAvatarCrossingIntoRegion -= AgentCrossing; 2332 m_sceneGridService.OnAvatarCrossingIntoRegion -= AgentCrossing;
2333 m_sceneGridService.OnCloseAgentConnection -= IncomingCloseAgent; 2333 m_sceneGridService.OnCloseAgentConnection -= IncomingCloseAgent;
2334 m_sceneGridService.OnGetLandData -= GetLandData; 2334 m_sceneGridService.OnGetLandData -= GetLandData;
@@ -2340,12 +2340,26 @@ namespace OpenSim.Region.Framework.Scenes
2340 } 2340 }
2341 2341
2342 /// <summary> 2342 /// <summary>
2343 /// A handler for the SceneCommunicationService event, to match that events return type of void.
2344 /// Use NewUserConnection() directly if possible so the return type can refuse connections.
2345 /// At the moment nothing actually seems to use this event,
2346 /// as everything is switching to calling the NewUserConnection method directly.
2347 /// </summary>
2348 /// <param name="agent"></param>
2349 public void HandleNewUserConnection(AgentCircuitData agent)
2350 {
2351 NewUserConnection(agent);
2352 }
2353
2354 /// <summary>
2343 /// Do the work necessary to initiate a new user connection for a particular scene. 2355 /// Do the work necessary to initiate a new user connection for a particular scene.
2344 /// At the moment, this consists of setting up the caps infrastructure 2356 /// At the moment, this consists of setting up the caps infrastructure
2357 /// The return bool should allow for connections to be refused, but as not all calling paths
2358 /// take proper notice of it let, we allowed banned users in still.
2345 /// </summary> 2359 /// </summary>
2346 /// <param name="regionHandle"></param> 2360 /// <param name="regionHandle"></param>
2347 /// <param name="agent"></param> 2361 /// <param name="agent"></param>
2348 public void NewUserConnection(AgentCircuitData agent) 2362 public bool NewUserConnection(AgentCircuitData agent)
2349 { 2363 {
2350 CapsModule.NewUserConnection(agent); 2364 CapsModule.NewUserConnection(agent);
2351 2365
@@ -2358,7 +2372,7 @@ namespace OpenSim.Region.Framework.Scenes
2358 2372
2359 sp.AdjustKnownSeeds(); 2373 sp.AdjustKnownSeeds();
2360 2374
2361 return; 2375 return true;
2362 } 2376 }
2363 2377
2364 // Don't disable this log message - it's too helpful 2378 // Don't disable this log message - it's too helpful
@@ -2371,6 +2385,7 @@ namespace OpenSim.Region.Framework.Scenes
2371 m_log.WarnFormat( 2385 m_log.WarnFormat(
2372 "[CONNECTION BEGIN]: Incoming user {0} at {1} is on the region banlist", 2386 "[CONNECTION BEGIN]: Incoming user {0} at {1} is on the region banlist",
2373 agent.AgentID, RegionInfo.RegionName); 2387 agent.AgentID, RegionInfo.RegionName);
2388 //return false;
2374 } 2389 }
2375 2390
2376 CapsModule.AddCapsHandler(agent.AgentID); 2391 CapsModule.AddCapsHandler(agent.AgentID);
@@ -2402,6 +2417,8 @@ namespace OpenSim.Region.Framework.Scenes
2402 m_log.WarnFormat( 2417 m_log.WarnFormat(
2403 "[CONNECTION BEGIN]: We couldn't find a User Info record for {0}. This is usually an indication that the UUID we're looking up is invalid", agent.AgentID); 2418 "[CONNECTION BEGIN]: We couldn't find a User Info record for {0}. This is usually an indication that the UUID we're looking up is invalid", agent.AgentID);
2404 } 2419 }
2420
2421 return true;
2405 } 2422 }
2406 2423
2407 public void UpdateCircuitData(AgentCircuitData data) 2424 public void UpdateCircuitData(AgentCircuitData data)
@@ -2414,7 +2431,7 @@ namespace OpenSim.Region.Framework.Scenes
2414 return m_authenticateHandler.TryChangeCiruitCode(oldcc, newcc); 2431 return m_authenticateHandler.TryChangeCiruitCode(oldcc, newcc);
2415 } 2432 }
2416 2433
2417 protected void HandleLogOffUserFromGrid(UUID AvatarID, UUID RegionSecret, string message) 2434 public void HandleLogOffUserFromGrid(UUID AvatarID, UUID RegionSecret, string message)
2418 { 2435 {
2419 ScenePresence loggingOffUser = null; 2436 ScenePresence loggingOffUser = null;
2420 loggingOffUser = GetScenePresence(AvatarID); 2437 loggingOffUser = GetScenePresence(AvatarID);