mirror of
https://github.com/opensim/opensim.git
synced 2026-08-08 18:25:33 +08:00
place some limits on some profile pick fields
This commit is contained in:
@@ -1427,7 +1427,7 @@ namespace OpenSim.Framework
|
||||
void GroupMembershipAddReplace(UUID GroupID,ulong GroupPowers);
|
||||
void SendAvatarNotesReply(UUID targetID, string text);
|
||||
void SendAvatarPicksReply(UUID targetID, Dictionary<UUID, string> picks);
|
||||
void SendPickInfoReply(UUID pickID,UUID creatorID, bool topPick, UUID parcelID, string name, string desc, UUID snapshotID, string user, string originalName, string simName, Vector3 posGlobal, int sortOrder, bool enabled);
|
||||
void SendPickInfoReply(UUID pickID, UUID creatorID, bool topPick, UUID parcelID, string name, string desc, UUID snapshotID, string user, string originalName, string simName, Vector3d posGlobal, int sortOrder, bool enabled);
|
||||
|
||||
void SendAvatarClassifiedReply(UUID targetID, Dictionary<UUID, string> classifieds);
|
||||
|
||||
|
||||
@@ -4323,7 +4323,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||
OutPacket(muteListUpdate, ThrottleOutPacketType.Task);
|
||||
}
|
||||
|
||||
public void SendPickInfoReply(UUID pickID, UUID creatorID, bool topPick, UUID parcelID, string name, string desc, UUID snapshotID, string user, string originalName, string simName, Vector3 posGlobal, int sortOrder, bool enabled)
|
||||
public void SendPickInfoReply(UUID pickID, UUID creatorID, bool topPick, UUID parcelID, string name, string desc, UUID snapshotID, string user, string originalName, string simName, Vector3d posGlobal, int sortOrder, bool enabled)
|
||||
{
|
||||
PickInfoReplyPacket pickInfoReply = (PickInfoReplyPacket)PacketPool.Instance.GetPacket(PacketType.PickInfoReply);
|
||||
|
||||
@@ -4335,13 +4335,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||
CreatorID = creatorID,
|
||||
TopPick = topPick,
|
||||
ParcelID = parcelID,
|
||||
Name = Utils.StringToBytes(name),
|
||||
Desc = Utils.StringToBytes(desc),
|
||||
Name = Utils.StringToBytes(name, 128),
|
||||
Desc = Utils.StringToBytes(desc, 1022),
|
||||
SnapshotID = snapshotID,
|
||||
User = Utils.StringToBytes(user),
|
||||
OriginalName = Utils.StringToBytes(originalName),
|
||||
User = Utils.StringToBytes(user, 128), // 64?
|
||||
OriginalName = Utils.StringToBytes(originalName, 128),
|
||||
SimName = Utils.StringToBytes(simName),
|
||||
PosGlobal = new Vector3d(posGlobal),
|
||||
PosGlobal = posGlobal,
|
||||
SortOrder = sortOrder,
|
||||
Enabled = enabled
|
||||
};
|
||||
@@ -12094,13 +12094,21 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||
|
||||
private static void HandlePickInfoUpdate(LLClientView c, Packet Pack)
|
||||
{
|
||||
if(c.OnPickInfoUpdate is null)
|
||||
return;
|
||||
PickInfoUpdatePacket pickInfoUpdate = (PickInfoUpdatePacket)Pack;
|
||||
string name = Utils.BytesToString(pickInfoUpdate.Data.Name);
|
||||
if(name.Length > 128)
|
||||
name = name[..128];
|
||||
string desc = Utils.BytesToString(pickInfoUpdate.Data.Desc);
|
||||
if(desc.Length > 1022)
|
||||
desc = desc[..1022];
|
||||
c.OnPickInfoUpdate?.Invoke(c,
|
||||
pickInfoUpdate.Data.PickID,
|
||||
pickInfoUpdate.Data.CreatorID,
|
||||
pickInfoUpdate.Data.TopPick,
|
||||
Utils.BytesToString(pickInfoUpdate.Data.Name),
|
||||
Utils.BytesToString(pickInfoUpdate.Data.Desc),
|
||||
name,
|
||||
desc,
|
||||
pickInfoUpdate.Data.SnapshotID,
|
||||
pickInfoUpdate.Data.SortOrder,
|
||||
pickInfoUpdate.Data.Enabled);
|
||||
|
||||
@@ -964,7 +964,7 @@ namespace OpenSim.Region.CoreModules.Avatar.UserProfiles
|
||||
if(uce.picks is not null && uce.picks.ContainsKey(pick.PickId))
|
||||
{
|
||||
pick = uce.picks[pick.PickId];
|
||||
if(Vector3.TryParse(pick.GlobalPos, out Vector3 gPos))
|
||||
if(Vector3d.TryParse(pick.GlobalPos, out Vector3d gPos))
|
||||
remoteClient.SendPickInfoReply(pick.PickId,pick.CreatorId,pick.TopPick,pick.ParcelId,pick.Name,
|
||||
pick.Desc,pick.SnapshotId,pick.ParcelName,pick.OriginalName,pick.SimName,
|
||||
gPos,pick.SortOrder,pick.Enabled);
|
||||
@@ -988,7 +988,7 @@ namespace OpenSim.Region.CoreModules.Avatar.UserProfiles
|
||||
if(foreign)
|
||||
cacheForeignImage(targetID, pick.SnapshotId);
|
||||
|
||||
if(!Vector3.TryParse(pick.GlobalPos, out Vector3 globalPos))
|
||||
if(!Vector3d.TryParse(pick.GlobalPos, out Vector3d globalPos))
|
||||
return;
|
||||
|
||||
if (m_thisGridInfo.IsLocalGrid(pick.Gatekeeper, true) == 0)
|
||||
@@ -1090,7 +1090,7 @@ namespace OpenSim.Region.CoreModules.Avatar.UserProfiles
|
||||
|
||||
Vector3 avaPos = p.AbsolutePosition;
|
||||
// Getting the global position for the Avatar
|
||||
Vector3 posGlobal = new(remoteClient.Scene.RegionInfo.WorldLocX + avaPos.X,
|
||||
Vector3d posGlobal = new(remoteClient.Scene.RegionInfo.WorldLocX + avaPos.X,
|
||||
remoteClient.Scene.RegionInfo.WorldLocY + avaPos.Y,
|
||||
avaPos.Z);
|
||||
|
||||
|
||||
@@ -1665,7 +1665,7 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
|
||||
|
||||
}
|
||||
|
||||
public void SendPickInfoReply(UUID pickID, UUID creatorID, bool topPick, UUID parcelID, string name, string desc, UUID snapshotID, string user, string originalName, string simName, Vector3 posGlobal, int sortOrder, bool enabled)
|
||||
public void SendPickInfoReply(UUID pickID, UUID creatorID, bool topPick, UUID parcelID, string name, string desc, UUID snapshotID, string user, string originalName, string simName, Vector3d posGlobal, int sortOrder, bool enabled)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -1330,7 +1330,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC
|
||||
{
|
||||
}
|
||||
|
||||
public void SendPickInfoReply(UUID pickID,UUID creatorID, bool topPick, UUID parcelID, string name, string desc, UUID snapshotID, string user, string originalName, string simName, Vector3 posGlobal, int sortOrder, bool enabled)
|
||||
public void SendPickInfoReply(UUID pickID,UUID creatorID, bool topPick, UUID parcelID, string name, string desc, UUID snapshotID, string user, string originalName, string simName, Vector3d posGlobal, int sortOrder, bool enabled)
|
||||
{
|
||||
}
|
||||
#endregion
|
||||
|
||||
Reference in New Issue
Block a user