diff options
Diffstat (limited to 'OpenSim/Services/LLLoginService/LLLoginService.cs')
-rw-r--r-- | OpenSim/Services/LLLoginService/LLLoginService.cs | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/OpenSim/Services/LLLoginService/LLLoginService.cs b/OpenSim/Services/LLLoginService/LLLoginService.cs index 0b38738..619a527 100644 --- a/OpenSim/Services/LLLoginService/LLLoginService.cs +++ b/OpenSim/Services/LLLoginService/LLLoginService.cs | |||
@@ -77,6 +77,8 @@ namespace OpenSim.Services.LLLoginService | |||
77 | protected string m_GatekeeperURL; | 77 | protected string m_GatekeeperURL; |
78 | protected bool m_AllowRemoteSetLoginLevel; | 78 | protected bool m_AllowRemoteSetLoginLevel; |
79 | protected string m_MapTileURL; | 79 | protected string m_MapTileURL; |
80 | protected string m_ProfileURL; | ||
81 | protected string m_OpenIDURL; | ||
80 | protected string m_SearchURL; | 82 | protected string m_SearchURL; |
81 | protected string m_Currency; | 83 | protected string m_Currency; |
82 | protected string m_ClassifiedFee; | 84 | protected string m_ClassifiedFee; |
@@ -117,6 +119,8 @@ namespace OpenSim.Services.LLLoginService | |||
117 | m_GatekeeperURL = Util.GetConfigVarFromSections<string>(config, "GatekeeperURI", | 119 | m_GatekeeperURL = Util.GetConfigVarFromSections<string>(config, "GatekeeperURI", |
118 | new string[] { "Startup", "Hypergrid", "LoginService" }, String.Empty); | 120 | new string[] { "Startup", "Hypergrid", "LoginService" }, String.Empty); |
119 | m_MapTileURL = m_LoginServerConfig.GetString("MapTileURL", string.Empty); | 121 | m_MapTileURL = m_LoginServerConfig.GetString("MapTileURL", string.Empty); |
122 | m_ProfileURL = m_LoginServerConfig.GetString("ProfileServerURL", string.Empty); | ||
123 | m_OpenIDURL = m_LoginServerConfig.GetString("OpenIDServerURL", String.Empty); | ||
120 | m_SearchURL = m_LoginServerConfig.GetString("SearchURL", string.Empty); | 124 | m_SearchURL = m_LoginServerConfig.GetString("SearchURL", string.Empty); |
121 | m_Currency = m_LoginServerConfig.GetString("Currency", string.Empty); | 125 | m_Currency = m_LoginServerConfig.GetString("Currency", string.Empty); |
122 | m_ClassifiedFee = m_LoginServerConfig.GetString("ClassifiedFee", string.Empty); | 126 | m_ClassifiedFee = m_LoginServerConfig.GetString("ClassifiedFee", string.Empty); |
@@ -155,7 +159,8 @@ namespace OpenSim.Services.LLLoginService | |||
155 | Object[] args = new Object[] { config }; | 159 | Object[] args = new Object[] { config }; |
156 | m_UserAccountService = ServerUtils.LoadPlugin<IUserAccountService>(accountService, args); | 160 | m_UserAccountService = ServerUtils.LoadPlugin<IUserAccountService>(accountService, args); |
157 | m_GridUserService = ServerUtils.LoadPlugin<IGridUserService>(gridUserService, args); | 161 | m_GridUserService = ServerUtils.LoadPlugin<IGridUserService>(gridUserService, args); |
158 | m_AuthenticationService = ServerUtils.LoadPlugin<IAuthenticationService>(authService, args); | 162 | Object[] authArgs = new Object[] { config, m_UserAccountService }; |
163 | m_AuthenticationService = ServerUtils.LoadPlugin<IAuthenticationService>(authService, authArgs); | ||
159 | m_InventoryService = ServerUtils.LoadPlugin<IInventoryService>(invService, args); | 164 | m_InventoryService = ServerUtils.LoadPlugin<IInventoryService>(invService, args); |
160 | 165 | ||
161 | if (gridService != string.Empty) | 166 | if (gridService != string.Empty) |
@@ -261,14 +266,18 @@ namespace OpenSim.Services.LLLoginService | |||
261 | } | 266 | } |
262 | 267 | ||
263 | public LoginResponse Login(string firstName, string lastName, string passwd, string startLocation, UUID scopeID, | 268 | public LoginResponse Login(string firstName, string lastName, string passwd, string startLocation, UUID scopeID, |
264 | string clientVersion, string channel, string mac, string id0, IPEndPoint clientIP) | 269 | string clientVersion, string channel, string mac, string id0, IPEndPoint clientIP, bool LibOMVclient) |
265 | { | 270 | { |
266 | bool success = false; | 271 | bool success = false; |
267 | UUID session = UUID.Random(); | 272 | UUID session = UUID.Random(); |
273 | |||
268 | string processedMessage; | 274 | string processedMessage; |
269 | 275 | ||
270 | m_log.InfoFormat("[LLOGIN SERVICE]: Login request for {0} {1} at {2} using viewer {3}, channel {4}, IP {5}, Mac {6}, Id0 {7}", | 276 | if (clientVersion.Contains("Radegast")) |
271 | firstName, lastName, startLocation, clientVersion, channel, clientIP.Address.ToString(), mac, id0); | 277 | LibOMVclient = false; |
278 | |||
279 | m_log.InfoFormat("[LLOGIN SERVICE]: Login request for {0} {1} at {2} using viewer {3}, channel {4}, IP {5}, Mac {6}, Id0 {7}, Possible LibOMVGridProxy: {8} ", | ||
280 | firstName, lastName, startLocation, clientVersion, channel, clientIP.Address.ToString(), mac, id0, LibOMVclient.ToString()); | ||
272 | 281 | ||
273 | try | 282 | try |
274 | { | 283 | { |
@@ -345,7 +354,8 @@ namespace OpenSim.Services.LLLoginService | |||
345 | if (!passwd.StartsWith("$1$")) | 354 | if (!passwd.StartsWith("$1$")) |
346 | passwd = "$1$" + Util.Md5Hash(passwd); | 355 | passwd = "$1$" + Util.Md5Hash(passwd); |
347 | passwd = passwd.Remove(0, 3); //remove $1$ | 356 | passwd = passwd.Remove(0, 3); //remove $1$ |
348 | string token = m_AuthenticationService.Authenticate(account.PrincipalID, passwd, 30); | 357 | UUID realID; |
358 | string token = m_AuthenticationService.Authenticate(account.PrincipalID, passwd, 30, out realID); | ||
349 | UUID secureSession = UUID.Zero; | 359 | UUID secureSession = UUID.Zero; |
350 | if ((token == string.Empty) || (token != string.Empty && !UUID.TryParse(token, out secureSession))) | 360 | if ((token == string.Empty) || (token != string.Empty && !UUID.TryParse(token, out secureSession))) |
351 | { | 361 | { |
@@ -512,11 +522,11 @@ namespace OpenSim.Services.LLLoginService | |||
512 | processedMessage = processedMessage.Replace("\\n", "\n").Replace("<USERNAME>", firstName + " " + lastName); | 522 | processedMessage = processedMessage.Replace("\\n", "\n").Replace("<USERNAME>", firstName + " " + lastName); |
513 | 523 | ||
514 | LLLoginResponse response | 524 | LLLoginResponse response |
515 | = new LLLoginResponse( | 525 | = new LLLoginResponse( |
516 | account, aCircuit, guinfo, destination, inventorySkel, friendsList, m_LibraryService, | 526 | account, aCircuit, guinfo, destination, inventorySkel, friendsList, m_LibraryService, |
517 | where, startLocation, position, lookAt, gestures, processedMessage, home, clientIP, | 527 | where, startLocation, position, lookAt, gestures, processedMessage, home, clientIP, |
518 | m_MapTileURL, m_SearchURL, m_Currency, m_DSTZone, | 528 | m_MapTileURL, m_ProfileURL, m_OpenIDURL, m_SearchURL, m_Currency, m_DSTZone, |
519 | m_DestinationGuide, m_AvatarPicker, m_ClassifiedFee, m_MaxAgentGroups); | 529 | m_DestinationGuide, m_AvatarPicker, realID, m_ClassifiedFee,m_MaxAgentGroups); |
520 | 530 | ||
521 | m_log.DebugFormat("[LLOGIN SERVICE]: All clear. Sending login response to {0} {1}", firstName, lastName); | 531 | m_log.DebugFormat("[LLOGIN SERVICE]: All clear. Sending login response to {0} {1}", firstName, lastName); |
522 | 532 | ||