diff options
author | David Walter Seikel | 2016-11-03 21:44:39 +1000 |
---|---|---|
committer | David Walter Seikel | 2016-11-03 21:44:39 +1000 |
commit | 134f86e8d5c414409631b25b8c6f0ee45fbd8631 (patch) | |
tree | 216b89d3fb89acfb81be1e440c25c41ab09fa96d /OpenSim/Region/CoreModules/Avatar/Friends | |
parent | More changing to production grid. Double oops. (diff) | |
download | opensim-SC_OLD-134f86e8d5c414409631b25b8c6f0ee45fbd8631.zip opensim-SC_OLD-134f86e8d5c414409631b25b8c6f0ee45fbd8631.tar.gz opensim-SC_OLD-134f86e8d5c414409631b25b8c6f0ee45fbd8631.tar.bz2 opensim-SC_OLD-134f86e8d5c414409631b25b8c6f0ee45fbd8631.tar.xz |
Initial update to OpenSim 0.8.2.1 source code.
Diffstat (limited to 'OpenSim/Region/CoreModules/Avatar/Friends')
5 files changed, 67 insertions, 40 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/CallingCardModule.cs b/OpenSim/Region/CoreModules/Avatar/Friends/CallingCardModule.cs index 5ec0ea9..eb23e83 100644 --- a/OpenSim/Region/CoreModules/Avatar/Friends/CallingCardModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Friends/CallingCardModule.cs | |||
@@ -36,6 +36,7 @@ using OpenSim.Region.Framework.Interfaces; | |||
36 | using OpenSim.Region.Framework.Scenes; | 36 | using OpenSim.Region.Framework.Scenes; |
37 | using OpenSim.Services.Interfaces; | 37 | using OpenSim.Services.Interfaces; |
38 | using Mono.Addins; | 38 | using Mono.Addins; |
39 | using PermissionMask = OpenSim.Framework.PermissionMask; | ||
39 | 40 | ||
40 | namespace OpenSim.Region.CoreModules.Avatar.Friends | 41 | namespace OpenSim.Region.CoreModules.Avatar.Friends |
41 | { | 42 | { |
@@ -180,7 +181,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
180 | if (folderID == UUID.Zero) | 181 | if (folderID == UUID.Zero) |
181 | { | 182 | { |
182 | InventoryFolderBase folder = inv.GetFolderForType(userID, | 183 | InventoryFolderBase folder = inv.GetFolderForType(userID, |
183 | AssetType.CallingCard); | 184 | FolderType.CallingCard); |
184 | 185 | ||
185 | if (folder == null) // Nowhere to put it | 186 | if (folder == null) // Nowhere to put it |
186 | return UUID.Zero; | 187 | return UUID.Zero; |
@@ -236,7 +237,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
236 | IInventoryService invService = m_Scenes[0].InventoryService; | 237 | IInventoryService invService = m_Scenes[0].InventoryService; |
237 | 238 | ||
238 | InventoryFolderBase trashFolder = | 239 | InventoryFolderBase trashFolder = |
239 | invService.GetFolderForType(client.AgentId, AssetType.TrashFolder); | 240 | invService.GetFolderForType(client.AgentId, FolderType.Trash); |
240 | 241 | ||
241 | InventoryItemBase item = new InventoryItemBase(transactionID, client.AgentId); | 242 | InventoryItemBase item = new InventoryItemBase(transactionID, client.AgentId); |
242 | item = invService.GetItem(item); | 243 | item = invService.GetItem(item); |
diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs index 8056030..08e7dd2 100644 --- a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs | |||
@@ -38,7 +38,6 @@ using OpenMetaverse; | |||
38 | using Mono.Addins; | 38 | using Mono.Addins; |
39 | using OpenSim.Framework; | 39 | using OpenSim.Framework; |
40 | using OpenSim.Framework.Servers.HttpServer; | 40 | using OpenSim.Framework.Servers.HttpServer; |
41 | using OpenSim.Framework.Communications; | ||
42 | using OpenSim.Framework.Servers; | 41 | using OpenSim.Framework.Servers; |
43 | using OpenSim.Region.Framework.Interfaces; | 42 | using OpenSim.Region.Framework.Interfaces; |
44 | using OpenSim.Region.Framework.Scenes; | 43 | using OpenSim.Region.Framework.Scenes; |
@@ -94,6 +93,12 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
94 | protected Dictionary<UUID, UserFriendData> m_Friends = new Dictionary<UUID, UserFriendData>(); | 93 | protected Dictionary<UUID, UserFriendData> m_Friends = new Dictionary<UUID, UserFriendData>(); |
95 | 94 | ||
96 | /// <summary> | 95 | /// <summary> |
96 | /// Maintain a record of clients that need to notify about their online status. This only | ||
97 | /// needs to be done on login. Subsequent online/offline friend changes are sent by a different mechanism. | ||
98 | /// </summary> | ||
99 | protected HashSet<UUID> m_NeedsToNotifyStatus = new HashSet<UUID>(); | ||
100 | |||
101 | /// <summary> | ||
97 | /// Maintain a record of viewers that need to be sent notifications for friends that are online. This only | 102 | /// Maintain a record of viewers that need to be sent notifications for friends that are online. This only |
98 | /// needs to be done on login. Subsequent online/offline friend changes are sent by a different mechanism. | 103 | /// needs to be done on login. Subsequent online/offline friend changes are sent by a different mechanism. |
99 | /// </summary> | 104 | /// </summary> |
@@ -324,6 +329,15 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
324 | private void OnMakeRootAgent(ScenePresence sp) | 329 | private void OnMakeRootAgent(ScenePresence sp) |
325 | { | 330 | { |
326 | RecacheFriends(sp.ControllingClient); | 331 | RecacheFriends(sp.ControllingClient); |
332 | |||
333 | lock (m_NeedsToNotifyStatus) | ||
334 | { | ||
335 | if (m_NeedsToNotifyStatus.Remove(sp.UUID)) | ||
336 | { | ||
337 | // Inform the friends that this user is online. This can only be done once the client is a Root Agent. | ||
338 | StatusChange(sp.UUID, true); | ||
339 | } | ||
340 | } | ||
327 | } | 341 | } |
328 | 342 | ||
329 | private void OnClientLogin(IClientAPI client) | 343 | private void OnClientLogin(IClientAPI client) |
@@ -331,8 +345,13 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
331 | UUID agentID = client.AgentId; | 345 | UUID agentID = client.AgentId; |
332 | 346 | ||
333 | //m_log.DebugFormat("[XXX]: OnClientLogin!"); | 347 | //m_log.DebugFormat("[XXX]: OnClientLogin!"); |
334 | // Inform the friends that this user is online | 348 | |
335 | StatusChange(agentID, true); | 349 | // Register that we need to send this user's status to friends. This can only be done |
350 | // once the client becomes a Root Agent, because as part of sending out the presence | ||
351 | // we also get back the presence of the HG friends, and we need to send that to the | ||
352 | // client, but that can only be done when the client is a Root Agent. | ||
353 | lock (m_NeedsToNotifyStatus) | ||
354 | m_NeedsToNotifyStatus.Add(agentID); | ||
336 | 355 | ||
337 | // Register that we need to send the list of online friends to this user | 356 | // Register that we need to send the list of online friends to this user |
338 | lock (m_NeedsListOfOnlineFriends) | 357 | lock (m_NeedsListOfOnlineFriends) |
@@ -371,7 +390,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
371 | foreach (string fid in outstanding) | 390 | foreach (string fid in outstanding) |
372 | { | 391 | { |
373 | UUID fromAgentID; | 392 | UUID fromAgentID; |
374 | string firstname = "Unknown", lastname = "User"; | 393 | string firstname = "Unknown", lastname = "UserFMSFOIN"; |
375 | if (!GetAgentInfo(client.Scene.RegionInfo.ScopeID, fid, out fromAgentID, out firstname, out lastname)) | 394 | if (!GetAgentInfo(client.Scene.RegionInfo.ScopeID, fid, out fromAgentID, out firstname, out lastname)) |
376 | { | 395 | { |
377 | m_log.DebugFormat("[FRIENDS MODULE]: skipping malformed friend {0}", fid); | 396 | m_log.DebugFormat("[FRIENDS MODULE]: skipping malformed friend {0}", fid); |
@@ -397,7 +416,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
397 | 416 | ||
398 | protected virtual bool GetAgentInfo(UUID scopeID, string fid, out UUID agentID, out string first, out string last) | 417 | protected virtual bool GetAgentInfo(UUID scopeID, string fid, out UUID agentID, out string first, out string last) |
399 | { | 418 | { |
400 | first = "Unknown"; last = "User"; | 419 | first = "Unknown"; last = "UserFMGAI"; |
401 | if (!UUID.TryParse(fid, out agentID)) | 420 | if (!UUID.TryParse(fid, out agentID)) |
402 | return false; | 421 | return false; |
403 | 422 | ||
@@ -491,13 +510,15 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
491 | 510 | ||
492 | // Notify about this user status | 511 | // Notify about this user status |
493 | StatusNotify(friendList, agentID, online); | 512 | StatusNotify(friendList, agentID, online); |
494 | } | 513 | }, null, "FriendsModule.StatusChange" |
495 | ); | 514 | ); |
496 | } | 515 | } |
497 | } | 516 | } |
498 | 517 | ||
499 | protected virtual void StatusNotify(List<FriendInfo> friendList, UUID userID, bool online) | 518 | protected virtual void StatusNotify(List<FriendInfo> friendList, UUID userID, bool online) |
500 | { | 519 | { |
520 | //m_log.DebugFormat("[FRIENDS]: Entering StatusNotify for {0}", userID); | ||
521 | |||
501 | List<string> friendStringIds = friendList.ConvertAll<string>(friend => friend.Friend); | 522 | List<string> friendStringIds = friendList.ConvertAll<string>(friend => friend.Friend); |
502 | List<string> remoteFriendStringIds = new List<string>(); | 523 | List<string> remoteFriendStringIds = new List<string>(); |
503 | foreach (string friendStringId in friendStringIds) | 524 | foreach (string friendStringId in friendStringIds) |
@@ -523,12 +544,17 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
523 | foreach (PresenceInfo friendSession in friendSessions) | 544 | foreach (PresenceInfo friendSession in friendSessions) |
524 | { | 545 | { |
525 | // let's guard against sessions-gone-bad | 546 | // let's guard against sessions-gone-bad |
526 | if (friendSession.RegionID != UUID.Zero) | 547 | if (friendSession != null && friendSession.RegionID != UUID.Zero) |
527 | { | 548 | { |
549 | //m_log.DebugFormat("[FRIENDS]: Get region {0}", friendSession.RegionID); | ||
528 | GridRegion region = GridService.GetRegionByUUID(m_Scenes[0].RegionInfo.ScopeID, friendSession.RegionID); | 550 | GridRegion region = GridService.GetRegionByUUID(m_Scenes[0].RegionInfo.ScopeID, friendSession.RegionID); |
529 | //m_log.DebugFormat("[FRIENDS]: Remote Notify to region {0}", region.RegionName); | 551 | if (region != null) |
530 | m_FriendsSimConnector.StatusNotify(region, userID, friendSession.UserID, online); | 552 | { |
553 | m_FriendsSimConnector.StatusNotify(region, userID, friendSession.UserID, online); | ||
554 | } | ||
531 | } | 555 | } |
556 | //else | ||
557 | // m_log.DebugFormat("[FRIENDS]: friend session is null or the region is UUID.Zero"); | ||
532 | } | 558 | } |
533 | } | 559 | } |
534 | 560 | ||
@@ -685,7 +711,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
685 | // | 711 | // |
686 | 712 | ||
687 | // Try local | 713 | // Try local |
688 | if (LocalFriendshipTerminated(exfriendID)) | 714 | if (LocalFriendshipTerminated(client.AgentId, exfriendID)) |
689 | return; | 715 | return; |
690 | 716 | ||
691 | PresenceInfo[] friendSessions = PresenceService.GetAgents(new string[] { exfriendID.ToString() }); | 717 | PresenceInfo[] friendSessions = PresenceService.GetAgents(new string[] { exfriendID.ToString() }); |
@@ -827,13 +853,13 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
827 | return false; | 853 | return false; |
828 | } | 854 | } |
829 | 855 | ||
830 | public bool LocalFriendshipTerminated(UUID exfriendID) | 856 | public bool LocalFriendshipTerminated(UUID userID, UUID exfriendID) |
831 | { | 857 | { |
832 | IClientAPI friendClient = LocateClientObject(exfriendID); | 858 | IClientAPI friendClient = LocateClientObject(exfriendID); |
833 | if (friendClient != null) | 859 | if (friendClient != null) |
834 | { | 860 | { |
835 | // the friend in this sim as root agent | 861 | // the friend in this sim as root agent |
836 | friendClient.SendTerminateFriend(exfriendID); | 862 | friendClient.SendTerminateFriend(userID); |
837 | // update local cache | 863 | // update local cache |
838 | RecacheFriends(friendClient); | 864 | RecacheFriends(friendClient); |
839 | // we're done | 865 | // we're done |
diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsRequestHandler.cs b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsRequestHandler.cs index 637beef..13512a2 100644 --- a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsRequestHandler.cs +++ b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsRequestHandler.cs | |||
@@ -1,4 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) Contributors, http://opensimulator.org/ | 2 | * Copyright (c) Contributors, http://opensimulator.org/ |
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | 3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. |
4 | * | 4 | * |
@@ -42,19 +42,27 @@ using log4net; | |||
42 | 42 | ||
43 | namespace OpenSim.Region.CoreModules.Avatar.Friends | 43 | namespace OpenSim.Region.CoreModules.Avatar.Friends |
44 | { | 44 | { |
45 | public class FriendsRequestHandler : BaseStreamHandler | 45 | public class FriendsRequestHandler : BaseStreamHandlerBasicDOSProtector |
46 | { | 46 | { |
47 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 47 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
48 | 48 | ||
49 | private FriendsModule m_FriendsModule; | 49 | private FriendsModule m_FriendsModule; |
50 | 50 | ||
51 | public FriendsRequestHandler(FriendsModule fmodule) | 51 | public FriendsRequestHandler(FriendsModule fmodule) |
52 | : base("POST", "/friends") | 52 | : base("POST", "/friends", new BasicDosProtectorOptions() |
53 | { | ||
54 | AllowXForwardedFor = true, | ||
55 | ForgetTimeSpan = TimeSpan.FromMinutes(2), | ||
56 | MaxRequestsInTimeframe = 20, | ||
57 | ReportingName = "FRIENDSDOSPROTECTOR", | ||
58 | RequestTimeSpan = TimeSpan.FromSeconds(5), | ||
59 | ThrottledAction = BasicDOSProtector.ThrottleAction.DoThrottledMethod | ||
60 | }) | ||
53 | { | 61 | { |
54 | m_FriendsModule = fmodule; | 62 | m_FriendsModule = fmodule; |
55 | } | 63 | } |
56 | 64 | ||
57 | public override byte[] Handle( | 65 | protected override byte[] ProcessRequest( |
58 | string path, Stream requestData, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) | 66 | string path, Stream requestData, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse) |
59 | { | 67 | { |
60 | StreamReader sr = new StreamReader(requestData); | 68 | StreamReader sr = new StreamReader(requestData); |
@@ -193,7 +201,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
193 | if (!UUID.TryParse(request["ToID"].ToString(), out toID)) | 201 | if (!UUID.TryParse(request["ToID"].ToString(), out toID)) |
194 | return FailureResult(); | 202 | return FailureResult(); |
195 | 203 | ||
196 | if (m_FriendsModule.LocalFriendshipTerminated(toID)) | 204 | if (m_FriendsModule.LocalFriendshipTerminated(fromID, toID)) |
197 | return SuccessResult(); | 205 | return SuccessResult(); |
198 | 206 | ||
199 | return FailureResult(); | 207 | return FailureResult(); |
@@ -281,18 +289,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
281 | 289 | ||
282 | rootElement.AppendChild(result); | 290 | rootElement.AppendChild(result); |
283 | 291 | ||
284 | return DocToBytes(doc); | 292 | return Util.DocToBytes(doc); |
285 | } | ||
286 | |||
287 | private byte[] DocToBytes(XmlDocument doc) | ||
288 | { | ||
289 | MemoryStream ms = new MemoryStream(); | ||
290 | XmlTextWriter xw = new XmlTextWriter(ms, null); | ||
291 | xw.Formatting = Formatting.Indented; | ||
292 | doc.WriteTo(xw); | ||
293 | xw.Flush(); | ||
294 | |||
295 | return ms.ToArray(); | ||
296 | } | 293 | } |
297 | 294 | ||
298 | #endregion | 295 | #endregion |
diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/HGFriendsModule.cs b/OpenSim/Region/CoreModules/Avatar/Friends/HGFriendsModule.cs index bf5c0bb..27b7376 100644 --- a/OpenSim/Region/CoreModules/Avatar/Friends/HGFriendsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Friends/HGFriendsModule.cs | |||
@@ -183,6 +183,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
183 | if (Util.ParseUniversalUserIdentifier(finfo.Friend, out id, out url, out first, out last, out tmp)) | 183 | if (Util.ParseUniversalUserIdentifier(finfo.Friend, out id, out url, out first, out last, out tmp)) |
184 | { | 184 | { |
185 | IUserManagement uMan = m_Scenes[0].RequestModuleInterface<IUserManagement>(); | 185 | IUserManagement uMan = m_Scenes[0].RequestModuleInterface<IUserManagement>(); |
186 | m_log.DebugFormat("[HGFRIENDS MODULE]: caching {0}", finfo.Friend); | ||
186 | uMan.AddUser(id, url + ";" + first + " " + last); | 187 | uMan.AddUser(id, url + ";" + first + " " + last); |
187 | } | 188 | } |
188 | } | 189 | } |
@@ -238,6 +239,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
238 | fList.Add(s.Substring(0, 36)); | 239 | fList.Add(s.Substring(0, 36)); |
239 | } | 240 | } |
240 | 241 | ||
242 | // FIXME: also query the presence status of friends in other grids (like in HGStatusNotifier.Notify()) | ||
243 | |||
241 | PresenceInfo[] presence = PresenceService.GetAgents(fList.ToArray()); | 244 | PresenceInfo[] presence = PresenceService.GetAgents(fList.ToArray()); |
242 | foreach (PresenceInfo pi in presence) | 245 | foreach (PresenceInfo pi in presence) |
243 | { | 246 | { |
@@ -251,7 +254,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
251 | 254 | ||
252 | protected override void StatusNotify(List<FriendInfo> friendList, UUID userID, bool online) | 255 | protected override void StatusNotify(List<FriendInfo> friendList, UUID userID, bool online) |
253 | { | 256 | { |
254 | // m_log.DebugFormat("[HGFRIENDS MODULE]: Entering StatusNotify for {0}", userID); | 257 | //m_log.DebugFormat("[HGFRIENDS MODULE]: Entering StatusNotify for {0}", userID); |
255 | 258 | ||
256 | // First, let's divide the friends on a per-domain basis | 259 | // First, let's divide the friends on a per-domain basis |
257 | Dictionary<string, List<FriendInfo>> friendsPerDomain = new Dictionary<string, List<FriendInfo>>(); | 260 | Dictionary<string, List<FriendInfo>> friendsPerDomain = new Dictionary<string, List<FriendInfo>>(); |
@@ -293,7 +296,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
293 | 296 | ||
294 | protected override bool GetAgentInfo(UUID scopeID, string fid, out UUID agentID, out string first, out string last) | 297 | protected override bool GetAgentInfo(UUID scopeID, string fid, out UUID agentID, out string first, out string last) |
295 | { | 298 | { |
296 | first = "Unknown"; last = "User"; | 299 | first = "Unknown"; last = "UserHGGAI"; |
297 | if (base.GetAgentInfo(scopeID, fid, out agentID, out first, out last)) | 300 | if (base.GetAgentInfo(scopeID, fid, out agentID, out first, out last)) |
298 | return true; | 301 | return true; |
299 | 302 | ||
@@ -349,7 +352,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
349 | 352 | ||
350 | public override FriendInfo[] GetFriendsFromService(IClientAPI client) | 353 | public override FriendInfo[] GetFriendsFromService(IClientAPI client) |
351 | { | 354 | { |
352 | // m_log.DebugFormat("[HGFRIENDS MODULE]: Entering GetFriendsFromService for {0}", client.Name); | 355 | // m_log.DebugFormat("[HGFRIENDS MODULE]: Entering GetFriendsFromService for {0}", client.Name); |
353 | Boolean agentIsLocal = true; | 356 | Boolean agentIsLocal = true; |
354 | if (UserManagementModule != null) | 357 | if (UserManagementModule != null) |
355 | agentIsLocal = UserManagementModule.IsLocalGridUser(client.AgentId); | 358 | agentIsLocal = UserManagementModule.IsLocalGridUser(client.AgentId); |
@@ -362,13 +365,12 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
362 | AgentCircuitData agentClientCircuit = ((Scene)(client.Scene)).AuthenticateHandler.GetAgentCircuitData(client.CircuitCode); | 365 | AgentCircuitData agentClientCircuit = ((Scene)(client.Scene)).AuthenticateHandler.GetAgentCircuitData(client.CircuitCode); |
363 | if (agentClientCircuit != null) | 366 | if (agentClientCircuit != null) |
364 | { | 367 | { |
365 | //[XXX] string agentUUI = Util.ProduceUserUniversalIdentifier(agentClientCircuit); | 368 | // Note that this is calling a different interface than base; this one calls with a string param! |
366 | |||
367 | finfos = FriendsService.GetFriends(client.AgentId.ToString()); | 369 | finfos = FriendsService.GetFriends(client.AgentId.ToString()); |
368 | m_log.DebugFormat("[HGFRIENDS MODULE]: Fetched {0} local friends for visitor {1}", finfos.Length, client.AgentId.ToString()); | 370 | m_log.DebugFormat("[HGFRIENDS MODULE]: Fetched {0} local friends for visitor {1}", finfos.Length, client.AgentId.ToString()); |
369 | } | 371 | } |
370 | 372 | ||
371 | // m_log.DebugFormat("[HGFRIENDS MODULE]: Exiting GetFriendsFromService for {0}", client.Name); | 373 | // m_log.DebugFormat("[HGFRIENDS MODULE]: Exiting GetFriendsFromService for {0}", client.Name); |
372 | 374 | ||
373 | return finfos; | 375 | return finfos; |
374 | } | 376 | } |
@@ -658,7 +660,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
658 | FriendsService.Delete(friendUUI, agentID.ToString()); | 660 | FriendsService.Delete(friendUUI, agentID.ToString()); |
659 | 661 | ||
660 | // notify the exfriend's service | 662 | // notify the exfriend's service |
661 | Util.FireAndForget(delegate { Delete(exfriendID, agentID, friendUUI); }); | 663 | Util.FireAndForget( |
664 | delegate { Delete(exfriendID, agentID, friendUUI); }, null, "HGFriendsModule.DeleteFriendshipForeignFriend"); | ||
662 | 665 | ||
663 | m_log.DebugFormat("[HGFRIENDS MODULE]: {0} terminated {1}", agentID, friendUUI); | 666 | m_log.DebugFormat("[HGFRIENDS MODULE]: {0} terminated {1}", agentID, friendUUI); |
664 | return true; | 667 | return true; |
@@ -676,7 +679,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
676 | FriendsService.Delete(agentUUI, exfriendID.ToString()); | 679 | FriendsService.Delete(agentUUI, exfriendID.ToString()); |
677 | 680 | ||
678 | // notify the agent's service? | 681 | // notify the agent's service? |
679 | Util.FireAndForget(delegate { Delete(agentID, exfriendID, agentUUI); }); | 682 | Util.FireAndForget( |
683 | delegate { Delete(agentID, exfriendID, agentUUI); }, null, "HGFriendsModule.DeleteFriendshipLocalFriend"); | ||
680 | 684 | ||
681 | m_log.DebugFormat("[HGFRIENDS MODULE]: {0} terminated {1}", agentUUI, exfriendID); | 685 | m_log.DebugFormat("[HGFRIENDS MODULE]: {0} terminated {1}", agentUUI, exfriendID); |
682 | return true; | 686 | return true; |
diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/Tests/FriendModuleTests.cs b/OpenSim/Region/CoreModules/Avatar/Friends/Tests/FriendModuleTests.cs index 961117e..e6fd54e 100644 --- a/OpenSim/Region/CoreModules/Avatar/Friends/Tests/FriendModuleTests.cs +++ b/OpenSim/Region/CoreModules/Avatar/Friends/Tests/FriendModuleTests.cs | |||
@@ -35,7 +35,6 @@ using OpenSim.Framework; | |||
35 | using OpenSim.Region.CoreModules.Avatar.Friends; | 35 | using OpenSim.Region.CoreModules.Avatar.Friends; |
36 | using OpenSim.Region.Framework.Scenes; | 36 | using OpenSim.Region.Framework.Scenes; |
37 | using OpenSim.Tests.Common; | 37 | using OpenSim.Tests.Common; |
38 | using OpenSim.Tests.Common.Mock; | ||
39 | 38 | ||
40 | namespace OpenSim.Region.CoreModules.Avatar.Friends.Tests | 39 | namespace OpenSim.Region.CoreModules.Avatar.Friends.Tests |
41 | { | 40 | { |