示例#1
0
        public static GamePacket ReadGamePacket(this PacketReader reader, ChannelID channelID, byte rawID, NetID sender)
        {
            var id = (GamePacketID)rawID;

            if (id == GamePacketID.ExtendedPacket)
            {
                id = (GamePacketID)reader.ReadUInt16();
            }
            GamePacket packet;

            if (!Enum.IsDefined(typeof(GamePacketID), id) ||
                id == GamePacketID.ExtendedPacket ||
                id == GamePacketID.Batched)
            {
                packet = new UnknownGamePacket(reader, channelID, sender, id);
            }
            else
            {
                packet = _lookup[id](reader, channelID, sender);
            }
            packet.ExtraBytes = reader.ReadLeft();
            return(packet);
        }
示例#2
0
        public static S2C_DisplayLocalizedTutorialChatText CreateBody(PacketReader reader, NetID sender)
        {
            var result = new S2C_DisplayLocalizedTutorialChatText();

            result.SenderNetID = sender;
            result.Message     = reader.ReadZeroTerminatedString();

            return(result);
        }
        public S2C_SwitchNexusesToOnIdleParticles(PacketReader reader, ChannelID channelID, NetID senderNetID)
        {
            this.SenderNetID = senderNetID;
            this.ChannelID   = channelID;

            this.ExtraBytes = reader.ReadLeft();
        }
示例#4
0
 public static NetID Redact(NetID netID, out string raw, out string redacted)
 {
     raw      = null;
     redacted = null;
     return(null);
 }
示例#5
0
        public static C2S_PlayContextualEmote CreateBody(PacketReader reader, NetID sender)
        {
            var result = new C2S_PlayContextualEmote();

            return(result);
        }
示例#6
0
        protected override IConfigurable PrepareDataObject()
        {
            TaskLogger.LogEnter();
            ADRecipient adrecipient = (ADRecipient)base.PrepareDataObject();

            if (base.IsProvisioningLayerAvailable)
            {
                Fqdn value = (Fqdn)base.UserSpecifiedParameters["DomainController"];
                try
                {
                    base.UserSpecifiedParameters["DomainController"] = this.globalCatalog;
                    ProvisioningLayer.UpdateAffectedIConfigurable(this, RecipientTaskHelper.ConvertRecipientToPresentationObject(adrecipient), false);
                    goto IL_82;
                }
                finally
                {
                    base.UserSpecifiedParameters["DomainController"] = value;
                }
            }
            base.WriteError(new InvalidOperationException(Strings.ErrorNoProvisioningHandlerAvailable), (ErrorCategory)1012, null);
IL_82:
            if (RecipientType.UserMailbox == adrecipient.RecipientType)
            {
                ADUser aduser = (ADUser)adrecipient;
                if (string.IsNullOrEmpty(aduser.ServerLegacyDN))
                {
                    base.WriteError(new InvalidOperationException(Strings.ErrorInvalidObjectMissingCriticalProperty(typeof(Mailbox).Name, adrecipient.Identity.ToString(), MailEnabledRecipientSchema.LegacyExchangeDN.Name)), (ErrorCategory)1009, this.Identity);
                }
                Server server = this.configurationSession.FindServerByLegacyDN(aduser.ServerLegacyDN);
                if (server != null)
                {
                    if (!server.IsExchange2007OrLater)
                    {
                        base.WriteError(new InvalidOperationException(Strings.ErrorCannotUpdateLegacyMailbox(this.Identity.ToString())), (ErrorCategory)1010, this.Identity);
                    }
                    else if (RecipientTaskHelper.IsE15OrLater(server.VersionNumber))
                    {
                        if (adrecipient.ExchangeVersion.IsOlderThan(ExchangeObjectVersion.Exchange2012))
                        {
                            adrecipient.SetExchangeVersion(ExchangeObjectVersion.Exchange2012);
                        }
                    }
                    else if (server.IsE14OrLater)
                    {
                        if (adrecipient.ExchangeVersion.IsOlderThan(ExchangeObjectVersion.Exchange2010))
                        {
                            adrecipient.SetExchangeVersion(ExchangeObjectVersion.Exchange2010);
                        }
                    }
                    else if (adrecipient.ExchangeVersion.IsOlderThan(ExchangeObjectVersion.Exchange2007))
                    {
                        adrecipient.SetExchangeVersion(ExchangeObjectVersion.Exchange2007);
                    }
                }
                SetMailboxBase <MailboxIdParameter, Mailbox> .StampMailboxTypeDetails(adrecipient, true);

                MailboxTaskHelper.StampMailboxRecipientDisplayType(adrecipient);
                if (server != null && server.IsE14OrLater)
                {
                    NetID netID = aduser.NetID;
                    if (netID != null)
                    {
                        aduser.NetID = netID;
                    }
                }
                if (aduser.RoleAssignmentPolicy == null && RecipientTypeDetails.None == (aduser.RecipientTypeDetails & (RecipientTypeDetails.PublicFolder | RecipientTypeDetails.SystemMailbox | RecipientTypeDetails.ArbitrationMailbox | RecipientTypeDetails.DiscoveryMailbox | RecipientTypeDetails.AuditLogMailbox)))
                {
                    RoleAssignmentPolicy roleAssignmentPolicy = RecipientTaskHelper.FindDefaultRoleAssignmentPolicy(RecipientTaskHelper.GetTenantLocalConfigSession(base.CurrentOrganizationId, base.ExecutingUserOrganizationId, base.RootOrgContainerId), new Task.ErrorLoggerDelegate(base.WriteError), Strings.ErrorDefaultRoleAssignmentPolicyNotUnique, Strings.ErrorDefaultRoleAssignmentPolicyNotFound);
                    if (roleAssignmentPolicy != null)
                    {
                        aduser.RoleAssignmentPolicy = (ADObjectId)roleAssignmentPolicy.Identity;
                    }
                }
            }
            TaskLogger.LogExit();
            return(adrecipient);
        }
示例#7
0
        protected override SubscribeResults InternalPerformSubscribe(MailboxSession mailboxSession, SharingContext context)
        {
            NetID netID = new NetID(context.MailboxId);
            long  num   = checked ((long)netID.ToUInt64());

            if (num == 0L)
            {
                throw new InvalidOperationException("Invitation does not contain the owner ID.");
            }
            Guid guid;

            if (!Guid.TryParse(context.FolderEwsId, out guid))
            {
                throw new InvalidOperationException("Invitation does not contain the calendar ID.");
            }
            using (Folder folder = Folder.Bind(mailboxSession, DefaultFolderType.Root))
            {
                StoreObjectId defaultFolderId = mailboxSession.GetDefaultFolderId(DefaultFolderType.DeletedItems);
                QueryFilter   queryFilter     = QueryFilter.AndTogether(new QueryFilter[]
                {
                    new ComparisonFilter(ComparisonOperator.Equal, CalendarFolderSchema.ConsumerCalendarGuid, guid),
                    new ComparisonFilter(ComparisonOperator.Equal, CalendarFolderSchema.ConsumerCalendarOwnerId, num)
                });
                using (IQueryResult queryResult = folder.IFolderQuery(FolderQueryFlags.DeepTraversal, queryFilter, null, new PropertyDefinition[]
                {
                    FolderSchema.Id,
                    FolderSchema.DisplayName,
                    StoreObjectSchema.ParentItemId
                }))
                {
                    bool flag = true;
                    while (flag)
                    {
                        object[][] rows = queryResult.GetRows(100, out flag);
                        if (rows == null || rows.Length == 0)
                        {
                            break;
                        }
                        foreach (object[] array2 in rows)
                        {
                            StoreObjectId storeObjectId = StoreId.GetStoreObjectId((StoreId)array2[2]);
                            if (!defaultFolderId.Equals(storeObjectId))
                            {
                                return(new SubscribeResults(context.DataType, context.InitiatorSmtpAddress, context.InitiatorName, context.FolderName, StoreId.GetStoreObjectId((StoreId)rows[0][0]), false, (string)rows[0][1]));
                            }
                        }
                    }
                }
            }
            SubscribeResults result;

            using (CalendarFolder calendarFolder = CalendarFolder.Create(mailboxSession, mailboxSession.GetDefaultFolderId(DefaultFolderType.Root), StoreObjectType.CalendarFolder))
            {
                calendarFolder[FolderSchema.ExtendedFolderFlags] = (ExtendedFolderFlags.SharedIn | ExtendedFolderFlags.ExclusivelyBound | ExtendedFolderFlags.ExchangeConsumerShareFolder);
                calendarFolder.DisplayName             = (context.FolderName ?? context.InitiatorSmtpAddress);
                calendarFolder.ConsumerCalendarGuid    = guid;
                calendarFolder.ConsumerCalendarOwnerId = num;
                calendarFolder.SaveWithUniqueDisplayName(50);
                calendarFolder.Load();
                result = new SubscribeResults(context.DataType, context.InitiatorSmtpAddress, context.InitiatorName, context.FolderName, StoreId.GetStoreObjectId(calendarFolder.Id), true, calendarFolder.DisplayName);
            }
            return(result);
        }
示例#8
0
        public S2C_DisplayLocalizedTutorialChatText(PacketReader reader, ChannelID channelID, NetID senderNetID)
        {
            this.SenderNetID = senderNetID;
            this.ChannelID   = channelID;

            this.Message    = reader.ReadFixedStringLast(128);
            this.ExtraBytes = reader.ReadLeft();
        }
        public S2C_SetGreyscaleEnabledWhenDead(PacketReader reader, ChannelID channelID, NetID senderNetID)
        {
            this.SenderNetID = senderNetID;
            this.ChannelID   = channelID;

            byte bitfield = reader.ReadByte();

            this.Enabled = (bitfield & 1) != 0;

            this.ExtraBytes = reader.ReadLeft();
        }
 public static void WriteNetID(this PacketWriter writer, NetID netID)
 {
     writer.WriteUInt32((uint)netID);
 }
示例#11
0
        public static World_SendCamera_Server_Acknologment CreateBody(PacketReader reader, NetID sender)
        {
            var result = new World_SendCamera_Server_Acknologment();

            result.SenderNetID = sender;
            result.SyncID      = reader.ReadByte();

            return(result);
        }
示例#12
0
 MiniRecipient ITenantRecipientSession.FindRecipientByNetID(NetID netId)
 {
     FfoDirectorySession.LogNotSupportedInFFO(null);
     return(null);
 }
示例#13
0
 MiniRecipient ITenantRecipientSession.FindRecipientByNetID(NetID netId)
 {
     return(base.InvokeGetObjectWithAPILogging <MiniRecipient>(() => this.ExecuteSingleObjectQueryWithFallback <MiniRecipient>((ITenantRecipientSession session) => session.FindRecipientByNetID(netId), null, null), "FindRecipientByNetID"));
 }
        public S2C_UnitSetShowAutoAttackIndicator(PacketReader reader, ChannelID channelID, NetID senderNetID)
        {
            this.SenderNetID = senderNetID;
            this.ChannelID   = channelID;

            this.NetID                = reader.ReadNetID();
            this.ShowIndicator        = reader.ReadBool();
            this.ShowMinimapIndicator = reader.ReadBool();

            this.ExtraBytes = reader.ReadLeft();
        }
        public SPM_HierarchicalProfilerUpdate(PacketReader reader, ChannelID channelID, NetID senderNetID)
        {
            this.SenderNetID = senderNetID;
            this.ChannelID   = channelID;

            this.ExtraBytes = reader.ReadLeft();
        }
示例#16
0
        public S2C_MarkOrSweepForSoftReconnect(PacketReader reader, ChannelID channelID, NetID senderNetID)
        {
            this.SenderNetID = senderNetID;
            this.ChannelID   = channelID;

            byte bitfield = reader.ReadByte();

            this.Unknown1 = (bitfield & 1) != 0;
            this.Unknown2 = (bitfield & 2) != 0;

            this.ExtraBytes = reader.ReadLeft();
        }
示例#17
0
 public SendParams(NetID _id, params object[] data)
 {
     id   = _id;
     list = data;
 }
示例#18
0
 public void AddEventListener(NetID eventID, DataEventHandlerFunction handler)
 {
     AddEventListener(eventID.getInt(), handler, eventID.ToString());
 }
示例#19
0
 /// <summary>
 /// Helper function called when a player leaves.
 /// </summary>
 /// <param name="player">player that disconnected.</param>
 private void unassignPlayerTracking(PhotonPlayer player)
 {
     ID_to_CharNum.Remove(player.ID);
     ID_to_IsRdy.Remove(player.ID);
     NetID.Remove(player.ID);
 }
示例#20
0
 public void RemoveEventListener(NetID eventID, DataEventHandlerFunction handler)
 {
     RemoveEventListener((int)eventID, handler, eventID.ToString());
 }
示例#21
0
        public S2C_UpdateAttackSpeedCapOverrides(PacketReader reader, ChannelID channelID, NetID senderNetID)
        {
            this.SenderNetID = senderNetID;
            this.ChannelID   = channelID;

            this.DoOverrideMax          = reader.ReadBool();
            this.DoOverrideMin          = reader.ReadBool();
            this.MaxAttackSpeedOverride = reader.ReadFloat();
            this.MinAttackSpeedOverride = reader.ReadFloat();

            this.ExtraBytes = reader.ReadLeft();
        }
示例#22
0
        // Token: 0x06001BAD RID: 7085 RVA: 0x0007416C File Offset: 0x0007236C
        private ADRawEntry[] SearchByNetIDType(ADObjectId rootId, string netID, bool searchForConsumerNetID, QueryFilter excludeExternalNetIDFilter, params PropertyDefinition[] properties)
        {
            QueryFilter queryFilter;

            if (!searchForConsumerNetID)
            {
                queryFilter = new ComparisonFilter(ComparisonOperator.Equal, IADSecurityPrincipalSchema.NetID, NetID.Parse(netID));
            }
            else
            {
                queryFilter = new ComparisonFilter(ComparisonOperator.Equal, IADSecurityPrincipalSchema.ConsumerNetID, NetID.Parse(netID));
            }
            QueryFilter filter;

            if (excludeExternalNetIDFilter != null)
            {
                filter = new AndFilter(new QueryFilter[]
                {
                    queryFilter,
                    excludeExternalNetIDFilter
                });
            }
            else
            {
                filter = queryFilter;
            }
            return(base.Find <ADRawEntry>(rootId, QueryScope.SubTree, filter, null, 0, properties, false));
        }
示例#23
0
        public S2C_UnitSetSpellLevelOverrides(PacketReader reader, ChannelID channelID, NetID senderNetID)
        {
            this.SenderNetID = senderNetID;
            this.ChannelID   = channelID;

            for (var i = 0; i < this.SpellMaxLevels.Length; i++)
            {
                this.SpellMaxLevels[i] = reader.ReadByte();
            }
            for (var i = 0; i < this.SpellUpgradeLevels.GetLength(0); i++)
            {
                for (var c = 0; c < this.SpellUpgradeLevels.GetLength(1); c++)
                {
                    this.SpellUpgradeLevels[i, c] = reader.ReadByte();
                }
            }

            this.ExtraBytes = reader.ReadLeft();
        }
示例#24
0
        public static S2C_SwitchNexusesToOnIdleParticles CreateBody(PacketReader reader, NetID sender)
        {
            var result = new S2C_SwitchNexusesToOnIdleParticles();

            result.SenderNetID = sender;
            return(result);
        }
        public static S2C_MarkOrSweepForSoftReconnect CreateBody(PacketReader reader, NetID sender)
        {
            var result = new S2C_MarkOrSweepForSoftReconnect();

            result.SenderNetID = sender;
            byte bitfield = reader.ReadByte();

            result.Unknown1 = (bitfield & 1) != 0;
            result.Unknown2 = (bitfield & 2) != 0;

            return(result);
        }
        public C2S_TutorialAudioEventFinished(PacketReader reader, ChannelID channelID, NetID senderNetID)
        {
            this.SenderNetID = senderNetID;
            this.ChannelID   = channelID;

            this.AudioEventNetID = reader.ReadNetID();

            this.ExtraBytes = reader.ReadLeft();
        }
示例#27
0
        public ReplayOnly_MultiKillCountUpdate(PacketReader reader, ChannelID channelID, NetID senderNetID)
        {
            this.SenderNetID = senderNetID;
            this.ChannelID   = channelID;

            this.OwnerNetID     = reader.ReadNetID();
            this.MultiKillCount = reader.ReadByte();

            this.ExtraBytes = reader.ReadLeft();
        }
示例#28
0
        public static S2C_SetGreyscaleEnabledWhenDead CreateBody(PacketReader reader, NetID sender)
        {
            var result = new S2C_SetGreyscaleEnabledWhenDead();

            result.SenderNetID = sender;
            byte bitfield = reader.ReadByte();

            result.Enabled = (bitfield & 1) != 0;

            return(result);
        }
示例#29
0
        public PSLocalTask <NewMailbox, Mailbox> CreateNewMailboxTask(OrganizationId organizationId, SmtpAddress msaUserMemberName, NetID msaUserNetID)
        {
            NewMailbox task = new NewMailbox();

            this.InitializeTaskToExecuteInMode(organizationId, null, msaUserNetID.ToString(), msaUserMemberName, task, "New-Mailbox", "User");
            return(new PSLocalTask <NewMailbox, Mailbox>(task));
        }
示例#30
0
        public static SPM_HierarchicalBBProfileUpdate CreateBody(PacketReader reader, NetID sender)
        {
            var result = new SPM_HierarchicalBBProfileUpdate();

            result.SenderNetID = sender;
            throw new NotImplementedException("SPM_HierarchicalBBProfileUpdate.Read");

            return(result);
        }