static MiniReceiveConnector() { ReceiveConnector receiveConnector = new ReceiveConnector(); MiniReceiveConnector.mostDerivedClass = receiveConnector.MostDerivedObjectClass; MiniReceiveConnector.schema = ObjectSchema.GetInstance <MiniReceiveConnectorSchema>(); }
private QueryFilter GetOPathFilter(string filterStr) { MonadFilter monadFilter = null; QueryFilter result = null; try { base.WriteVerbose(Strings.VerboseTryingToParseOPathFilter(filterStr)); monadFilter = new MonadFilter(filterStr, this, ObjectSchema.GetInstance <ADRecipientProperties>()); base.WriteVerbose(Strings.VerboseParsingOPathFilterSucceed(filterStr)); } catch (InvalidCastException exception) { base.ThrowTerminatingError(exception, ErrorCategory.InvalidArgument, null); } catch (ParsingException ex) { base.WriteVerbose(Strings.VerboseParsingOPathFilterFailed(filterStr, ex.Message)); } if (monadFilter != null && monadFilter.InnerFilter != null) { result = monadFilter.InnerFilter; } return(result); }
protected override void InternalValidate() { base.InternalValidate(); if (base.HasErrors) { return; } if (this.Identity != null) { this.Server = ServerIdParameter.Parse(this.Identity.Server); } if (this.Server == null || string.Compare(this.Server.ToString(), "localhost", true) == 0) { this.Server = new ServerIdParameter(); } IConfigurationSession tenantOrTopologyConfigurationSession = DirectorySessionFactory.Default.GetTenantOrTopologyConfigurationSession(ConsistencyMode.PartiallyConsistent, ADSessionSettings.FromAllTenantsOrRootOrgAutoDetect(base.CurrentOrganizationId), 263, "InternalValidate", "f:\\15.00.1497\\sources\\dev\\Management\\src\\Management\\transport\\Queueviewer\\QueueTasks.cs"); ServerIdParameter server = this.Server; Server entry = (Server)this.GetDataObject <Server>(server, tenantOrTopologyConfigurationSession, null, null, Strings.ErrorServerNotFound(server.ToString()), Strings.ErrorServerNotUnique(server.ToString())); ADScopeException ex; if (!tenantOrTopologyConfigurationSession.TryVerifyIsWithinScopes(entry, true, out ex)) { base.WriteError(new TaskInvalidOperationException(Strings.ErrorCannotChangeObjectOutOfWriteScope((this.Identity != null) ? this.Identity.ToString() : this.Server.ToString(), (ex == null) ? string.Empty : ex.Message), ex), ExchangeErrorCategory.Context, this.Identity); } if (this.Filter != null && !VersionedQueueViewerClient.UsePropertyBagBasedAPI((string)this.Server)) { this.InitializeInnerFilter <QueueInfoSchema>(this.Filter, ObjectSchema.GetInstance <QueueInfoSchema>()); } }
// Token: 0x060004F0 RID: 1264 RVA: 0x0001C40C File Offset: 0x0001A60C private QueryFilter ParseFilter() { ObjectSchema instance = ObjectSchema.GetInstance <MailboxProvisioningAttributesSchema>(); Exception ex = null; QueryFilter result = null; try { QueryParser queryParser = new QueryParser(this.Value, instance, QueryParser.Capabilities.All, null, new QueryParser.ConvertValueFromStringDelegate(MailboxProvisioningConstraint.ConvertValueFromString)); result = queryParser.ParseTree; } catch (ParsingNonFilterablePropertyException ex2) { ex = ex2; } catch (ParsingException ex3) { ex = ex3; } catch (ArgumentOutOfRangeException ex4) { ex = ex4; } if (ex != null) { throw new InvalidMailboxProvisioningConstraintException(ex.Message, ex); } return(result); }
// Token: 0x06000E78 RID: 3704 RVA: 0x00045564 File Offset: 0x00043764 private static ADRawEntry ADRawEntryFromPropValues(ADObjectId id, bool createReadOnly, PropValue[] propValues, IEnumerable <MbxPropertyDefinition> properties, List <ValidationError> errors) { string fqdn = LocalServerCache.LocalServer.Fqdn; ADPropertyBag adpropertyBag = new ADPropertyBag(createReadOnly, 16); adpropertyBag.SetField(ADObjectSchema.Id, id); foreach (PropValue propValue in propValues) { if (!propValue.IsError()) { MbxPropertyDefinition mbxPropertyDefinition = ObjectSchema.GetInstance <MbxRecipientSchema>().FindPropertyDefinitionByPropTag(propValue.PropTag); PropertyValidationError propertyValidationError = mbxPropertyDefinition.ValidateValue(propValue.Value, true); if (propertyValidationError != null) { errors.Add(propertyValidationError); } adpropertyBag.SetField(mbxPropertyDefinition, SimpleStoreValueConverter.ConvertValueFromStore(mbxPropertyDefinition, propValue.Value)); } } MbxRecipientSession.PopulateCustomizedCalculatedProperties(adpropertyBag, properties); ADRawEntry adrawEntry = new ADRawEntry(adpropertyBag); adrawEntry.OriginatingServer = fqdn; adrawEntry.WhenReadUTC = new DateTime?(DateTime.UtcNow); adrawEntry.ResetChangeTracking(true); return(adrawEntry); }
public static void ProcessContentFilter(string contentFilter, int contentFilterLCID, PSCmdlet cmdlet, IFilterBuilderHelper mapper, out RestrictionData restriction, out string normalizedFilter) { Exception ex = null; try { QueryParser queryParser = new QueryParser(contentFilter, ObjectSchema.GetInstance <ContentFilterSchema>(), QueryParser.Capabilities.All, (cmdlet != null) ? new QueryParser.EvaluateVariableDelegate(cmdlet.GetVariableValue) : null, new QueryParser.ConvertValueFromStringDelegate(ContentFilterBuilder.ConvertValueFromString)); QueryFilter parseTree = queryParser.ParseTree; Restriction restriction2 = ContentFilterBuilder.BuildRestriction(parseTree, mapper); restriction = RestrictionData.GetRestrictionData(restriction2); restriction.LCID = contentFilterLCID; normalizedFilter = parseTree.GenerateInfixString(FilterLanguage.Monad); return; } catch (InvalidCastException ex2) { ex = ex2; } catch (ParsingException ex3) { ex = ex3; } catch (ArgumentOutOfRangeException ex4) { ex = ex4; } throw new InvalidContentFilterPermanentException(ex.Message, ex); }
internal override QueryResponse GetExchangeDiagnosticsInfoData(DiagnosableParameters arguments) { QueryResponse result; try { if (this.databaseManager == null) { result = QueryResponse.CreateError("DatabaseManager is not start yet, or not registered for online diagnostics"); } else if (string.IsNullOrEmpty(arguments.Argument)) { StringBuilder sb = new StringBuilder(); this.dispatcher.Keys.ToList <string>().ForEach(delegate(string x) { sb.AppendFormat(" {0}", x); }); result = QueryResponse.CreateError("Please specify argument paramter, supported objectClass:" + sb.ToString()); } else { QueryParser queryParser = new QueryParser(arguments.Argument, ObjectSchema.GetInstance <QueryableObjectSchema>(), QueryParser.Capabilities.All, null, new QueryParser.ConvertValueFromStringDelegate(QueryParserUtils.ConvertValueFromString)); QueryFilter filter = queryParser.ParseTree; filter = QueryFilter.SimplifyFilter(filter); result = this.ExecuteQuery(filter); } } catch (ArgumentException ex) { result = QueryResponse.CreateError(ex.ToString()); } return(result); }
static MiniEmailTransport() { ADEmailTransport ademailTransport = new ADEmailTransport(); MiniEmailTransport.implicitFilter = ademailTransport.ImplicitFilter; MiniEmailTransport.mostDerivedClass = ademailTransport.MostDerivedObjectClass; MiniEmailTransport.schema = ObjectSchema.GetInstance <MiniEmailTransportSchema>(); }
internal bool ValidateUserRecipientFilterParsesWithSchema() { if (!string.IsNullOrEmpty(this.UserRecipientFilter)) { new QueryParser(this.UserRecipientFilter, ObjectSchema.GetInstance <ClientAccessRulesRecipientFilterSchema>(), QueryParser.Capabilities.All, null, new QueryParser.ConvertValueFromStringDelegate(QueryParserUtils.ConvertValueFromString)); } return(true); }
static MiniVirtualDirectory() { ADVirtualDirectory advirtualDirectory = new ADVirtualDirectory(); MiniVirtualDirectory.implicitFilter = advirtualDirectory.ImplicitFilter; MiniVirtualDirectory.mostDerivedClass = advirtualDirectory.MostDerivedObjectClass; MiniVirtualDirectory.schema = ObjectSchema.GetInstance <MiniVirtualDirectorySchema>(); }
public static SettingsScopeFilterSchema GetSchemaInstance(IConfigSchema schema) { if (schema == null) { return(ObjectSchema.GetInstance <SettingsScopeFilterSchema.UntypedSettingsScopeFilterSchema>()); } Type schemaType = typeof(SettingsScopeFilterSchema.TypedSettingsScopeFilterSchema <>).MakeGenericType(new Type[] { schema.GetType() }); SettingsScopeFilterSchema settingsScopeFilterSchema = (SettingsScopeFilterSchema)ObjectSchema.GetInstance(schemaType); settingsScopeFilterSchema.InitializeScopeProperties(schema); return(settingsScopeFilterSchema); }
protected override void InternalValidate() { base.InternalValidate(); if (base.HasErrors) { return; } if (base.Identity == null && this.Server == null) { this.Server = ServerIdParameter.Parse("localhost"); } if (this.Filter != null && !VersionedQueueViewerClient.UsePropertyBagBasedAPI((string)this.Server)) { this.InitializeInnerFilter <MessageInfoSchema>(this.Filter, ObjectSchema.GetInstance <MessageInfoSchema>()); } }
public byte[] GetNewCookieForAllObjectsTypes(string serviceInstanceId) { Type[] array = new Type[] { typeof(SyncUserSchema), typeof(SyncContactSchema), typeof(SyncGroupSchema), typeof(SyncForeignPrincipalSchema), typeof(SyncAccountSchema), typeof(SyncCompanySchema) }; HashSet <string> hashSet = new HashSet <string>(); HashSet <string> hashSet2 = new HashSet <string>(); HashSet <string> hashSet3 = new HashSet <string>(); HashSet <string> hashSet4 = new HashSet <string>(); foreach (Type schemaType in array) { SyncObjectSchema syncObjectSchema = (SyncObjectSchema)ObjectSchema.GetInstance(schemaType); hashSet.Add(Enum.GetName(typeof(DirectoryObjectClass), syncObjectSchema.DirectoryObjectClass)); ReadOnlyCollection <PropertyDefinition> allProperties = syncObjectSchema.AllProperties; foreach (PropertyDefinition propertyDefinition in allProperties) { SyncPropertyDefinition syncPropertyDefinition = propertyDefinition as SyncPropertyDefinition; if (syncPropertyDefinition != null && syncPropertyDefinition.IsForwardSync && !syncPropertyDefinition.IsNotInMsoDirectory && !string.IsNullOrEmpty(syncPropertyDefinition.MsoPropertyName)) { if (syncPropertyDefinition.IsSyncLink) { hashSet3.Add(syncPropertyDefinition.MsoPropertyName); } else { hashSet2.Add(syncPropertyDefinition.MsoPropertyName); if (syncPropertyDefinition.IsAlwaysReturned) { hashSet4.Add(syncPropertyDefinition.MsoPropertyName); } } } } } NewCookie2Request request = new NewCookie2Request(0, serviceInstanceId, SyncOptions.None, hashSet.ToArray <string>(), hashSet2.ToArray <string>(), hashSet3.ToArray <string>(), hashSet4.ToArray <string>()); NewCookie2Response newCookie2Response = this.SyncProxy.NewCookie2(request); return(newCookie2Response.NewCookie2Result); }
private UIPresentationProfile CreateUIPresentationProfile(XElement po, XElement configuration) { UIPresentationProfile result; if (configuration == null) { result = new UIPresentationProfile(); } else { IEnumerable <XElement> query = configuration.Elements("DisplayedColumns").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")).Union(configuration.Elements("DisplayedColumns").Elements("Column")); FilterColumnProfile[] filterColumnCollection = new FilterColumnProfile[0]; ObjectSchema filterObjectSchema = null; FilterLanguage filterLanguage = FilterLanguage.Ado; XElement xelement = configuration.Element("FilterColumns"); if (this.HasValue(xelement)) { string text = (string)xelement.Attribute("ObjectSchema"); filterColumnCollection = this.GetFilterProfile(xelement.Elements("Column"), text); filterObjectSchema = ObjectSchema.GetInstance(ObjectSchemaLoader.GetTypeByString(text)); filterLanguage = (this.HasValue(xelement.Attribute("FilterLanguage")) ? ((FilterLanguage)Enum.Parse(typeof(FilterLanguage), (string)xelement.Attribute("FilterLanguage"))) : FilterLanguage.Ado); } result = new UIPresentationProfile(this.GetColumnProfile(query), filterColumnCollection) { DisplayName = this.GetLocalizedString(configuration.Element("Caption").Value), HideIcon = (this.HasValue(configuration.Element("HideIcon")) && string.Equals("true", (string)configuration.Element("HideIcon"), StringComparison.InvariantCultureIgnoreCase)), ImageProperty = (this.HasValue(configuration.Element("ImageColumn")) ? configuration.Element("ImageColumn").Value : string.Empty), UseTreeViewForm = (this.HasValue(configuration.Element("UseTreeView")) && bool.Parse((string)configuration.Element("UseTreeView"))), SortProperty = (this.HasValue(configuration.Element("SortProperty")) ? configuration.Element("SortProperty").Value : string.Empty), HelpTopic = (this.HasValue(configuration.Element("HelpTopic")) ? configuration.Element("HelpTopic").Value : string.Empty), ScopeSupportingLevel = (this.HasValue(configuration.Element("ScopeSupportingLevel")) ? ((ScopeSupportingLevel)Enum.Parse(typeof(ScopeSupportingLevel), (string)configuration.Element("ScopeSupportingLevel"))) : ScopeSupportingLevel.NoScoping), FilterObjectSchema = filterObjectSchema, FilterLanguage = filterLanguage, SerializationLevel = (this.HasValue(configuration.Element("SerializationLevel")) ? ((ExchangeRunspaceConfigurationSettings.SerializationLevel)Enum.Parse(typeof(ExchangeRunspaceConfigurationSettings.SerializationLevel), (string)configuration.Element("SerializationLevel"))) : ExchangeRunspaceConfigurationSettings.SerializationLevel.Partial), MultiSelect = (!this.HasValue(configuration.Element("MultiSelect")) || bool.Parse((string)configuration.Element("MultiSelect"))) }; } return(result); }
public DetailsTemplatesResultPane() : base(ResultPaneProfileLoader.Loader, "DetailsTemplate") { base.Name = "DetailsTemplatesResultPane"; base.Icon = Icons.DetailsTemplate; ObjectList objectList = new ObjectList(); objectList.Name = "DetailsTemplatesResultPaneDataListView"; objectList.Dock = DockStyle.Fill; objectList.ListView.IconLibrary = DetailsTemplatesResultPane.iconLibrary; objectList.ListView.ImageIndex = 0; objectList.FilterControl.ObjectSchema = ObjectSchema.GetInstance <DetailsTemplatesResultPane.DetailsTemplatesFilterSchema>(); FilterablePropertyDescription filterablePropertyDescription = new FilterablePropertyDescription(DetailsTemplatesResultPane.DetailsTemplatesFilterSchema.TemplateType, Strings.TypeColumnName, new PropertyFilterOperator[] { PropertyFilterOperator.Equal, PropertyFilterOperator.NotEqual }); filterablePropertyDescription.FilterableListSource = new ObjectListSource(new string[] { "Contact", "Group", "Mailbox Agent", "Public Folder", "Search Dialog", "User" }); objectList.FilterControl.PropertiesToFilter.Add(filterablePropertyDescription); objectList.FilterControl.PropertiesToFilter.Add(new FilterablePropertyDescription(DetailsTemplatesResultPane.DetailsTemplatesFilterSchema.Language, Strings.LanguageColumnName, new PropertyFilterOperator[] { PropertyFilterOperator.Equal, PropertyFilterOperator.NotEqual, PropertyFilterOperator.Contains, PropertyFilterOperator.NotContains, PropertyFilterOperator.StartsWith, PropertyFilterOperator.EndsWith })); base.ListControl = objectList.ListView; base.FilterControl = objectList.FilterControl; base.Controls.Add(objectList); }
protected override void UpdateFilterProperty() { base.UpdateFilterProperty(); if (this.MinVersion != null) { QueryFilter queryFilter = new ComparisonFilter(ComparisonOperator.GreaterThanOrEqual, ADObjectSchema.ExchangeVersion, this.MinVersion); if (!this.RecipientTypeDetailsWithoutVersionRestriction.IsNullOrEmpty()) { QueryFilter recipientTypeDetailsFilter = RecipientIdParameter.GetRecipientTypeDetailsFilter(base.RecipientTypeDetailsList); if (recipientTypeDetailsFilter != null) { queryFilter = new AndFilter(new QueryFilter[] { recipientTypeDetailsFilter, queryFilter }); } recipientTypeDetailsFilter = RecipientIdParameter.GetRecipientTypeDetailsFilter(this.RecipientTypeDetailsWithoutVersionRestriction); queryFilter = new OrFilter(new QueryFilter[] { recipientTypeDetailsFilter, queryFilter }); base.RecipientTypeDetailsList = null; } string text = (string)base["Filter"]; if (!text.IsNullOrBlank()) { base["Filter"] = string.Empty; MonadFilter monadFilter = new MonadFilter(text, null, ObjectSchema.GetInstance <ReducedRecipientSchema>()); queryFilter = new AndFilter(new QueryFilter[] { monadFilter.InnerFilter, queryFilter }); } base["RecipientPreviewFilter"] = LdapFilterBuilder.LdapFilterFromQueryFilter(queryFilter); } }
public static MailboxProvisioningAttributes Parse(string attributes) { if (string.IsNullOrEmpty(attributes) || string.IsNullOrWhiteSpace(attributes)) { return(null); } string[] array = attributes.Split(MailboxProvisioningAttributes.provisoningAttributeDelimiter, StringSplitOptions.RemoveEmptyEntries); if (array.Length == 0 || array.Length > 30) { throw new InvalidMailboxProvisioningAttributeException(DirectoryStrings.ErrorInvalidMailboxProvisioningAttributes(30)); } HashSet <string> hashSet = new HashSet <string>(); List <MailboxProvisioningAttribute> list = new List <MailboxProvisioningAttribute>(); ReadOnlyCollection <PropertyDefinition> allFilterableProperties = ObjectSchema.GetInstance <MailboxProvisioningAttributesSchema>().AllFilterableProperties; for (int i = 0; i < array.Length; i++) { MailboxProvisioningAttribute attribute = MailboxProvisioningAttribute.Parse(array[i]); if (hashSet.Contains(attribute.Key)) { throw new InvalidMailboxProvisioningAttributeException(DirectoryStrings.ErrorDuplicateKeyInMailboxProvisioningAttributes(attribute.Key)); } if (!allFilterableProperties.Any((PropertyDefinition x) => x.Name.Equals(attribute.Key))) { string validKeys = string.Join(",", from x in allFilterableProperties select x.Name); throw new ProvisioningAttributeDoesNotMatchSchemaException(attribute.Key, validKeys); } if (MailboxProvisioningAttributes.PermanentAttributeNames.Contains(attribute.Key)) { throw new CannotSetPermanentAttributesException(string.Join(",", MailboxProvisioningAttributes.PermanentAttributeNames)); } list.Add(attribute); } return(new MailboxProvisioningAttributes(list.ToArray())); }
internal override ADObjectSchema GetParentSchema() { return(ObjectSchema.GetInstance <ADPublicDatabaseSchema>()); }
// Token: 0x06005F7A RID: 24442 RVA: 0x001460F4 File Offset: 0x001442F4 internal override ADObjectSchema GetParentSchema() { return(ObjectSchema.GetInstance <ADUserSchema>()); }
internal static bool ShouldBlockConnection(OrganizationId organizationId, string username, ClientAccessProtocol protocol, IPEndPoint remoteEndpoint, ClientAccessAuthenticationMethod authenticationType, IReadOnlyPropertyBag propertyBag, Action <ClientAccessRulesEvaluationContext> blockLoggerDelegate, Action <double> latencyLoggerDelegate) { DateTime utcNow = DateTime.UtcNow; bool shouldBlock = false; long ticks = utcNow.Ticks; if (organizationId == null) { ExTraceGlobals.ClientAccessRulesTracer.TraceDebug(ticks, "[Client Access Rules] ShouldBlockConnection assuming OrganizationId.ForestWideOrgId for null OrganizationId"); organizationId = OrganizationId.ForestWideOrgId; } if (remoteEndpoint != null) { ExTraceGlobals.ClientAccessRulesTracer.TraceDebug(ticks, "[Client Access Rules] ShouldBlockConnection - Initializing context to run rules"); ClientAccessRuleCollection collection = ClientAccessRulesCache.Instance.GetCollection(organizationId); ClientAccessRulesEvaluationContext context = new ClientAccessRulesEvaluationContext(collection, username, remoteEndpoint, protocol, authenticationType, propertyBag, ObjectSchema.GetInstance <ClientAccessRulesRecipientFilterSchema>(), delegate(ClientAccessRulesEvaluationContext evaluationContext) { shouldBlock = true; blockLoggerDelegate(evaluationContext); }, null, ticks); collection.Run(context); } ClientAccessRulesPerformanceCounters.TotalClientAccessRulesEvaluationCalls.Increment(); if (shouldBlock) { ClientAccessRulesPerformanceCounters.TotalConnectionsBlockedByClientAccessRules.Increment(); } double totalMilliseconds = (DateTime.UtcNow - utcNow).TotalMilliseconds; latencyLoggerDelegate(totalMilliseconds); if (totalMilliseconds > 50.0) { ClientAccessRulesPerformanceCounters.TotalClientAccessRulesEvaluationCallsOver50ms.Increment(); } if (totalMilliseconds > 10.0) { ClientAccessRulesPerformanceCounters.TotalClientAccessRulesEvaluationCallsOver10ms.Increment(); } ExTraceGlobals.ClientAccessRulesTracer.TraceDebug(ticks, string.Format("[Client Access Rules] ShouldBlockConnection - Evaluate - Org: {0} - Protocol: {1} - Username: {2} - IP: {3} - Port: {4} - Auth Type: {5} - Blocked: {6} - Latency: {7}", new object[] { organizationId.ToString(), protocol.ToString(), username.ToString(), remoteEndpoint.Address.ToString(), remoteEndpoint.Port.ToString(), authenticationType.ToString(), shouldBlock.ToString(), totalMilliseconds.ToString() })); return(shouldBlock); }
internal override ADObjectSchema GetParentSchema() { return(ObjectSchema.GetInstance <PushNotificationAppSchema>()); }
// Token: 0x06005D9C RID: 23964 RVA: 0x00142C5B File Offset: 0x00140E5B internal override ADObjectSchema GetParentSchema() { return(ObjectSchema.GetInstance <ExchangeConfigurationUnitSchema>()); }
internal override ADObjectSchema GetParentSchema() { return(ObjectSchema.GetInstance <ADDynamicGroupSchema>()); }
// Token: 0x06005B40 RID: 23360 RVA: 0x0013F783 File Offset: 0x0013D983 internal override ADObjectSchema GetParentSchema() { return(ObjectSchema.GetInstance <SyncOrganizationSchema>()); }
internal override ADObjectSchema GetParentSchema() { return ObjectSchema.GetInstance<ServerSchema>(); }
internal override ADObjectSchema GetParentSchema() { return(ObjectSchema.GetInstance <ExchangeRoleSchema>()); }
private QueryFilter ConvertToQueryFilter(string filter) { MonadFilter monadFilter = new MonadFilter(filter ?? string.Empty, this, ObjectSchema.GetInstance <ADRecipientProperties>()); return(monadFilter.InnerFilter); }
internal override ADObjectSchema GetParentSchema() { return(ObjectSchema.GetInstance <RuleStorageSchema>()); }
// Token: 0x06005D5F RID: 23903 RVA: 0x001423C9 File Offset: 0x001405C9 internal override ADObjectSchema GetParentSchema() { return(ObjectSchema.GetInstance <ADSystemAttendantMailboxSchema>()); }
internal override ADObjectSchema GetParentSchema() { return(ObjectSchema.GetInstance <ActiveDirectoryServerSchema>()); }