コード例 #1
0
        private static void UpdateConfigDomain(DataTable dataTable, DataObjectStore store, string cfgName)
        {
            DataRow row = dataTable.Rows[0];
            PopImapAdConfiguration popImapAdConfiguration = (PopImapAdConfiguration)store.GetDataObject(cfgName + "Configuration");

            if (popImapAdConfiguration != null && !string.IsNullOrEmpty(popImapAdConfiguration.X509CertificateName))
            {
                CertificateHelper.GetOneItem(row, cfgName + "Domain", popImapAdConfiguration.X509CertificateName);
            }
        }
コード例 #2
0
        internal static string GetIMapFQDN(ITopologyConfigurationSession session)
        {
            PopImapAdConfiguration popImapAdConfiguration = PopImapAdConfiguration.FindOne <Imap4AdConfiguration>(session);

            if (popImapAdConfiguration == null)
            {
                return(null);
            }
            return(popImapAdConfiguration.X509CertificateName);
        }
コード例 #3
0
        public static void OnPostPopImapSetting(string prefix, DataRow inputRow, DataTable dataTable, DataObjectStore store)
        {
            DataRow row        = dataTable.Rows[0];
            object  dataObject = store.GetDataObject(prefix + "AdConfig");

            if (dataObject != null && dataObject is PopImapAdConfiguration)
            {
                PopImapAdConfiguration popImapAdConfiguration = (PopImapAdConfiguration)dataObject;
                if (popImapAdConfiguration.UnencryptedOrTLSBindings != null)
                {
                    ServersService.ConvertIpBinding(prefix + "UnencryptedOrTLSBindings", popImapAdConfiguration.UnencryptedOrTLSBindings, row);
                }
                if (popImapAdConfiguration.SSLBindings != null)
                {
                    ServersService.ConvertIpBinding(prefix + "SSLBindings", popImapAdConfiguration.SSLBindings, row);
                }
            }
        }
コード例 #4
0
 private static void SetPopImapCertificate(X509Certificate2 cert, PopImapAdConfiguration popImapAdConfiguration, IConfigurationSession dataSession, List <LocalizedString> warningList)
 {
     if (popImapAdConfiguration != null)
     {
         IList <string> fqdns = TlsCertificateInfo.GetFQDNs(cert);
         if (fqdns.Count == 0)
         {
             return;
         }
         popImapAdConfiguration.X509CertificateName = fqdns[0];
         try
         {
             dataSession.Save(popImapAdConfiguration);
         }
         catch (DataValidationException)
         {
             if (warningList != null)
             {
                 warningList.Add(Strings.WarnInvalidCertificateForProtocol(cert.Thumbprint, fqdns[0], popImapAdConfiguration.ProtocolName.Remove(popImapAdConfiguration.ProtocolName.Length - 1)));
             }
         }
     }
 }
コード例 #5
0
        private static bool TrySelectProtocolConnectionSettings(ServiceType serviceType, PopImapAdConfiguration popImapConfiguration, bool useExternalPopImapSettings, Dictionary <ServiceType, ProtocolConnectionSettings> e15Protocols)
        {
            IList <ProtocolConnectionSettings> list = useExternalPopImapSettings ? popImapConfiguration.ExternalConnectionSettings : popImapConfiguration.InternalConnectionSettings;
            ProtocolConnectionSettings         protocolConnectionSettings = null;

            foreach (ProtocolConnectionSettings protocolConnectionSettings2 in list)
            {
                if (protocolConnectionSettings == null)
                {
                    protocolConnectionSettings = protocolConnectionSettings2;
                }
                else
                {
                    if (protocolConnectionSettings2.EncryptionType == EncryptionType.SSL)
                    {
                        protocolConnectionSettings = protocolConnectionSettings2;
                        break;
                    }
                    if (protocolConnectionSettings2.EncryptionType == EncryptionType.TLS && protocolConnectionSettings.EncryptionType == null)
                    {
                        protocolConnectionSettings = protocolConnectionSettings2;
                    }
                }
            }
            if (protocolConnectionSettings != null)
            {
                e15Protocols[serviceType] = protocolConnectionSettings;
                ExTraceGlobals.CafeTracer.TraceDebug <string, ProtocolConnectionSettings>(0L, "[GlobalServiceUrls.TrySelectProtocolConnectionSettings] Found {0} settings {1}", typeof(ServiceType).Name, protocolConnectionSettings);
                return(true);
            }
            return(false);
        }
コード例 #6
0
 private static void SetImap4Certificate(X509Certificate2 cert, ITopologyConfigurationSession dataSession, List <LocalizedString> warningList)
 {
     ManageExchangeCertificate.SetPopImapCertificate(cert, PopImapAdConfiguration.FindOne <Imap4AdConfiguration>(dataSession), dataSession, warningList);
 }