* [SECURITY] Implements additional packet security checks for Object related packets.
* Note: as with the last commit, this requires additional testing. * This represents 2/8ths of packets now being checked appropriately.0.6.5-rc1
parent
2bd6a915a0
commit
5118f88bc4
|
@ -5269,6 +5269,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
|
|
||||||
case PacketType.ObjectLink:
|
case PacketType.ObjectLink:
|
||||||
ObjectLinkPacket link = (ObjectLinkPacket)Pack;
|
ObjectLinkPacket link = (ObjectLinkPacket)Pack;
|
||||||
|
|
||||||
|
#region Packet Session and User Check
|
||||||
|
if (m_checkPackets)
|
||||||
|
{
|
||||||
|
if (link.AgentData.SessionID != SessionId ||
|
||||||
|
link.AgentData.AgentID != AgentId)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
uint parentprimid = 0;
|
uint parentprimid = 0;
|
||||||
List<uint> childrenprims = new List<uint>();
|
List<uint> childrenprims = new List<uint>();
|
||||||
if (link.ObjectData.Length > 1)
|
if (link.ObjectData.Length > 1)
|
||||||
|
@ -5290,6 +5300,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
case PacketType.ObjectDelink:
|
case PacketType.ObjectDelink:
|
||||||
ObjectDelinkPacket delink = (ObjectDelinkPacket)Pack;
|
ObjectDelinkPacket delink = (ObjectDelinkPacket)Pack;
|
||||||
|
|
||||||
|
#region Packet Session and User Check
|
||||||
|
if (m_checkPackets)
|
||||||
|
{
|
||||||
|
if (delink.AgentData.SessionID != SessionId ||
|
||||||
|
delink.AgentData.AgentID != AgentId)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
// It appears the prim at index 0 is not always the root prim (for
|
// It appears the prim at index 0 is not always the root prim (for
|
||||||
// instance, when one prim of a link set has been edited independently
|
// instance, when one prim of a link set has been edited independently
|
||||||
// of the others). Therefore, we'll pass all the ids onto the delink
|
// of the others). Therefore, we'll pass all the ids onto the delink
|
||||||
|
@ -5311,6 +5330,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
if (OnAddPrim != null)
|
if (OnAddPrim != null)
|
||||||
{
|
{
|
||||||
ObjectAddPacket addPacket = (ObjectAddPacket)Pack;
|
ObjectAddPacket addPacket = (ObjectAddPacket)Pack;
|
||||||
|
|
||||||
|
#region Packet Session and User Check
|
||||||
|
if (m_checkPackets)
|
||||||
|
{
|
||||||
|
if (addPacket.AgentData.SessionID != SessionId ||
|
||||||
|
addPacket.AgentData.AgentID != AgentId)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
PrimitiveBaseShape shape = GetShapeFromAddPacket(addPacket);
|
PrimitiveBaseShape shape = GetShapeFromAddPacket(addPacket);
|
||||||
// m_log.Info("[REZData]: " + addPacket.ToString());
|
// m_log.Info("[REZData]: " + addPacket.ToString());
|
||||||
//BypassRaycast: 1
|
//BypassRaycast: 1
|
||||||
|
@ -5329,6 +5358,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
|
|
||||||
case PacketType.ObjectShape:
|
case PacketType.ObjectShape:
|
||||||
ObjectShapePacket shapePacket = (ObjectShapePacket)Pack;
|
ObjectShapePacket shapePacket = (ObjectShapePacket)Pack;
|
||||||
|
|
||||||
|
#region Packet Session and User Check
|
||||||
|
if (m_checkPackets)
|
||||||
|
{
|
||||||
|
if (shapePacket.AgentData.SessionID != SessionId ||
|
||||||
|
shapePacket.AgentData.AgentID != AgentId)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
handlerUpdatePrimShape = null;
|
handlerUpdatePrimShape = null;
|
||||||
for (int i = 0; i < shapePacket.ObjectData.Length; i++)
|
for (int i = 0; i < shapePacket.ObjectData.Length; i++)
|
||||||
{
|
{
|
||||||
|
@ -5365,6 +5404,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
case PacketType.ObjectExtraParams:
|
case PacketType.ObjectExtraParams:
|
||||||
ObjectExtraParamsPacket extraPar = (ObjectExtraParamsPacket)Pack;
|
ObjectExtraParamsPacket extraPar = (ObjectExtraParamsPacket)Pack;
|
||||||
|
|
||||||
|
#region Packet Session and User Check
|
||||||
|
if (m_checkPackets)
|
||||||
|
{
|
||||||
|
if (extraPar.AgentData.SessionID != SessionId ||
|
||||||
|
extraPar.AgentData.AgentID != AgentId)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
handlerUpdateExtraParams = OnUpdateExtraParams;
|
handlerUpdateExtraParams = OnUpdateExtraParams;
|
||||||
if (handlerUpdateExtraParams != null)
|
if (handlerUpdateExtraParams != null)
|
||||||
{
|
{
|
||||||
|
@ -5375,6 +5423,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
break;
|
break;
|
||||||
case PacketType.ObjectDuplicate:
|
case PacketType.ObjectDuplicate:
|
||||||
ObjectDuplicatePacket dupe = (ObjectDuplicatePacket)Pack;
|
ObjectDuplicatePacket dupe = (ObjectDuplicatePacket)Pack;
|
||||||
|
|
||||||
|
#region Packet Session and User Check
|
||||||
|
if (m_checkPackets)
|
||||||
|
{
|
||||||
|
if (dupe.AgentData.SessionID != SessionId ||
|
||||||
|
dupe.AgentData.AgentID != AgentId)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
ObjectDuplicatePacket.AgentDataBlock AgentandGroupData = dupe.AgentData;
|
ObjectDuplicatePacket.AgentDataBlock AgentandGroupData = dupe.AgentData;
|
||||||
|
|
||||||
handlerObjectDuplicate = null;
|
handlerObjectDuplicate = null;
|
||||||
|
@ -5395,6 +5453,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
case PacketType.ObjectSelect:
|
case PacketType.ObjectSelect:
|
||||||
ObjectSelectPacket incomingselect = (ObjectSelectPacket)Pack;
|
ObjectSelectPacket incomingselect = (ObjectSelectPacket)Pack;
|
||||||
|
|
||||||
|
#region Packet Session and User Check
|
||||||
|
if (m_checkPackets)
|
||||||
|
{
|
||||||
|
if (incomingselect.AgentData.SessionID != SessionId ||
|
||||||
|
incomingselect.AgentData.AgentID != AgentId)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
handlerObjectSelect = null;
|
handlerObjectSelect = null;
|
||||||
|
|
||||||
for (int i = 0; i < incomingselect.ObjectData.Length; i++)
|
for (int i = 0; i < incomingselect.ObjectData.Length; i++)
|
||||||
|
@ -5409,6 +5476,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
case PacketType.ObjectDeselect:
|
case PacketType.ObjectDeselect:
|
||||||
ObjectDeselectPacket incomingdeselect = (ObjectDeselectPacket)Pack;
|
ObjectDeselectPacket incomingdeselect = (ObjectDeselectPacket)Pack;
|
||||||
|
|
||||||
|
#region Packet Session and User Check
|
||||||
|
if (m_checkPackets)
|
||||||
|
{
|
||||||
|
if (incomingdeselect.AgentData.SessionID != SessionId ||
|
||||||
|
incomingdeselect.AgentData.AgentID != AgentId)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
handlerObjectDeselect = null;
|
handlerObjectDeselect = null;
|
||||||
|
|
||||||
for (int i = 0; i < incomingdeselect.ObjectData.Length; i++)
|
for (int i = 0; i < incomingdeselect.ObjectData.Length; i++)
|
||||||
|
@ -5424,6 +5500,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
// DEPRECATED: but till libsecondlife removes it, people will use it
|
// DEPRECATED: but till libsecondlife removes it, people will use it
|
||||||
ObjectPositionPacket position = (ObjectPositionPacket)Pack;
|
ObjectPositionPacket position = (ObjectPositionPacket)Pack;
|
||||||
|
|
||||||
|
#region Packet Session and User Check
|
||||||
|
if (m_checkPackets)
|
||||||
|
{
|
||||||
|
if (position.AgentData.SessionID != SessionId ||
|
||||||
|
position.AgentData.AgentID != AgentId)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
for (int i = 0; i < position.ObjectData.Length; i++)
|
for (int i = 0; i < position.ObjectData.Length; i++)
|
||||||
{
|
{
|
||||||
handlerUpdateVector = OnUpdatePrimGroupPosition;
|
handlerUpdateVector = OnUpdatePrimGroupPosition;
|
||||||
|
@ -5436,6 +5522,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
// DEPRECATED: but till libsecondlife removes it, people will use it
|
// DEPRECATED: but till libsecondlife removes it, people will use it
|
||||||
ObjectScalePacket scale = (ObjectScalePacket)Pack;
|
ObjectScalePacket scale = (ObjectScalePacket)Pack;
|
||||||
|
|
||||||
|
#region Packet Session and User Check
|
||||||
|
if (m_checkPackets)
|
||||||
|
{
|
||||||
|
if (scale.AgentData.SessionID != SessionId ||
|
||||||
|
scale.AgentData.AgentID != AgentId)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
for (int i = 0; i < scale.ObjectData.Length; i++)
|
for (int i = 0; i < scale.ObjectData.Length; i++)
|
||||||
{
|
{
|
||||||
handlerUpdatePrimGroupScale = OnUpdatePrimGroupScale;
|
handlerUpdatePrimGroupScale = OnUpdatePrimGroupScale;
|
||||||
|
@ -5448,6 +5543,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
// DEPRECATED: but till libsecondlife removes it, people will use it
|
// DEPRECATED: but till libsecondlife removes it, people will use it
|
||||||
ObjectRotationPacket rotation = (ObjectRotationPacket)Pack;
|
ObjectRotationPacket rotation = (ObjectRotationPacket)Pack;
|
||||||
|
|
||||||
|
#region Packet Session and User Check
|
||||||
|
if (m_checkPackets)
|
||||||
|
{
|
||||||
|
if (rotation.AgentData.SessionID != SessionId ||
|
||||||
|
rotation.AgentData.AgentID != AgentId)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
for (int i = 0; i < rotation.ObjectData.Length; i++)
|
for (int i = 0; i < rotation.ObjectData.Length; i++)
|
||||||
{
|
{
|
||||||
handlerUpdatePrimRotation = OnUpdatePrimGroupRotation;
|
handlerUpdatePrimRotation = OnUpdatePrimGroupRotation;
|
||||||
|
@ -5459,6 +5563,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
case PacketType.ObjectFlagUpdate:
|
case PacketType.ObjectFlagUpdate:
|
||||||
ObjectFlagUpdatePacket flags = (ObjectFlagUpdatePacket)Pack;
|
ObjectFlagUpdatePacket flags = (ObjectFlagUpdatePacket)Pack;
|
||||||
|
|
||||||
|
#region Packet Session and User Check
|
||||||
|
if (m_checkPackets)
|
||||||
|
{
|
||||||
|
if (flags.AgentData.SessionID != SessionId ||
|
||||||
|
flags.AgentData.AgentID != AgentId)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
handlerUpdatePrimFlags = OnUpdatePrimFlags;
|
handlerUpdatePrimFlags = OnUpdatePrimFlags;
|
||||||
|
|
||||||
if (handlerUpdatePrimFlags != null)
|
if (handlerUpdatePrimFlags != null)
|
||||||
|
@ -5490,6 +5603,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
case PacketType.ObjectGrab:
|
case PacketType.ObjectGrab:
|
||||||
ObjectGrabPacket grab = (ObjectGrabPacket)Pack;
|
ObjectGrabPacket grab = (ObjectGrabPacket)Pack;
|
||||||
|
|
||||||
|
#region Packet Session and User Check
|
||||||
|
if (m_checkPackets)
|
||||||
|
{
|
||||||
|
if (grab.AgentData.SessionID != SessionId ||
|
||||||
|
grab.AgentData.AgentID != AgentId)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
handlerGrabObject = OnGrabObject;
|
handlerGrabObject = OnGrabObject;
|
||||||
|
|
||||||
if (handlerGrabObject != null)
|
if (handlerGrabObject != null)
|
||||||
|
@ -5515,6 +5637,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
case PacketType.ObjectGrabUpdate:
|
case PacketType.ObjectGrabUpdate:
|
||||||
ObjectGrabUpdatePacket grabUpdate = (ObjectGrabUpdatePacket)Pack;
|
ObjectGrabUpdatePacket grabUpdate = (ObjectGrabUpdatePacket)Pack;
|
||||||
|
|
||||||
|
#region Packet Session and User Check
|
||||||
|
if (m_checkPackets)
|
||||||
|
{
|
||||||
|
if (grabUpdate.AgentData.SessionID != SessionId ||
|
||||||
|
grabUpdate.AgentData.AgentID != AgentId)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
handlerGrabUpdate = OnGrabUpdate;
|
handlerGrabUpdate = OnGrabUpdate;
|
||||||
|
|
||||||
if (handlerGrabUpdate != null)
|
if (handlerGrabUpdate != null)
|
||||||
|
@ -5541,6 +5672,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
case PacketType.ObjectDeGrab:
|
case PacketType.ObjectDeGrab:
|
||||||
ObjectDeGrabPacket deGrab = (ObjectDeGrabPacket)Pack;
|
ObjectDeGrabPacket deGrab = (ObjectDeGrabPacket)Pack;
|
||||||
|
|
||||||
|
#region Packet Session and User Check
|
||||||
|
if (m_checkPackets)
|
||||||
|
{
|
||||||
|
if (deGrab.AgentData.SessionID != SessionId ||
|
||||||
|
deGrab.AgentData.AgentID != AgentId)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
handlerDeGrabObject = OnDeGrabObject;
|
handlerDeGrabObject = OnDeGrabObject;
|
||||||
if (handlerDeGrabObject != null)
|
if (handlerDeGrabObject != null)
|
||||||
{
|
{
|
||||||
|
@ -5551,6 +5691,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
//m_log.Warn("[CLIENT]: unhandled ObjectSpinStart packet");
|
//m_log.Warn("[CLIENT]: unhandled ObjectSpinStart packet");
|
||||||
ObjectSpinStartPacket spinStart = (ObjectSpinStartPacket)Pack;
|
ObjectSpinStartPacket spinStart = (ObjectSpinStartPacket)Pack;
|
||||||
|
|
||||||
|
#region Packet Session and User Check
|
||||||
|
if (m_checkPackets)
|
||||||
|
{
|
||||||
|
if (spinStart.AgentData.SessionID != SessionId ||
|
||||||
|
spinStart.AgentData.AgentID != AgentId)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
handlerSpinStart = OnSpinStart;
|
handlerSpinStart = OnSpinStart;
|
||||||
if (handlerSpinStart != null)
|
if (handlerSpinStart != null)
|
||||||
{
|
{
|
||||||
|
@ -5560,6 +5709,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
case PacketType.ObjectSpinUpdate:
|
case PacketType.ObjectSpinUpdate:
|
||||||
//m_log.Warn("[CLIENT]: unhandled ObjectSpinUpdate packet");
|
//m_log.Warn("[CLIENT]: unhandled ObjectSpinUpdate packet");
|
||||||
ObjectSpinUpdatePacket spinUpdate = (ObjectSpinUpdatePacket)Pack;
|
ObjectSpinUpdatePacket spinUpdate = (ObjectSpinUpdatePacket)Pack;
|
||||||
|
|
||||||
|
#region Packet Session and User Check
|
||||||
|
if (m_checkPackets)
|
||||||
|
{
|
||||||
|
if (spinUpdate.AgentData.SessionID != SessionId ||
|
||||||
|
spinUpdate.AgentData.AgentID != AgentId)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
Vector3 axis;
|
Vector3 axis;
|
||||||
float angle;
|
float angle;
|
||||||
spinUpdate.ObjectData.Rotation.GetAxisAngle(out axis, out angle);
|
spinUpdate.ObjectData.Rotation.GetAxisAngle(out axis, out angle);
|
||||||
|
@ -5575,6 +5734,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
//m_log.Warn("[CLIENT]: unhandled ObjectSpinStop packet");
|
//m_log.Warn("[CLIENT]: unhandled ObjectSpinStop packet");
|
||||||
ObjectSpinStopPacket spinStop = (ObjectSpinStopPacket)Pack;
|
ObjectSpinStopPacket spinStop = (ObjectSpinStopPacket)Pack;
|
||||||
|
|
||||||
|
#region Packet Session and User Check
|
||||||
|
if (m_checkPackets)
|
||||||
|
{
|
||||||
|
if (spinStop.AgentData.SessionID != SessionId ||
|
||||||
|
spinStop.AgentData.AgentID != AgentId)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
handlerSpinStop = OnSpinStop;
|
handlerSpinStop = OnSpinStop;
|
||||||
if (handlerSpinStop != null)
|
if (handlerSpinStop != null)
|
||||||
{
|
{
|
||||||
|
@ -5585,6 +5753,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
case PacketType.ObjectDescription:
|
case PacketType.ObjectDescription:
|
||||||
ObjectDescriptionPacket objDes = (ObjectDescriptionPacket)Pack;
|
ObjectDescriptionPacket objDes = (ObjectDescriptionPacket)Pack;
|
||||||
|
|
||||||
|
#region Packet Session and User Check
|
||||||
|
if (m_checkPackets)
|
||||||
|
{
|
||||||
|
if (objDes.AgentData.SessionID != SessionId ||
|
||||||
|
objDes.AgentData.AgentID != AgentId)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
handlerObjectDescription = null;
|
handlerObjectDescription = null;
|
||||||
|
|
||||||
for (int i = 0; i < objDes.ObjectData.Length; i++)
|
for (int i = 0; i < objDes.ObjectData.Length; i++)
|
||||||
|
@ -5616,6 +5793,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
{
|
{
|
||||||
ObjectPermissionsPacket newobjPerms = (ObjectPermissionsPacket)Pack;
|
ObjectPermissionsPacket newobjPerms = (ObjectPermissionsPacket)Pack;
|
||||||
|
|
||||||
|
#region Packet Session and User Check
|
||||||
|
if (m_checkPackets)
|
||||||
|
{
|
||||||
|
if (newobjPerms.AgentData.SessionID != SessionId ||
|
||||||
|
newobjPerms.AgentData.AgentID != AgentId)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
UUID AgentID = newobjPerms.AgentData.AgentID;
|
UUID AgentID = newobjPerms.AgentData.AgentID;
|
||||||
UUID SessionID = newobjPerms.AgentData.SessionID;
|
UUID SessionID = newobjPerms.AgentData.SessionID;
|
||||||
|
|
||||||
|
@ -5653,6 +5839,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
|
|
||||||
case PacketType.Undo:
|
case PacketType.Undo:
|
||||||
UndoPacket undoitem = (UndoPacket)Pack;
|
UndoPacket undoitem = (UndoPacket)Pack;
|
||||||
|
|
||||||
|
#region Packet Session and User Check
|
||||||
|
if (m_checkPackets)
|
||||||
|
{
|
||||||
|
if (undoitem.AgentData.SessionID != SessionId ||
|
||||||
|
undoitem.AgentData.AgentID != AgentId)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
if (undoitem.ObjectData.Length > 0)
|
if (undoitem.ObjectData.Length > 0)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < undoitem.ObjectData.Length; i++)
|
for (int i = 0; i < undoitem.ObjectData.Length; i++)
|
||||||
|
@ -5670,6 +5866,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
case PacketType.ObjectDuplicateOnRay:
|
case PacketType.ObjectDuplicateOnRay:
|
||||||
ObjectDuplicateOnRayPacket dupeOnRay = (ObjectDuplicateOnRayPacket)Pack;
|
ObjectDuplicateOnRayPacket dupeOnRay = (ObjectDuplicateOnRayPacket)Pack;
|
||||||
|
|
||||||
|
#region Packet Session and User Check
|
||||||
|
if (m_checkPackets)
|
||||||
|
{
|
||||||
|
if (dupeOnRay.AgentData.SessionID != SessionId ||
|
||||||
|
dupeOnRay.AgentData.AgentID != AgentId)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
handlerObjectDuplicateOnRay = null;
|
handlerObjectDuplicateOnRay = null;
|
||||||
|
|
||||||
|
|
||||||
|
@ -5690,6 +5895,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
//This powers the little tooltip that appears when you move your mouse over an object
|
//This powers the little tooltip that appears when you move your mouse over an object
|
||||||
RequestObjectPropertiesFamilyPacket packToolTip = (RequestObjectPropertiesFamilyPacket)Pack;
|
RequestObjectPropertiesFamilyPacket packToolTip = (RequestObjectPropertiesFamilyPacket)Pack;
|
||||||
|
|
||||||
|
#region Packet Session and User Check
|
||||||
|
if (m_checkPackets)
|
||||||
|
{
|
||||||
|
if (packToolTip.AgentData.SessionID != SessionId ||
|
||||||
|
packToolTip.AgentData.AgentID != AgentId)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
RequestObjectPropertiesFamilyPacket.ObjectDataBlock packObjBlock = packToolTip.ObjectData;
|
RequestObjectPropertiesFamilyPacket.ObjectDataBlock packObjBlock = packToolTip.ObjectData;
|
||||||
|
|
||||||
handlerRequestObjectPropertiesFamily = OnRequestObjectPropertiesFamily;
|
handlerRequestObjectPropertiesFamily = OnRequestObjectPropertiesFamily;
|
||||||
|
@ -5706,6 +5920,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
ObjectIncludeInSearchPacket packInSearch = (ObjectIncludeInSearchPacket)Pack;
|
ObjectIncludeInSearchPacket packInSearch = (ObjectIncludeInSearchPacket)Pack;
|
||||||
handlerObjectIncludeInSearch = null;
|
handlerObjectIncludeInSearch = null;
|
||||||
|
|
||||||
|
#region Packet Session and User Check
|
||||||
|
if (m_checkPackets)
|
||||||
|
{
|
||||||
|
if (packInSearch.AgentData.SessionID != SessionId ||
|
||||||
|
packInSearch.AgentData.AgentID != AgentId)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
foreach (ObjectIncludeInSearchPacket.ObjectDataBlock objData in packInSearch.ObjectData)
|
foreach (ObjectIncludeInSearchPacket.ObjectDataBlock objData in packInSearch.ObjectData)
|
||||||
{
|
{
|
||||||
bool inSearch = objData.IncludeInSearch;
|
bool inSearch = objData.IncludeInSearch;
|
||||||
|
@ -5723,6 +5946,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
case PacketType.ScriptAnswerYes:
|
case PacketType.ScriptAnswerYes:
|
||||||
ScriptAnswerYesPacket scriptAnswer = (ScriptAnswerYesPacket)Pack;
|
ScriptAnswerYesPacket scriptAnswer = (ScriptAnswerYesPacket)Pack;
|
||||||
|
|
||||||
|
#region Packet Session and User Check
|
||||||
|
if (m_checkPackets)
|
||||||
|
{
|
||||||
|
if (scriptAnswer.AgentData.SessionID != SessionId ||
|
||||||
|
scriptAnswer.AgentData.AgentID != AgentId)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
handlerScriptAnswer = OnScriptAnswer;
|
handlerScriptAnswer = OnScriptAnswer;
|
||||||
if (handlerScriptAnswer != null)
|
if (handlerScriptAnswer != null)
|
||||||
{
|
{
|
||||||
|
@ -5733,6 +5965,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
case PacketType.ObjectClickAction:
|
case PacketType.ObjectClickAction:
|
||||||
ObjectClickActionPacket ocpacket = (ObjectClickActionPacket)Pack;
|
ObjectClickActionPacket ocpacket = (ObjectClickActionPacket)Pack;
|
||||||
|
|
||||||
|
#region Packet Session and User Check
|
||||||
|
if (m_checkPackets)
|
||||||
|
{
|
||||||
|
if (ocpacket.AgentData.SessionID != SessionId ||
|
||||||
|
ocpacket.AgentData.AgentID != AgentId)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
handlerObjectClickAction = OnObjectClickAction;
|
handlerObjectClickAction = OnObjectClickAction;
|
||||||
if (handlerObjectClickAction != null)
|
if (handlerObjectClickAction != null)
|
||||||
{
|
{
|
||||||
|
@ -5748,6 +5989,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
case PacketType.ObjectMaterial:
|
case PacketType.ObjectMaterial:
|
||||||
ObjectMaterialPacket ompacket = (ObjectMaterialPacket)Pack;
|
ObjectMaterialPacket ompacket = (ObjectMaterialPacket)Pack;
|
||||||
|
|
||||||
|
#region Packet Session and User Check
|
||||||
|
if (m_checkPackets)
|
||||||
|
{
|
||||||
|
if (ompacket.AgentData.SessionID != SessionId ||
|
||||||
|
ompacket.AgentData.AgentID != AgentId)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
handlerObjectMaterial = OnObjectMaterial;
|
handlerObjectMaterial = OnObjectMaterial;
|
||||||
if (handlerObjectMaterial != null)
|
if (handlerObjectMaterial != null)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue