diff options
author | Melanie Thielker | 2008-11-16 22:04:01 +0000 |
---|---|---|
committer | Melanie Thielker | 2008-11-16 22:04:01 +0000 |
commit | 5e2e05a1c1cf083c52728798c809711f4e2f52ae (patch) | |
tree | a51ab47c0d6e83a31fc02e0b840911bf936fe802 /OpenSim/Region/Environment/Modules/Avatar/InstantMessage | |
parent | - Fix a formatting error in a log message (Mantis#2635). (diff) | |
download | opensim-SC-5e2e05a1c1cf083c52728798c809711f4e2f52ae.zip opensim-SC-5e2e05a1c1cf083c52728798c809711f4e2f52ae.tar.gz opensim-SC-5e2e05a1c1cf083c52728798c809711f4e2f52ae.tar.bz2 opensim-SC-5e2e05a1c1cf083c52728798c809711f4e2f52ae.tar.xz |
Megapatch. Completely remove the multiparameter IM methods. Remove the insecure
fromAgentSession field.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Environment/Modules/Avatar/InstantMessage/InstantMessageModule.cs | 30 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Modules/Avatar/InstantMessage/MessageTransferModule.cs | 8 |
2 files changed, 5 insertions, 33 deletions
diff --git a/OpenSim/Region/Environment/Modules/Avatar/InstantMessage/InstantMessageModule.cs b/OpenSim/Region/Environment/Modules/Avatar/InstantMessage/InstantMessageModule.cs index cd8c82c..b106435 100644 --- a/OpenSim/Region/Environment/Modules/Avatar/InstantMessage/InstantMessageModule.cs +++ b/OpenSim/Region/Environment/Modules/Avatar/InstantMessage/InstantMessageModule.cs | |||
@@ -110,33 +110,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.InstantMessage | |||
110 | 110 | ||
111 | #endregion | 111 | #endregion |
112 | 112 | ||
113 | private void OnInstantMessage(IClientAPI client, UUID fromAgentID, | 113 | public void OnInstantMessage(IClientAPI client, GridInstantMessage im) |
114 | UUID fromAgentSession, UUID toAgentID, | ||
115 | UUID imSessionID, uint timestamp, string fromAgentName, | ||
116 | string message, byte dialog, bool fromGroup, byte offline, | ||
117 | uint ParentEstateID, Vector3 Position, UUID RegionID, | ||
118 | byte[] binaryBucket) | ||
119 | { | ||
120 | // This module handles exclusively private text IM from user | ||
121 | // to user. All others will be caught in other modules | ||
122 | // | ||
123 | if ( dialog != (byte)InstantMessageDialog.MessageFromAgent | ||
124 | && dialog != (byte)InstantMessageDialog.StartTyping | ||
125 | && dialog != (byte)InstantMessageDialog.StopTyping) | ||
126 | { | ||
127 | return; | ||
128 | } | ||
129 | |||
130 | GridInstantMessage im = new GridInstantMessage(client.Scene, | ||
131 | fromAgentID, fromAgentName, fromAgentSession, toAgentID, | ||
132 | dialog, fromGroup, message, imSessionID, | ||
133 | offline != 0 ? true : false, Position, | ||
134 | binaryBucket); | ||
135 | |||
136 | ProcessInstantMessage(client, im); | ||
137 | } | ||
138 | |||
139 | private void ProcessInstantMessage(IClientAPI client, GridInstantMessage im) | ||
140 | { | 114 | { |
141 | byte dialog = im.dialog; | 115 | byte dialog = im.dialog; |
142 | 116 | ||
@@ -183,7 +157,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.InstantMessage | |||
183 | // so we can depend on the above not trying to send | 157 | // so we can depend on the above not trying to send |
184 | // via grid again | 158 | // via grid again |
185 | // | 159 | // |
186 | ProcessInstantMessage(null, msg); | 160 | OnInstantMessage(null, msg); |
187 | } | 161 | } |
188 | } | 162 | } |
189 | } | 163 | } |
diff --git a/OpenSim/Region/Environment/Modules/Avatar/InstantMessage/MessageTransferModule.cs b/OpenSim/Region/Environment/Modules/Avatar/InstantMessage/MessageTransferModule.cs index 0dc29a1..67346ae 100644 --- a/OpenSim/Region/Environment/Modules/Avatar/InstantMessage/MessageTransferModule.cs +++ b/OpenSim/Region/Environment/Modules/Avatar/InstantMessage/MessageTransferModule.cs | |||
@@ -185,7 +185,6 @@ namespace OpenSim.Region.Environment.Modules.Avatar.InstantMessage | |||
185 | bool successful = false; | 185 | bool successful = false; |
186 | // various rational defaults | 186 | // various rational defaults |
187 | UUID fromAgentID = UUID.Zero; | 187 | UUID fromAgentID = UUID.Zero; |
188 | UUID fromAgentSession = UUID.Zero; | ||
189 | UUID toAgentID = UUID.Zero; | 188 | UUID toAgentID = UUID.Zero; |
190 | UUID imSessionID = UUID.Zero; | 189 | UUID imSessionID = UUID.Zero; |
191 | uint timestamp = 0; | 190 | uint timestamp = 0; |
@@ -207,7 +206,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.InstantMessage | |||
207 | 206 | ||
208 | Hashtable requestData = (Hashtable)request.Params[0]; | 207 | Hashtable requestData = (Hashtable)request.Params[0]; |
209 | // Check if it's got all the data | 208 | // Check if it's got all the data |
210 | if (requestData.ContainsKey("from_agent_id") && requestData.ContainsKey("from_agent_session") | 209 | if (requestData.ContainsKey("from_agent_id") |
211 | && requestData.ContainsKey("to_agent_id") && requestData.ContainsKey("im_session_id") | 210 | && requestData.ContainsKey("to_agent_id") && requestData.ContainsKey("im_session_id") |
212 | && requestData.ContainsKey("timestamp") && requestData.ContainsKey("from_agent_name") | 211 | && requestData.ContainsKey("timestamp") && requestData.ContainsKey("from_agent_name") |
213 | && requestData.ContainsKey("message") && requestData.ContainsKey("dialog") | 212 | && requestData.ContainsKey("message") && requestData.ContainsKey("dialog") |
@@ -219,7 +218,6 @@ namespace OpenSim.Region.Environment.Modules.Avatar.InstantMessage | |||
219 | { | 218 | { |
220 | // Do the easy way of validating the UUIDs | 219 | // Do the easy way of validating the UUIDs |
221 | UUID.TryParse((string)requestData["from_agent_id"], out fromAgentID); | 220 | UUID.TryParse((string)requestData["from_agent_id"], out fromAgentID); |
222 | UUID.TryParse((string)requestData["from_agent_session"], out fromAgentSession); | ||
223 | UUID.TryParse((string)requestData["to_agent_id"], out toAgentID); | 221 | UUID.TryParse((string)requestData["to_agent_id"], out toAgentID); |
224 | UUID.TryParse((string)requestData["im_session_id"], out imSessionID); | 222 | UUID.TryParse((string)requestData["im_session_id"], out imSessionID); |
225 | UUID.TryParse((string)requestData["region_id"], out RegionID); | 223 | UUID.TryParse((string)requestData["region_id"], out RegionID); |
@@ -337,7 +335,6 @@ namespace OpenSim.Region.Environment.Modules.Avatar.InstantMessage | |||
337 | GridInstantMessage gim = new GridInstantMessage(); | 335 | GridInstantMessage gim = new GridInstantMessage(); |
338 | gim.fromAgentID = fromAgentID.Guid; | 336 | gim.fromAgentID = fromAgentID.Guid; |
339 | gim.fromAgentName = fromAgentName; | 337 | gim.fromAgentName = fromAgentName; |
340 | gim.fromAgentSession = fromAgentSession.Guid; | ||
341 | gim.fromGroup = fromGroup; | 338 | gim.fromGroup = fromGroup; |
342 | gim.imSessionID = imSessionID.Guid; | 339 | gim.imSessionID = imSessionID.Guid; |
343 | gim.RegionID = RegionID.Guid; | 340 | gim.RegionID = RegionID.Guid; |
@@ -598,7 +595,8 @@ namespace OpenSim.Region.Environment.Modules.Avatar.InstantMessage | |||
598 | { | 595 | { |
599 | Hashtable gim = new Hashtable(); | 596 | Hashtable gim = new Hashtable(); |
600 | gim["from_agent_id"] = msg.fromAgentID.ToString(); | 597 | gim["from_agent_id"] = msg.fromAgentID.ToString(); |
601 | gim["from_agent_session"] = msg.fromAgentSession.ToString(); | 598 | // Kept for compatibility |
599 | gim["from_agent_session"] = UUID.Zero.ToString(); | ||
602 | gim["to_agent_id"] = msg.toAgentID.ToString(); | 600 | gim["to_agent_id"] = msg.toAgentID.ToString(); |
603 | gim["im_session_id"] = msg.imSessionID.ToString(); | 601 | gim["im_session_id"] = msg.imSessionID.ToString(); |
604 | gim["timestamp"] = msg.timestamp.ToString(); | 602 | gim["timestamp"] = msg.timestamp.ToString(); |