diff options
Diffstat (limited to 'OpenSim/Framework/Communications')
-rw-r--r-- | OpenSim/Framework/Communications/LoginResponse.cs | 16 | ||||
-rw-r--r-- | OpenSim/Framework/Communications/LoginService.cs | 9 |
2 files changed, 25 insertions, 0 deletions
diff --git a/OpenSim/Framework/Communications/LoginResponse.cs b/OpenSim/Framework/Communications/LoginResponse.cs index db504f9..b2565b1 100644 --- a/OpenSim/Framework/Communications/LoginResponse.cs +++ b/OpenSim/Framework/Communications/LoginResponse.cs | |||
@@ -275,6 +275,22 @@ namespace OpenSim.Framework.Communications | |||
275 | "false"); | 275 | "false"); |
276 | } | 276 | } |
277 | 277 | ||
278 | public XmlRpcResponse CreateLoginBlockedResponse() | ||
279 | { | ||
280 | return | ||
281 | (GenerateFailureResponse("presence", | ||
282 | "Logins are currently restricted. Please try again later", | ||
283 | "false")); | ||
284 | } | ||
285 | |||
286 | public LLSD CreateLoginBlockedResponseLLSD() | ||
287 | { | ||
288 | return GenerateFailureResponseLLSD( | ||
289 | "presence", | ||
290 | "Logins are currently restricted. Please try again later", | ||
291 | "false"); | ||
292 | } | ||
293 | |||
278 | public XmlRpcResponse CreateDeadRegionResponse() | 294 | public XmlRpcResponse CreateDeadRegionResponse() |
279 | { | 295 | { |
280 | return | 296 | return |
diff --git a/OpenSim/Framework/Communications/LoginService.cs b/OpenSim/Framework/Communications/LoginService.cs index 7a39a97..7a657b5 100644 --- a/OpenSim/Framework/Communications/LoginService.cs +++ b/OpenSim/Framework/Communications/LoginService.cs | |||
@@ -47,6 +47,7 @@ namespace OpenSim.Framework.Communications | |||
47 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 47 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
48 | 48 | ||
49 | protected string m_welcomeMessage = "Welcome to OpenSim"; | 49 | protected string m_welcomeMessage = "Welcome to OpenSim"; |
50 | protected int m_minLoginLevel = 0; | ||
50 | protected UserManagerBase m_userManager = null; | 51 | protected UserManagerBase m_userManager = null; |
51 | protected Mutex m_loginMutex = new Mutex(false); | 52 | protected Mutex m_loginMutex = new Mutex(false); |
52 | 53 | ||
@@ -196,6 +197,10 @@ namespace OpenSim.Framework.Communications | |||
196 | 197 | ||
197 | return logResponse.CreateLoginFailedResponse(); | 198 | return logResponse.CreateLoginFailedResponse(); |
198 | } | 199 | } |
200 | else if (userProfile.GodLevel < m_minLoginLevel) | ||
201 | { | ||
202 | return logResponse.CreateLoginBlockedResponse(); | ||
203 | } | ||
199 | else | 204 | else |
200 | { | 205 | { |
201 | // If we already have a session... | 206 | // If we already have a session... |
@@ -363,6 +368,10 @@ namespace OpenSim.Framework.Communications | |||
363 | { | 368 | { |
364 | return logResponse.CreateLoginFailedResponseLLSD(); | 369 | return logResponse.CreateLoginFailedResponseLLSD(); |
365 | } | 370 | } |
371 | else if (userProfile.GodLevel < m_minLoginLevel) | ||
372 | { | ||
373 | return logResponse.CreateLoginBlockedResponseLLSD(); | ||
374 | } | ||
366 | else | 375 | else |
367 | { | 376 | { |
368 | // If we already have a session... | 377 | // If we already have a session... |