diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs index 5ca8c88ecb..a9044d5aed 100644 --- a/OpenSim/Framework/IClientAPI.cs +++ b/OpenSim/Framework/IClientAPI.cs @@ -1485,7 +1485,7 @@ namespace OpenSim.Framework void SendUserInfoReply(bool imViaEmail, bool visible, string email); void SendUseCachedMuteList(); - + void SendEmpytMuteList(); void SendMuteListUpdate(string filename); void SendGroupActiveProposals(UUID groupID, UUID transactionID, GroupActiveProposals[] Proposals); diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 4a76ffc6c3..2ff6cedc07 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs @@ -2307,11 +2307,23 @@ namespace OpenSim.Region.ClientStack.LindenUDP OutPacket(remove, ThrottleOutPacketType.Asset); } +/* + private uint adjustControls(int input) + { + uint ret = (uint)input; + uint masked = ret & 0x0f; + masked <<= 19; + ret |= masked; + return ret; + } +*/ + public void SendTakeControls(int controls, bool passToAgent, bool TakeControls) { ScriptControlChangePacket scriptcontrol = (ScriptControlChangePacket)PacketPool.Instance.GetPacket(PacketType.ScriptControlChange); ScriptControlChangePacket.DataBlock[] data = new ScriptControlChangePacket.DataBlock[1]; ScriptControlChangePacket.DataBlock ddata = new ScriptControlChangePacket.DataBlock(); +// ddata.Controls = adjustControls(controls); ddata.Controls = (uint)controls; ddata.PassToAgent = passToAgent; ddata.TakeControls = TakeControls; @@ -3762,6 +3774,22 @@ namespace OpenSim.Region.ClientStack.LindenUDP OutPacket(useCachedMuteList, ThrottleOutPacketType.Task); } + public void SendEmpytMuteList() + { + GenericMessagePacket gmp = new GenericMessagePacket(); + + gmp.AgentData.AgentID = AgentId; + gmp.AgentData.SessionID = m_sessionId; + gmp.AgentData.TransactionID = UUID.Zero; + + gmp.MethodData.Method = Util.StringToBytes256("emptymutelist"); + gmp.ParamList = new GenericMessagePacket.ParamListBlock[1]; + gmp.ParamList[0] = new GenericMessagePacket.ParamListBlock(); + gmp.ParamList[0].Parameter = new byte[0]; + + OutPacket(gmp, ThrottleOutPacketType.Task); + } + public void SendMuteListUpdate(string filename) { MuteListUpdatePacket muteListUpdate = (MuteListUpdatePacket)PacketPool.Instance.GetPacket(PacketType.MuteListUpdate); @@ -11008,9 +11036,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP } else { - SendUseCachedMuteList(); + if(muteListRequest.MuteData.MuteCRC == 0) + SendEmpytMuteList(); + else + SendUseCachedMuteList(); } - return true; + return true; } private bool HandleUpdateMuteListEntry(IClientAPI client, Packet Packet) diff --git a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs index d39c224129..469dd67437 100644 --- a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs +++ b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs @@ -1702,6 +1702,11 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server } + public void SendEmpytMuteList() + { + + } + public void SendMuteListUpdate(string filename) { diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs index 151a202e49..bb23f2fb1f 100644 --- a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs +++ b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs @@ -1314,6 +1314,10 @@ namespace OpenSim.Region.OptionalModules.World.NPC { } + public void SendEmpytMuteList() + { + } + public void SendMuteListUpdate(string filename) { } diff --git a/OpenSim/Tests/Common/Mock/TestClient.cs b/OpenSim/Tests/Common/Mock/TestClient.cs index a8359255ad..449716b60f 100644 --- a/OpenSim/Tests/Common/Mock/TestClient.cs +++ b/OpenSim/Tests/Common/Mock/TestClient.cs @@ -1315,6 +1315,10 @@ namespace OpenSim.Tests.Common { } + public void SendEmpytMuteList() + { + } + public void SendMuteListUpdate(string filename) { }