mirror of
https://github.com/opensim/opensim.git
synced 2026-08-11 03:45:35 +08:00
If a friends identifier which is too short is given to HGFriendsModule.GetOnlineFriends() then spit out a warning rather than failing on the String.Substring().
This is to progress http://opensimulator.org/mantis/view.php?id=5789
This commit is contained in:
@@ -11088,6 +11088,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
|||||||
Utils.BytesToString(avatarInterestUpdate.PropertiesData.LanguagesText));
|
Utils.BytesToString(avatarInterestUpdate.PropertiesData.LanguagesText));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool HandleGrantUserRights(IClientAPI sender, Packet Pack)
|
private bool HandleGrantUserRights(IClientAPI sender, Packet Pack)
|
||||||
{
|
{
|
||||||
GrantUserRightsPacket GrantUserRights =
|
GrantUserRightsPacket GrantUserRights =
|
||||||
@@ -11108,6 +11109,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
|||||||
GrantUserRights.Rights[0].RelatedRights);
|
GrantUserRights.Rights[0].RelatedRights);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool HandlePlacesQuery(IClientAPI sender, Packet Pack)
|
private bool HandlePlacesQuery(IClientAPI sender, Packet Pack)
|
||||||
{
|
{
|
||||||
PlacesQueryPacket placesQueryPacket =
|
PlacesQueryPacket placesQueryPacket =
|
||||||
|
|||||||
@@ -141,7 +141,14 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
|
|||||||
{
|
{
|
||||||
List<string> fList = new List<string>();
|
List<string> fList = new List<string>();
|
||||||
foreach (string s in friendList)
|
foreach (string s in friendList)
|
||||||
fList.Add(s.Substring(0, 36));
|
{
|
||||||
|
if (s.Length < 36)
|
||||||
|
m_log.WarnFormat(
|
||||||
|
"[HGFRIENDS MODULE]: Ignoring friend {0} ({1} chars) for {2} since identifier too short",
|
||||||
|
s, s.Length, userID);
|
||||||
|
else
|
||||||
|
fList.Add(s.Substring(0, 36));
|
||||||
|
}
|
||||||
|
|
||||||
PresenceInfo[] presence = PresenceService.GetAgents(fList.ToArray());
|
PresenceInfo[] presence = PresenceService.GetAgents(fList.ToArray());
|
||||||
foreach (PresenceInfo pi in presence)
|
foreach (PresenceInfo pi in presence)
|
||||||
|
|||||||
Reference in New Issue
Block a user