diff options
Diffstat (limited to 'OpenSim/Region/CoreModules/Framework')
4 files changed, 28 insertions, 21 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 85d26f3..344c8d7 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | |||
@@ -817,7 +817,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
817 | "[ENTITY TRANSFER MODULE]: UpdateAgent failed on teleport of {0} to {1} from {2}. Keeping avatar in source region.", | 817 | "[ENTITY TRANSFER MODULE]: UpdateAgent failed on teleport of {0} to {1} from {2}. Keeping avatar in source region.", |
818 | sp.Name, finalDestination.RegionName, sp.Scene.RegionInfo.RegionName); | 818 | sp.Name, finalDestination.RegionName, sp.Scene.RegionInfo.RegionName); |
819 | 819 | ||
820 | Fail(sp, finalDestination, logout, "Connection between viewer and destination region could not be established."); | 820 | Fail(sp, finalDestination, logout, currentAgentCircuit.SessionID.ToString(), "Connection between viewer and destination region could not be established."); |
821 | return; | 821 | return; |
822 | } | 822 | } |
823 | 823 | ||
@@ -829,7 +829,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
829 | "[ENTITY TRANSFER MODULE]: Cancelled teleport of {0} to {1} from {2} after UpdateAgent on client request", | 829 | "[ENTITY TRANSFER MODULE]: Cancelled teleport of {0} to {1} from {2} after UpdateAgent on client request", |
830 | sp.Name, finalDestination.RegionName, sp.Scene.Name); | 830 | sp.Name, finalDestination.RegionName, sp.Scene.Name); |
831 | 831 | ||
832 | CleanupFailedInterRegionTeleport(sp, finalDestination); | 832 | CleanupFailedInterRegionTeleport(sp, currentAgentCircuit.SessionID.ToString(), finalDestination); |
833 | 833 | ||
834 | return; | 834 | return; |
835 | } | 835 | } |
@@ -873,7 +873,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
873 | "[ENTITY TRANSFER MODULE]: Teleport of {0} to {1} from {2} failed due to no callback from destination region. Returning avatar to source region.", | 873 | "[ENTITY TRANSFER MODULE]: Teleport of {0} to {1} from {2} failed due to no callback from destination region. Returning avatar to source region.", |
874 | sp.Name, finalDestination.RegionName, sp.Scene.RegionInfo.RegionName); | 874 | sp.Name, finalDestination.RegionName, sp.Scene.RegionInfo.RegionName); |
875 | 875 | ||
876 | Fail(sp, finalDestination, logout, "Destination region did not signal teleport completion."); | 876 | Fail(sp, finalDestination, logout, currentAgentCircuit.SessionID.ToString(), "Destination region did not signal teleport completion."); |
877 | 877 | ||
878 | return; | 878 | return; |
879 | } | 879 | } |
@@ -927,7 +927,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
927 | /// <remarks> | 927 | /// <remarks> |
928 | /// <param name='sp'> </param> | 928 | /// <param name='sp'> </param> |
929 | /// <param name='finalDestination'></param> | 929 | /// <param name='finalDestination'></param> |
930 | protected virtual void CleanupFailedInterRegionTeleport(ScenePresence sp, GridRegion finalDestination) | 930 | protected virtual void CleanupFailedInterRegionTeleport(ScenePresence sp, string auth_token, GridRegion finalDestination) |
931 | { | 931 | { |
932 | m_entityTransferStateMachine.UpdateInTransit(sp.UUID, AgentTransferState.CleaningUp); | 932 | m_entityTransferStateMachine.UpdateInTransit(sp.UUID, AgentTransferState.CleaningUp); |
933 | 933 | ||
@@ -938,7 +938,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
938 | 938 | ||
939 | // Finally, kill the agent we just created at the destination. | 939 | // Finally, kill the agent we just created at the destination. |
940 | // XXX: Possibly this should be done asynchronously. | 940 | // XXX: Possibly this should be done asynchronously. |
941 | Scene.SimulationService.CloseAgent(finalDestination, sp.UUID); | 941 | Scene.SimulationService.CloseAgent(finalDestination, sp.UUID, auth_token); |
942 | } | 942 | } |
943 | 943 | ||
944 | /// <summary> | 944 | /// <summary> |
@@ -948,9 +948,9 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
948 | /// <param name='finalDestination'></param> | 948 | /// <param name='finalDestination'></param> |
949 | /// <param name='logout'></param> | 949 | /// <param name='logout'></param> |
950 | /// <param name='reason'>Human readable reason for teleport failure. Will be sent to client.</param> | 950 | /// <param name='reason'>Human readable reason for teleport failure. Will be sent to client.</param> |
951 | protected virtual void Fail(ScenePresence sp, GridRegion finalDestination, bool logout, string reason) | 951 | protected virtual void Fail(ScenePresence sp, GridRegion finalDestination, bool logout, string auth_code, string reason) |
952 | { | 952 | { |
953 | CleanupFailedInterRegionTeleport(sp, finalDestination); | 953 | CleanupFailedInterRegionTeleport(sp, auth_code, finalDestination); |
954 | 954 | ||
955 | m_interRegionTeleportFailures.Value++; | 955 | m_interRegionTeleportFailures.Value++; |
956 | 956 | ||
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs index 759155a..76dbc72 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs | |||
@@ -207,6 +207,9 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
207 | { | 207 | { |
208 | m_GatekeeperConnector = new GatekeeperServiceConnector(scene.AssetService); | 208 | m_GatekeeperConnector = new GatekeeperServiceConnector(scene.AssetService); |
209 | m_UAS = scene.RequestModuleInterface<IUserAgentService>(); | 209 | m_UAS = scene.RequestModuleInterface<IUserAgentService>(); |
210 | if (m_UAS == null) | ||
211 | m_UAS = new UserAgentServiceConnector(m_ThisHomeURI); | ||
212 | |||
210 | } | 213 | } |
211 | } | 214 | } |
212 | 215 | ||
@@ -573,12 +576,12 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
573 | if (uMan != null && uMan.IsLocalGridUser(obj.AgentId)) | 576 | if (uMan != null && uMan.IsLocalGridUser(obj.AgentId)) |
574 | { | 577 | { |
575 | // local grid user | 578 | // local grid user |
579 | m_UAS.LogoutAgent(obj.AgentId, obj.SessionId); | ||
576 | return; | 580 | return; |
577 | } | 581 | } |
578 | 582 | ||
579 | AgentCircuitData aCircuit = ((Scene)(obj.Scene)).AuthenticateHandler.GetAgentCircuitData(obj.CircuitCode); | 583 | AgentCircuitData aCircuit = ((Scene)(obj.Scene)).AuthenticateHandler.GetAgentCircuitData(obj.CircuitCode); |
580 | 584 | if (aCircuit != null && aCircuit.ServiceURLs != null && aCircuit.ServiceURLs.ContainsKey("HomeURI")) | |
581 | if (aCircuit.ServiceURLs.ContainsKey("HomeURI")) | ||
582 | { | 585 | { |
583 | string url = aCircuit.ServiceURLs["HomeURI"].ToString(); | 586 | string url = aCircuit.ServiceURLs["HomeURI"].ToString(); |
584 | IUserAgentService security = new UserAgentServiceConnector(url); | 587 | IUserAgentService security = new UserAgentServiceConnector(url); |
diff --git a/OpenSim/Region/CoreModules/Framework/GridServiceThrottle/GridServiceThrottleModule.cs b/OpenSim/Region/CoreModules/Framework/GridServiceThrottle/GridServiceThrottleModule.cs index f1eb1ad..fd4d48a 100644 --- a/OpenSim/Region/CoreModules/Framework/GridServiceThrottle/GridServiceThrottleModule.cs +++ b/OpenSim/Region/CoreModules/Framework/GridServiceThrottle/GridServiceThrottleModule.cs | |||
@@ -140,11 +140,13 @@ namespace OpenSim.Region.CoreModules.Framework | |||
140 | Watchdog.UpdateThread(); | 140 | Watchdog.UpdateThread(); |
141 | 141 | ||
142 | GridRegionRequest request = m_RequestQueue.Dequeue(); | 142 | GridRegionRequest request = m_RequestQueue.Dequeue(); |
143 | GridRegion r = m_scenes[0].GridService.GetRegionByUUID(UUID.Zero, request.regionID); | 143 | if (request != null) |
144 | 144 | { | |
145 | if (r != null && r.RegionHandle != 0) | 145 | GridRegion r = m_scenes[0].GridService.GetRegionByUUID(UUID.Zero, request.regionID); |
146 | request.client.SendRegionHandle(request.regionID, r.RegionHandle); | ||
147 | 146 | ||
147 | if (r != null && r.RegionHandle != 0) | ||
148 | request.client.SendRegionHandle(request.regionID, r.RegionHandle); | ||
149 | } | ||
148 | } | 150 | } |
149 | } | 151 | } |
150 | } | 152 | } |
diff --git a/OpenSim/Region/CoreModules/Framework/UserManagement/UserManagementModule.cs b/OpenSim/Region/CoreModules/Framework/UserManagement/UserManagementModule.cs index a528093..507329e 100644 --- a/OpenSim/Region/CoreModules/Framework/UserManagement/UserManagementModule.cs +++ b/OpenSim/Region/CoreModules/Framework/UserManagement/UserManagementModule.cs | |||
@@ -681,17 +681,19 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement | |||
681 | Watchdog.UpdateThread(); | 681 | Watchdog.UpdateThread(); |
682 | 682 | ||
683 | NameRequest request = m_RequestQueue.Dequeue(); | 683 | NameRequest request = m_RequestQueue.Dequeue(); |
684 | string[] names; | 684 | if (request != null) |
685 | bool foundRealName = TryGetUserNames(request.uuid, out names); | ||
686 | |||
687 | if (names.Length == 2) | ||
688 | { | 685 | { |
689 | if (!foundRealName) | 686 | string[] names; |
690 | m_log.DebugFormat("[USER MANAGEMENT MODULE]: Sending {0} {1} for {2} to {3} since no bound name found", names[0], names[1], request.uuid, request.client.Name); | 687 | bool foundRealName = TryGetUserNames(request.uuid, out names); |
691 | 688 | ||
692 | request.client.SendNameReply(request.uuid, names[0], names[1]); | 689 | if (names.Length == 2) |
693 | } | 690 | { |
691 | if (!foundRealName) | ||
692 | m_log.DebugFormat("[USER MANAGEMENT MODULE]: Sending {0} {1} for {2} to {3} since no bound name found", names[0], names[1], request.uuid, request.client.Name); | ||
694 | 693 | ||
694 | request.client.SendNameReply(request.uuid, names[0], names[1]); | ||
695 | } | ||
696 | } | ||
695 | } | 697 | } |
696 | } | 698 | } |
697 | 699 | ||