diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs index 4130b9f9af..463a5b08fe 100644 --- a/OpenSim/Framework/Util.cs +++ b/OpenSim/Framework/Util.cs @@ -4098,12 +4098,15 @@ namespace OpenSim.Framework public static bool ParseUniversalUserIdentifier(string value, out UUID uuid) { + /* if (value.Length < 36) { uuid = UUID.Zero; return false; } return (value.Length == 36) ? UUID.TryParse(value, out uuid) : UUID.TryParse(value.Substring(0, 36), out uuid); + */ + return UUID.TryParse(value, out uuid); // uuid now only looks to first 36bytes } public static unsafe string RemoveUniversalUserIdentifierSecret(string value) diff --git a/OpenSim/Services/Friends/FriendsService.cs b/OpenSim/Services/Friends/FriendsService.cs index e2033ac93d..0eb41b812f 100644 --- a/OpenSim/Services/Friends/FriendsService.cs +++ b/OpenSim/Services/Friends/FriendsService.cs @@ -72,13 +72,8 @@ namespace OpenSim.Services.Friends { FriendInfo i = new FriendInfo(); - if (!UUID.TryParse(d.PrincipalID, out i.PrincipalID)) - { - string tmp = string.Empty; - if (!Util.ParseUniversalUserIdentifier(d.PrincipalID, out i.PrincipalID, out tmp, out tmp, out tmp, out tmp)) - // bad record. ignore this entry - continue; - } + if (!Util.ParseUniversalUserIdentifier(i.Friend, out UUID friendID)) + continue; // junk entry i.Friend = d.Friend; i.MyFlags = Convert.ToInt32(d.Data["Flags"]); i.TheirFlags = Convert.ToInt32(d.Data["TheirFlags"]); diff --git a/OpenSim/Services/LLLoginService/LLLoginResponse.cs b/OpenSim/Services/LLLoginService/LLLoginResponse.cs index d00b102706..78a133f306 100644 --- a/OpenSim/Services/LLLoginService/LLLoginResponse.cs +++ b/OpenSim/Services/LLLoginService/LLLoginResponse.cs @@ -778,12 +778,10 @@ namespace OpenSim.Services.LLLoginService if (finfo.TheirFlags == -1) continue; LLLoginResponse.BuddyList.BuddyInfo buddyitem = new LLLoginResponse.BuddyList.BuddyInfo(finfo.Friend); - // finfo.Friend may not be a simple uuid - if (Util.ParseUniversalUserIdentifier(finfo.Friend, out UUID friendID)) - buddyitem.BuddyID = friendID.ToString(); - else + if (!Util.ParseUniversalUserIdentifier(finfo.Friend, out UUID friendID)) continue; // junk entry + buddyitem.BuddyID = friendID.ToString(); buddyitem.BuddyRightsHave = finfo.TheirFlags; buddyitem.BuddyRightsGiven = finfo.MyFlags; buddylistreturn.AddNewBuddy(buddyitem);