Esempio n. 1
0
 private void SetCallerResult(UserResultMapping userResultMapping)
 {
     ExTraceGlobals.FrameworkTracer.TraceDebug <string>((long)this.GetHashCode(), "SetCallerResult() called for '{0}'.", userResultMapping.Mailbox);
     userResultMapping.Result = new ADQueryResult(userResultMapping)
     {
         Result = new Result <ADRecipient>(this.callerADRecipient, null)
     };
 }
Esempio n. 2
0
 protected override void AddToQueryList(UserResultMapping userResultMapping, IBudget budget)
 {
     if (this.IsCaller(userResultMapping))
     {
         this.SetCallerResult(userResultMapping);
         return;
     }
     base.AddToADQueryList(userResultMapping, this.callerADRecipient.OrganizationId, this.callerSearchRoot, budget);
 }
 private void AddToMServeQueryList(UserResultMapping userResultMapping)
 {
     ExTraceGlobals.FrameworkTracer.TraceDebug <string>((long)this.GetHashCode(), "AddToMServeQueryList() called for '{0}'.", userResultMapping.Mailbox);
     if (this.mServeDomainQueryList == null)
     {
         this.mServeDomainQueryList = new MServeDomainQueryList();
         this.queryLists.Add(this.mServeDomainQueryList);
     }
     this.mServeDomainQueryList.Add(userResultMapping);
 }
Esempio n. 4
0
 // Token: 0x06000349 RID: 841 RVA: 0x00014FF4 File Offset: 0x000131F4
 internal GetUserSettingsCommandBase(CallContext callContext)
 {
     this.response = callContext.Response;
     this.userResultMappingList = new List <UserResultMapping>(callContext.Users.Count);
     foreach (User user in callContext.Users)
     {
         UserResultMapping item = new UserResultMapping(user.Mailbox, callContext);
         this.userResultMappingList.Add(item);
     }
 }
Esempio n. 5
0
        // Token: 0x0600034D RID: 845 RVA: 0x000152D0 File Offset: 0x000134D0
        protected bool TryGetOrganizationId(UserResultMapping userResultMapping, out OrganizationId organizationId)
        {
            organizationId = DomainToOrganizationIdCache.Singleton.Get(new SmtpDomain(userResultMapping.SmtpAddress.Domain));
            bool flag = organizationId == OrganizationId.ForestWideOrgId || (organizationId != null && ADAccountPartitionLocator.IsKnownPartition(organizationId.PartitionId));

            if (!flag)
            {
                organizationId = null;
            }
            return(flag);
        }
Esempio n. 6
0
        protected override void AddToQueryList(UserResultMapping userResultMapping, IBudget budget)
        {
            OrganizationId organizationId;

            if (base.TryGetOrganizationId(userResultMapping, out organizationId))
            {
                base.AddToADQueryList(userResultMapping, organizationId, null, budget);
                return;
            }
            this.AddToMServeQueryList(userResultMapping);
        }
        protected override void AddToQueryList(UserResultMapping userResultMapping, IBudget budget)
        {
            FaultInjection.GenerateFault((FaultInjection.LIDs) 2745576765U);
            OrganizationId organizationId;

            if (base.TryGetOrganizationId(userResultMapping, out organizationId))
            {
                base.AddToADQueryList(userResultMapping, organizationId, null, budget);
                return;
            }
            this.AddToMServeQueryList(userResultMapping);
        }
Esempio n. 8
0
        // Token: 0x06000315 RID: 789 RVA: 0x00014194 File Offset: 0x00012394
        public void Add(UserResultMapping userResultMapping)
        {
            ExTraceGlobals.FrameworkTracer.TraceDebug <string, QueryListBase <T> >((long)this.GetHashCode(), "Adding address '{0}' to {1}.", userResultMapping.Mailbox, this);
            string key = userResultMapping.SmtpProxyAddress.ToString();
            T      t;

            if (!this.resultDictionary.TryGetValue(key, out t))
            {
                t = this.CreateResult(userResultMapping);
                this.resultDictionary.Add(key, t);
            }
            userResultMapping.Result = t;
        }
Esempio n. 9
0
        // Token: 0x0600034E RID: 846 RVA: 0x00015330 File Offset: 0x00013530
        protected void AddToADQueryList(UserResultMapping userResultMapping, OrganizationId organizationId, ADObjectId searchRoot, IBudget budget)
        {
            ExTraceGlobals.FrameworkTracer.TraceDebug <string>((long)this.GetHashCode(), "AddToADQueryList() called for '{0}'.", userResultMapping.Mailbox);
            ADQueryList adqueryList;

            if (!this.adQueryListDictionary.TryGetValue(organizationId, out adqueryList))
            {
                adqueryList = new ADQueryList(organizationId, searchRoot, budget);
                this.adQueryListDictionary.Add(organizationId, adqueryList);
                this.queryLists.Add(adqueryList);
            }
            adqueryList.Add(userResultMapping);
        }
Esempio n. 10
0
        private bool IsCaller(UserResultMapping userResultMapping)
        {
            bool result = false;

            if (this.callerADRecipient.EmailAddresses != null)
            {
                foreach (ProxyAddress proxyAddress in this.callerADRecipient.EmailAddresses)
                {
                    if (proxyAddress != null && userResultMapping.SmtpProxyAddress.CompareTo(proxyAddress) == 0)
                    {
                        result = true;
                        break;
                    }
                }
            }
            return(result);
        }
Esempio n. 11
0
        // Token: 0x0600035F RID: 863 RVA: 0x0001573C File Offset: 0x0001393C
        protected override void AddToQueryList(UserResultMapping userResultMapping, IBudget budget)
        {
            OrganizationId organizationId;

            if (!base.TryGetOrganizationId(userResultMapping, out organizationId))
            {
                ExTraceGlobals.FrameworkTracer.TraceDebug <string>((long)this.GetHashCode(), "Mailbox '{0}' org Id was not found, possibly in other forest.", userResultMapping.Mailbox);
                base.SetInvalidSmtpAddressResult(userResultMapping);
                return;
            }
            if (organizationId.Equals(this.partnerUser.OrganizationId))
            {
                base.AddToADQueryList(userResultMapping, this.partnerUser.OrganizationId, null, budget);
                return;
            }
            ExTraceGlobals.FrameworkTracer.TraceDebug <string, OrganizationId, string>((long)this.GetHashCode(), "Mailbox '{0}' has different org id {1}. The identity is {1}.", userResultMapping.Mailbox, organizationId, this.partnerUser.Name);
            base.SetInvalidSmtpAddressResult(userResultMapping);
        }
        protected override bool IsPostAdQueryAuthorized(UserResultMapping userResultMapping)
        {
            MServeQueryResult mserveQueryResult = userResultMapping.Result as MServeQueryResult;

            if (mserveQueryResult != null)
            {
                if (mserveQueryResult.RedirectServer == null)
                {
                    ExTraceGlobals.FrameworkTracer.TraceDebug <string>((long)this.GetHashCode(), "MServe provided NO redirect for '{0}'", userResultMapping.Mailbox);
                    return(false);
                }
                ExTraceGlobals.FrameworkTracer.TraceDebug <string, string>((long)this.GetHashCode(), "MServe provided redirect for '{0}' to {1}.", userResultMapping.Mailbox, mserveQueryResult.RedirectServer);
                return(true);
            }
            else
            {
                ADQueryResult adqueryResult = userResultMapping.Result as ADQueryResult;
                if (adqueryResult == null)
                {
                    return(false);
                }
                if (adqueryResult.Result.Data == null)
                {
                    return(false);
                }
                if (this.HasOrganizationRelationship(adqueryResult.Result.Data.OrganizationId))
                {
                    ExTraceGlobals.FrameworkTracer.TraceDebug <string>((long)this.GetHashCode(), "Organization relationship for '{0}'.", userResultMapping.Mailbox);
                    return(true);
                }
                if (this.HasPersonalRelationship(adqueryResult.Result.Data as ADUser))
                {
                    ExTraceGlobals.FrameworkTracer.TraceDebug <string>((long)this.GetHashCode(), "Personal relationship for '{0}'.", userResultMapping.Mailbox);
                    return(true);
                }
                ExTraceGlobals.FrameworkTracer.TraceDebug <string>((long)this.GetHashCode(), "No organization relationship for '{0}'.", userResultMapping.Mailbox);
                return(false);
            }
        }
Esempio n. 13
0
        // Token: 0x06000360 RID: 864 RVA: 0x000157D0 File Offset: 0x000139D0
        protected override bool IsPostAdQueryAuthorized(UserResultMapping userResultMapping)
        {
            ADQueryResult adqueryResult = userResultMapping.Result as ADQueryResult;

            if (adqueryResult == null)
            {
                return(false);
            }
            if (adqueryResult.Result.Data == null)
            {
                ExTraceGlobals.FrameworkTracer.TraceDebug <string>((long)this.GetHashCode(), "ADQuery result is null for '{0}'.", userResultMapping.Mailbox);
                return(false);
            }
            OrganizationId organizationId = adqueryResult.Result.Data.OrganizationId;

            if (this.partnerUser.OrganizationId.Equals(organizationId))
            {
                ExTraceGlobals.FrameworkTracer.TraceDebug <string>((long)this.GetHashCode(), "ADQuery result for '{0}' matches the organization id.", userResultMapping.Mailbox);
                return(true);
            }
            ExTraceGlobals.FrameworkTracer.TraceDebug <string, OrganizationId, OrganizationId>((long)this.GetHashCode(), "ADQuery result for '{0}' is {1}, does not match the organization id {2}.", userResultMapping.Mailbox, organizationId, this.partnerUser.OrganizationId);
            return(false);
        }
Esempio n. 14
0
 // Token: 0x06000323 RID: 803 RVA: 0x00014646 File Offset: 0x00012846
 internal ResultBase(UserResultMapping userResultMapping)
 {
     ExTraceGlobals.FrameworkTracer.TraceDebug <ResultBase, string>((long)this.GetHashCode(), "{0} constructor called for '{1}'.", this, userResultMapping.Mailbox);
     this.userResultMapping = userResultMapping;
 }
Esempio n. 15
0
 // Token: 0x0600034B RID: 843 RVA: 0x000152A0 File Offset: 0x000134A0
 protected virtual bool IsPostAdQueryAuthorized(UserResultMapping userResultMapping)
 {
     return(true);
 }
Esempio n. 16
0
 // Token: 0x0600034C RID: 844 RVA: 0x000152A3 File Offset: 0x000134A3
 protected void SetInvalidSmtpAddressResult(UserResultMapping userResultMapping)
 {
     ExTraceGlobals.FrameworkTracer.TraceDebug <string>((long)this.GetHashCode(), "SetInvalidSmtpAddressResult() called for '{0}'.", userResultMapping.Mailbox);
     userResultMapping.Result = new InvalidSmtpAddressResult(userResultMapping);
 }
Esempio n. 17
0
 // Token: 0x06000371 RID: 881 RVA: 0x00015B90 File Offset: 0x00013D90
 internal MServeQueryResult(UserResultMapping userResultMapping) : base(userResultMapping)
 {
 }
Esempio n. 18
0
 // Token: 0x06000316 RID: 790
 protected abstract T CreateResult(UserResultMapping userResultMapping);
 internal InvalidSmtpAddressResult(UserResultMapping userResultMapping) : base(userResultMapping)
 {
 }
Esempio n. 20
0
 internal ADQueryResult(UserResultMapping userResultMapping) : base(userResultMapping)
 {
 }
Esempio n. 21
0
 // Token: 0x06000351 RID: 849
 protected abstract void AddToQueryList(UserResultMapping userResultMapping, IBudget budget);
Esempio n. 22
0
 protected override ADQueryResult CreateResult(UserResultMapping userResultMapping)
 {
     return(new ADQueryResult(userResultMapping));
 }
 // Token: 0x06000368 RID: 872 RVA: 0x00015A14 File Offset: 0x00013C14
 protected override void AddToQueryList(UserResultMapping userResultMapping, IBudget budget)
 {
     base.AddToADQueryList(userResultMapping, OrganizationId.ForestWideOrgId, null, budget);
 }