aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Services
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Services')
-rw-r--r--OpenSim/Services/GridService/GridService.cs53
-rw-r--r--OpenSim/Services/HypergridService/GatekeeperService.cs12
-rw-r--r--OpenSim/Services/Interfaces/IGridService.cs5
3 files changed, 39 insertions, 31 deletions
diff --git a/OpenSim/Services/GridService/GridService.cs b/OpenSim/Services/GridService/GridService.cs
index daebf8b..a1485c8 100644
--- a/OpenSim/Services/GridService/GridService.cs
+++ b/OpenSim/Services/GridService/GridService.cs
@@ -86,7 +86,7 @@ namespace OpenSim.Services.GridService
86 { 86 {
87 MainConsole.Instance.Commands.AddCommand("Regions", true, 87 MainConsole.Instance.Commands.AddCommand("Regions", true,
88 "deregister region id", 88 "deregister region id",
89 "deregister region id <Region UUID>", 89 "deregister region id <region-id>+",
90 "Deregister a region manually.", 90 "Deregister a region manually.",
91 String.Empty, 91 String.Empty,
92 HandleDeregisterRegion); 92 HandleDeregisterRegion);
@@ -526,40 +526,41 @@ namespace OpenSim.Services.GridService
526 526
527 private void HandleDeregisterRegion(string module, string[] cmd) 527 private void HandleDeregisterRegion(string module, string[] cmd)
528 { 528 {
529 if (cmd.Length != 4) 529 if (cmd.Length < 4)
530 { 530 {
531 MainConsole.Instance.Output("Syntax: degregister region id <Region UUID>"); 531 MainConsole.Instance.Output("Usage: degregister region id <region-id>+");
532 return; 532 return;
533 } 533 }
534 534
535 string rawRegionUuid = cmd[3]; 535 for (int i = 3; i < cmd.Length; i++)
536 UUID regionUuid;
537
538 if (!UUID.TryParse(rawRegionUuid, out regionUuid))
539 { 536 {
540 MainConsole.Instance.OutputFormat("{0} is not a valid region uuid", rawRegionUuid); 537 string rawRegionUuid = cmd[i];
541 return; 538 UUID regionUuid;
542 }
543 539
544 GridRegion region = GetRegionByUUID(UUID.Zero, regionUuid); 540 if (!UUID.TryParse(rawRegionUuid, out regionUuid))
541 {
542 MainConsole.Instance.OutputFormat("{0} is not a valid region uuid", rawRegionUuid);
543 return;
544 }
545 545
546 if (region == null) 546 GridRegion region = GetRegionByUUID(UUID.Zero, regionUuid);
547 {
548 MainConsole.Instance.OutputFormat("No region with UUID {0}", regionUuid);
549 return;
550 }
551 547
552 if (DeregisterRegion(regionUuid)) 548 if (region == null)
553 { 549 {
554 MainConsole.Instance.OutputFormat("Deregistered {0} {1}", region.RegionName, regionUuid); 550 MainConsole.Instance.OutputFormat("No region with UUID {0}", regionUuid);
555 } 551 return;
556 else 552 }
557 {
558 // I don't think this can ever occur if we know that the region exists.
559 MainConsole.Instance.OutputFormat("Error deregistering {0} {1}", region.RegionName, regionUuid);
560 }
561 553
562 return; 554 if (DeregisterRegion(regionUuid))
555 {
556 MainConsole.Instance.OutputFormat("Deregistered {0} {1}", region.RegionName, regionUuid);
557 }
558 else
559 {
560 // I don't think this can ever occur if we know that the region exists.
561 MainConsole.Instance.OutputFormat("Error deregistering {0} {1}", region.RegionName, regionUuid);
562 }
563 }
563 } 564 }
564 565
565 private void HandleShowRegions(string module, string[] cmd) 566 private void HandleShowRegions(string module, string[] cmd)
diff --git a/OpenSim/Services/HypergridService/GatekeeperService.cs b/OpenSim/Services/HypergridService/GatekeeperService.cs
index 0a3e70b..e10c4cb 100644
--- a/OpenSim/Services/HypergridService/GatekeeperService.cs
+++ b/OpenSim/Services/HypergridService/GatekeeperService.cs
@@ -326,7 +326,7 @@ namespace OpenSim.Services.HypergridService
326 return false; 326 return false;
327 } 327 }
328 328
329 m_log.DebugFormat("[GATEKEEPER SERVICE]: User is OK"); 329 m_log.DebugFormat("[GATEKEEPER SERVICE]: User {0} is ok", aCircuit.Name);
330 330
331 bool isFirstLogin = false; 331 bool isFirstLogin = false;
332 // 332 //
@@ -345,7 +345,8 @@ namespace OpenSim.Services.HypergridService
345 aCircuit.firstname, aCircuit.lastname); 345 aCircuit.firstname, aCircuit.lastname);
346 return false; 346 return false;
347 } 347 }
348 m_log.DebugFormat("[GATEKEEPER SERVICE]: Login presence ok"); 348
349 m_log.DebugFormat("[GATEKEEPER SERVICE]: Login presence {0} is ok", aCircuit.Name);
349 350
350 // Also login foreigners with GridUser service 351 // Also login foreigners with GridUser service
351 if (m_GridUserService != null && account == null) 352 if (m_GridUserService != null && account == null)
@@ -376,7 +377,9 @@ namespace OpenSim.Services.HypergridService
376 reason = "Destination region not found"; 377 reason = "Destination region not found";
377 return false; 378 return false;
378 } 379 }
379 m_log.DebugFormat("[GATEKEEPER SERVICE]: destination ok: {0}", destination.RegionName); 380
381 m_log.DebugFormat(
382 "[GATEKEEPER SERVICE]: Destination {0} is ok for {1}", destination.RegionName, aCircuit.Name);
380 383
381 // 384 //
382 // Adjust the visible name 385 // Adjust the visible name
@@ -410,7 +413,8 @@ namespace OpenSim.Services.HypergridService
410 // Preserve our TeleportFlags we have gathered so-far 413 // Preserve our TeleportFlags we have gathered so-far
411 loginFlag |= (Constants.TeleportFlags) aCircuit.teleportFlags; 414 loginFlag |= (Constants.TeleportFlags) aCircuit.teleportFlags;
412 415
413 m_log.DebugFormat("[GATEKEEPER SERVICE]: launching agent {0}", loginFlag); 416 m_log.DebugFormat("[GATEKEEPER SERVICE]: Launching {0} {1}", aCircuit.Name, loginFlag);
417
414 return m_SimulationService.CreateAgent(destination, aCircuit, (uint)loginFlag, out reason); 418 return m_SimulationService.CreateAgent(destination, aCircuit, (uint)loginFlag, out reason);
415 } 419 }
416 420
diff --git a/OpenSim/Services/Interfaces/IGridService.cs b/OpenSim/Services/Interfaces/IGridService.cs
index 3f4c958..cecbe9e 100644
--- a/OpenSim/Services/Interfaces/IGridService.cs
+++ b/OpenSim/Services/Interfaces/IGridService.cs
@@ -137,7 +137,10 @@ namespace OpenSim.Services.Interfaces
137 if ( m_serverURI != string.Empty ) { 137 if ( m_serverURI != string.Empty ) {
138 return m_serverURI; 138 return m_serverURI;
139 } else { 139 } else {
140 return "http://" + m_externalHostName + ":" + m_httpPort + "/"; 140 if (m_httpPort == 0)
141 return "http://" + m_externalHostName + "/";
142 else
143 return "http://" + m_externalHostName + ":" + m_httpPort + "/";
141 } 144 }
142 } 145 }
143 set { 146 set {