aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Services
diff options
context:
space:
mode:
authorBlueWall2011-01-27 08:53:57 -0500
committerBlueWall2011-01-27 08:53:57 -0500
commitd89d9d1b1310d494fbb7712057eab8a196e10a04 (patch)
tree62834b7f5954aa8f013a159ee2fc3ccee385e673 /OpenSim/Services
parentMake FireAndForgetWrapper a singleton class (diff)
parentMake it work (diff)
downloadopensim-SC-d89d9d1b1310d494fbb7712057eab8a196e10a04.zip
opensim-SC-d89d9d1b1310d494fbb7712057eab8a196e10a04.tar.gz
opensim-SC-d89d9d1b1310d494fbb7712057eab8a196e10a04.tar.bz2
opensim-SC-d89d9d1b1310d494fbb7712057eab8a196e10a04.tar.xz
Merge branch 'master' of /home/opensim/src/OpenSim/Core
Diffstat (limited to 'OpenSim/Services')
-rw-r--r--OpenSim/Services/Connectors/SimianGrid/SimianGridServiceConnector.cs6
-rw-r--r--OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs4
-rw-r--r--OpenSim/Services/Connectors/SimianGrid/SimianPresenceServiceConnector.cs27
-rw-r--r--OpenSim/Services/Connectors/SimianGrid/SimianUserAccountServiceConnector.cs8
-rw-r--r--OpenSim/Services/Connectors/Simulation/EstateDataService.cs6
-rw-r--r--OpenSim/Services/Connectors/Simulation/SimulationDataService.cs6
-rw-r--r--OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs6
-rw-r--r--OpenSim/Services/HypergridService/GatekeeperService.cs2
-rw-r--r--OpenSim/Services/HypergridService/UserAccountCache.cs7
-rw-r--r--OpenSim/Services/LLLoginService/LLLoginResponse.cs2
-rw-r--r--OpenSim/Services/LLLoginService/LLLoginService.cs25
11 files changed, 53 insertions, 46 deletions
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianGridServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianGridServiceConnector.cs
index 18a31670..918544f 100644
--- a/OpenSim/Services/Connectors/SimianGrid/SimianGridServiceConnector.cs
+++ b/OpenSim/Services/Connectors/SimianGrid/SimianGridServiceConnector.cs
@@ -56,7 +56,7 @@ namespace OpenSim.Services.Connectors.SimianGrid
56 MethodBase.GetCurrentMethod().DeclaringType); 56 MethodBase.GetCurrentMethod().DeclaringType);
57 57
58 private string m_ServerURI = String.Empty; 58 private string m_ServerURI = String.Empty;
59 private bool m_Enabled = false; 59// private bool m_Enabled = false;
60 60
61 public SimianGridServiceConnector() { } 61 public SimianGridServiceConnector() { }
62 public SimianGridServiceConnector(string serverURI) 62 public SimianGridServiceConnector(string serverURI)
@@ -93,7 +93,7 @@ namespace OpenSim.Services.Connectors.SimianGrid
93 if (!serviceUrl.EndsWith("/") && !serviceUrl.EndsWith("=")) 93 if (!serviceUrl.EndsWith("/") && !serviceUrl.EndsWith("="))
94 serviceUrl = serviceUrl + '/'; 94 serviceUrl = serviceUrl + '/';
95 m_ServerURI = serviceUrl; 95 m_ServerURI = serviceUrl;
96 m_Enabled = true; 96// m_Enabled = true;
97 } 97 }
98 98
99 #region IGridService 99 #region IGridService
@@ -175,7 +175,7 @@ namespace OpenSim.Services.Connectors.SimianGrid
175 } 175 }
176 } 176 }
177 177
178 m_log.Debug("[SIMIAN GRID CONNECTOR]: Found " + regions.Count + " neighbors for region " + regionID); 178// m_log.Debug("[SIMIAN GRID CONNECTOR]: Found " + regions.Count + " neighbors for region " + regionID);
179 return regions; 179 return regions;
180 } 180 }
181 181
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs
index 61f3fbe..39df1f5 100644
--- a/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs
+++ b/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs
@@ -757,7 +757,7 @@ namespace OpenSim.Services.Connectors.SimianGrid
757 } 757 }
758 } 758 }
759 759
760 m_log.Debug("[SIMIAN INVENTORY CONNECTOR]: Parsed " + invFolders.Count + " folders from SimianGrid response"); 760// m_log.Debug("[SIMIAN INVENTORY CONNECTOR]: Parsed " + invFolders.Count + " folders from SimianGrid response");
761 return invFolders; 761 return invFolders;
762 } 762 }
763 763
@@ -824,7 +824,7 @@ namespace OpenSim.Services.Connectors.SimianGrid
824 } 824 }
825 } 825 }
826 826
827 m_log.Debug("[SIMIAN INVENTORY CONNECTOR]: Parsed " + invItems.Count + " items from SimianGrid response"); 827// m_log.Debug("[SIMIAN INVENTORY CONNECTOR]: Parsed " + invItems.Count + " items from SimianGrid response");
828 return invItems; 828 return invItems;
829 } 829 }
830 830
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianPresenceServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianPresenceServiceConnector.cs
index 8141420..678f738 100644
--- a/OpenSim/Services/Connectors/SimianGrid/SimianPresenceServiceConnector.cs
+++ b/OpenSim/Services/Connectors/SimianGrid/SimianPresenceServiceConnector.cs
@@ -158,7 +158,7 @@ namespace OpenSim.Services.Connectors.SimianGrid
158 158
159 public bool LogoutAgent(UUID sessionID) 159 public bool LogoutAgent(UUID sessionID)
160 { 160 {
161 m_log.InfoFormat("[SIMIAN PRESENCE CONNECTOR]: Logout requested for agent with sessionID " + sessionID); 161// m_log.InfoFormat("[SIMIAN PRESENCE CONNECTOR]: Logout requested for agent with sessionID " + sessionID);
162 162
163 NameValueCollection requestArgs = new NameValueCollection 163 NameValueCollection requestArgs = new NameValueCollection
164 { 164 {
@@ -177,7 +177,7 @@ namespace OpenSim.Services.Connectors.SimianGrid
177 177
178 public bool LogoutRegionAgents(UUID regionID) 178 public bool LogoutRegionAgents(UUID regionID)
179 { 179 {
180 m_log.InfoFormat("[SIMIAN PRESENCE CONNECTOR]: Logout requested for all agents in region " + regionID); 180// m_log.InfoFormat("[SIMIAN PRESENCE CONNECTOR]: Logout requested for all agents in region " + regionID);
181 181
182 NameValueCollection requestArgs = new NameValueCollection 182 NameValueCollection requestArgs = new NameValueCollection
183 { 183 {
@@ -202,7 +202,7 @@ namespace OpenSim.Services.Connectors.SimianGrid
202 202
203 public PresenceInfo GetAgent(UUID sessionID) 203 public PresenceInfo GetAgent(UUID sessionID)
204 { 204 {
205 m_log.DebugFormat("[SIMIAN PRESENCE CONNECTOR]: Requesting session data for agent with sessionID " + sessionID); 205// m_log.DebugFormat("[SIMIAN PRESENCE CONNECTOR]: Requesting session data for agent with sessionID " + sessionID);
206 206
207 NameValueCollection requestArgs = new NameValueCollection 207 NameValueCollection requestArgs = new NameValueCollection
208 { 208 {
@@ -262,7 +262,7 @@ namespace OpenSim.Services.Connectors.SimianGrid
262 262
263 public bool LoggedOut(string userID, UUID sessionID, UUID regionID, Vector3 lastPosition, Vector3 lastLookAt) 263 public bool LoggedOut(string userID, UUID sessionID, UUID regionID, Vector3 lastPosition, Vector3 lastLookAt)
264 { 264 {
265 m_log.DebugFormat("[SIMIAN PRESENCE CONNECTOR]: Logging out user " + userID); 265// m_log.DebugFormat("[SIMIAN PRESENCE CONNECTOR]: Logging out user " + userID);
266 266
267 // Remove the session to mark this user offline 267 // Remove the session to mark this user offline
268 if (!LogoutAgent(sessionID)) 268 if (!LogoutAgent(sessionID))
@@ -287,7 +287,7 @@ namespace OpenSim.Services.Connectors.SimianGrid
287 287
288 public bool SetHome(string userID, UUID regionID, Vector3 position, Vector3 lookAt) 288 public bool SetHome(string userID, UUID regionID, Vector3 position, Vector3 lookAt)
289 { 289 {
290 m_log.DebugFormat("[SIMIAN PRESENCE CONNECTOR]: Setting home location for user " + userID); 290// m_log.DebugFormat("[SIMIAN PRESENCE CONNECTOR]: Setting home location for user " + userID);
291 291
292 NameValueCollection requestArgs = new NameValueCollection 292 NameValueCollection requestArgs = new NameValueCollection
293 { 293 {
@@ -312,10 +312,10 @@ namespace OpenSim.Services.Connectors.SimianGrid
312 312
313 public GridUserInfo GetGridUserInfo(string user) 313 public GridUserInfo GetGridUserInfo(string user)
314 { 314 {
315 m_log.DebugFormat("[SIMIAN PRESENCE CONNECTOR]: Requesting session data for agent " + user); 315// m_log.DebugFormat("[SIMIAN PRESENCE CONNECTOR]: Requesting session data for agent " + user);
316 316
317 UUID userID = new UUID(user); 317 UUID userID = new UUID(user);
318 m_log.DebugFormat("[SIMIAN PRESENCE CONNECTOR]: Requesting user data for " + userID); 318// m_log.DebugFormat("[SIMIAN PRESENCE CONNECTOR]: Requesting user data for " + userID);
319 319
320 NameValueCollection requestArgs = new NameValueCollection 320 NameValueCollection requestArgs = new NameValueCollection
321 { 321 {
@@ -338,7 +338,7 @@ namespace OpenSim.Services.Connectors.SimianGrid
338 338
339 private OSDMap GetUserData(UUID userID) 339 private OSDMap GetUserData(UUID userID)
340 { 340 {
341 m_log.DebugFormat("[SIMIAN PRESENCE CONNECTOR]: Requesting user data for " + userID); 341// m_log.DebugFormat("[SIMIAN PRESENCE CONNECTOR]: Requesting user data for " + userID);
342 342
343 NameValueCollection requestArgs = new NameValueCollection 343 NameValueCollection requestArgs = new NameValueCollection
344 { 344 {
@@ -362,7 +362,7 @@ namespace OpenSim.Services.Connectors.SimianGrid
362 OSDMap userResponse = GetUserData(userID); 362 OSDMap userResponse = GetUserData(userID);
363 if (userResponse != null) 363 if (userResponse != null)
364 { 364 {
365 m_log.DebugFormat("[SIMIAN PRESENCE CONNECTOR]: Requesting sessions for " + userID); 365// m_log.DebugFormat("[SIMIAN PRESENCE CONNECTOR]: Requesting sessions for " + userID);
366 366
367 NameValueCollection requestArgs = new NameValueCollection 367 NameValueCollection requestArgs = new NameValueCollection
368 { 368 {
@@ -377,10 +377,10 @@ namespace OpenSim.Services.Connectors.SimianGrid
377 if (presence != null) 377 if (presence != null)
378 presences.Add(presence); 378 presences.Add(presence);
379 } 379 }
380 else 380// else
381 { 381// {
382 m_log.Debug("[SIMIAN PRESENCE CONNECTOR]: No session returned for " + userID + ": " + response["Message"].AsString()); 382// m_log.Debug("[SIMIAN PRESENCE CONNECTOR]: No session returned for " + userID + ": " + response["Message"].AsString());
383 } 383// }
384 } 384 }
385 385
386 return presences; 386 return presences;
@@ -424,7 +424,6 @@ namespace OpenSim.Services.Connectors.SimianGrid
424 { 424 {
425 if (userResponse != null && userResponse["User"] is OSDMap) 425 if (userResponse != null && userResponse["User"] is OSDMap)
426 { 426 {
427
428 GridUserInfo info = new GridUserInfo(); 427 GridUserInfo info = new GridUserInfo();
429 428
430 info.Online = true; 429 info.Online = true;
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianUserAccountServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianUserAccountServiceConnector.cs
index 9c150ee..91e2976 100644
--- a/OpenSim/Services/Connectors/SimianGrid/SimianUserAccountServiceConnector.cs
+++ b/OpenSim/Services/Connectors/SimianGrid/SimianUserAccountServiceConnector.cs
@@ -157,7 +157,7 @@ namespace OpenSim.Services.Connectors.SimianGrid
157 { 157 {
158 List<UserAccount> accounts = new List<UserAccount>(); 158 List<UserAccount> accounts = new List<UserAccount>();
159 159
160 m_log.DebugFormat("[SIMIAN ACCOUNT CONNECTOR]: Searching for user accounts with name query " + query); 160// m_log.DebugFormat("[SIMIAN ACCOUNT CONNECTOR]: Searching for user accounts with name query " + query);
161 161
162 NameValueCollection requestArgs = new NameValueCollection 162 NameValueCollection requestArgs = new NameValueCollection
163 { 163 {
@@ -193,7 +193,7 @@ namespace OpenSim.Services.Connectors.SimianGrid
193 193
194 public bool StoreUserAccount(UserAccount data) 194 public bool StoreUserAccount(UserAccount data)
195 { 195 {
196 m_log.InfoFormat("[SIMIAN ACCOUNT CONNECTOR]: Storing user account for " + data.Name); 196// m_log.InfoFormat("[SIMIAN ACCOUNT CONNECTOR]: Storing user account for " + data.Name);
197 197
198 NameValueCollection requestArgs = new NameValueCollection 198 NameValueCollection requestArgs = new NameValueCollection
199 { 199 {
@@ -250,7 +250,7 @@ namespace OpenSim.Services.Connectors.SimianGrid
250 private UserAccount GetUser(NameValueCollection requestArgs) 250 private UserAccount GetUser(NameValueCollection requestArgs)
251 { 251 {
252 string lookupValue = (requestArgs.Count > 1) ? requestArgs[1] : "(Unknown)"; 252 string lookupValue = (requestArgs.Count > 1) ? requestArgs[1] : "(Unknown)";
253 m_log.DebugFormat("[SIMIAN ACCOUNT CONNECTOR]: Looking up user account with query: " + lookupValue); 253// m_log.DebugFormat("[SIMIAN ACCOUNT CONNECTOR]: Looking up user account with query: " + lookupValue);
254 254
255 OSDMap response = WebUtil.PostToService(m_serverUrl, requestArgs); 255 OSDMap response = WebUtil.PostToService(m_serverUrl, requestArgs);
256 if (response["Success"].AsBoolean()) 256 if (response["Success"].AsBoolean())
@@ -325,4 +325,4 @@ namespace OpenSim.Services.Connectors.SimianGrid
325 } 325 }
326 } 326 }
327 } 327 }
328} 328} \ No newline at end of file
diff --git a/OpenSim/Services/Connectors/Simulation/EstateDataService.cs b/OpenSim/Services/Connectors/Simulation/EstateDataService.cs
index 8a8b46d..b6df5a2 100644
--- a/OpenSim/Services/Connectors/Simulation/EstateDataService.cs
+++ b/OpenSim/Services/Connectors/Simulation/EstateDataService.cs
@@ -43,9 +43,9 @@ namespace OpenSim.Services.Connectors
43{ 43{
44 public class EstateDataService : ServiceBase, IEstateDataService 44 public class EstateDataService : ServiceBase, IEstateDataService
45 { 45 {
46 private static readonly ILog m_log = 46// private static readonly ILog m_log =
47 LogManager.GetLogger( 47// LogManager.GetLogger(
48 MethodBase.GetCurrentMethod().DeclaringType); 48// MethodBase.GetCurrentMethod().DeclaringType);
49 49
50 protected IEstateDataStore m_database; 50 protected IEstateDataStore m_database;
51 51
diff --git a/OpenSim/Services/Connectors/Simulation/SimulationDataService.cs b/OpenSim/Services/Connectors/Simulation/SimulationDataService.cs
index 0df9380..ccef50b 100644
--- a/OpenSim/Services/Connectors/Simulation/SimulationDataService.cs
+++ b/OpenSim/Services/Connectors/Simulation/SimulationDataService.cs
@@ -43,9 +43,9 @@ namespace OpenSim.Services.Connectors
43{ 43{
44 public class SimulationDataService : ServiceBase, ISimulationDataService 44 public class SimulationDataService : ServiceBase, ISimulationDataService
45 { 45 {
46 private static readonly ILog m_log = 46// private static readonly ILog m_log =
47 LogManager.GetLogger( 47// LogManager.GetLogger(
48 MethodBase.GetCurrentMethod().DeclaringType); 48// MethodBase.GetCurrentMethod().DeclaringType);
49 49
50 protected ISimulationDataStore m_database; 50 protected ISimulationDataStore m_database;
51 51
diff --git a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs
index f34c2bd..143c296 100644
--- a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs
+++ b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs
@@ -237,7 +237,7 @@ namespace OpenSim.Services.Connectors.Simulation
237 237
238 try 238 try
239 { 239 {
240 OSDMap result = WebUtil.ServiceOSDRequest(uri,null,"DELETE",10000); 240 WebUtil.ServiceOSDRequest(uri, null, "DELETE", 10000);
241 } 241 }
242 catch (Exception e) 242 catch (Exception e)
243 { 243 {
@@ -257,7 +257,7 @@ namespace OpenSim.Services.Connectors.Simulation
257 257
258 try 258 try
259 { 259 {
260 OSDMap result = WebUtil.ServiceOSDRequest(uri,null,"DELETE",10000); 260 WebUtil.ServiceOSDRequest(uri, null, "DELETE", 10000);
261 } 261 }
262 catch (Exception e) 262 catch (Exception e)
263 { 263 {
@@ -303,7 +303,7 @@ namespace OpenSim.Services.Connectors.Simulation
303 args["destination_name"] = OSD.FromString(destination.RegionName); 303 args["destination_name"] = OSD.FromString(destination.RegionName);
304 args["destination_uuid"] = OSD.FromString(destination.RegionID.ToString()); 304 args["destination_uuid"] = OSD.FromString(destination.RegionID.ToString());
305 305
306 OSDMap result = WebUtil.PostToService(uri,args); 306 WebUtil.PostToService(uri, args);
307 } 307 }
308 catch (Exception e) 308 catch (Exception e)
309 { 309 {
diff --git a/OpenSim/Services/HypergridService/GatekeeperService.cs b/OpenSim/Services/HypergridService/GatekeeperService.cs
index bbddd87..b66bfed 100644
--- a/OpenSim/Services/HypergridService/GatekeeperService.cs
+++ b/OpenSim/Services/HypergridService/GatekeeperService.cs
@@ -303,7 +303,7 @@ namespace OpenSim.Services.HypergridService
303 return m_UserAgentService.VerifyAgent(aCircuit.SessionID, aCircuit.ServiceSessionID); 303 return m_UserAgentService.VerifyAgent(aCircuit.SessionID, aCircuit.ServiceSessionID);
304 else 304 else
305 { 305 {
306 Object[] args = new Object[] { userURL }; 306// Object[] args = new Object[] { userURL };
307 IUserAgentService userAgentService = new UserAgentServiceConnector(userURL); 307 IUserAgentService userAgentService = new UserAgentServiceConnector(userURL);
308 if (userAgentService != null) 308 if (userAgentService != null)
309 { 309 {
diff --git a/OpenSim/Services/HypergridService/UserAccountCache.cs b/OpenSim/Services/HypergridService/UserAccountCache.cs
index 3e9aea1..65f9dd5 100644
--- a/OpenSim/Services/HypergridService/UserAccountCache.cs
+++ b/OpenSim/Services/HypergridService/UserAccountCache.cs
@@ -13,9 +13,10 @@ namespace OpenSim.Services.HypergridService
13 { 13 {
14 private const double CACHE_EXPIRATION_SECONDS = 120000.0; // 33 hours! 14 private const double CACHE_EXPIRATION_SECONDS = 120000.0; // 33 hours!
15 15
16 private static readonly ILog m_log = 16// private static readonly ILog m_log =
17 LogManager.GetLogger( 17// LogManager.GetLogger(
18 MethodBase.GetCurrentMethod().DeclaringType); 18// MethodBase.GetCurrentMethod().DeclaringType);
19
19 private ExpiringCache<UUID, UserAccount> m_UUIDCache; 20 private ExpiringCache<UUID, UserAccount> m_UUIDCache;
20 21
21 private IUserAccountService m_UserAccountService; 22 private IUserAccountService m_UserAccountService;
diff --git a/OpenSim/Services/LLLoginService/LLLoginResponse.cs b/OpenSim/Services/LLLoginService/LLLoginResponse.cs
index f985ab2..ebd6f7c 100644
--- a/OpenSim/Services/LLLoginService/LLLoginResponse.cs
+++ b/OpenSim/Services/LLLoginService/LLLoginResponse.cs
@@ -661,7 +661,7 @@ namespace OpenSim.Services.LLLoginService
661 protected virtual ArrayList GetInventoryLibrary(ILibraryService library) 661 protected virtual ArrayList GetInventoryLibrary(ILibraryService library)
662 { 662 {
663 Dictionary<UUID, InventoryFolderImpl> rootFolders = library.GetAllFolders(); 663 Dictionary<UUID, InventoryFolderImpl> rootFolders = library.GetAllFolders();
664 m_log.DebugFormat("[LLOGIN]: Library has {0} folders", rootFolders.Count); 664// m_log.DebugFormat("[LLOGIN]: Library has {0} folders", rootFolders.Count);
665 //Dictionary<UUID, InventoryFolderImpl> rootFolders = new Dictionary<UUID,InventoryFolderImpl>(); 665 //Dictionary<UUID, InventoryFolderImpl> rootFolders = new Dictionary<UUID,InventoryFolderImpl>();
666 ArrayList folderHashes = new ArrayList(); 666 ArrayList folderHashes = new ArrayList();
667 667
diff --git a/OpenSim/Services/LLLoginService/LLLoginService.cs b/OpenSim/Services/LLLoginService/LLLoginService.cs
index 281b6e3..d364aa4 100644
--- a/OpenSim/Services/LLLoginService/LLLoginService.cs
+++ b/OpenSim/Services/LLLoginService/LLLoginService.cs
@@ -282,7 +282,7 @@ namespace OpenSim.Services.LLLoginService
282 282
283 // Get active gestures 283 // Get active gestures
284 List<InventoryItemBase> gestures = m_InventoryService.GetActiveGestures(account.PrincipalID); 284 List<InventoryItemBase> gestures = m_InventoryService.GetActiveGestures(account.PrincipalID);
285 m_log.DebugFormat("[LLOGIN SERVICE]: {0} active gestures", gestures.Count); 285// m_log.DebugFormat("[LLOGIN SERVICE]: {0} active gestures", gestures.Count);
286 286
287 // 287 //
288 // Login the presence 288 // Login the presence
@@ -320,7 +320,8 @@ namespace OpenSim.Services.LLLoginService
320 Vector3 position = Vector3.Zero; 320 Vector3 position = Vector3.Zero;
321 Vector3 lookAt = Vector3.Zero; 321 Vector3 lookAt = Vector3.Zero;
322 GridRegion gatekeeper = null; 322 GridRegion gatekeeper = null;
323 GridRegion destination = FindDestination(account, scopeID, guinfo, session, startLocation, home, out gatekeeper, out where, out position, out lookAt); 323 TeleportFlags flags;
324 GridRegion destination = FindDestination(account, scopeID, guinfo, session, startLocation, home, out gatekeeper, out where, out position, out lookAt, out flags);
324 if (destination == null) 325 if (destination == null)
325 { 326 {
326 m_PresenceService.LogoutAgent(session); 327 m_PresenceService.LogoutAgent(session);
@@ -328,6 +329,8 @@ namespace OpenSim.Services.LLLoginService
328 return LLFailedLoginResponse.GridProblem; 329 return LLFailedLoginResponse.GridProblem;
329 } 330 }
330 331
332 if (account.UserLevel >= 200)
333 flags |= TeleportFlags.Godlike;
331 // 334 //
332 // Get the avatar 335 // Get the avatar
333 // 336 //
@@ -343,7 +346,7 @@ namespace OpenSim.Services.LLLoginService
343 string reason = string.Empty; 346 string reason = string.Empty;
344 GridRegion dest; 347 GridRegion dest;
345 AgentCircuitData aCircuit = LaunchAgentAtGrid(gatekeeper, destination, account, avatar, session, secureSession, position, where, 348 AgentCircuitData aCircuit = LaunchAgentAtGrid(gatekeeper, destination, account, avatar, session, secureSession, position, where,
346 clientVersion, channel, mac, id0, clientIP, out where, out reason, out dest); 349 clientVersion, channel, mac, id0, clientIP, flags, out where, out reason, out dest);
347 destination = dest; 350 destination = dest;
348 if (aCircuit == null) 351 if (aCircuit == null)
349 { 352 {
@@ -378,8 +381,10 @@ namespace OpenSim.Services.LLLoginService
378 } 381 }
379 } 382 }
380 383
381 protected GridRegion FindDestination(UserAccount account, UUID scopeID, GridUserInfo pinfo, UUID sessionID, string startLocation, GridRegion home, out GridRegion gatekeeper, out string where, out Vector3 position, out Vector3 lookAt) 384 protected GridRegion FindDestination(UserAccount account, UUID scopeID, GridUserInfo pinfo, UUID sessionID, string startLocation, GridRegion home, out GridRegion gatekeeper, out string where, out Vector3 position, out Vector3 lookAt, out TeleportFlags flags)
382 { 385 {
386 flags = TeleportFlags.ViaLogin;
387
383 m_log.DebugFormat("[LLOGIN SERVICE]: FindDestination for start location {0}", startLocation); 388 m_log.DebugFormat("[LLOGIN SERVICE]: FindDestination for start location {0}", startLocation);
384 389
385 gatekeeper = null; 390 gatekeeper = null;
@@ -473,6 +478,8 @@ namespace OpenSim.Services.LLLoginService
473 } 478 }
474 else 479 else
475 { 480 {
481 flags |= TeleportFlags.ViaRegionID;
482
476 // free uri form 483 // free uri form
477 // e.g. New Moon&135&46 New Moon@osgrid.org:8002&153&34 484 // e.g. New Moon&135&46 New Moon@osgrid.org:8002&153&34
478 where = "url"; 485 where = "url";
@@ -624,7 +631,7 @@ namespace OpenSim.Services.LLLoginService
624 631
625 protected AgentCircuitData LaunchAgentAtGrid(GridRegion gatekeeper, GridRegion destination, UserAccount account, AvatarAppearance avatar, 632 protected AgentCircuitData LaunchAgentAtGrid(GridRegion gatekeeper, GridRegion destination, UserAccount account, AvatarAppearance avatar,
626 UUID session, UUID secureSession, Vector3 position, string currentWhere, string viewer, string channel, string mac, string id0, 633 UUID session, UUID secureSession, Vector3 position, string currentWhere, string viewer, string channel, string mac, string id0,
627 IPEndPoint clientIP, out string where, out string reason, out GridRegion dest) 634 IPEndPoint clientIP, TeleportFlags flags, out string where, out string reason, out GridRegion dest)
628 { 635 {
629 where = currentWhere; 636 where = currentWhere;
630 ISimulationService simConnector = null; 637 ISimulationService simConnector = null;
@@ -663,7 +670,7 @@ namespace OpenSim.Services.LLLoginService
663 { 670 {
664 circuitCode = (uint)Util.RandomClass.Next(); ; 671 circuitCode = (uint)Util.RandomClass.Next(); ;
665 aCircuit = MakeAgent(destination, account, avatar, session, secureSession, circuitCode, position, clientIP.Address.ToString(), viewer, channel, mac, id0); 672 aCircuit = MakeAgent(destination, account, avatar, session, secureSession, circuitCode, position, clientIP.Address.ToString(), viewer, channel, mac, id0);
666 success = LaunchAgentDirectly(simConnector, destination, aCircuit, out reason); 673 success = LaunchAgentDirectly(simConnector, destination, aCircuit, flags, out reason);
667 if (!success && m_GridService != null) 674 if (!success && m_GridService != null)
668 { 675 {
669 // Try the fallback regions 676 // Try the fallback regions
@@ -672,7 +679,7 @@ namespace OpenSim.Services.LLLoginService
672 { 679 {
673 foreach (GridRegion r in fallbacks) 680 foreach (GridRegion r in fallbacks)
674 { 681 {
675 success = LaunchAgentDirectly(simConnector, r, aCircuit, out reason); 682 success = LaunchAgentDirectly(simConnector, r, aCircuit, flags | TeleportFlags.ViaRegionID, out reason);
676 if (success) 683 if (success)
677 { 684 {
678 where = "safe"; 685 where = "safe";
@@ -795,9 +802,9 @@ namespace OpenSim.Services.LLLoginService
795 802
796 } 803 }
797 804
798 private bool LaunchAgentDirectly(ISimulationService simConnector, GridRegion region, AgentCircuitData aCircuit, out string reason) 805 private bool LaunchAgentDirectly(ISimulationService simConnector, GridRegion region, AgentCircuitData aCircuit, TeleportFlags flags, out string reason)
799 { 806 {
800 return simConnector.CreateAgent(region, aCircuit, (int)Constants.TeleportFlags.ViaLogin, out reason); 807 return simConnector.CreateAgent(region, aCircuit, (uint)flags, out reason);
801 } 808 }
802 809
803 private bool LaunchAgentIndirectly(GridRegion gatekeeper, GridRegion destination, AgentCircuitData aCircuit, IPEndPoint clientIP, out string reason) 810 private bool LaunchAgentIndirectly(GridRegion gatekeeper, GridRegion destination, AgentCircuitData aCircuit, IPEndPoint clientIP, out string reason)