Reinstate insertion of "Unknown UserUMMAU4" now, as naive removing may be generating too many repeating user requests from other sources.

Leaves in the dropping of the client GUN8 (now 9) uuid binding message, since this was the much more common case from the viewer-side and this can only affect viewers.
0.7.6-extended
Justin Clark-Casey (justincc) 2013-09-17 01:20:55 +01:00
parent ccf52d3d9d
commit b1d43d46bf
1 changed files with 31 additions and 35 deletions

View File

@ -388,10 +388,10 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
else else
m_log.DebugFormat("[USER MANAGEMENT MODULE]: Unable to parse UUI {0}", uInfo.UserID); m_log.DebugFormat("[USER MANAGEMENT MODULE]: Unable to parse UUI {0}", uInfo.UserID);
} }
// else else
// { {
// m_log.DebugFormat("[USER MANAGEMENT MODULE]: No grid user found for {0}", uuid); m_log.DebugFormat("[USER MANAGEMENT MODULE]: No grid user found for {0}", uuid);
// } }
names[0] = "Unknown"; names[0] = "Unknown";
names[1] = "UserUMMTGUN9"; names[1] = "UserUMMTGUN9";
@ -552,24 +552,24 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
if (oldUser != null) if (oldUser != null)
{ {
// if (creatorData == null || creatorData == String.Empty) if (creatorData == null || creatorData == String.Empty)
// { {
// //ignore updates without creator data //ignore updates without creator data
// return; return;
// } }
//
// //try update unknown users, but don't update anyone else //try update unknown users, but don't update anyone else
// if (oldUser.FirstName == "Unknown" && !creatorData.Contains("Unknown")) if (oldUser.FirstName == "Unknown" && !creatorData.Contains("Unknown"))
// { {
// lock (m_UserCache) lock (m_UserCache)
// m_UserCache.Remove(id); m_UserCache.Remove(id);
// m_log.DebugFormat("[USER MANAGEMENT MODULE]: Re-adding user with id {0}, creatorData [{1}] and old HomeURL {2}", id, creatorData, oldUser.HomeURL); m_log.DebugFormat("[USER MANAGEMENT MODULE]: Re-adding user with id {0}, creatorData [{1}] and old HomeURL {2}", id, creatorData, oldUser.HomeURL);
// } }
// else else
// { {
//we have already a valid user within the cache //we have already a valid user within the cache
return; return;
// } }
} }
UserAccount account = m_Scenes[0].UserAccountService.GetUserAccount(m_Scenes[0].RegionInfo.ScopeID, id); UserAccount account = m_Scenes[0].UserAccountService.GetUserAccount(m_Scenes[0].RegionInfo.ScopeID, id);
@ -605,22 +605,18 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
if (parts.Length >= 2) if (parts.Length >= 2)
user.FirstName = parts[1].Replace(' ', '.'); user.FirstName = parts[1].Replace(' ', '.');
AddUserInternal(user);
} }
else
// To avoid issues with clients, particularly Hypergrid ones, permanently caching {
// UUID -> "Unknown User" name bindings, elsewhere we will drop such requests rather than replying. // Temporarily add unknown user entries of this type into the cache so that we can distinguish
// This also means that we cannot add an unknown user binding to the cache here. // this source from other recent (hopefully resolved) bugs that fail to retrieve a user name binding
// else // TODO: Can be removed when GUN* unknown users have definitely dropped significantly or
// { // disappeared.
// // Temporarily add unknown user entries of this type into the cache so that we can distinguish user.FirstName = "Unknown";
// // this source from other recent (hopefully resolved) bugs that fail to retrieve a user name binding user.LastName = "UserUMMAU4";
// // TODO: Can be removed when GUN* unknown users have definitely dropped significantly or }
// // disappeared.
// user.FirstName = "Unknown"; AddUserInternal(user);
// user.LastName = "UserUMMAU4";
// }
} }
} }