protected MSERVEntry ProcessExternalOrgIdParameter(int partnerId, int minorPartnerId, Func <string, int, int> invoke)
        {
            MSERVEntry mserventry = new MSERVEntry();
            Guid       guid       = (Guid)base.Fields["ExternalDirectoryOrganizationId"];

            mserventry.ExternalDirectoryOrganizationId = guid;
            if (partnerId > -1)
            {
                string text = string.Format("43BA6209CC0F4542958F65F8BF1CDED6@{0}.exchangereserved", guid);
                mserventry.AddressForPartnerId = text;
                mserventry.PartnerId           = invoke(text, partnerId);
                MServDirectorySession mservDirectorySession = new MServDirectorySession(null);
                string forest;
                if (mservDirectorySession.TryGetForestFqdnFromPartnerId(mserventry.PartnerId, out forest))
                {
                    mserventry.Forest = forest;
                }
            }
            if (minorPartnerId > -1)
            {
                string text = string.Format("3da19c7b44a74bd3896daaf008594b6c@{0}.exchangereserved", guid);
                mserventry.AddressForMinorPartnerId = text;
                mserventry.MinorPartnerId           = invoke(text, minorPartnerId);
            }
            return(mserventry);
        }
        protected MSERVEntry ProcessDomainNameParameter(int partnerId, int minorPartnerId, Func <string, int, int> invoke)
        {
            MSERVEntry mserventry = new MSERVEntry();
            string     domain     = ((SmtpDomain)base.Fields["DomainName"]).Domain;

            mserventry.DomainName = domain;
            if (partnerId > -1)
            {
                string text = string.Format("E5CB63F56E8B4b69A1F70C192276D6AD@{0}", domain);
                mserventry.AddressForPartnerId = text;
                mserventry.PartnerId           = invoke(text, partnerId);
                MServDirectorySession mservDirectorySession = new MServDirectorySession(null);
                string forest;
                if (mservDirectorySession.TryGetForestFqdnFromPartnerId(mserventry.PartnerId, out forest))
                {
                    mserventry.Forest = forest;
                }
            }
            if (minorPartnerId > -1)
            {
                string text = string.Format("7f66cd009b304aeda37ffdeea1733ff6@{0}", domain);
                mserventry.AddressForMinorPartnerId = text;
                mserventry.MinorPartnerId           = invoke(text, minorPartnerId);
            }
            return(mserventry);
        }
Exemple #3
0
        internal static string GetRedirectServer(string smtpAddress)
        {
            ExTraceGlobals.AuthenticationTracer.TraceDebug <string>(0L, "MServe.GetRedirectServer. Entry. smtpAddress = {0}.", smtpAddress);
            IGlobalDirectorySession globalDirectorySession = new MServDirectorySession(MServe.podRedirectTemplate);
            string empty;

            if (!globalDirectorySession.TryGetRedirectServer(smtpAddress, out empty))
            {
                empty = string.Empty;
            }
            ExTraceGlobals.AuthenticationTracer.TraceDebug <string, string>(0L, "MServe.GetRedirectServer. Exit. smtpAddress = {0}, redirectServer = {1}.", smtpAddress, empty);
            return(empty);
        }
        protected int RemoveMservEntry(string address)
        {
            int num = MServDirectorySession.ReadMservEntry(address);

            if (num != -1)
            {
                MServDirectorySession.RemoveMserveEntry(address, num);
            }
            else
            {
                base.WriteError(new TenantNotFoundException(DirectoryStrings.TenantNotFoundInMservError(address)), ExchangeErrorCategory.Client, null);
            }
            return(num);
        }
        protected MSERVEntry ProcessAddressParameter(int id, Func <string, int, int> invoke)
        {
            MSERVEntry mserventry = new MSERVEntry();
            string     text       = (string)base.Fields["Address"];

            if (this.ShouldProcessPartnerId(text))
            {
                mserventry.AddressForPartnerId = text;
                mserventry.PartnerId           = invoke(text, id);
                MServDirectorySession mservDirectorySession = new MServDirectorySession(null);
                string forest;
                if (mservDirectorySession.TryGetForestFqdnFromPartnerId(mserventry.PartnerId, out forest))
                {
                    mserventry.Forest = forest;
                }
            }
            else
            {
                mserventry.AddressForMinorPartnerId = text;
                mserventry.MinorPartnerId           = invoke(text, id);
            }
            return(mserventry);
        }
 protected int AddMservEntry(string address, int newPartnerId)
 {
     MServDirectorySession.AddMserveEntry(address, newPartnerId);
     return(newPartnerId);
 }
 protected int ReadMservEntry(string address)
 {
     return(MServDirectorySession.ReadMservEntry(address));
 }