diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Grid/GridServer/GridManager.cs | 23 | ||||
-rw-r--r-- | OpenSim/Grid/GridServer/GridServerBase.cs | 33 |
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 | { |