mirror of
https://github.com/opensim/opensim.git
synced 2026-08-13 05:05:43 +08:00
* Added IClientIM to IClientCore interfaces
* Changed SendInstantMessage, dropped fromAgentSession and imSessionID as security precaution, see http://opensimulator.org/wiki/OpenSim_0.6_IClientAPI#Porting_Guide for details on porting. * Removed unused usings from Framework.*
This commit is contained in:
@@ -52,7 +52,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||
/// Handles new client connections
|
||||
/// Constructor takes a single Packet and authenticates everything
|
||||
/// </summary>
|
||||
public class LLClientView : IClientAPI, IClientCore
|
||||
public class LLClientView : IClientAPI, IClientCore, IClientIM
|
||||
{
|
||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||
|
||||
@@ -394,6 +394,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||
AuthenticateResponse sessionInfo, UUID agentId, UUID sessionId, uint circuitCode, EndPoint proxyEP,
|
||||
ClientStackUserSettings userSettings)
|
||||
{
|
||||
// Should be called first?
|
||||
RegisterInterfaces();
|
||||
|
||||
m_GroupsModule = scene.RequestModuleInterface<IGroupsModule>();
|
||||
m_moneyBalance = 1000;
|
||||
|
||||
@@ -1076,19 +1079,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||
/// <summary>
|
||||
/// Send an instant message to this client
|
||||
/// </summary>
|
||||
public void SendInstantMessage(UUID fromAgent, UUID fromAgentSession, string message, UUID toAgent,
|
||||
UUID imSessionID, string fromName, byte dialog, uint timeStamp)
|
||||
public void SendInstantMessage(UUID fromAgent, string message, UUID toAgent, string fromName, byte dialog, uint timeStamp)
|
||||
{
|
||||
SendInstantMessage(
|
||||
fromAgent, fromAgentSession, message, toAgent,
|
||||
imSessionID, fromName, dialog, timeStamp, false, new byte[0]);
|
||||
SendInstantMessage(fromAgent, message, toAgent, fromName, dialog, timeStamp, false, new byte[0]);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Send an instant message to this client
|
||||
/// </summary>
|
||||
public void SendInstantMessage(UUID fromAgent, UUID fromAgentSession, string message, UUID toAgent,
|
||||
UUID imSessionID, string fromName, byte dialog, uint timeStamp,
|
||||
public void SendInstantMessage(UUID fromAgent, string message, UUID toAgent,
|
||||
string fromName, byte dialog, uint timeStamp,
|
||||
bool fromGroup, byte[] binaryBucket)
|
||||
{
|
||||
if (((Scene)(m_scene)).ExternalChecks.ExternalChecksCanInstantMessage(fromAgent, toAgent))
|
||||
@@ -1097,15 +1097,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||
= (ImprovedInstantMessagePacket)PacketPool.Instance.GetPacket(PacketType.ImprovedInstantMessage);
|
||||
|
||||
msg.AgentData.AgentID = fromAgent;
|
||||
msg.AgentData.SessionID = fromAgentSession;
|
||||
msg.AgentData.SessionID = UUID.Zero;
|
||||
msg.MessageBlock.FromAgentName = Utils.StringToBytes(fromName);
|
||||
msg.MessageBlock.Dialog = dialog;
|
||||
msg.MessageBlock.FromGroup = fromGroup;
|
||||
msg.MessageBlock.ID = imSessionID;
|
||||
msg.MessageBlock.ID = fromAgent ^ toAgent;
|
||||
msg.MessageBlock.Offline = 0;
|
||||
msg.MessageBlock.ParentEstateID = 0;
|
||||
msg.MessageBlock.Position = new Vector3();
|
||||
msg.MessageBlock.RegionID = UUID.Random();
|
||||
msg.MessageBlock.RegionID = UUID.Zero;
|
||||
msg.MessageBlock.Timestamp = timeStamp;
|
||||
msg.MessageBlock.ToAgentID = toAgent;
|
||||
msg.MessageBlock.Message = Utils.StringToBytes(message);
|
||||
@@ -6919,10 +6919,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||
/// <param name="fromSessionID"></param>
|
||||
/// <param name="FromAvatarName"></param>
|
||||
/// <param name="Message"></param>
|
||||
public void SendBlueBoxMessage(UUID FromAvatarID, UUID fromSessionID, String FromAvatarName, String Message)
|
||||
public void SendBlueBoxMessage(UUID FromAvatarID, String FromAvatarName, String Message)
|
||||
{
|
||||
if (!ChildAgentStatus())
|
||||
SendInstantMessage(FromAvatarID, fromSessionID, Message, AgentId, SessionId, FromAvatarName, 1, (uint)Util.UnixTimeSinceEpoch());
|
||||
SendInstantMessage(FromAvatarID, Message, AgentId, FromAvatarName, 1, (uint)Util.UnixTimeSinceEpoch());
|
||||
|
||||
//SendInstantMessage(FromAvatarID, fromSessionID, Message, AgentId, SessionId, FromAvatarName, (byte)21,(uint) Util.UnixTimeSinceEpoch());
|
||||
}
|
||||
@@ -7675,6 +7675,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||
}
|
||||
}
|
||||
|
||||
protected virtual void RegisterInterfaces()
|
||||
{
|
||||
RegisterInterface<IClientIM>(this);
|
||||
}
|
||||
|
||||
public bool TryGet<T>(out T iface)
|
||||
{
|
||||
if (m_clientInterfaces.ContainsKey(typeof(T)))
|
||||
|
||||
@@ -819,9 +819,9 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Currency.SampleMoney
|
||||
Hashtable retparam = new Hashtable();
|
||||
Hashtable requestData = (Hashtable) request.Params[0];
|
||||
|
||||
UUID agentId = UUID.Zero;
|
||||
UUID soundId = UUID.Zero;
|
||||
UUID regionId = UUID.Zero;
|
||||
UUID agentId;
|
||||
UUID soundId;
|
||||
UUID regionId;
|
||||
|
||||
UUID.TryParse((string) requestData["agentId"], out agentId);
|
||||
UUID.TryParse((string) requestData["soundId"], out soundId);
|
||||
@@ -832,7 +832,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Currency.SampleMoney
|
||||
Scene userScene = GetSceneByUUID(regionId);
|
||||
if (userScene != null)
|
||||
{
|
||||
if (userScene.RegionInfo.regionSecret.ToString() == secret)
|
||||
if (userScene.RegionInfo.regionSecret == secret)
|
||||
{
|
||||
|
||||
IClientAPI client = LocateClientObject(agentId);
|
||||
@@ -842,7 +842,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Currency.SampleMoney
|
||||
if (soundId != UUID.Zero)
|
||||
client.SendPlayAttachedSound(soundId, UUID.Zero, UUID.Zero, 1.0f, 0);
|
||||
|
||||
client.SendBlueBoxMessage(UUID.Zero, UUID.Zero, "", text);
|
||||
client.SendBlueBoxMessage(UUID.Zero, "", text);
|
||||
|
||||
retparam.Add("success", true);
|
||||
}
|
||||
|
||||
@@ -155,8 +155,8 @@ namespace OpenSim.Region.Environment.Modules.Avatar.InstantMessage
|
||||
ScenePresence user = (ScenePresence) scene.Entities[toAgentID];
|
||||
if (!user.IsChildAgent)
|
||||
{
|
||||
user.ControllingClient.SendInstantMessage(fromAgentID, fromAgentSession, message,
|
||||
toAgentID, imSessionID, fromAgentName, dialog,
|
||||
user.ControllingClient.SendInstantMessage(fromAgentID, message,
|
||||
toAgentID, fromAgentName, dialog,
|
||||
timestamp, fromGroup, binaryBucket);
|
||||
// Message sent
|
||||
return;
|
||||
@@ -172,8 +172,8 @@ namespace OpenSim.Region.Environment.Modules.Avatar.InstantMessage
|
||||
// Local message
|
||||
ScenePresence user = (ScenePresence) scene.Entities[toAgentID];
|
||||
|
||||
user.ControllingClient.SendInstantMessage(fromAgentID, fromAgentSession, message,
|
||||
toAgentID, imSessionID, fromAgentName, dialog,
|
||||
user.ControllingClient.SendInstantMessage(fromAgentID, message,
|
||||
toAgentID, fromAgentName, dialog,
|
||||
timestamp, fromGroup, binaryBucket);
|
||||
// Message sent
|
||||
return;
|
||||
@@ -199,7 +199,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.InstantMessage
|
||||
if (client != null)
|
||||
{
|
||||
if (dialog != (byte)InstantMessageDialog.StartTyping && dialog != (byte)InstantMessageDialog.StopTyping && dialog != (byte)InstantMessageDialog.SessionDrop)
|
||||
client.SendInstantMessage(toAgentID, fromAgentSession, "Unable to send instant message. User is not logged in.", fromAgentID, imSessionID, "System", (byte)InstantMessageDialog.BusyAutoResponse, (uint)Util.UnixTimeSinceEpoch());// SendAlertMessage("Unable to send instant message");
|
||||
client.SendInstantMessage(toAgentID, "Unable to send instant message. User is not logged in.", fromAgentID, "System", (byte)InstantMessageDialog.BusyAutoResponse, (uint)Util.UnixTimeSinceEpoch());// SendAlertMessage("Unable to send instant message");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -551,7 +551,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.InstantMessage
|
||||
if (client != null)
|
||||
{
|
||||
if (dialog != (byte)InstantMessageDialog.StartTyping && dialog != (byte)InstantMessageDialog.StopTyping && dialog != (byte)InstantMessageDialog.SessionDrop)
|
||||
client.SendInstantMessage(toAgentID, fromAgentSession, "Unable to send instant message", fromAgentID, imSessionID, "System", (byte)InstantMessageDialog.BusyAutoResponse, (uint)Util.UnixTimeSinceEpoch());// SendAlertMessage("Unable to send instant message");
|
||||
client.SendInstantMessage(toAgentID, "Unable to send instant message", fromAgentID, "System", (byte)InstantMessageDialog.BusyAutoResponse, (uint)Util.UnixTimeSinceEpoch());
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -562,7 +562,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.InstantMessage
|
||||
if (client != null)
|
||||
{
|
||||
if (dialog != (byte)InstantMessageDialog.StartTyping && dialog != (byte)InstantMessageDialog.StopTyping && dialog != (byte)InstantMessageDialog.SessionDrop)
|
||||
client.SendInstantMessage(toAgentID, fromAgentSession, "Unable to send instant message", fromAgentID, imSessionID, "System", (byte)InstantMessageDialog.BusyAutoResponse, (uint)Util.UnixTimeSinceEpoch());// SendAlertMessage("Unable to send instant message");
|
||||
client.SendInstantMessage(toAgentID, "Unable to send instant message", fromAgentID, "System", (byte)InstantMessageDialog.BusyAutoResponse, (uint)Util.UnixTimeSinceEpoch());
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -635,7 +635,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.InstantMessage
|
||||
if (client != null)
|
||||
{
|
||||
if (dialog != (byte)InstantMessageDialog.StartTyping && dialog != (byte)InstantMessageDialog.StopTyping && dialog != (byte)InstantMessageDialog.SessionDrop)
|
||||
client.SendInstantMessage(toAgentID, fromAgentSession, "Unable to send instant message: Agent Offline", fromAgentID, imSessionID, "System", (byte)InstantMessageDialog.BusyAutoResponse, (uint)Util.UnixTimeSinceEpoch());// SendAlertMessage("Unable to send instant message");
|
||||
client.SendInstantMessage(toAgentID, "Unable to send instant message: Agent Offline", fromAgentID, "System", (byte)InstantMessageDialog.BusyAutoResponse, (uint)Util.UnixTimeSinceEpoch());// SendAlertMessage("Unable to send instant message");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -643,7 +643,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.InstantMessage
|
||||
{
|
||||
// send Agent doesn't exist message
|
||||
if (client != null)
|
||||
client.SendInstantMessage(toAgentID, fromAgentSession, "Unable to send instant message: Are you sure this agent exists anymore?", fromAgentID, imSessionID, "System", (byte)InstantMessageDialog.MessageFromObject, (uint)Util.UnixTimeSinceEpoch());// SendAlertMessage("Unable to send instant message");
|
||||
client.SendInstantMessage(toAgentID, "Unable to send instant message: Are you sure this agent exists anymore?", fromAgentID, "System", (byte)InstantMessageDialog.MessageFromObject, (uint)Util.UnixTimeSinceEpoch());// SendAlertMessage("Unable to send instant message");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -135,7 +135,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Inventory.Transfer
|
||||
m_pendingOffers[imSessionID] = itemId;
|
||||
|
||||
user.ControllingClient.SendInstantMessage(
|
||||
fromAgentID, fromAgentSession, message, toAgentID, imSessionID, fromAgentName,
|
||||
fromAgentID, message, toAgentID, fromAgentName,
|
||||
dialog, timestamp, false, binaryBucket);
|
||||
|
||||
return;
|
||||
@@ -167,7 +167,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Inventory.Transfer
|
||||
if (!user.IsChildAgent)
|
||||
{
|
||||
user.ControllingClient.SendInstantMessage(
|
||||
fromAgentID, fromAgentSession, message, toAgentID, imSessionID, fromAgentName,
|
||||
fromAgentID, message, toAgentID, fromAgentName,
|
||||
dialog, timestamp, false, binaryBucket);
|
||||
|
||||
if (m_pendingOffers.ContainsKey(imSessionID))
|
||||
@@ -213,7 +213,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Inventory.Transfer
|
||||
if (!user.IsChildAgent)
|
||||
{
|
||||
user.ControllingClient.SendInstantMessage(
|
||||
fromAgentID, fromAgentSession, message, toAgentID, imSessionID, fromAgentName,
|
||||
fromAgentID, message, toAgentID, fromAgentName,
|
||||
dialog, timestamp, false, binaryBucket);
|
||||
|
||||
if (m_pendingOffers.ContainsKey(imSessionID))
|
||||
|
||||
@@ -471,15 +471,14 @@ namespace OpenSim.Region.Environment.Modules.World.NPC
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void SendInstantMessage(UUID fromAgent, UUID fromAgentSession, string message, UUID toAgent,
|
||||
UUID imSessionID, string fromName, byte dialog, uint timeStamp)
|
||||
public void SendInstantMessage(UUID fromAgent, string message, UUID toAgent, string fromName, byte dialog, uint timeStamp)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public virtual void SendInstantMessage(UUID fromAgent, UUID fromAgentSession, string message, UUID toAgent,
|
||||
UUID imSessionID, string fromName, byte dialog, uint timeStamp,
|
||||
bool fromGroup, byte[] binaryBucket)
|
||||
public void SendInstantMessage(UUID fromAgent, string message, UUID toAgent, string fromName, byte dialog, uint timeStamp, bool fromGroup, byte[] binaryBucket)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public void SendGenericMessage(string method, List<string> message)
|
||||
@@ -793,7 +792,7 @@ namespace OpenSim.Region.Environment.Modules.World.NPC
|
||||
set { m_circuitCode = value; }
|
||||
}
|
||||
|
||||
public void SendBlueBoxMessage(UUID FromAvatarID, UUID fromSessionID, String FromAvatarName, String Message)
|
||||
public void SendBlueBoxMessage(UUID FromAvatarID, String FromAvatarName, String Message)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -3424,7 +3424,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
foreach (ScenePresence presence in presenceList)
|
||||
{
|
||||
if (!presence.IsChildAgent)
|
||||
presence.ControllingClient.SendBlueBoxMessage(FromAvatarID, fromSessionID, FromAvatarName, Message);
|
||||
presence.ControllingClient.SendBlueBoxMessage(FromAvatarID, FromAvatarName, Message);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3441,7 +3441,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
|
||||
ClientManager.ForEachClient(delegate(IClientAPI controller)
|
||||
{
|
||||
controller.SendBlueBoxMessage(FromAvatarID, fromSessionID, FromAvatarName, Message);
|
||||
controller.SendBlueBoxMessage(FromAvatarID, FromAvatarName, Message);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@@ -383,15 +383,14 @@ namespace OpenSim.Region.Examples.SimpleModule
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void SendInstantMessage(UUID fromAgent, UUID fromAgentSession, string message, UUID toAgent,
|
||||
UUID imSessionID, string fromName, byte dialog, uint timeStamp)
|
||||
public void SendInstantMessage(UUID fromAgent, string message, UUID toAgent, string fromName, byte dialog, uint timeStamp)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public virtual void SendInstantMessage(UUID fromAgent, UUID fromAgentSession, string message, UUID toAgent,
|
||||
UUID imSessionID, string fromName, byte dialog, uint timeStamp,
|
||||
bool fromGroup, byte[] binaryBucket)
|
||||
public void SendInstantMessage(UUID fromAgent, string message, UUID toAgent, string fromName, byte dialog, uint timeStamp, bool fromGroup, byte[] binaryBucket)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public void SendGenericMessage(string method, List<string> message)
|
||||
@@ -780,7 +779,7 @@ namespace OpenSim.Region.Examples.SimpleModule
|
||||
set { m_circuitCode = value; }
|
||||
}
|
||||
|
||||
public void SendBlueBoxMessage(UUID FromAvatarID, UUID fromSessionID, String FromAvatarName, String Message)
|
||||
public void SendBlueBoxMessage(UUID FromAvatarID, String FromAvatarName, String Message)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user