Significant tidy-up. Update msg_template and add new ObjectAnimation message. Tidy up imports. Added buffer overrun check to the packet decoders since the message template doesn't seem to always correspond with what we receive (Specifically, MapBlockReply's new Size parameter)

This commit is contained in:
Casper Warden
2020-01-06 12:10:40 +00:00
parent cbafbf0613
commit b248fa17ed
596 changed files with 39133 additions and 11889 deletions

View File

@@ -1,15 +1,14 @@
import {UUID} from '../UUID';
import {AgentAnimationMessage} from '../messages/AgentAnimation';
import {PacketFlags} from '../../enums/PacketFlags';
import {CommandsBase} from './CommandsBase';
import {Vector3} from '../Vector3';
import {Message} from '../../enums/Message';
import {Packet} from '../Packet';
import {Utils} from '../Utils';
import {FilterResponse} from '../../enums/FilterResponse';
import {AvatarPropertiesReplyMessage} from '../messages/AvatarPropertiesReply';
import {AvatarPropertiesReplyEvent} from '../..';
import {AvatarPropertiesRequestMessage} from '../messages/AvatarPropertiesRequest';
import { UUID } from '../UUID';
import { AgentAnimationMessage } from '../messages/AgentAnimation';
import { PacketFlags } from '../../enums/PacketFlags';
import { CommandsBase } from './CommandsBase';
import { Vector3 } from '../Vector3';
import { Message } from '../../enums/Message';
import { Utils } from '../Utils';
import { FilterResponse } from '../../enums/FilterResponse';
import { AvatarPropertiesReplyMessage } from '../messages/AvatarPropertiesReply';
import { AvatarPropertiesRequestMessage } from '../messages/AvatarPropertiesRequest';
import { AvatarPropertiesReplyEvent } from '../../events/AvatarPropertiesReplyEvent';
export class AgentCommands extends CommandsBase
{

View File

@@ -1,20 +1,26 @@
import {CommandsBase} from './CommandsBase';
import {UUID} from '../UUID';
import { CommandsBase } from './CommandsBase';
import { UUID } from '../UUID';
import * as LLSD from '@caspertech/llsd';
import {Utils} from '../Utils';
import {AssetType, FolderType, HTTPAssets, LLMesh, Material, PacketFlags, TransferStatus} from '../..';
import {PermissionMask} from '../../enums/PermissionMask';
import { Utils } from '../Utils';
import { PermissionMask } from '../../enums/PermissionMask';
import * as zlib from 'zlib';
import {ZlibOptions} from 'zlib';
import {Color4} from '../Color4';
import {TransferRequestMessage} from '../messages/TransferRequest';
import {TransferChannelType} from '../../enums/TransferChannelType';
import {TransferSourceType} from '../../enums/TransferSourceTypes';
import {TransferInfoMessage} from '../messages/TransferInfo';
import {Message} from '../../enums/Message';
import {Packet} from '../Packet';
import {TransferPacketMessage} from '../messages/TransferPacket';
import {TransferAbortMessage} from '../messages/TransferAbort';
import { ZlibOptions } from 'zlib';
import { Color4 } from '../Color4';
import { TransferRequestMessage } from '../messages/TransferRequest';
import { TransferChannelType } from '../../enums/TransferChannelType';
import { TransferSourceType } from '../../enums/TransferSourceTypes';
import { TransferInfoMessage } from '../messages/TransferInfo';
import { Message } from '../../enums/Message';
import { Packet } from '../Packet';
import { TransferPacketMessage } from '../messages/TransferPacket';
import { TransferAbortMessage } from '../messages/TransferAbort';
import { AssetType } from '../../enums/AssetType';
import { PacketFlags } from '../../enums/PacketFlags';
import { TransferStatus } from '../../enums/TransferStatus';
import { Material } from '../public/Material';
import { LLMesh } from '../public/LLMesh';
import { FolderType } from '../../enums/FolderType';
import { HTTPAssets } from '../../enums/HTTPAssets';
export class AssetCommands extends CommandsBase
{

View File

@@ -1,7 +1,7 @@
import {Region} from '../Region';
import {Bot} from '../../Bot';
import {Agent} from '../Agent';
import {Circuit} from '../Circuit';
import { Region } from '../Region';
import { Bot } from '../../Bot';
import { Agent } from '../Agent';
import { Circuit } from '../Circuit';
export class CommandsBase
{

View File

@@ -1,15 +1,17 @@
import {CommandsBase} from './CommandsBase';
import {UUID} from '../UUID';
import {Utils} from '../Utils';
import {ImprovedInstantMessageMessage} from '../messages/ImprovedInstantMessage';
import {Vector3} from '../Vector3';
import {ChatFromViewerMessage} from '../messages/ChatFromViewer';
import {ChatType} from '../../enums/ChatType';
import {InstantMessageDialog} from '../../enums/InstantMessageDialog';
import { CommandsBase } from './CommandsBase';
import { UUID } from '../UUID';
import { Utils } from '../Utils';
import { ImprovedInstantMessageMessage } from '../messages/ImprovedInstantMessage';
import { Vector3 } from '../Vector3';
import { ChatFromViewerMessage } from '../messages/ChatFromViewer';
import { ChatType } from '../../enums/ChatType';
import { InstantMessageDialog } from '../../enums/InstantMessageDialog';
import { ScriptDialogReplyMessage } from '../messages/ScriptDialogReply';
import * as LLSD from '@caspertech/llsd';
import { PacketFlags } from '../../enums/PacketFlags';
import { GroupChatSessionJoinEvent } from '../../events/GroupChatSessionJoinEvent';
import { ScriptDialogEvent } from '../../events/ScriptDialogEvent';
import Timer = NodeJS.Timer;
import {GroupChatSessionJoinEvent, PacketFlags, ScriptDialogEvent} from '../..';
import {ScriptDialogReplyMessage} from '../messages/ScriptDialogReply';
import * as LLSD from "@caspertech/llsd";
export class CommunicationsCommands extends CommandsBase
{

View File

@@ -1,36 +1,34 @@
import {CommandsBase} from './CommandsBase';
import {Region} from '../Region';
import {Agent} from '../Agent';
import {Bot} from '../../Bot';
import {Subscription} from 'rxjs/internal/Subscription';
import {Message} from '../../enums/Message';
import {Packet} from '../Packet';
import {OnlineNotificationMessage} from '../messages/OnlineNotification';
import {OfflineNotificationMessage} from '../messages/OfflineNotification';
import {TerminateFriendshipMessage} from '../messages/TerminateFriendship';
import {
FolderType,
Friend,
FriendOnlineEvent,
FriendRemovedEvent,
FriendRequestEvent,
FriendRightsEvent,
MapLocation,
PacketFlags,
RightsFlags,
UUID,
Vector3
} from '../..';
import {AcceptFriendshipMessage} from '../messages/AcceptFriendship';
import {ImprovedInstantMessageMessage} from '../messages/ImprovedInstantMessage';
import {InstantMessageDialog} from '../../enums/InstantMessageDialog';
import {Utils} from '../Utils';
import {DeclineFriendshipMessage} from '../messages/DeclineFriendship';
import {ChangeUserRightsMessage} from '../messages/ChangeUserRights';
import {FindAgentMessage} from '../messages/FindAgent';
import {IPAddress} from '../IPAddress';
import {FilterResponse} from '../../enums/FilterResponse';
import {GrantUserRightsMessage} from '../messages/GrantUserRights';
import { CommandsBase } from './CommandsBase';
import { Region } from '../Region';
import { Agent } from '../Agent';
import { Bot } from '../../Bot';
import { Subscription } from 'rxjs/internal/Subscription';
import { Message } from '../../enums/Message';
import { Packet } from '../Packet';
import { OnlineNotificationMessage } from '../messages/OnlineNotification';
import { OfflineNotificationMessage } from '../messages/OfflineNotification';
import { TerminateFriendshipMessage } from '../messages/TerminateFriendship';
import { AcceptFriendshipMessage } from '../messages/AcceptFriendship';
import { ImprovedInstantMessageMessage } from '../messages/ImprovedInstantMessage';
import { InstantMessageDialog } from '../../enums/InstantMessageDialog';
import { Utils } from '../Utils';
import { DeclineFriendshipMessage } from '../messages/DeclineFriendship';
import { ChangeUserRightsMessage } from '../messages/ChangeUserRights';
import { FindAgentMessage } from '../messages/FindAgent';
import { IPAddress } from '../IPAddress';
import { FilterResponse } from '../../enums/FilterResponse';
import { GrantUserRightsMessage } from '../messages/GrantUserRights';
import { Friend } from '../public/Friend';
import { RightsFlags } from '../../enums/RightsFlags';
import { FriendOnlineEvent } from '../../events/FriendOnlineEvent';
import { FriendRemovedEvent } from '../../events/FriendRemovedEvent';
import { FriendRightsEvent } from '../../events/FriendRightsEvent';
import { UUID } from '../UUID';
import { PacketFlags } from '../../enums/PacketFlags';
import { MapLocation } from '../public/interfaces/MapLocation';
import { FriendRequestEvent } from '../../events/FriendRequestEvent';
import { FolderType } from '../../enums/FolderType';
import { Vector3 } from '../Vector3';
export class FriendCommands extends CommandsBase
{

View File

@@ -1,23 +1,28 @@
import * as Long from 'long';
import {MapItemReplyMessage} from '../messages/MapItemReply';
import {Message} from '../../enums/Message';
import {MapBlockReplyMessage} from '../messages/MapBlockReply';
import {MapBlockRequestMessage} from '../messages/MapBlockRequest';
import {UUID} from '../UUID';
import {MapItemRequestMessage} from '../messages/MapItemRequest';
import {Utils} from '../Utils';
import {GridItemType} from '../../enums/GridItemType';
import {CommandsBase} from './CommandsBase';
import {AvatarPickerRequestMessage} from '../messages/AvatarPickerRequest';
import {AvatarPickerReplyMessage} from '../messages/AvatarPickerReply';
import {FilterResponse} from '../../enums/FilterResponse';
import {MapNameRequestMessage} from '../messages/MapNameRequest';
import {GridLayerType} from '../../enums/GridLayerType';
import {MapBlock} from '../MapBlock';
import {Avatar, MapInfoRangeReplyEvent, MapInfoReplyEvent, PacketFlags, RegionInfoReplyEvent, Vector2} from '../..';
import {TimeoutError} from '../TimeoutError';
import {UUIDNameRequestMessage} from '../messages/UUIDNameRequest';
import {UUIDNameReplyMessage} from '../messages/UUIDNameReply';
import { MapItemReplyMessage } from '../messages/MapItemReply';
import { Message } from '../../enums/Message';
import { MapBlockReplyMessage } from '../messages/MapBlockReply';
import { MapBlockRequestMessage } from '../messages/MapBlockRequest';
import { UUID } from '../UUID';
import { MapItemRequestMessage } from '../messages/MapItemRequest';
import { Utils } from '../Utils';
import { GridItemType } from '../../enums/GridItemType';
import { CommandsBase } from './CommandsBase';
import { AvatarPickerRequestMessage } from '../messages/AvatarPickerRequest';
import { AvatarPickerReplyMessage } from '../messages/AvatarPickerReply';
import { FilterResponse } from '../../enums/FilterResponse';
import { MapNameRequestMessage } from '../messages/MapNameRequest';
import { GridLayerType } from '../../enums/GridLayerType';
import { MapBlock } from '../MapBlock';
import { TimeoutError } from '../TimeoutError';
import { UUIDNameRequestMessage } from '../messages/UUIDNameRequest';
import { UUIDNameReplyMessage } from '../messages/UUIDNameReply';
import { RegionInfoReplyEvent } from '../../events/RegionInfoReplyEvent';
import { MapInfoReplyEvent } from '../../events/MapInfoReplyEvent';
import { PacketFlags } from '../../enums/PacketFlags';
import { Vector2 } from '../Vector2';
import { MapInfoRangeReplyEvent } from '../../events/MapInfoRangeReplyEvent';
import { Avatar } from '../public/Avatar';
export class GridCommands extends CommandsBase
{

View File

@@ -13,12 +13,13 @@ import { GroupRoleDataReplyMessage } from '../messages/GroupRoleDataReply';
import { GroupMember } from '../GroupMember';
import { FilterResponse } from '../../enums/FilterResponse';
import * as LLSD from '@caspertech/llsd';
import { GroupInviteEvent, GroupProfileReplyEvent } from '../..';
import { EjectGroupMemberRequestMessage } from '../messages/EjectGroupMemberRequest';
import { GroupProfileRequestMessage } from '../messages/GroupProfileRequest';
import { GroupProfileReplyMessage } from '../messages/GroupProfileReply';
import { GroupBanAction } from '../../enums/GroupBanAction';
import { GroupBan } from '../GroupBan';
import { GroupInviteEvent } from '../../events/GroupInviteEvent';
import { GroupProfileReplyEvent } from '../../events/GroupProfileReplyEvent';
export class GroupCommands extends CommandsBase
{

View File

@@ -1,11 +1,14 @@
import {CommandsBase} from './CommandsBase';
import {InventoryFolder} from '../InventoryFolder';
import {AssetType, ChatSourceType, InventoryOfferedEvent, PacketFlags, UUID, Vector3} from '../..';
import {InstantMessageDialog} from '../../enums/InstantMessageDialog';
import {ImprovedInstantMessageMessage} from '../messages/ImprovedInstantMessage';
import {Utils} from '../Utils';
import {InventoryType} from '../../enums/InventoryType';
import {FolderType} from '../../enums/FolderType';
import { CommandsBase } from './CommandsBase';
import { InventoryFolder } from '../InventoryFolder';
import { InstantMessageDialog } from '../../enums/InstantMessageDialog';
import { ImprovedInstantMessageMessage } from '../messages/ImprovedInstantMessage';
import { Utils } from '../Utils';
import { FolderType } from '../../enums/FolderType';
import { InventoryOfferedEvent } from '../../events/InventoryOfferedEvent';
import { UUID } from '../UUID';
import { Vector3 } from '../Vector3';
import { PacketFlags } from '../../enums/PacketFlags';
import { ChatSourceType } from '../../enums/ChatSourceType';
export class InventoryCommands extends CommandsBase
{

View File

@@ -1,6 +1,6 @@
import {CommandsBase} from './CommandsBase';
import {PacketFlags} from '../../enums/PacketFlags';
import {AgentThrottleMessage} from '../messages/AgentThrottle';
import { CommandsBase } from './CommandsBase';
import { PacketFlags } from '../../enums/PacketFlags';
import { AgentThrottleMessage } from '../messages/AgentThrottle';
export class NetworkCommands extends CommandsBase
{

View File

@@ -1,12 +1,13 @@
import {CommandsBase} from './CommandsBase';
import {ParcelInfoRequestMessage} from '../messages/ParcelInfoRequest';
import {UUID} from '../UUID';
import {Message} from '../../enums/Message';
import {ParcelInfoReplyMessage} from '../messages/ParcelInfoReply';
import {Packet} from '../Packet';
import {FilterResponse} from '../../enums/FilterResponse';
import {Utils} from '../Utils';
import {PacketFlags, ParcelInfoReplyEvent, Vector3} from '../..';
import { CommandsBase } from './CommandsBase';
import { ParcelInfoRequestMessage } from '../messages/ParcelInfoRequest';
import { UUID } from '../UUID';
import { Message } from '../../enums/Message';
import { ParcelInfoReplyMessage } from '../messages/ParcelInfoReply';
import { FilterResponse } from '../../enums/FilterResponse';
import { Utils } from '../Utils';
import { ParcelInfoReplyEvent } from '../../events/ParcelInfoReplyEvent';
import { PacketFlags } from '../../enums/PacketFlags';
import { Vector3 } from '../Vector3';
// This class was added to provide a new "Category" of commands, since we don't have any parcel specific functionality yet.

View File

@@ -1,42 +1,40 @@
import {CommandsBase} from './CommandsBase';
import {UUID} from '../UUID';
import { CommandsBase } from './CommandsBase';
import { UUID } from '../UUID';
import { RegionHandleRequestMessage } from '../messages/RegionHandleRequest';
import { Message } from '../../enums/Message';
import { FilterResponse } from '../../enums/FilterResponse';
import { RegionIDAndHandleReplyMessage } from '../messages/RegionIDAndHandleReply';
import { ObjectGrabMessage } from '../messages/ObjectGrab';
import { ObjectDeGrabMessage } from '../messages/ObjectDeGrab';
import { ObjectGrabUpdateMessage } from '../messages/ObjectGrabUpdate';
import { ObjectSelectMessage } from '../messages/ObjectSelect';
import { ObjectPropertiesMessage } from '../messages/ObjectProperties';
import { Utils } from '../Utils';
import { ObjectDeselectMessage } from '../messages/ObjectDeselect';
import { RequestTaskInventoryMessage } from '../messages/RequestTaskInventory';
import { ReplyTaskInventoryMessage } from '../messages/ReplyTaskInventory';
import { InventoryItem } from '../InventoryItem';
import { AssetTypeLL } from '../../enums/AssetTypeLL';
import { SaleTypeLL } from '../../enums/SaleTypeLL';
import { InventoryTypeLL } from '../../enums/InventoryTypeLL';
import { ObjectAddMessage } from '../messages/ObjectAdd';
import { Quaternion } from '../Quaternion';
import { RezObjectMessage } from '../messages/RezObject';
import { PermissionMask } from '../../enums/PermissionMask';
import { SelectedObjectEvent } from '../../events/SelectedObjectEvent';
import Timer = NodeJS.Timer;
import { PacketFlags } from '../../enums/PacketFlags';
import { GameObject } from '../public/GameObject';
import { PCode } from '../../enums/PCode';
import { PrimFlags } from '../../enums/PrimFlags';
import { AssetType } from '../../enums/AssetType';
import { NewObjectEvent } from '../../events/NewObjectEvent';
import { Vector3 } from '../Vector3';
import { Parcel } from '../public/Parcel';
import * as Long from 'long';
import {RegionHandleRequestMessage} from '../messages/RegionHandleRequest';
import {Message} from '../../enums/Message';
import {FilterResponse} from '../../enums/FilterResponse';
import {RegionIDAndHandleReplyMessage} from '../messages/RegionIDAndHandleReply';
import {
AssetType,
GameObject,
InventoryItemFlags,
NewObjectEvent,
PacketFlags,
Parcel,
PCode,
PrimFlags,
Vector3
} from '../..';
import {ObjectGrabMessage} from '../messages/ObjectGrab';
import {ObjectDeGrabMessage} from '../messages/ObjectDeGrab';
import {ObjectGrabUpdateMessage} from '../messages/ObjectGrabUpdate';
import {ObjectSelectMessage} from '../messages/ObjectSelect';
import {ObjectPropertiesMessage} from '../messages/ObjectProperties';
import {Utils} from '../Utils';
import {ObjectDeselectMessage} from '../messages/ObjectDeselect';
import * as micromatch from 'micromatch';
import * as LLSD from '@caspertech/llsd';
import {RequestTaskInventoryMessage} from '../messages/RequestTaskInventory';
import {ReplyTaskInventoryMessage} from '../messages/ReplyTaskInventory';
import {InventoryItem} from '../InventoryItem';
import {AssetTypeLL} from '../../enums/AssetTypeLL';
import {SaleTypeLL} from '../../enums/SaleTypeLL';
import {InventoryTypeLL} from '../../enums/InventoryTypeLL';
import {ObjectAddMessage} from '../messages/ObjectAdd';
import {Quaternion} from '../Quaternion';
import Timer = NodeJS.Timer;
import {RezObjectMessage} from '../messages/RezObject';
import {PermissionMask} from '../../enums/PermissionMask';
import {SelectedObjectEvent} from '../../events/SelectedObjectEvent';
export class RegionCommands extends CommandsBase
{

View File

@@ -1,13 +1,18 @@
import {CommandsBase} from './CommandsBase';
import {Region} from '../Region';
import {TeleportEventType} from '../../enums/TeleportEventType';
import {TeleportLureRequestMessage} from '../messages/TeleportLureRequest';
import {Vector3} from '../Vector3';
import {TeleportLocationRequestMessage} from '../messages/TeleportLocationRequest';
import { CommandsBase } from './CommandsBase';
import { Region } from '../Region';
import { TeleportEventType } from '../../enums/TeleportEventType';
import { TeleportLureRequestMessage } from '../messages/TeleportLureRequest';
import { Vector3 } from '../Vector3';
import { TeleportLocationRequestMessage } from '../messages/TeleportLocationRequest';
import * as Long from 'long';
import {LureEvent, PacketFlags, RegionInfoReplyEvent, TeleportEvent, TeleportFlags, Bot} from '../..';
import {Agent} from '../Agent';
import {Subscription} from 'rxjs/internal/Subscription';
import { Agent } from '../Agent';
import { Subscription } from 'rxjs/internal/Subscription';
import { TeleportEvent } from '../../events/TeleportEvent';
import { LureEvent } from '../../events/LureEvent';
import { TeleportFlags } from '../../enums/TeleportFlags';
import { PacketFlags } from '../../enums/PacketFlags';
import { RegionInfoReplyEvent } from '../../events/RegionInfoReplyEvent';
import { Bot } from '../../Bot';
export class TeleportCommands extends CommandsBase
{