private string FindRedirectAddress() { using (StringReader stringReader = new StringReader(this.responseText)) { AutoDiscoverRequest.AutoDiscoverTracer.TraceDebug <object, EmailAddress>((long)this.GetHashCode(), "{0}: Trying to find if there is any redirect address in the response for email {1}.", TraceContext.Get(), this.emailAddress); XPathDocument xpathDocument = SafeXmlFactory.CreateXPathDocument(stringReader); XPathNavigator xpathNavigator = xpathDocument.CreateNavigator(); xpathNavigator.MoveToChild(XPathNodeType.Element); XmlNamespaceManager xmlNamespaceManager = new XmlNamespaceManager(xpathNavigator.NameTable); xmlNamespaceManager.AddNamespace("rs", "http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a"); string xpath = string.Format("//{0}:RedirectAddr", "rs"); XPathExpression xpathExpression = xpathNavigator.Compile(xpath); xpathExpression.SetContext(xmlNamespaceManager); XPathNodeIterator xpathNodeIterator = xpathNavigator.Select(xpathExpression); if (xpathNodeIterator != null && xpathNodeIterator.Count != 0) { while (xpathNodeIterator.MoveNext()) { string.Format("{0}:RedirectAddr", "rs"); XPathNavigator xpathNavigator2 = xpathNodeIterator.Current; if (xpathNavigator2 != null) { AutoDiscoverRequest.AutoDiscoverTracer.TraceDebug <object, string, EmailAddress>((long)this.GetHashCode(), "{0}: Found redirect address {1} in the response for original email {2}.", TraceContext.Get(), xpathNavigator2.Value, this.emailAddress); return(xpathNavigator2.Value); } } } } AutoDiscoverRequest.AutoDiscoverTracer.TraceDebug <object, EmailAddress, string>((long)this.GetHashCode(), "{0}: Could not find any nodes containing redirection address for email {1} in the auto discovery response: {2}", TraceContext.Get(), this.emailAddress, this.responseText); return(null); }
internal static SharingMessage DeserializeFromStream(Stream stream) { XmlSerializer xmlSerializer = new XmlSerializer(typeof(SharingMessage)); XmlTextReader xmlTextReader = SafeXmlFactory.CreateSafeXmlTextReader(stream); xmlTextReader.WhitespaceHandling = WhitespaceHandling.Significant; xmlTextReader.Normalization = true; return(xmlSerializer.Deserialize(xmlTextReader) as SharingMessage); }
public RBACContext(Stream inputStream) { if (inputStream == null) { throw new ArgumentNullException("inputStream"); } using (XmlTextReader xmlTextReader = SafeXmlFactory.CreateSafeXmlTextReader(inputStream)) { this.Deserialize(xmlTextReader); } }
private WebServiceUri FindWebServiceUrlForProtocol(string protocol) { using (StringReader stringReader = new StringReader(this.responseText)) { AutoDiscoverRequest.AutoDiscoverTracer.TraceDebug <object, string>((long)this.GetHashCode(), "{0}: Trying to find web service Url from auto-discover response for protocol '{1}'", TraceContext.Get(), protocol); XPathDocument xpathDocument = SafeXmlFactory.CreateXPathDocument(stringReader); XPathNavigator xpathNavigator = xpathDocument.CreateNavigator(); xpathNavigator.MoveToChild(XPathNodeType.Element); XmlNamespaceManager xmlNamespaceManager = new XmlNamespaceManager(xpathNavigator.NameTable); xmlNamespaceManager.AddNamespace("rs", "http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a"); string xpath = string.Format("//{0}:Protocol[{0}:Type='{1}']", "rs", protocol); XPathExpression xpathExpression = xpathNavigator.Compile(xpath); xpathExpression.SetContext(xmlNamespaceManager); XPathNodeIterator xpathNodeIterator = xpathNavigator.Select(xpathExpression); if (xpathNodeIterator == null || xpathNodeIterator.Count == 0) { AutoDiscoverRequest.AutoDiscoverTracer.TraceError <object, string, string>((long)this.GetHashCode(), "{0}: could not find any nodes of protocol type '{1}' in the auto discover response: {2}.", TraceContext.Get(), protocol, this.responseText); return(null); } while (xpathNodeIterator.MoveNext()) { string xpath2 = string.Format("{0}:ASUrl", "rs"); XPathNavigator xpathNavigator2 = xpathNodeIterator.Current.SelectSingleNode(xpath2, xmlNamespaceManager); if (xpathNavigator2 != null) { string value = xpathNavigator2.Value; if (value != null) { int serverVersion = 0; if ("EXCH".Equals(protocol, StringComparison.OrdinalIgnoreCase)) { string xpath3 = string.Format("{0}:ServerVersion", "rs"); XPathNavigator xpathNavigator3 = xpathNodeIterator.Current.SelectSingleNode(xpath3, xmlNamespaceManager); if (xpathNavigator3 != null) { string value2 = xpathNavigator3.Value; if (!int.TryParse(value2, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out serverVersion)) { AutoDiscoverRequest.AutoDiscoverTracer.TraceError <object, string>((long)this.GetHashCode(), "{0}: ServerVersion '{1}' cannot be parsed as a hex number.", TraceContext.Get(), value2); } } } return(new WebServiceUri(value, protocol, this.uriSource, serverVersion)); } } } } return(null); }
public void Load() { this.entries.Clear(); using (UserConfiguration userConfiguration = UserConfigurationUtilities.GetUserConfiguration(this.configurationAttribute.ConfigurationName, this.userContext)) { using (Stream xmlStream = userConfiguration.GetXmlStream()) { if (xmlStream != null && xmlStream.Length > 0L) { this.reader = SafeXmlFactory.CreateSafeXmlTextReader(xmlStream); this.Parse(this.reader); } } } }
private string FindError() { using (StringReader stringReader = new StringReader(this.responseText)) { AutoDiscoverRequest.AutoDiscoverTracer.TraceDebug <object, EmailAddress>((long)this.GetHashCode(), "{0}: Trying to find if there is any error in the response for email {1}.", TraceContext.Get(), this.emailAddress); XPathDocument xpathDocument = SafeXmlFactory.CreateXPathDocument(stringReader); XPathNavigator xpathNavigator = xpathDocument.CreateNavigator(); xpathNavigator.MoveToChild(XPathNodeType.Element); XmlNamespaceManager xmlNamespaceManager = new XmlNamespaceManager(xpathNavigator.NameTable); xmlNamespaceManager.AddNamespace("rs", "http://schemas.microsoft.com/exchange/autodiscover/responseschema/2006"); XPathExpression xpathExpression = xpathNavigator.Compile(AutoDiscoverRequest.ErrorSearchString); xpathExpression.SetContext(xmlNamespaceManager); XPathNodeIterator xpathNodeIterator = xpathNavigator.Select(xpathExpression); if (xpathNodeIterator != null && xpathNodeIterator.Count != 0) { string text = null; string text2 = null; if (xpathNodeIterator.MoveNext()) { XPathNavigator xpathNavigator2 = xpathNodeIterator.Current.SelectSingleNode(AutoDiscoverRequest.ErrorCodeString, xmlNamespaceManager); if (xpathNavigator2 != null) { text = xpathNavigator2.Value; AutoDiscoverRequest.AutoDiscoverTracer.TraceDebug <object, string, EmailAddress>((long)this.GetHashCode(), "{0}: Found error code {1} in the response for original email {2}.", TraceContext.Get(), text, this.emailAddress); } XPathNavigator xpathNavigator3 = xpathNodeIterator.Current.SelectSingleNode(AutoDiscoverRequest.ErrorMessageString, xmlNamespaceManager); if (xpathNavigator3 != null) { text2 = xpathNavigator3.Value; AutoDiscoverRequest.AutoDiscoverTracer.TraceDebug <object, string, EmailAddress>((long)this.GetHashCode(), "{0}: Found error message {1} in the response for original email {2}.", TraceContext.Get(), text2, this.emailAddress); } } if (text != null) { if (text2 != null) { return("ErrorCode=" + text + ", Message=" + text2); } return("ErrorCode=" + text); } } } AutoDiscoverRequest.AutoDiscoverTracer.TraceDebug <object, EmailAddress, string>((long)this.GetHashCode(), "{0}: Could not find any nodes containing erroremail {1} in the auto discovery response: {2}", TraceContext.Get(), this.emailAddress, this.responseText); return(null); }
public ClassificationRulePackage GetRulePackage(string ruleString) { ClassificationRulePackage result = null; XmlReader reader = null; try { XmlReaderSettings settings = new XmlReaderSettings { ConformanceLevel = ConformanceLevel.Auto, IgnoreComments = true, DtdProcessing = DtdProcessing.Prohibit, XmlResolver = null }; using (StringReader stringReader = new StringReader(ruleString)) { using (XmlTextReader xmlTextReader = SafeXmlFactory.CreateSafeXmlTextReader(stringReader)) { XmlReader xmlReader; reader = (xmlReader = XmlReader.Create(xmlTextReader, settings)); try { result = this.ParseRule(reader); } finally { if (xmlReader != null) { ((IDisposable)xmlReader).Dispose(); } } } } } catch (XmlException e) { throw new ParserException(e); } catch (RulesValidationException e2) { throw new ParserException(e2, reader); } return(result); }
// Token: 0x06003033 RID: 12339 RVA: 0x0011A5B0 File Offset: 0x001187B0 private static List <DocumentLibrary> GetFavoritesList(UserContext userContext) { List <DocumentLibrary> list = new List <DocumentLibrary>(); using (UserConfiguration userConfiguration = UserConfigurationUtilities.GetUserConfiguration("Owa.DocumentLibraryFavorites", userContext)) { using (Stream xmlStream = userConfiguration.GetXmlStream()) { if (xmlStream != null && xmlStream.Length > 0L) { using (XmlTextReader xmlTextReader = SafeXmlFactory.CreateSafeXmlTextReader(xmlStream)) { DocumentLibraryUtilities.ParseFavoritesList(xmlTextReader, list, userContext); } } } } return(list); }
// Token: 0x06000925 RID: 2341 RVA: 0x00041CBC File Offset: 0x0003FEBC public void Load() { using (UserConfiguration userConfiguration = this.GetUserConfiguration()) { using (Stream xmlStream = userConfiguration.GetXmlStream()) { if (xmlStream != null && xmlStream.Length > 0L) { using (XmlTextReader xmlTextReader = SafeXmlFactory.CreateSafeXmlTextReader(xmlStream)) { this.Parse(xmlTextReader); goto IL_3B; } } this.ClearCache(); IL_3B :; } } }
internal static AirSyncUserSecurityContext Deserialize(Stream input) { XmlTextReader xmlTextReader = null; AirSyncUserSecurityContext result; try { xmlTextReader = SafeXmlFactory.CreateSafeXmlTextReader(input); xmlTextReader.WhitespaceHandling = WhitespaceHandling.All; AirSyncUserSecurityContext airSyncUserSecurityContext = AirSyncUserSecurityContext.Deserialize(xmlTextReader); result = airSyncUserSecurityContext; } finally { if (xmlTextReader != null) { xmlTextReader.Close(); } } return(result); }
private XmlTextReader EndGetUsers(ICancelableAsyncResult asyncResult, out Exception exception) { try { exception = null; DownloadResult downloadResult = this.httpClient.EndDownload(asyncResult); if (!downloadResult.IsSucceeded) { WebException ex = downloadResult.Exception as WebException; if (ex != null) { exception = new SharePointException((this.httpClient.LastKnownRequestedUri != null) ? this.httpClient.LastKnownRequestedUri.AbsoluteUri : string.Empty, ex, true); } else { exception = downloadResult.Exception; } } else { if (downloadResult.ResponseStream == null) { exception = new SharePointException((this.httpClient.LastKnownRequestedUri != null) ? this.httpClient.LastKnownRequestedUri.AbsoluteUri : string.Empty, ServerStrings.ErrorTeamMailboxGetUsersNullResponse); return(null); } downloadResult.ResponseStream.Position = 0L; return(SafeXmlFactory.CreateSafeXmlTextReader(downloadResult.ResponseStream)); } } finally { if (this.httpSessionConfig.RequestStream != null) { this.httpSessionConfig.RequestStream.Flush(); this.httpSessionConfig.RequestStream.Dispose(); this.httpSessionConfig.RequestStream = null; } } return(null); }
private static XmlReader InternalGetXmlReader(Stream stream) { return(SafeXmlFactory.CreateSafeXmlTextReader(stream)); }
// Token: 0x06000EBE RID: 3774 RVA: 0x0005D958 File Offset: 0x0005BB58 protected override Hashtable ParseParameters() { Stream inputStream = base.EventHandler.HttpContext.Request.InputStream; if (inputStream.Length <= 0L) { return(base.ParameterTable); } try { this.reader = SafeXmlFactory.CreateSafeXmlTextReader(inputStream); this.reader.WhitespaceHandling = WhitespaceHandling.All; this.paramInfo = null; this.itemArray = null; this.state = OwaEventXmlParser.XmlParseState.Start; while (this.state != OwaEventXmlParser.XmlParseState.Finished && this.reader.Read()) { switch (this.state) { case OwaEventXmlParser.XmlParseState.Start: this.ParseStart(); break; case OwaEventXmlParser.XmlParseState.Root: this.ParseRoot(); break; case OwaEventXmlParser.XmlParseState.Child: this.ParseChild(); break; case OwaEventXmlParser.XmlParseState.ChildText: this.ParseChildText(); break; case OwaEventXmlParser.XmlParseState.ChildEnd: this.ParseChildEnd(); break; case OwaEventXmlParser.XmlParseState.Item: this.ParseItem(); break; case OwaEventXmlParser.XmlParseState.ItemText: this.ParseItemText(); break; case OwaEventXmlParser.XmlParseState.ItemEnd: this.ParseItemEnd(); break; } } } catch (XmlException ex) { ExTraceGlobals.OehTracer.TraceDebug <string>(0L, "Parser threw an XML exception: {0}'", ex.Message); throw new OwaInvalidRequestException(ex.Message, ex, this); } finally { this.reader.Close(); } return(base.ParameterTable); }
private static Dictionary <Guid, StoreTagData> Deserialize(Stream xmlStream, IExchangePrincipal mailboxOwner, out List <Guid> deletedTags, out RetentionHoldData retentionHoldData, bool returnRetentionHoldData, out Dictionary <Guid, StoreTagData> defaultArchiveTagData, out bool fullCrawlRequired) { fullCrawlRequired = false; Dictionary <Guid, StoreTagData> dictionary = new Dictionary <Guid, StoreTagData>(); defaultArchiveTagData = new Dictionary <Guid, StoreTagData>(); retentionHoldData = default(RetentionHoldData); deletedTags = new List <Guid>(); if (xmlStream.Length == 0L) { MrmFaiFormatter.Tracer.TraceDebug <IExchangePrincipal>(0L, "Mailbox:{0} has empty config message.", mailboxOwner); return(dictionary); } using (XmlTextReader xmlTextReader = SafeXmlFactory.CreateSafeXmlTextReader(xmlStream)) { Exception ex = null; try { xmlTextReader.MoveToContent(); if (returnRetentionHoldData) { if (!xmlTextReader.ReadToFollowing("RetentionHold")) { MrmFaiFormatter.Tracer.TraceDebug <IExchangePrincipal>(0L, "Mailbox:{0}. Config item exists, but there is no RetentionHold node in it.", mailboxOwner); } else { if (xmlTextReader.MoveToAttribute("Enabled")) { retentionHoldData.HoldEnabled = bool.Parse(xmlTextReader.Value); } if (xmlTextReader.MoveToAttribute("RetentionComment")) { retentionHoldData.Comment = xmlTextReader.Value; } if (xmlTextReader.MoveToAttribute("RetentionUrl")) { retentionHoldData.Url = xmlTextReader.Value; } MrmFaiFormatter.Tracer.TraceDebug(0L, "Mailbox:{0}. Config item exists, and there is a RetentionHold node in it. HoldEnabled: {1}. Comment: {2}. Url: {3}", new object[] { mailboxOwner, retentionHoldData.HoldEnabled, retentionHoldData.Comment, retentionHoldData.Url }); } } while (!MrmFaiFormatter.IsTagNode(xmlTextReader) && !MrmFaiFormatter.IsArchiveSyncNode(xmlTextReader) && xmlTextReader.Read()) { } if (string.CompareOrdinal(xmlTextReader.Name, "ArchiveSync") == 0) { if (xmlTextReader.MoveToAttribute("FullCrawlRequired")) { fullCrawlRequired = bool.Parse(xmlTextReader.Value); } while (!MrmFaiFormatter.IsTagNode(xmlTextReader)) { if (!xmlTextReader.Read()) { break; } } } else { MrmFaiFormatter.Tracer.TraceDebug <IExchangePrincipal>(0L, "Mailbox:{0}. Config item exists, but there is no ArchiveSync node in it.", mailboxOwner); } for (;;) { bool flag = string.CompareOrdinal(xmlTextReader.Name, "PolicyTag") == 0; bool flag2 = string.CompareOrdinal(xmlTextReader.Name, "ArchiveTag") == 0; bool flag3 = string.CompareOrdinal(xmlTextReader.Name, "DefaultArchiveTag") == 0; bool flag4 = string.CompareOrdinal(xmlTextReader.Name, "DeletedTag") == 0; if (!flag && !flag2 && !flag3 && !flag4) { break; } MrmFaiFormatter.Tracer.TraceDebug <IExchangePrincipal>(0L, "Mailbox:{0}. Found at least 1 tag in Config item.", mailboxOwner); if (flag4) { Guid empty = System.Guid.Empty; if (xmlTextReader.MoveToAttribute("Guid")) { empty = new Guid(xmlTextReader.Value); } deletedTags.Add(empty); xmlTextReader.Read(); } else { StoreTagData storeTagData = new StoreTagData(); storeTagData.Tag = new RetentionTag(); storeTagData.Tag.IsArchiveTag = flag2; if (xmlTextReader.MoveToAttribute("ObjectGuid")) { storeTagData.Tag.Guid = new Guid(xmlTextReader.Value); } if (xmlTextReader.MoveToAttribute("Guid")) { storeTagData.Tag.RetentionId = new Guid(xmlTextReader.Value); } if (xmlTextReader.MoveToAttribute("Name")) { storeTagData.Tag.Name = xmlTextReader.Value; } if (xmlTextReader.MoveToAttribute("Comment")) { storeTagData.Tag.Comment = xmlTextReader.Value; } if (xmlTextReader.MoveToAttribute("Type")) { storeTagData.Tag.Type = (ElcFolderType)Enum.Parse(typeof(ElcFolderType), xmlTextReader.Value); } if (xmlTextReader.MoveToAttribute("MustDisplayComment")) { storeTagData.Tag.MustDisplayCommentEnabled = bool.Parse(xmlTextReader.Value); } if (xmlTextReader.MoveToAttribute("IsVisible")) { storeTagData.IsVisible = bool.Parse(xmlTextReader.Value); } if (xmlTextReader.MoveToAttribute("OptedInto")) { storeTagData.OptedInto = bool.Parse(xmlTextReader.Value); } xmlTextReader.Read(); if (string.CompareOrdinal(xmlTextReader.Name, "LocalizedName") == 0) { storeTagData.Tag.LocalizedRetentionPolicyTagName = MrmFaiFormatter.ReadLocalizedStrings(xmlTextReader, "Name"); } if (string.CompareOrdinal(xmlTextReader.Name, "LocalizedComment") == 0) { storeTagData.Tag.LocalizedComment = MrmFaiFormatter.ReadLocalizedStrings(xmlTextReader, "Comment"); } MrmFaiFormatter.Tracer.TraceDebug(0L, "Mailbox:{0}. Done reading the tag. Name: {1}. Type: {2}. IsVisible: {3}. OptedInto: {4}", new object[] { mailboxOwner, storeTagData.Tag.Name, storeTagData.Tag.Type, storeTagData.IsVisible, storeTagData.OptedInto }); while (string.CompareOrdinal(xmlTextReader.Name, "ContentSettings") == 0) { ContentSetting contentSetting = new ContentSetting(); Guid key; if (xmlTextReader.MoveToAttribute("Guid")) { key = new Guid(xmlTextReader.Value); } else { key = default(Guid); } if (xmlTextReader.MoveToAttribute("ExpiryAgeLimit")) { contentSetting.AgeLimitForRetention = new EnhancedTimeSpan?(EnhancedTimeSpan.FromDays(double.Parse(xmlTextReader.Value))); } contentSetting.RetentionEnabled = true; if (xmlTextReader.MoveToAttribute("MessageClass")) { contentSetting.MessageClass = xmlTextReader.Value; } if (xmlTextReader.MoveToAttribute("RetentionAction")) { contentSetting.RetentionAction = (RetentionActionType)Enum.Parse(typeof(RetentionActionType), xmlTextReader.Value, true); } storeTagData.ContentSettings[key] = contentSetting; MrmFaiFormatter.Tracer.TraceDebug(0L, "Mailbox:{0}. Done reading the content setting. RetentionEnabled: {1}. MessageClass: {2}. RetentionAction: {3}", new object[] { mailboxOwner, contentSetting.RetentionEnabled, contentSetting.MessageClass, contentSetting.RetentionAction }); xmlTextReader.Read(); } if (!flag3) { dictionary[storeTagData.Tag.RetentionId] = storeTagData; } else { defaultArchiveTagData[storeTagData.Tag.RetentionId] = storeTagData; } } if ((string.CompareOrdinal(xmlTextReader.Name, "PolicyTag") == 0 || string.CompareOrdinal(xmlTextReader.Name, "ArchiveTag") == 0 || string.CompareOrdinal(xmlTextReader.Name, "DefaultArchiveTag") == 0 || string.CompareOrdinal(xmlTextReader.Name, "DeletedTag") == 0) && xmlTextReader.NodeType == XmlNodeType.EndElement) { xmlTextReader.Read(); } } MrmFaiFormatter.Tracer.TraceDebug <IExchangePrincipal>(0L, "Mailbox:{0}. Found no MTA or retention or DefaultArchive or Deleted tag in Config item.", mailboxOwner); } catch (XmlException ex2) { ex = ex2; } catch (ArgumentException ex3) { ex = ex3; } catch (FormatException ex4) { ex = ex4; } if (ex != null) { xmlStream.Position = 0L; string text = new StreamReader(xmlStream).ReadToEnd(); MrmFaiFormatter.Tracer.TraceDebug <IExchangePrincipal, string, Exception>(0L, "Mailbox:{0}. Config item is corrupt. Config item: '{1}'. Exception: '{2}'", mailboxOwner, text, ex); Globals.ELCLogger.LogEvent(InfoWorkerEventLogConstants.Tuple_CorruptTagConfigItem, null, new object[] { mailboxOwner, text, ex.ToString() }); } } return(dictionary); }
public ResultsLoaderProfile GetProfile(string profileName) { Stream manifestResource = WinformsHelper.GetManifestResource(this.dataDrivenCategory); XmlTextReader reader = SafeXmlFactory.CreateSafeXmlTextReader(manifestResource); XElement po = XElement.Load(reader); DataTable inputTable; var <> f__AnonymousType = (from dataSource in po.Elements("ResultsLoader") where (string)dataSource.Attribute("Name") == profileName select new { Configuration = this.CreateUIPresentationProfile(po, dataSource.Element("Configuration")), DataTable = (from dataTable in dataSource.Elements("DataColumns") select new { DataColumns = dataTable.Elements("Column").Union(dataTable.Elements("RefColumns").SelectMany((XElement r) => (from c in po.Element("RefColumnsSection").Elements("RefColumns") where c.Attribute("Name").Value == r.Attribute("Name").Value select c).Elements("Column"))), PrimaryKey = (this.HasValue(dataTable.Attribute("PrimaryKey")) ? dataTable.Attribute("PrimaryKey").Value.Split(new char[] { ',' }) : new string[0]), NameProperty = (this.HasValue(dataTable.Attribute("NameProperty")) ? dataTable.Attribute("NameProperty").Value : "Name"), DataColumnsCalculator = (IDataColumnsCalculator)(this.HasValue(dataTable.Attribute("DataColumnsCalculator")) ? ObjectPickerProfileLoader.CreateObject(dataTable.Attribute("DataColumnsCalculator").Value) : null), WholeObjectProperty = (this.HasValue(dataTable.Attribute("WholeObjectProperty")) ? dataTable.Attribute("WholeObjectProperty").Value : string.Empty), DistinguishIdentity = (this.HasValue(dataTable.Attribute("DistinguishIdentity")) ? dataTable.Attribute("DistinguishIdentity").Value : string.Empty) }).First(), InputTable = (this.HasValue(dataSource.Element("InputColumns")) ? (from inputTable in dataSource.Elements("InputColumns") select new { DataColumns = inputTable.Elements("Column").Union(inputTable.Elements("RefColumns").SelectMany((XElement r) => (from c in po.Element("RefColumnsSection").Elements("RefColumns") where c.Attribute("Name").Value == r.Attribute("Name").Value select c).Elements("Column"))), PartialOrderComparer = (IPartialOrderComparer)(this.HasValue(inputTable.Attribute("PartialOrderComparer")) ? ObjectPickerProfileLoader.CreateObject(inputTable.Attribute("PartialOrderComparer").Value) : null) }).First() : null), DataReader = (from dataReader in dataSource.Elements("DataTableFillers") select new { DataTableFillers = dataReader.Elements(), BatchSize = (this.HasValue(dataReader.Attribute("BatchSize")) ? dataReader.Attribute("BatchSize").Value : ResultsLoaderProfile.DefaultBatchSize.ToString()), FillType = (this.HasValue(dataReader.Attribute("FillType")) ? ((FillType)Enum.Parse(typeof(FillType), dataReader.Attribute("FillType").Value)) : 0), LoadableFromProfilePredicate = (ILoadableFromProfile)(this.HasValue(dataReader.Attribute("LoadableFromProfilePredicate")) ? ObjectPickerProfileLoader.CreateObject(dataReader.Attribute("LoadableFromProfilePredicate").Value) : null), PostRefreshAction = (PostRefreshActionBase)(this.HasValue(dataReader.Attribute("PostRefreshAction")) ? ObjectPickerProfileLoader.CreateObject(dataReader.Attribute("PostRefreshAction").Value) : null) }).First() }).First(); DataTable resultTable = this.GetTableSchema(< > f__AnonymousType.DataTable.DataColumns, true); resultTable.PrimaryKey = (from c in < > f__AnonymousType.DataTable.PrimaryKey select resultTable.Columns[c]).ToArray <DataColumn>(); resultTable.TableName = profileName; inputTable = ((< > f__AnonymousType.InputTable != null) ? this.GetTableSchema(< > f__AnonymousType.InputTable.DataColumns, false) : new DataTable()); ResultsLoaderProfile resultsLoaderProfile = new ResultsLoaderProfile(< > f__AnonymousType.Configuration, inputTable, resultTable) { Name = profileName, InputTablePartialOrderComparer = ((< > f__AnonymousType.InputTable == null) ? null : < > f__AnonymousType.InputTable.PartialOrderComparer), WholeObjectProperty = < > f__AnonymousType.DataTable.WholeObjectProperty, NameProperty = < > f__AnonymousType.DataTable.NameProperty, DataColumnsCalculator = < > f__AnonymousType.DataTable.DataColumnsCalculator, LoadableFromProfilePredicate = < > f__AnonymousType.DataReader.LoadableFromProfilePredicate, PostRefreshAction = < > f__AnonymousType.DataReader.PostRefreshAction, BatchSize = ((string.Compare(< > f__AnonymousType.DataReader.BatchSize, "MaxValue", true) == 0) ? int.MaxValue : int.Parse(< > f__AnonymousType.DataReader.BatchSize)), DistinguishIdentity = < > f__AnonymousType.DataTable.DistinguishIdentity, FillType = < > f__AnonymousType.DataReader.FillType }; this.AddFillerCollection(resultsLoaderProfile, <> f__AnonymousType.DataReader.DataTableFillers); return(resultsLoaderProfile); }
internal static void ParseProxyLanguagePostBody(Stream bodyStream, out CultureInfo culture, out string timeZoneKeyName, out bool isOptimized, out string destination, out SerializedClientSecurityContext serializedContext) { ExTraceGlobals.ProxyCallTracer.TraceDebug(0L, "ProxyLanguagePostRequest.ParseProxyLanguagePostBody"); culture = null; timeZoneKeyName = string.Empty; isOptimized = false; destination = string.Empty; serializedContext = null; XmlTextReader xmlTextReader = null; try { xmlTextReader = SafeXmlFactory.CreateSafeXmlTextReader(bodyStream); xmlTextReader.WhitespaceHandling = WhitespaceHandling.All; if (!xmlTextReader.Read() || XmlNodeType.Element != xmlTextReader.NodeType || StringComparer.OrdinalIgnoreCase.Compare(xmlTextReader.Name, ProxyLanguagePostRequest.rootElementName) != 0) { ProxyLanguagePostRequest.ThrowParserException(xmlTextReader, "Missing or invalid root node"); } if (xmlTextReader.MoveToFirstAttribute()) { do { if (StringComparer.OrdinalIgnoreCase.Compare(xmlTextReader.Name, ProxyLanguagePostRequest.timeZoneKeyNameAttributeName) == 0) { if (DateTimeUtilities.IsValidTimeZoneKeyName(xmlTextReader.Value)) { timeZoneKeyName = xmlTextReader.Value; ExTraceGlobals.ProxyDataTracer.TraceDebug <string>(0L, "Found timeZoneKeyName={0}", timeZoneKeyName); } else { ProxyLanguagePostRequest.ThrowParserException(xmlTextReader, "Invalid time zone id"); } } else if (StringComparer.OrdinalIgnoreCase.Compare(xmlTextReader.Name, ProxyLanguagePostRequest.localeIdAttributeName) == 0) { int num = -1; if (int.TryParse(xmlTextReader.Value, out num) && Culture.IsSupportedCulture(num)) { culture = Culture.GetCultureInfoInstance(num); ExTraceGlobals.ProxyDataTracer.TraceDebug <int>(0L, "Found localeId={0}", num); } else { ProxyLanguagePostRequest.ThrowParserException(xmlTextReader, "Invalid locale id"); } } else if (StringComparer.OrdinalIgnoreCase.Compare(xmlTextReader.Name, ProxyLanguagePostRequest.isOptimizedAttributeName) == 0) { int num2 = -1; if (int.TryParse(xmlTextReader.Value, out num2)) { isOptimized = (num2 == 1); ExTraceGlobals.ProxyDataTracer.TraceDebug <bool>(0L, "Found isOptimized={0}", isOptimized); } else { ProxyLanguagePostRequest.ThrowParserException(xmlTextReader, "Invalid is-optimized value"); } } else if (StringComparer.OrdinalIgnoreCase.Compare(xmlTextReader.Name, ProxyLanguagePostRequest.destinationAttributeName) == 0) { destination = xmlTextReader.Value; } else { ExTraceGlobals.ProxyTracer.TraceDebug(0L, "ProxyLanguagePostRequest.ParseProxyLanguagePostBody - Found invalid attribute, ignoring it."); } }while (xmlTextReader.MoveToNextAttribute()); } ExTraceGlobals.ProxyTracer.TraceDebug(0L, "Deserializing client context..."); serializedContext = SerializedClientSecurityContext.Deserialize(xmlTextReader); if (!xmlTextReader.Read() || XmlNodeType.EndElement != xmlTextReader.NodeType || StringComparer.OrdinalIgnoreCase.Compare(xmlTextReader.Name, ProxyLanguagePostRequest.rootElementName) != 0) { ProxyLanguagePostRequest.ThrowParserException(xmlTextReader, "Missing or invalid root node"); } } catch (XmlException ex) { ProxyLanguagePostRequest.ThrowParserException(xmlTextReader, string.Format("Parser threw an XML exception: {0}", ex.Message)); } finally { xmlTextReader.Close(); } }
private static XmlReader InternalGetXmlReader(TextReader reader) { return(SafeXmlFactory.CreateSafeXmlTextReader(reader)); }
protected XPathDocument GetFederationMetadataXPathDocument(Uri partnerFederationMetadataEpr) { if (null == partnerFederationMetadataEpr) { throw new ArgumentNullException("PartnerFederationMetadataEpr"); } this.WriteVerbose(Strings.RequestingFederationMetadataFromEndPoint(partnerFederationMetadataEpr.ToString())); Exception ex = null; string s = null; DateTime t = DateTime.UtcNow.Add(TimeSpan.FromMinutes(1.0)); do { if (ex != null) { this.WriteVerbose(Strings.FailedToRetrieveFederationMetadata(ex.ToString())); Thread.Sleep(TimeSpan.FromSeconds(5.0)); ex = null; } using (PartnerFederationMetadata.TimeOutWebClient timeOutWebClient = new PartnerFederationMetadata.TimeOutWebClient(59000)) { timeOutWebClient.Credentials = CredentialCache.DefaultCredentials; WebProxy webProxy = LiveConfiguration.GetWebProxy(this.WriteVerbose); timeOutWebClient.Proxy = (webProxy ?? new WebProxy()); timeOutWebClient.Headers.Add(HttpRequestHeader.UserAgent, "MicrosoftExchangeFedTrustManagement"); try { s = timeOutWebClient.DownloadString(partnerFederationMetadataEpr); } catch (WebException ex2) { ex = ex2; } catch (IOException ex3) { ex = ex3; } catch (ProtocolViolationException ex4) { ex = ex4; } } }while (ex != null && DateTime.UtcNow < t); if (ex != null) { throw new FederationMetadataException(Strings.ErrorAccessingFederationMetadata(ex.Message)); } XPathDocument result = null; try { StringReader textReader = new StringReader(s); result = SafeXmlFactory.CreateXPathDocument(textReader); } catch (XmlException ex5) { throw new FederationMetadataException(Strings.ErrorInvalidFederationMetadata(ex5.Message)); } catch (XPathException ex6) { throw new FederationMetadataException(Strings.ErrorInvalidFederationMetadata(ex6.Message)); } return(result); }
internal void Load(Dictionary <string, StoreDriverParameterHandler> keyHandlerCollection) { if (keyHandlerCollection == null) { return; } Assembly executingAssembly = Assembly.GetExecutingAssembly(); string text = Path.Combine(Path.GetDirectoryName(executingAssembly.Location), "StoreDriver.config"); if (!File.Exists(text)) { StoreDriverParameters.diag.TraceError <string>(0L, "The config file {0} does not exist.", text); return; } XmlSchemaSet xmlSchemaSet = new XmlSchemaSet(); try { using (Stream manifestResourceStream = executingAssembly.GetManifestResourceStream("StoreDriverParameters.xsd")) { if (manifestResourceStream == null) { StoreDriverParameters.diag.TraceDebug <string>(0L, "The schema resource {0} does not exist.", "StoreDriverParameters.xsd"); return; } xmlSchemaSet.Add(null, SafeXmlFactory.CreateSafeXmlTextReader(manifestResourceStream)); } } catch (FileLoadException arg) { StoreDriverParameters.diag.TraceError <string, FileLoadException>(0L, "Failed to load the manifest resource stream {0}. Error {1}", "StoreDriverParameters.xsd", arg); return; } catch (FileNotFoundException arg2) { StoreDriverParameters.diag.TraceError <string, FileNotFoundException>(0L, "Failed to find the manifest resource stream {0}.Error: {1}", text, arg2); return; } Exception ex = null; try { xmlSchemaSet.Compile(); XmlDocument xmlDocument = new SafeXmlDocument(); xmlDocument.Schemas = xmlSchemaSet; using (FileStream fileStream = new FileStream(text, FileMode.Open, FileAccess.Read, FileShare.Read)) { xmlDocument.Load(fileStream); XmlNodeList xmlNodeList = xmlDocument.SelectNodes("/configuration/storeDriver/parameters/add"); foreach (object obj in xmlNodeList) { XmlNode xmlNode = (XmlNode)obj; if (xmlNode != null && xmlNode is XmlElement) { this.currentNodeValid = true; xmlDocument.Validate(delegate(object sender, ValidationEventArgs args) { StoreDriverParameters.diag.TraceDebug <string>(0L, "The parameter or value is invalid: {0}.", args.Message); this.currentNodeValid = false; }, xmlNode); if (this.currentNodeValid) { string value = xmlNode.Attributes.GetNamedItem("key").Value; string value2 = xmlNode.Attributes.GetNamedItem("value").Value; if (value != null && value2 != null && keyHandlerCollection.ContainsKey(value)) { keyHandlerCollection[value](value, value2); } } } } } } catch (XmlSchemaException ex2) { ex = ex2; } catch (SecurityException ex3) { ex = ex3; } catch (IOException ex4) { ex = ex4; } catch (XmlException ex5) { ex = ex5; } catch (XPathException ex6) { ex = ex6; } if (ex != null) { StoreDriverParameters.diag.TraceError <Exception>(0L, "Failed to load parameters from storedriver config. Will use default values. Error: {0}", ex); } }
internal static PolicyTagList GetPolicyTakListFromXmlStream(RetentionActionType type, Stream xmlStream, string sessionCultureName) { PolicyTagList policyTagList = new PolicyTagList(); if (xmlStream.Length == 0L) { return(policyTagList); } using (XmlTextReader xmlTextReader = SafeXmlFactory.CreateSafeXmlTextReader(xmlStream)) { try { xmlTextReader.MoveToContent(); while ((xmlTextReader.NodeType != XmlNodeType.Element || (string.CompareOrdinal(xmlTextReader.Name, "PolicyTag") != 0 && string.CompareOrdinal(xmlTextReader.Name, "ArchiveTag") != 0 && string.CompareOrdinal(xmlTextReader.Name, "DefaultArchiveTag") != 0)) && xmlTextReader.Read()) { } for (;;) { bool flag = string.CompareOrdinal(xmlTextReader.Name, "PolicyTag") == 0; bool flag2 = string.CompareOrdinal(xmlTextReader.Name, "ArchiveTag") == 0 || string.CompareOrdinal(xmlTextReader.Name, "DefaultArchiveTag") == 0; if (!flag && !flag2) { break; } PolicyTag policyTag = new PolicyTag(); policyTag.IsArchive = flag2; if (xmlTextReader.MoveToAttribute("Guid")) { policyTag.PolicyGuid = new Guid(xmlTextReader.Value); } if (xmlTextReader.MoveToAttribute("Name")) { policyTag.Name = xmlTextReader.Value; } if (xmlTextReader.MoveToAttribute("Comment")) { policyTag.Description = xmlTextReader.Value; } if (xmlTextReader.MoveToAttribute("Type")) { string value; switch (value = xmlTextReader.Value) { case "Calendar": policyTag.Type = ElcFolderType.Calendar; goto IL_341; case "Contacts": policyTag.Type = ElcFolderType.Contacts; goto IL_341; case "DeletedItems": policyTag.Type = ElcFolderType.DeletedItems; goto IL_341; case "Drafts": policyTag.Type = ElcFolderType.Drafts; goto IL_341; case "Inbox": policyTag.Type = ElcFolderType.Inbox; goto IL_341; case "JunkEmail": policyTag.Type = ElcFolderType.JunkEmail; goto IL_341; case "Journal": policyTag.Type = ElcFolderType.Journal; goto IL_341; case "Notes": policyTag.Type = ElcFolderType.Notes; goto IL_341; case "Outbox": policyTag.Type = ElcFolderType.Outbox; goto IL_341; case "SentItems": policyTag.Type = ElcFolderType.SentItems; goto IL_341; case "Tasks": policyTag.Type = ElcFolderType.Tasks; goto IL_341; case "All": policyTag.Type = ElcFolderType.All; goto IL_341; case "ManagedCustomFolder": policyTag.Type = ElcFolderType.ManagedCustomFolder; goto IL_341; case "RssSubscriptions": policyTag.Type = ElcFolderType.RssSubscriptions; goto IL_341; case "SyncIssues": policyTag.Type = ElcFolderType.SyncIssues; goto IL_341; case "ConversationHistory": policyTag.Type = ElcFolderType.ConversationHistory; goto IL_341; } policyTag.Type = ElcFolderType.Personal; } IL_341: if (xmlTextReader.MoveToAttribute("IsVisible")) { policyTag.IsVisible = bool.Parse(xmlTextReader.Value); } if (xmlTextReader.MoveToAttribute("OptedInto")) { policyTag.OptedInto = bool.Parse(xmlTextReader.Value); } while (string.CompareOrdinal(xmlTextReader.Name, "ContentSettings") != 0 && string.CompareOrdinal(xmlTextReader.Name, "PolicyTag") != 0 && string.CompareOrdinal(xmlTextReader.Name, "ArchiveTag") != 0) { if (string.CompareOrdinal(xmlTextReader.Name, "DefaultArchiveTag") == 0) { break; } if (!xmlTextReader.Read()) { break; } if (!string.IsNullOrEmpty(sessionCultureName)) { if (string.CompareOrdinal(xmlTextReader.Name, "LocalizedName") == 0) { xmlTextReader.Read(); bool flag3 = false; while (string.CompareOrdinal(xmlTextReader.Name, "LocalizedName") != 0) { if (!flag3 && !string.IsNullOrEmpty(xmlTextReader.Value)) { string stringFromLocalizedStringPair = PolicyTagList.GetStringFromLocalizedStringPair(sessionCultureName, xmlTextReader.Value); if (stringFromLocalizedStringPair != null) { policyTag.Name = stringFromLocalizedStringPair; flag3 = true; } } if (!xmlTextReader.Read()) { break; } } } if (string.CompareOrdinal(xmlTextReader.Name, "LocalizedComment") == 0) { xmlTextReader.Read(); bool flag4 = false; while (string.CompareOrdinal(xmlTextReader.Name, "LocalizedComment") != 0) { if (!flag4 && !string.IsNullOrEmpty(xmlTextReader.Value)) { string stringFromLocalizedStringPair2 = PolicyTagList.GetStringFromLocalizedStringPair(sessionCultureName, xmlTextReader.Value); if (stringFromLocalizedStringPair2 != null) { policyTag.Description = stringFromLocalizedStringPair2; flag4 = true; } } if (!xmlTextReader.Read()) { break; } } } } } while (string.CompareOrdinal(xmlTextReader.Name, "ContentSettings") == 0) { if (xmlTextReader.MoveToAttribute("ExpiryAgeLimit")) { policyTag.TimeSpanForRetention = EnhancedTimeSpan.FromDays(double.Parse(xmlTextReader.Value)); } if (xmlTextReader.MoveToAttribute("RetentionAction")) { policyTag.RetentionAction = (RetentionActionType)Enum.Parse(typeof(RetentionActionType), xmlTextReader.Value, true); } xmlTextReader.Read(); } if (type == (RetentionActionType)0 || (type == RetentionActionType.MoveToArchive && flag2) || (type != (RetentionActionType)0 && type != RetentionActionType.MoveToArchive && flag)) { policyTagList[policyTag.PolicyGuid] = policyTag; } if ((string.CompareOrdinal(xmlTextReader.Name, "PolicyTag") == 0 || string.CompareOrdinal(xmlTextReader.Name, "ArchiveTag") == 0 || string.CompareOrdinal(xmlTextReader.Name, "DefaultArchiveTag") == 0) && xmlTextReader.NodeType == XmlNodeType.EndElement) { xmlTextReader.Read(); } } } catch (XmlException ex) { } catch (ArgumentException ex2) { } catch (FormatException ex3) { } } return(policyTagList); }
// Token: 0x060006D2 RID: 1746 RVA: 0x0003540C File Offset: 0x0003360C internal static void Initialize(string directory) { string text = directory + "\\customadproperties.xml"; if (!File.Exists(text)) { return; } XmlTextReader xmlTextReader = SafeXmlFactory.CreateSafeXmlTextReader(text); xmlTextReader.WhitespaceHandling = WhitespaceHandling.None; ADCustomPropertyParser.customPropertyDictionary = new Dictionary <string, PropertyDefinition>(); try { xmlTextReader.Read(); if (xmlTextReader.NodeType == XmlNodeType.XmlDeclaration) { xmlTextReader.Read(); } if (!xmlTextReader.Name.Equals("CustomProperties") || xmlTextReader.NodeType != XmlNodeType.Element) { OwaDiagnostics.LogEvent(ClientsEventLogConstants.Tuple_CustomPropertiesRootElementNotFound, string.Empty, new object[] { "customadproperties.xml", xmlTextReader.LineNumber.ToString(CultureInfo.InvariantCulture) }); } else { while (xmlTextReader.Read()) { if (xmlTextReader.NodeType == XmlNodeType.Element && xmlTextReader.Name.Equals("CustomProperty")) { if (xmlTextReader.AttributeCount != 2) { OwaDiagnostics.LogEvent(ClientsEventLogConstants.Tuple_InvalidCustomPropertiesAttributeCount, string.Empty, new object[] { "customadproperties.xml", xmlTextReader.LineNumber.ToString(CultureInfo.InvariantCulture) }); break; } if (!xmlTextReader.MoveToAttribute("DisplayName")) { OwaDiagnostics.LogEvent(ClientsEventLogConstants.Tuple_CustomPropertiesAttributeNotFound, string.Empty, new object[] { "DisplayName", "customadproperties.xml", xmlTextReader.LineNumber.ToString(CultureInfo.InvariantCulture), "First" }); break; } string value = xmlTextReader.Value; if (string.IsNullOrEmpty(value)) { OwaDiagnostics.LogEvent(ClientsEventLogConstants.Tuple_CustomPropertiesInvalidAttibuteValue, string.Empty, new object[] { "DisplayName", "customadproperties.xml", xmlTextReader.LineNumber.ToString(CultureInfo.InvariantCulture) }); break; } if (!xmlTextReader.MoveToAttribute("LdapDisplayName")) { OwaDiagnostics.LogEvent(ClientsEventLogConstants.Tuple_CustomPropertiesAttributeNotFound, string.Empty, new object[] { "LdapDisplayName", "customadproperties.xml", xmlTextReader.LineNumber.ToString(CultureInfo.InvariantCulture), "Second" }); break; } string value2 = xmlTextReader.Value; if (string.IsNullOrEmpty(value2)) { OwaDiagnostics.LogEvent(ClientsEventLogConstants.Tuple_CustomPropertiesInvalidAttibuteValue, string.Empty, new object[] { "LdapDisplayName", "customadproperties.xml", xmlTextReader.LineNumber.ToString(CultureInfo.InvariantCulture) }); break; } ADPropertyDefinition value3 = new ADPropertyDefinition(value, ExchangeObjectVersion.Exchange2003, typeof(string), value2, ADPropertyDefinitionFlags.None, string.Empty, PropertyDefinitionConstraint.None, PropertyDefinitionConstraint.None, null, null); ADCustomPropertyParser.customPropertyDictionary.Add(value, value3); } else if (xmlTextReader.NodeType != XmlNodeType.EndElement || !xmlTextReader.Name.Equals("CustomProperties")) { OwaDiagnostics.LogEvent(ClientsEventLogConstants.Tuple_InvalidElementInCustomPropertiesFile, string.Empty, new object[] { "customadproperties.xml", xmlTextReader.LineNumber.ToString(CultureInfo.InvariantCulture), xmlTextReader.LinePosition.ToString(CultureInfo.InvariantCulture) }); break; } } } } catch (XmlException ex) { OwaDiagnostics.LogEvent(ClientsEventLogConstants.Tuple_CustomPropertiesParseError, string.Empty, new object[] { "customadproperties.xml", xmlTextReader.LineNumber.ToString(CultureInfo.InvariantCulture), xmlTextReader.LinePosition.ToString(CultureInfo.InvariantCulture), ex.Message }); } finally { if (xmlTextReader != null) { xmlTextReader.Close(); } } }