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; } } }
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; } } }
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)); }