aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Grid
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Grid/GridServer/GridManager.cs23
-rw-r--r--OpenSim/Grid/GridServer/GridServerBase.cs33
2 files changed, 53 insertions, 3 deletions
diff --git a/OpenSim/Grid/GridServer/GridManager.cs b/OpenSim/Grid/GridServer/GridManager.cs
index 1e8ac00..7739a55 100644
--- a/OpenSim/Grid/GridServer/GridManager.cs
+++ b/OpenSim/Grid/GridServer/GridManager.cs
@@ -377,6 +377,15 @@ namespace OpenSim.Grid.GridServer
377 m_log.Warn("[LOGIN PRELUDE]: Invalid login parameters, sending back error response."); 377 m_log.Warn("[LOGIN PRELUDE]: Invalid login parameters, sending back error response.");
378 return ErrorResponse("Wrong format in login parameters. Please verify parameters." + e.ToString()); 378 return ErrorResponse("Wrong format in login parameters. Please verify parameters." + e.ToString());
379 } 379 }
380
381 if (!Config.AllowRegionRegistration)
382 {
383 m_log.InfoFormat(
384 "[LOGIN END]: Disabled region registration blocked login request from simulator: {0}",
385 sim.regionName);
386
387 return ErrorResponse("The grid is currently not accepting region registrations.");
388 }
380 389
381 m_log.InfoFormat("[LOGIN BEGIN]: Received login request from simulator: {0}", sim.regionName); 390 m_log.InfoFormat("[LOGIN BEGIN]: Received login request from simulator: {0}", sim.regionName);
382 391
@@ -1206,6 +1215,20 @@ namespace OpenSim.Grid.GridServer
1206 } 1215 }
1207 return response; 1216 return response;
1208 } 1217 }
1218
1219 /// <summary>
1220 /// Construct an XMLRPC registration disabled response
1221 /// </summary>
1222 /// <param name="error"></param>
1223 /// <returns></returns>
1224 public static XmlRpcResponse XmlRPCRegionRegistrationDisabledResponse(string error)
1225 {
1226 XmlRpcResponse errorResponse = new XmlRpcResponse();
1227 Hashtable errorResponseData = new Hashtable();
1228 errorResponse.Value = errorResponseData;
1229 errorResponseData["restricted"] = error;
1230 return errorResponse;
1231 }
1209 } 1232 }
1210 1233
1211 /// <summary> 1234 /// <summary>
diff --git a/OpenSim/Grid/GridServer/GridServerBase.cs b/OpenSim/Grid/GridServer/GridServerBase.cs
index 2ffeb57..36ea238 100644
--- a/OpenSim/Grid/GridServer/GridServerBase.cs
+++ b/OpenSim/Grid/GridServer/GridServerBase.cs
@@ -63,15 +63,42 @@ namespace OpenSim.Grid.GridServer
63 MainConsole.Instance = m_console; 63 MainConsole.Instance = m_console;
64 } 64 }
65 65
66 public void managercallback(string cmd) 66 public override void RunCmd(string cmd, string[] cmdparams)
67 { 67 {
68 base.RunCmd(cmd, cmdparams);
69
68 switch (cmd) 70 switch (cmd)
69 { 71 {
70 case "shutdown": 72 case "disable-reg":
71 RunCmd("shutdown", new string[0]); 73 m_config.AllowRegionRegistration = false;
74 m_log.Info("Region registration disabled");
75 break;
76 case "enable-reg":
77 m_config.AllowRegionRegistration = true;
78 m_log.Info("Region registration enabled");
79 break;
80 }
81 }
82
83 public override void Show(string[] showParams)
84 {
85 base.Show(showParams);
86
87 switch (showParams[0])
88 {
89 case "status":
90 if (m_config.AllowRegionRegistration)
91 {
92 m_log.Info("Region registration enabled.");
93 }
94 else
95 {
96 m_log.Info("Region registration disabled.");
97 }
72 break; 98 break;
73 } 99 }
74 } 100 }
101
75 102
76 protected override void StartupSpecific() 103 protected override void StartupSpecific()
77 { 104 {