diff options
author | MW | 2009-03-03 15:41:21 +0000 |
---|---|---|
committer | MW | 2009-03-03 15:41:21 +0000 |
commit | 171015f65fc2226b92b0f881a49e0110445e5045 (patch) | |
tree | e4d1dcbb4739cc61057dd3d89dc278ed67e56c29 /OpenSim/Region | |
parent | Refactoring of CreateCommsManagerPlugin. (diff) | |
download | opensim-SC_OLD-171015f65fc2226b92b0f881a49e0110445e5045.zip opensim-SC_OLD-171015f65fc2226b92b0f881a49e0110445e5045.tar.gz opensim-SC_OLD-171015f65fc2226b92b0f881a49e0110445e5045.tar.bz2 opensim-SC_OLD-171015f65fc2226b92b0f881a49e0110445e5045.tar.xz |
Moved Linden protocol login handling to modules in OpenSim.Client.Linden. There are two region modules in there LLStandaloneLoginModule (for standalone mode) and LLProxyLoginModule (for grid mode which just handles incoming expect_user and logoff_user messages from the remote login server)
Changed OpenSim.Framework.Communications.Tests.LoginServiceTests to use the LLStandaloneLoginService (from the LLStandaloneLoginModule) rather than LocalLoginService. Really these login tests should most likely be somewhere else as they are testing specific implementations of login services.
Commented out the old LocalLoginService as its no longer used, but want to check there are no problems before it gets deleted.
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Communications/Local/LocalLoginService.cs | 4 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 27 |
2 files changed, 25 insertions, 6 deletions
diff --git a/OpenSim/Region/Communications/Local/LocalLoginService.cs b/OpenSim/Region/Communications/Local/LocalLoginService.cs index 4e0ed13..bd2910f 100644 --- a/OpenSim/Region/Communications/Local/LocalLoginService.cs +++ b/OpenSim/Region/Communications/Local/LocalLoginService.cs | |||
@@ -39,6 +39,7 @@ using OpenSim.Framework.Communications.Capabilities; | |||
39 | 39 | ||
40 | namespace OpenSim.Region.Communications.Local | 40 | namespace OpenSim.Region.Communications.Local |
41 | { | 41 | { |
42 | /* | ||
42 | public delegate void LoginToRegionEvent(ulong regionHandle, Login login); | 43 | public delegate void LoginToRegionEvent(ulong regionHandle, Login login); |
43 | 44 | ||
44 | public class LocalLoginService : LoginService | 45 | public class LocalLoginService : LoginService |
@@ -168,6 +169,7 @@ namespace OpenSim.Region.Communications.Local | |||
168 | } | 169 | } |
169 | else | 170 | else |
170 | { | 171 | { |
172 | m_log.InfoFormat("not found the region at {0} {1}", theUser.HomeRegionX, theUser.HomeRegionY); | ||
171 | // Emergency mode: Home-region isn't available, so we can't request the region info. | 173 | // Emergency mode: Home-region isn't available, so we can't request the region info. |
172 | // Use the stored home regionHandle instead. | 174 | // Use the stored home regionHandle instead. |
173 | // NOTE: If the home-region moves, this will be wrong until the users update their user-profile again | 175 | // NOTE: If the home-region moves, this will be wrong until the users update their user-profile again |
@@ -427,5 +429,5 @@ namespace OpenSim.Region.Communications.Local | |||
427 | m_gridService.TriggerLogOffUser(SimInfo.RegionHandle, theUser.ID, theUser.CurrentAgent.SecureSessionID, "Logging you off"); | 429 | m_gridService.TriggerLogOffUser(SimInfo.RegionHandle, theUser.ID, theUser.CurrentAgent.SecureSessionID, "Logging you off"); |
428 | } | 430 | } |
429 | 431 | ||
430 | } | 432 | }*/ |
431 | } | 433 | } |
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); |