diff options
author | Freaky Tech | 2015-03-05 20:55:52 +0100 |
---|---|---|
committer | BlueWall | 2015-03-05 16:17:12 -0500 |
commit | 0ea69770139f4369b202362be054047a5086a220 (patch) | |
tree | 912a4130bc7b2a2a1b01cc2f24891cc714ea0429 /OpenSim/Region/CoreModules/ServiceConnectorsOut | |
parent | Merge branch 'master' of /team/src/opensim (diff) | |
download | opensim-SC-0ea69770139f4369b202362be054047a5086a220.zip opensim-SC-0ea69770139f4369b202362be054047a5086a220.tar.gz opensim-SC-0ea69770139f4369b202362be054047a5086a220.tar.bz2 opensim-SC-0ea69770139f4369b202362be054047a5086a220.tar.xz |
solving HG IM, HGFriends issues based on falsified GridUser data
it does not consider GridUser as a viable source for residents' data.
it does not consider Friends, Inventory Creators to be trusted at all. There are lots of broken entries in existence.
There are lots of broken creator data fields in assets.
The following issues arise from the broken data in the old User Management Module:
failing HG IM
failing HGFriends Requests
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
Diffstat (limited to 'OpenSim/Region/CoreModules/ServiceConnectorsOut')
-rw-r--r-- | OpenSim/Region/CoreModules/ServiceConnectorsOut/GridUser/ActivityDetector.cs | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/GridUser/ActivityDetector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/GridUser/ActivityDetector.cs index e05d186..2238c90 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/GridUser/ActivityDetector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/GridUser/ActivityDetector.cs | |||
@@ -67,10 +67,14 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.GridUser | |||
67 | { | 67 | { |
68 | if (sp.PresenceType != PresenceType.Npc) | 68 | if (sp.PresenceType != PresenceType.Npc) |
69 | { | 69 | { |
70 | string userid = sp.Scene.UserManagementModule.GetUserUUI(sp.UUID); | 70 | string userid; |
71 | //m_log.DebugFormat("[ACTIVITY DETECTOR]: Detected root presence {0} in {1}", userid, sp.Scene.RegionInfo.RegionName); | 71 | //m_log.DebugFormat("[ACTIVITY DETECTOR]: Detected root presence {0} in {1}", userid, sp.Scene.RegionInfo.RegionName); |
72 | m_GridUserService.SetLastPosition( | 72 | if (sp.Scene.UserManagementModule.GetUserUUI(sp.UUID, out userid)) |
73 | userid, UUID.Zero, sp.Scene.RegionInfo.RegionID, sp.AbsolutePosition, sp.Lookat); | 73 | { |
74 | /* we only setposition on known agents that have a valid lookup */ | ||
75 | m_GridUserService.SetLastPosition( | ||
76 | userid, UUID.Zero, sp.Scene.RegionInfo.RegionID, sp.AbsolutePosition, sp.Lookat); | ||
77 | } | ||
74 | } | 78 | } |
75 | } | 79 | } |
76 | 80 | ||
@@ -89,17 +93,20 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.GridUser | |||
89 | if (client.SceneAgent.IsChildAgent) | 93 | if (client.SceneAgent.IsChildAgent) |
90 | return; | 94 | return; |
91 | 95 | ||
92 | string userId = client.AgentId.ToString(); | 96 | string userId; |
97 | /* without scene we cannot logout correctly at all since we do not know how to send the loggedout message then */ | ||
93 | if (client.Scene is Scene) | 98 | if (client.Scene is Scene) |
94 | { | 99 | { |
95 | Scene s = (Scene)client.Scene; | 100 | Scene s = (Scene)client.Scene; |
96 | userId = s.UserManagementModule.GetUserUUI(client.AgentId); | 101 | userId = s.UserManagementModule.GetUserUUI(client.AgentId); |
102 | if(s.UserManagementModule.GetUserUUI(client.AgentId, out userId)) | ||
103 | { | ||
104 | m_GridUserService.LoggedOut( | ||
105 | userId, client.SessionId, client.Scene.RegionInfo.RegionID, | ||
106 | client.SceneAgent.AbsolutePosition, client.SceneAgent.Lookat); | ||
107 | } | ||
97 | } | 108 | } |
98 | //m_log.DebugFormat("[ACTIVITY DETECTOR]: Detected client logout {0} in {1}", userId, client.Scene.RegionInfo.RegionName); | ||
99 | 109 | ||
100 | m_GridUserService.LoggedOut( | ||
101 | userId, client.SessionId, client.Scene.RegionInfo.RegionID, | ||
102 | client.SceneAgent.AbsolutePosition, client.SceneAgent.Lookat); | ||
103 | } | 110 | } |
104 | } | 111 | } |
105 | } | 112 | } |