aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2009-09-16 18:20:55 +0100
committerJustin Clark-Casey (justincc)2009-09-16 18:20:55 +0100
commit35260faead29c590bf01c1eb02130cfac22c38ad (patch)
treea2a8e6bc038440311bcdda6cfd9331af47e0059f
parent This fix allows you to configure a script-to-console-log channel (diff)
downloadopensim-SC_OLD-35260faead29c590bf01c1eb02130cfac22c38ad.zip
opensim-SC_OLD-35260faead29c590bf01c1eb02130cfac22c38ad.tar.gz
opensim-SC_OLD-35260faead29c590bf01c1eb02130cfac22c38ad.tar.bz2
opensim-SC_OLD-35260faead29c590bf01c1eb02130cfac22c38ad.tar.xz
on iar save/load, let the user know if they put in the wrong password
refactor GetUserInfo() to eliminate copypasta
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs39
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs5
2 files changed, 18 insertions, 26 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs
index 1937637..9f49da9 100644
--- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs
@@ -125,10 +125,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
125 { 125 {
126 if (m_scenes.Count > 0) 126 if (m_scenes.Count > 0)
127 { 127 {
128 CachedUserInfo userInfo = GetUserInfo(firstName, lastName); 128 CachedUserInfo userInfo = GetUserInfo(firstName, lastName, pass);
129 string md5PasswdHash = Util.Md5Hash(Util.Md5Hash(pass) + ":" + userInfo.UserProfile.PasswordSalt);
130 if (userInfo.UserProfile.PasswordHash != md5PasswdHash)
131 return false;
132 129
133 if (userInfo != null) 130 if (userInfo != null)
134 { 131 {
@@ -153,11 +150,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
153 { 150 {
154 if (m_scenes.Count > 0) 151 if (m_scenes.Count > 0)
155 { 152 {
156 CachedUserInfo userInfo = GetUserInfo(firstName, lastName); 153 CachedUserInfo userInfo = GetUserInfo(firstName, lastName, pass);
157 string md5PasswdHash = Util.Md5Hash(Util.Md5Hash(pass) + ":" + userInfo.UserProfile.PasswordSalt);
158 if (userInfo.UserProfile.PasswordHash != md5PasswdHash)
159 return false;
160
161 154
162 if (userInfo != null) 155 if (userInfo != null)
163 { 156 {
@@ -182,11 +175,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
182 { 175 {
183 if (m_scenes.Count > 0) 176 if (m_scenes.Count > 0)
184 { 177 {
185 CachedUserInfo userInfo = GetUserInfo(firstName, lastName); 178 CachedUserInfo userInfo = GetUserInfo(firstName, lastName, pass);
186 string md5PasswdHash = Util.Md5Hash(Util.Md5Hash(pass) + ":" + userInfo.UserProfile.PasswordSalt);
187 if (userInfo.UserProfile.PasswordHash != md5PasswdHash)
188 return false;
189
190 179
191 if (userInfo != null) 180 if (userInfo != null)
192 { 181 {
@@ -214,11 +203,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
214 { 203 {
215 if (m_scenes.Count > 0) 204 if (m_scenes.Count > 0)
216 { 205 {
217 CachedUserInfo userInfo = GetUserInfo(firstName, lastName); 206 CachedUserInfo userInfo = GetUserInfo(firstName, lastName, pass);
218 string md5PasswdHash = Util.Md5Hash(Util.Md5Hash(pass) + ":" + userInfo.UserProfile.PasswordSalt);
219 if (userInfo.UserProfile.PasswordHash != md5PasswdHash)
220 return false;
221
222 207
223 if (userInfo != null) 208 if (userInfo != null)
224 { 209 {
@@ -251,7 +236,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
251 if (cmdparams.Length < 6) 236 if (cmdparams.Length < 6)
252 { 237 {
253 m_log.Error( 238 m_log.Error(
254 "[INVENTORY ARCHIVER]: usage is load iar <first name> <last name> <inventory path> <password> [<load file path>]"); 239 "[INVENTORY ARCHIVER]: usage is load iar <first name> <last name> <inventory path> <user password> [<load file path>]");
255 return; 240 return;
256 } 241 }
257 242
@@ -282,7 +267,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
282 if (cmdparams.Length < 5) 267 if (cmdparams.Length < 5)
283 { 268 {
284 m_log.Error( 269 m_log.Error(
285 "[INVENTORY ARCHIVER]: usage is save iar <first name> <last name> <inventory path> <password> [<save file path>]"); 270 "[INVENTORY ARCHIVER]: usage is save iar <first name> <last name> <inventory path> <user password> [<save file path>]");
286 return; 271 return;
287 } 272 }
288 273
@@ -334,8 +319,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
334 /// </summary> 319 /// </summary>
335 /// <param name="firstName"></param> 320 /// <param name="firstName"></param>
336 /// <param name="lastName"></param> 321 /// <param name="lastName"></param>
322 /// <param name="pass">User password</param>
337 /// <returns></returns> 323 /// <returns></returns>
338 protected CachedUserInfo GetUserInfo(string firstName, string lastName) 324 protected CachedUserInfo GetUserInfo(string firstName, string lastName, string pass)
339 { 325 {
340 CachedUserInfo userInfo = m_aScene.CommsManager.UserProfileCacheService.GetUserDetails(firstName, lastName); 326 CachedUserInfo userInfo = m_aScene.CommsManager.UserProfileCacheService.GetUserDetails(firstName, lastName);
341 if (null == userInfo) 327 if (null == userInfo)
@@ -345,6 +331,15 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
345 firstName, lastName); 331 firstName, lastName);
346 return null; 332 return null;
347 } 333 }
334
335 string md5PasswdHash = Util.Md5Hash(Util.Md5Hash(pass) + ":" + userInfo.UserProfile.PasswordSalt);
336 if (userInfo.UserProfile.PasswordHash != md5PasswdHash)
337 {
338 m_log.ErrorFormat(
339 "[INVENTORY ARCHIVER]: Password for user {0} {1} incorrect. Please try again.",
340 firstName, lastName);
341 return null;
342 }
348 343
349 return userInfo; 344 return userInfo;
350 } 345 }
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index 0c2f991..a8028a6 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -994,9 +994,7 @@ namespace OpenSim.Region.Framework.Scenes
994 994
995 // Loop it 995 // Loop it
996 if (m_frame == Int32.MaxValue) 996 if (m_frame == Int32.MaxValue)
997 m_frame = 0; 997 m_frame = 0;
998
999
1000 998
1001 otherMS = Environment.TickCount; 999 otherMS = Environment.TickCount;
1002 // run through all entities looking for updates (slow) 1000 // run through all entities looking for updates (slow)
@@ -1017,7 +1015,6 @@ namespace OpenSim.Region.Framework.Scenes
1017 m_sceneGraph.UpdateEntities(); 1015 m_sceneGraph.UpdateEntities();
1018 } 1016 }
1019 1017
1020
1021 // run through entities that have scheduled themselves for 1018 // run through entities that have scheduled themselves for
1022 // updates looking for updates(faster) 1019 // updates looking for updates(faster)
1023 if (m_frame % m_update_entitiesquick == 0) 1020 if (m_frame % m_update_entitiesquick == 0)