Beispiel #1
0
        private static void ParseOverride(XmlTextReader reader)
        {
            string attribute  = reader.GetAttribute(AutoProvisionOverride.Domain);
            string attribute2 = reader.GetAttribute(AutoProvisionOverride.TrustedBySendAs);

            if (attribute2 != null && attribute2.Equals("true"))
            {
                AutoProvisionOverride.sendAsTrustedOverrideDomains.Add(attribute);
            }
            while (reader.Read())
            {
                if (reader.IsStartElement(AutoProvisionOverride.POP))
                {
                    AutoProvisionOverride.ParsePOP(reader, attribute);
                }
                else if (reader.IsStartElement(AutoProvisionOverride.IMAP))
                {
                    AutoProvisionOverride.ParseIMAP(reader, attribute);
                }
                if (AutoProvisionOverride.IsEndElement(reader, AutoProvisionOverride.Override))
                {
                    return;
                }
            }
        }
Beispiel #2
0
 private static void ParseIMAP(XmlTextReader reader, string domainName)
 {
     while (reader.Read())
     {
         if (reader.NodeType == XmlNodeType.Text)
         {
             AutoProvisionOverride.AddOverride(domainName, AutoProvisionOverride.imapOverrides, reader.Value);
         }
         if (AutoProvisionOverride.IsEndElement(reader, AutoProvisionOverride.IMAP))
         {
             return;
         }
     }
 }
Beispiel #3
0
        internal static bool TryGetOverrides(string domain, ConnectionType type, out string[] overrideHosts, out bool isTrustedForSendAs)
        {
            isTrustedForSendAs = false;
            AutoProvisionOverride.LoadOverridesIfNecessary();
            bool result;

            lock (AutoProvisionOverride.overrideSyncObj)
            {
                Dictionary <string, List <string> > dictionary;
                switch (type)
                {
                case ConnectionType.Imap:
                    dictionary = AutoProvisionOverride.imapOverrides;
                    break;

                case ConnectionType.Pop:
                    dictionary = AutoProvisionOverride.popOverrides;
                    break;

                default:
                    overrideHosts = null;
                    return(false);
                }
                if (dictionary.ContainsKey(domain))
                {
                    overrideHosts      = dictionary[domain].ToArray();
                    isTrustedForSendAs = AutoProvisionOverride.sendAsTrustedOverrideDomains.Contains(domain);
                    result             = true;
                }
                else
                {
                    overrideHosts = null;
                    result        = false;
                }
            }
            return(result);
        }
 public bool TryGetOverrides(string domain, ConnectionType type, out string[] overrideHosts, out bool trustForSendAs)
 {
     return(AutoProvisionOverride.TryGetOverrides(domain, type, out overrideHosts, out trustForSendAs));
 }