diff --git a/OpenSim/Framework/GridInstantMessage.cs b/OpenSim/Framework/GridInstantMessage.cs index 53d98db236..6954c64e20 100644 --- a/OpenSim/Framework/GridInstantMessage.cs +++ b/OpenSim/Framework/GridInstantMessage.cs @@ -47,7 +47,6 @@ namespace OpenSim.Framework public uint ParentEstateID; public Guid RegionID; public uint timestamp; - public Guid ID; public GridInstantMessage() { @@ -68,8 +67,7 @@ namespace OpenSim.Framework binaryBucket = im.binaryBucket; RegionID = im.RegionID; ParentEstateID = im.ParentEstateID; - ID = im.ID; - + if (addTimestamp) timestamp = (uint)Util.UnixTimeSinceEpoch(); } @@ -78,7 +76,7 @@ namespace OpenSim.Framework string _fromAgentName, UUID _toAgentID, byte _dialog, bool _fromGroup, string _message, UUID _imSessionID, bool _offline, Vector3 _position, - byte[] _binaryBucket, UUID _ID, bool addTimestamp) + byte[] _binaryBucket, bool addTimestamp) { fromAgentID = _fromAgentID.Guid; fromAgentName = _fromAgentName; @@ -87,7 +85,6 @@ namespace OpenSim.Framework fromGroup = _fromGroup; message = _message; imSessionID = _imSessionID.Guid; - ID = _ID.Guid; if (_offline) offline = 1; @@ -106,22 +103,12 @@ namespace OpenSim.Framework timestamp = (uint)Util.UnixTimeSinceEpoch(); } - public GridInstantMessage(IScene scene, UUID _fromAgentID, - string _fromAgentName, UUID _toAgentID, - byte _dialog, bool _fromGroup, string _message, - UUID _imSessionID, bool _offline, Vector3 _position, - byte[] _binaryBucket, bool addTimestamp) : this (scene, _fromAgentID, - _fromAgentName, _toAgentID, _dialog, _fromGroup, _message, - _imSessionID, _offline, _position, _binaryBucket, UUID.Zero, addTimestamp) - { - } - public GridInstantMessage(IScene scene, UUID _fromAgentID, string _fromAgentName, UUID _toAgentID, byte _dialog, string _message, bool _offline, Vector3 _position) : this(scene, _fromAgentID, _fromAgentName, _toAgentID, _dialog, false, _message, - _fromAgentID ^ _toAgentID, _offline, _position, new byte[0], UUID.Zero, true) + _fromAgentID ^ _toAgentID, _offline, _position, new byte[0], true) { } } diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 0bb5dc68ea..26fc85e7fe 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs @@ -961,11 +961,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP = (ImprovedInstantMessagePacket)PacketPool.Instance.GetPacket(PacketType.ImprovedInstantMessage); msg.AgentData.AgentID = new UUID(im.fromAgentID); - msg.AgentData.SessionID = new UUID(im.imSessionID); + msg.AgentData.SessionID = UUID.Zero; msg.MessageBlock.FromAgentName = Util.StringToBytes256(im.fromAgentName); msg.MessageBlock.Dialog = im.dialog; msg.MessageBlock.FromGroup = im.fromGroup; - msg.MessageBlock.ID = new UUID(im.ID); + // this is odd + if (im.imSessionID == UUID.Zero.Guid) + msg.MessageBlock.ID = new UUID(im.fromAgentID) ^ new UUID(im.toAgentID); + else + msg.MessageBlock.ID = new UUID(im.imSessionID); msg.MessageBlock.Offline = im.offline; msg.MessageBlock.ParentEstateID = im.ParentEstateID; msg.MessageBlock.Position = im.Position; diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs index 1366103328..6b120fb1a9 100644 --- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs @@ -216,7 +216,6 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage UUID fromAgentID = UUID.Zero; UUID toAgentID = UUID.Zero; UUID imSessionID = UUID.Zero; - UUID imID = UUID.Zero; uint timestamp = 0; string fromAgentName = ""; string message = ""; @@ -263,7 +262,6 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage UUID.TryParse((string)requestData["to_agent_id"], out toAgentID); UUID.TryParse((string)requestData["im_session_id"], out imSessionID); UUID.TryParse((string)requestData["region_id"], out RegionID); - UUID.TryParse((string)requestData["id"], out imID); try { @@ -391,8 +389,6 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage gim.ParentEstateID = ParentEstateID; gim.Position = Position; gim.binaryBucket = binaryBucket; - gim.ID = imID.Guid; - // Trigger the Instant message in the scene. foreach (Scene scene in m_Scenes) @@ -702,8 +698,6 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage gim["from_agent_session"] = UUID.Zero.ToString(); gim["to_agent_id"] = msg.toAgentID.ToString(); gim["im_session_id"] = msg.imSessionID.ToString(); - if(msg.ID != Guid.Empty) - gim["id"] = msg.ID.ToString(); gim["timestamp"] = msg.timestamp.ToString(); gim["from_agent_name"] = msg.fromAgentName; gim["message"] = msg.message;