aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Services/LLLoginService
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Services/LLLoginService')
-rw-r--r--OpenSim/Services/LLLoginService/LLLoginResponse.cs6
-rw-r--r--OpenSim/Services/LLLoginService/LLLoginService.cs9
2 files changed, 14 insertions, 1 deletions
diff --git a/OpenSim/Services/LLLoginService/LLLoginResponse.cs b/OpenSim/Services/LLLoginService/LLLoginResponse.cs
index 1a874c8..de05f28 100644
--- a/OpenSim/Services/LLLoginService/LLLoginResponse.cs
+++ b/OpenSim/Services/LLLoginService/LLLoginResponse.cs
@@ -55,6 +55,7 @@ namespace OpenSim.Services.LLLoginService
55 public static LLFailedLoginResponse InventoryProblem; 55 public static LLFailedLoginResponse InventoryProblem;
56 public static LLFailedLoginResponse DeadRegionProblem; 56 public static LLFailedLoginResponse DeadRegionProblem;
57 public static LLFailedLoginResponse LoginBlockedProblem; 57 public static LLFailedLoginResponse LoginBlockedProblem;
58 public static LLFailedLoginResponse UnverifiedAccountProblem;
58 public static LLFailedLoginResponse AlreadyLoggedInProblem; 59 public static LLFailedLoginResponse AlreadyLoggedInProblem;
59 public static LLFailedLoginResponse InternalError; 60 public static LLFailedLoginResponse InternalError;
60 61
@@ -75,6 +76,10 @@ namespace OpenSim.Services.LLLoginService
75 LoginBlockedProblem = new LLFailedLoginResponse("presence", 76 LoginBlockedProblem = new LLFailedLoginResponse("presence",
76 "Logins are currently restricted. Please try again later.", 77 "Logins are currently restricted. Please try again later.",
77 "false"); 78 "false");
79 UnverifiedAccountProblem = new LLFailedLoginResponse("presence",
80 "Your account has not yet been verified. Please check " +
81 "your email and click the provided link.",
82 "false");
78 AlreadyLoggedInProblem = new LLFailedLoginResponse("presence", 83 AlreadyLoggedInProblem = new LLFailedLoginResponse("presence",
79 "You appear to be already logged in. " + 84 "You appear to be already logged in. " +
80 "If this is not the case please wait for your session to timeout. " + 85 "If this is not the case please wait for your session to timeout. " +
@@ -327,6 +332,7 @@ namespace OpenSim.Services.LLLoginService
327 private void FillOutRegionData(GridRegion destination) 332 private void FillOutRegionData(GridRegion destination)
328 { 333 {
329 IPEndPoint endPoint = destination.ExternalEndPoint; 334 IPEndPoint endPoint = destination.ExternalEndPoint;
335 if (endPoint == null) return;
330 SimAddress = endPoint.Address.ToString(); 336 SimAddress = endPoint.Address.ToString();
331 SimPort = (uint)endPoint.Port; 337 SimPort = (uint)endPoint.Port;
332 RegionX = (uint)destination.RegionLocX; 338 RegionX = (uint)destination.RegionLocX;
diff --git a/OpenSim/Services/LLLoginService/LLLoginService.cs b/OpenSim/Services/LLLoginService/LLLoginService.cs
index 02b5cc1..035980d 100644
--- a/OpenSim/Services/LLLoginService/LLLoginService.cs
+++ b/OpenSim/Services/LLLoginService/LLLoginService.cs
@@ -132,7 +132,8 @@ namespace OpenSim.Services.LLLoginService
132 Object[] args = new Object[] { config }; 132 Object[] args = new Object[] { config };
133 m_UserAccountService = ServerUtils.LoadPlugin<IUserAccountService>(accountService, args); 133 m_UserAccountService = ServerUtils.LoadPlugin<IUserAccountService>(accountService, args);
134 m_GridUserService = ServerUtils.LoadPlugin<IGridUserService>(gridUserService, args); 134 m_GridUserService = ServerUtils.LoadPlugin<IGridUserService>(gridUserService, args);
135 m_AuthenticationService = ServerUtils.LoadPlugin<IAuthenticationService>(authService, args); 135 Object[] authArgs = new Object[] { config, m_UserAccountService };
136 m_AuthenticationService = ServerUtils.LoadPlugin<IAuthenticationService>(authService, authArgs);
136 m_InventoryService = ServerUtils.LoadPlugin<IInventoryService>(invService, args); 137 m_InventoryService = ServerUtils.LoadPlugin<IInventoryService>(invService, args);
137 138
138 if (gridService != string.Empty) 139 if (gridService != string.Empty)
@@ -275,6 +276,12 @@ namespace OpenSim.Services.LLLoginService
275 return LLFailedLoginResponse.UserProblem; 276 return LLFailedLoginResponse.UserProblem;
276 } 277 }
277 278
279 if (account.UserLevel < 0)
280 {
281 m_log.InfoFormat("[LLOGIN SERVICE]: Login failed, reason: Unverified account");
282 return LLFailedLoginResponse.UnverifiedAccountProblem;
283 }
284
278 if (account.UserLevel < m_MinLoginLevel) 285 if (account.UserLevel < m_MinLoginLevel)
279 { 286 {
280 m_log.InfoFormat("[LLOGIN SERVICE]: Login failed, reason: login is blocked for user level {0}", account.UserLevel); 287 m_log.InfoFormat("[LLOGIN SERVICE]: Login failed, reason: login is blocked for user level {0}", account.UserLevel);