diff options
author | Diva Canto | 2010-08-03 16:02:52 -0700 |
---|---|---|
committer | Diva Canto | 2010-08-03 16:02:52 -0700 |
commit | 239478f3a9b0f651b451282cd204269545b025d9 (patch) | |
tree | 98294f6b0ef742f020d4d4078a472b7b2a45db51 /OpenSim/Services/HypergridService/UserAgentService.cs | |
parent | Remove the (wrong) implementation if llPointAt. It never worked on the LL (diff) | |
download | opensim-SC-239478f3a9b0f651b451282cd204269545b025d9.zip opensim-SC-239478f3a9b0f651b451282cd204269545b025d9.tar.gz opensim-SC-239478f3a9b0f651b451282cd204269545b025d9.tar.bz2 opensim-SC-239478f3a9b0f651b451282cd204269545b025d9.tar.xz |
Bug fix (HG): mantis #4891. This doesn't actually fix the underlying bug, but it clears up the circular dependency issue between Gatekeeper and UserAgents that had made me resort to in-process remote calls, which, in turn, were hitting bugs down there somewhere in mono.
NOTE: CONFIGURATION CHANGE IN ROBUST.HG.INI.EXAMPLE !!!###!!!
Diffstat (limited to 'OpenSim/Services/HypergridService/UserAgentService.cs')
-rw-r--r-- | OpenSim/Services/HypergridService/UserAgentService.cs | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/OpenSim/Services/HypergridService/UserAgentService.cs b/OpenSim/Services/HypergridService/UserAgentService.cs index aec82e8..4bee4b5 100644 --- a/OpenSim/Services/HypergridService/UserAgentService.cs +++ b/OpenSim/Services/HypergridService/UserAgentService.cs | |||
@@ -61,7 +61,8 @@ namespace OpenSim.Services.HypergridService | |||
61 | 61 | ||
62 | protected static IGridUserService m_GridUserService; | 62 | protected static IGridUserService m_GridUserService; |
63 | protected static IGridService m_GridService; | 63 | protected static IGridService m_GridService; |
64 | protected static GatekeeperServiceConnector m_GatekeeperConnector; | 64 | //protected static GatekeeperServiceConnector m_GatekeeperConnector; |
65 | protected static IGatekeeperService m_GatekeeperService; | ||
65 | 66 | ||
66 | protected static bool m_BypassClientVerification; | 67 | protected static bool m_BypassClientVerification; |
67 | 68 | ||
@@ -69,6 +70,8 @@ namespace OpenSim.Services.HypergridService | |||
69 | { | 70 | { |
70 | if (!m_Initialized) | 71 | if (!m_Initialized) |
71 | { | 72 | { |
73 | m_Initialized = true; | ||
74 | |||
72 | m_log.DebugFormat("[HOME USERS SECURITY]: Starting..."); | 75 | m_log.DebugFormat("[HOME USERS SECURITY]: Starting..."); |
73 | 76 | ||
74 | IConfig serverConfig = config.Configs["UserAgentService"]; | 77 | IConfig serverConfig = config.Configs["UserAgentService"]; |
@@ -77,18 +80,18 @@ namespace OpenSim.Services.HypergridService | |||
77 | 80 | ||
78 | string gridService = serverConfig.GetString("GridService", String.Empty); | 81 | string gridService = serverConfig.GetString("GridService", String.Empty); |
79 | string gridUserService = serverConfig.GetString("GridUserService", String.Empty); | 82 | string gridUserService = serverConfig.GetString("GridUserService", String.Empty); |
83 | string gatekeeperService = serverConfig.GetString("GatekeeperService", String.Empty); | ||
80 | 84 | ||
81 | m_BypassClientVerification = serverConfig.GetBoolean("BypassClientVerification", false); | 85 | m_BypassClientVerification = serverConfig.GetBoolean("BypassClientVerification", false); |
82 | 86 | ||
83 | if (gridService == string.Empty || gridUserService == string.Empty) | 87 | if (gridService == string.Empty || gridUserService == string.Empty || gatekeeperService == string.Empty) |
84 | throw new Exception(String.Format("Incomplete specifications, UserAgent Service cannot function.")); | 88 | throw new Exception(String.Format("Incomplete specifications, UserAgent Service cannot function.")); |
85 | 89 | ||
86 | Object[] args = new Object[] { config }; | 90 | Object[] args = new Object[] { config }; |
87 | m_GridService = ServerUtils.LoadPlugin<IGridService>(gridService, args); | 91 | m_GridService = ServerUtils.LoadPlugin<IGridService>(gridService, args); |
88 | m_GridUserService = ServerUtils.LoadPlugin<IGridUserService>(gridUserService, args); | 92 | m_GridUserService = ServerUtils.LoadPlugin<IGridUserService>(gridUserService, args); |
89 | m_GatekeeperConnector = new GatekeeperServiceConnector(); | 93 | //m_GatekeeperConnector = new GatekeeperServiceConnector(); |
90 | 94 | m_GatekeeperService = ServerUtils.LoadPlugin<IGatekeeperService>(gatekeeperService, args); | |
91 | m_Initialized = true; | ||
92 | } | 95 | } |
93 | } | 96 | } |
94 | 97 | ||
@@ -135,7 +138,8 @@ namespace OpenSim.Services.HypergridService | |||
135 | agentCircuit.ServiceSessionID = "http://" + region.ExternalHostName + ":" + region.HttpPort + ";" + UUID.Random(); | 138 | agentCircuit.ServiceSessionID = "http://" + region.ExternalHostName + ":" + region.HttpPort + ";" + UUID.Random(); |
136 | TravelingAgentInfo old = UpdateTravelInfo(agentCircuit, region); | 139 | TravelingAgentInfo old = UpdateTravelInfo(agentCircuit, region); |
137 | 140 | ||
138 | bool success = m_GatekeeperConnector.CreateAgent(region, agentCircuit, (uint)Constants.TeleportFlags.ViaLogin, out reason); | 141 | //bool success = m_GatekeeperConnector.CreateAgent(region, agentCircuit, (uint)Constants.TeleportFlags.ViaLogin, out reason); |
142 | bool success = m_GatekeeperService.LoginAgent(agentCircuit, finalDestination, out reason); | ||
139 | 143 | ||
140 | if (!success) | 144 | if (!success) |
141 | { | 145 | { |