aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Services/LLLoginService/LLLoginService.cs25
1 files changed, 22 insertions, 3 deletions
diff --git a/OpenSim/Services/LLLoginService/LLLoginService.cs b/OpenSim/Services/LLLoginService/LLLoginService.cs
index 1eaf4d4..7b25274 100644
--- a/OpenSim/Services/LLLoginService/LLLoginService.cs
+++ b/OpenSim/Services/LLLoginService/LLLoginService.cs
@@ -339,9 +339,16 @@ namespace OpenSim.Services.LLLoginService
339 where = "safe"; 339 where = "safe";
340 } 340 }
341 else 341 else
342 m_log.WarnFormat( 342 {
343 "[LLOGIN SERVICE]: User {0} {1} does not have a valid home and this grid does not have default locations.", 343 m_log.WarnFormat("[LLOGIN SERVICE]: User {0} {1} does not have a valid home and this grid does not have default locations. Attempting to find random region",
344 account.FirstName, account.LastName); 344 account.FirstName, account.LastName);
345 defaults = m_GridService.GetRegionsByName(account.ScopeID, "", 1);
346 if (defaults != null && defaults.Count > 0)
347 {
348 region = defaults[0];
349 where = "safe";
350 }
351 }
345 } 352 }
346 353
347 return region; 354 return region;
@@ -364,6 +371,17 @@ namespace OpenSim.Services.LLLoginService
364 region = defaults[0]; 371 region = defaults[0];
365 where = "safe"; 372 where = "safe";
366 } 373 }
374 else
375 {
376 m_log.Info("[LLOGIN SERVICE]: Last Region Not Found Attempting to find random region");
377 defaults = m_GridService.GetRegionsByName(account.ScopeID, "", 1);
378 if (defaults != null && defaults.Count > 0)
379 {
380 region = defaults[0];
381 where = "safe";
382 }
383 }
384
367 } 385 }
368 else 386 else
369 { 387 {
@@ -396,7 +414,6 @@ namespace OpenSim.Services.LLLoginService
396 { 414 {
397 if (!regionName.Contains("@")) 415 if (!regionName.Contains("@"))
398 { 416 {
399
400 List<GridRegion> regions = m_GridService.GetRegionsByName(account.ScopeID, regionName, 1); 417 List<GridRegion> regions = m_GridService.GetRegionsByName(account.ScopeID, regionName, 1);
401 if ((regions == null) || (regions != null && regions.Count == 0)) 418 if ((regions == null) || (regions != null && regions.Count == 0))
402 { 419 {
@@ -429,6 +446,7 @@ namespace OpenSim.Services.LLLoginService
429 return null; 446 return null;
430 } 447 }
431 // Valid specification of a remote grid 448 // Valid specification of a remote grid
449
432 regionName = parts[0]; 450 regionName = parts[0];
433 string domainLocator = parts[1]; 451 string domainLocator = parts[1];
434 parts = domainLocator.Split(new char[] {':'}); 452 parts = domainLocator.Split(new char[] {':'});
@@ -436,6 +454,7 @@ namespace OpenSim.Services.LLLoginService
436 uint port = 0; 454 uint port = 0;
437 if (parts.Length > 1) 455 if (parts.Length > 1)
438 UInt32.TryParse(parts[1], out port); 456 UInt32.TryParse(parts[1], out port);
457
439 GridRegion region = FindForeignRegion(domainName, port, regionName, out gatekeeper); 458 GridRegion region = FindForeignRegion(domainName, port, regionName, out gatekeeper);
440 return region; 459 return region;
441 } 460 }