aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Communications
diff options
context:
space:
mode:
authorMelanie Thielker2008-10-01 15:17:37 +0000
committerMelanie Thielker2008-10-01 15:17:37 +0000
commitfecbb2febd04ec1ad26d0a38930c61cad372b6c6 (patch)
tree5d41cc81fa38a7c224504005fc3e9fcbb0596f44 /OpenSim/Framework/Communications
parenta little (incomplete) hackery in the IRC module to allow run-time connection ... (diff)
downloadopensim-SC_OLD-fecbb2febd04ec1ad26d0a38930c61cad372b6c6.zip
opensim-SC_OLD-fecbb2febd04ec1ad26d0a38930c61cad372b6c6.tar.gz
opensim-SC_OLD-fecbb2febd04ec1ad26d0a38930c61cad372b6c6.tar.bz2
opensim-SC_OLD-fecbb2febd04ec1ad26d0a38930c61cad372b6c6.tar.xz
Add a user server XMLRPC method to set the MOTD and the minimum GodLevel
required to log in. set_login_params accepts avatar_uuid and password of a user with god level 200 or more, and allows setting either or both the login_motd or login_level
Diffstat (limited to '')
-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...