aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Communications
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Framework/Communications')
-rw-r--r--OpenSim/Framework/Communications/LoginResponse.cs16
-rw-r--r--OpenSim/Framework/Communications/LoginService.cs9
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...