protected override void InternalProcessMetabase() { ADOwaVirtualDirectory adowaVirtualDirectory = WebAppVirtualDirectoryHelper.FindWebAppVirtualDirectoryInSameWebSite <ADOwaVirtualDirectory>(this.DataObject, base.DataSession); if (adowaVirtualDirectory != null && !string.IsNullOrEmpty(adowaVirtualDirectory.DefaultDomain)) { this.DataObject.DefaultDomain = adowaVirtualDirectory.DefaultDomain; } WebAppVirtualDirectoryHelper.UpdateMetabase(this.DataObject, this.DataObject.MetabasePath, true); if (VariantConfiguration.GetSnapshot(MachineSettingsContext.Local, null, null).CmdletInfra.ReportingWebService.Enabled) { string physicalPath; List <MetabaseProperty> metabaseProperties; if (base.Role == VirtualDirectoryRole.ClientAccess) { physicalPath = System.IO.Path.Combine(ConfigurationContext.Setup.InstallPath, "FrontEnd\\HttpProxy\\ReportingWebService"); metabaseProperties = this.CreateFrontEndVdirProperies(); } else { physicalPath = System.IO.Path.Combine(ConfigurationContext.Setup.InstallPath, "ClientAccess\\ReportingWebService"); metabaseProperties = this.CreateBackEndVdirProperies(); } this.CreateReportingWebServiceVDir(this.DataObject.MetabasePath, physicalPath, metabaseProperties); if (base.Role == VirtualDirectoryRole.ClientAccess) { string parent = string.Format(CultureInfo.InvariantCulture, "{0}/{1}", new object[] { this.DataObject.MetabasePath, "ReportingWebService" }); this.CreatePartnerVDir(parent); } } }
protected override void InternalProcessRecord() { TaskLogger.LogEnter(); ADOwaVirtualDirectory adowaVirtualDirectory = WebAppVirtualDirectoryHelper.FindWebAppVirtualDirectoryInSameWebSite <ADOwaVirtualDirectory>(this.DataObject, base.DataSession); if (adowaVirtualDirectory != null) { WebAppVirtualDirectoryHelper.CheckTwoWebAppVirtualDirectories(this.DataObject, adowaVirtualDirectory, new Action <string>(base.WriteWarning), Strings.EcpAuthenticationNotMatchOwaWarning, Strings.EcpUrlNotMatchOwaWarning); } else { this.WriteWarning(Strings.CreateOwaForEcpWarning); } if (this.DataObject.IsChanged(ADEcpVirtualDirectorySchema.AdminEnabled) || this.DataObject.IsChanged(ADEcpVirtualDirectorySchema.OwaOptionsEnabled)) { this.WriteWarning(Strings.NeedIisRestartForChangingECPFeatureWarning); } base.InternalProcessRecord(); ADEcpVirtualDirectory dataObject = this.DataObject; WebAppVirtualDirectoryHelper.UpdateMetabase(dataObject, dataObject.MetabasePath, true); if (!ExchangeServiceVDirHelper.IsBackEndVirtualDirectory(this.DataObject) && base.Fields.Contains("FormsAuthentication")) { ExchangeServiceVDirHelper.UpdateFrontEndHttpModule(this.DataObject, this.FormsAuthentication); } if (base.Fields.Contains("AdfsAuthentication")) { ExchangeServiceVDirHelper.SetAdfsAuthenticationModule(this.DataObject.AdfsAuthentication, false, this.DataObject); } TaskLogger.LogExit(); }
// Token: 0x06000061 RID: 97 RVA: 0x00003CAC File Offset: 0x00001EAC private OwaVdirConfiguration(ADOwaVirtualDirectory owaVirtualDirectory) : base(owaVirtualDirectory) { this.logonFormat = owaVirtualDirectory.LogonFormat; this.publicPrivateSelectionEnabled = (owaVirtualDirectory.LogonPagePublicPrivateSelectionEnabled != null && owaVirtualDirectory.LogonPagePublicPrivateSelectionEnabled.Value); this.lightSelectionEnabled = (owaVirtualDirectory.LogonPageLightSelectionEnabled != null && owaVirtualDirectory.LogonPageLightSelectionEnabled.Value); this.logonAndErrorLanguage = owaVirtualDirectory.LogonAndErrorLanguage; this.redirectToOptimalOWAServer = (owaVirtualDirectory.RedirectToOptimalOWAServer ?? true); }
protected override void InternalProcessMetabase() { ADOwaVirtualDirectory adowaVirtualDirectory = WebAppVirtualDirectoryHelper.FindWebAppVirtualDirectoryInSameWebSite <ADOwaVirtualDirectory>(this.DataObject, base.DataSession); if (adowaVirtualDirectory != null && !string.IsNullOrEmpty(adowaVirtualDirectory.DefaultDomain)) { this.DataObject.DefaultDomain = adowaVirtualDirectory.DefaultDomain; } WebAppVirtualDirectoryHelper.UpdateMetabase(this.DataObject, this.DataObject.MetabasePath, true); }
private void ExecuteCalendarVDirTests(TestCasConnectivity.TestCasConnectivityRunInstance instance, CasTransactionOutcome outcome) { string text = string.Format("{0}/Calendar/calendar.html", instance.exchangePrincipal.MailboxInfo.PrimarySmtpAddress.ToString()); string text2 = string.Format("{0}/Calendar/calendar.ics", instance.exchangePrincipal.MailboxInfo.PrimarySmtpAddress.ToString()); ADSessionSettings adsessionSettings = instance.exchangePrincipal.MailboxInfo.OrganizationId.ToADSessionSettings(); IRecipientSession tenantOrRootOrgRecipientSession = DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(null, true, ConsistencyMode.IgnoreInvalid, null, adsessionSettings, 293, "ExecuteCalendarVDirTests", "f:\\15.00.1497\\sources\\dev\\Management\\src\\Management\\Monitoring\\Tasks\\TestCalendarConnectivity.cs"); using (MailboxCalendarFolderDataProvider mailboxCalendarFolderDataProvider = new MailboxCalendarFolderDataProvider(adsessionSettings, DirectoryHelper.ReadADRecipient(instance.exchangePrincipal.MailboxInfo.MailboxGuid, instance.exchangePrincipal.MailboxInfo.IsArchive, tenantOrRootOrgRecipientSession) as ADUser, "Test-CalendarConnectivity")) { StoreObjectId defaultFolderId = mailboxCalendarFolderDataProvider.MailboxSession.GetDefaultFolderId(DefaultFolderType.Calendar); Microsoft.Exchange.Data.Storage.Management.MailboxFolderId identity = new Microsoft.Exchange.Data.Storage.Management.MailboxFolderId(instance.exchangePrincipal.ObjectId, defaultFolderId, null); MailboxCalendarFolder mailboxCalendarFolder = (MailboxCalendarFolder)mailboxCalendarFolderDataProvider.Read <MailboxCalendarFolder>(identity); if (!mailboxCalendarFolder.PublishEnabled) { mailboxCalendarFolder.SearchableUrlEnabled = true; mailboxCalendarFolder.PublishEnabled = true; mailboxCalendarFolder.PublishedCalendarUrl = new Uri(instance.baseUri, text).ToString(); mailboxCalendarFolder.PublishedICalUrl = new Uri(instance.baseUri, text2).ToString(); try { mailboxCalendarFolderDataProvider.Save(mailboxCalendarFolder); } catch (NotAllowedPublishingByPolicyException ex) { instance.Outcomes.Enqueue(new Warning(ex.LocalizedString)); return; } } } ADOwaVirtualDirectory adowaVirtualDirectory = instance.VirtualDirectory as ADOwaVirtualDirectory; if (adowaVirtualDirectory != null && !(adowaVirtualDirectory.AnonymousFeaturesEnabled != true)) { base.WriteMonitoringEvent(1104, this.MonitoringEventSource, EventTypeEnumeration.Success, Strings.CasHealthCalendarVDirSuccess); TimeSpan latency; if (!this.TestCalendarUrlResponse(text2, instance, TestCalendarConnectivity.CalendarContext.ICalContext, out latency)) { outcome.Update(CasTransactionResultEnum.Failure); } else { outcome.UpdateLatency(latency); } if (!this.TestCalendarUrlResponse(text, instance, TestCalendarConnectivity.CalendarContext.ViewCalendarContext, out latency)) { outcome.Update(CasTransactionResultEnum.Failure); } return; } instance.Outcomes.Enqueue(new Warning(Strings.CasHealthCalendarVDirWarning(instance.VirtualDirectoryName, instance.CasFqdn))); outcome.Update(CasTransactionResultEnum.Skipped); base.WriteMonitoringEvent(1105, this.MonitoringEventSource, EventTypeEnumeration.Warning, Strings.CasHealthCalendarVDirWarning(instance.VirtualDirectoryName, instance.CasFqdn)); }
internal static void EnableIsapiFilter(ADOwaVirtualDirectory adOwaVirtualDirectory, bool forCafe) { using (DirectoryEntry directoryEntry = IisUtility.CreateIISDirectoryEntry(adOwaVirtualDirectory.MetabasePath)) { if (forCafe) { OwaIsapiFilter.InstallForCafe(directoryEntry); } else { OwaIsapiFilter.Install(directoryEntry); } } }
// Token: 0x06000068 RID: 104 RVA: 0x00003D7C File Offset: 0x00001F7C internal static OwaVdirConfiguration CreateInstance(ITopologyConfigurationSession session, ADObjectId virtualDirectoryDN) { ADOwaVirtualDirectory adowaVirtualDirectory = null; ADOwaVirtualDirectory[] array = session.Find <ADOwaVirtualDirectory>(virtualDirectoryDN, 0, null, null, 1, "d:\\dbs\\sh\\e16df\\0212_214120_0\\cmd\\1g\\sources\\Dev\\Cafe\\src\\HttpProxy\\fba\\OwaVdirConfiguration.cs", 142, "CreateInstance"); if (array != null && array.Length == 1) { adowaVirtualDirectory = array[0]; } if (adowaVirtualDirectory == null) { throw new ADNoSuchObjectException(LocalizedString.Empty); } return(new OwaVdirConfiguration(adowaVirtualDirectory)); }
internal static OwaVdirConfiguration CreateInstance(ITopologyConfigurationSession session, ADObjectId virtualDirectoryDN) { ADOwaVirtualDirectory adowaVirtualDirectory = null; ADOwaVirtualDirectory[] array = session.Find <ADOwaVirtualDirectory>(virtualDirectoryDN, QueryScope.Base, null, null, 1); if (array != null && array.Length == 1) { adowaVirtualDirectory = array[0]; } if (adowaVirtualDirectory == null) { throw new ADNoSuchObjectException(LocalizedString.Empty); } return(new OwaVdirConfiguration(adowaVirtualDirectory)); }
protected override void InternalValidate() { base.InternalValidate(); if (base.HasErrors) { return; } if (base.Fields.Contains("AdfsAuthentication") && !this.DataObject.AdfsAuthentication) { ADOwaVirtualDirectory adowaVirtualDirectory = WebAppVirtualDirectoryHelper.FindWebAppVirtualDirectoryInSameWebSite <ADOwaVirtualDirectory>(this.DataObject, base.DataSession); if (adowaVirtualDirectory != null && adowaVirtualDirectory.AdfsAuthentication) { base.WriteError(new TaskException(Strings.CannotDisableAdfsEcpWithoutOwaFirst), ErrorCategory.InvalidOperation, null); } } }
internal static void DisableIsapiFilter(ADOwaVirtualDirectory adOwaVirtualDirectory) { DirectoryEntry directoryEntry; DirectoryEntry virtualDirectory = directoryEntry = IisUtility.CreateIISDirectoryEntry(adOwaVirtualDirectory.MetabasePath); try { OwaIsapiFilter.UninstallIfLastVdir(virtualDirectory); } finally { if (directoryEntry != null) { ((IDisposable)directoryEntry).Dispose(); } } }
// Token: 0x06000964 RID: 2404 RVA: 0x0002007C File Offset: 0x0001E27C private static VdirConfiguration CreateInstance(Guid vDirADObjectGuid) { ITopologyConfigurationSession topologyConfigurationSession = VdirConfiguration.CreateADSystemConfigurationSessionScopedToFirstOrg(); string text = null; ADObjectId adobjectId; if (vDirADObjectGuid == Guid.Empty) { Server server = topologyConfigurationSession.FindLocalServer(); string text2 = HttpRuntime.AppDomainAppVirtualPath.Replace("'", "''"); if (text2[0] == '/') { text2 = text2.Substring(1); } text = HttpRuntime.AppDomainAppId; if (text[0] == '/') { text = text.Substring(1); } int num = text.IndexOf('/'); text = text.Substring(num); text = string.Format("IIS://{0}{1}", server.Fqdn, text); num = text.LastIndexOf('/'); text = VdirConfiguration.GetWebSiteName(text.Substring(0, num)); adobjectId = new ADObjectId(server.DistinguishedName).GetDescendantId("Protocols", "HTTP", new string[] { string.Format("{0} ({1})", text2, text) }); } else { adobjectId = new ADObjectId(vDirADObjectGuid); } ADOwaVirtualDirectory adowaVirtualDirectory = topologyConfigurationSession.Read <ADOwaVirtualDirectory>(adobjectId); if (adowaVirtualDirectory == null) { ExTraceGlobals.ConfigurationManagerTracer.TraceDebug <ADObjectId, string>(0L, "Unable to retrieve the vdir configuration for {0}, website name {1}", adobjectId, text); OwaDiagnostics.LogEvent(ClientsEventLogConstants.Tuple_OwaConfigurationNotFound, adobjectId.ToDNString(), new object[] { adobjectId.ToString() }); throw new ADConfigurationException(); } return(new VdirConfiguration(topologyConfigurationSession, adowaVirtualDirectory)); }
// Token: 0x06000818 RID: 2072 RVA: 0x0003BA7C File Offset: 0x00039C7C internal Configuration(IConfigurationSession session, string virtualDirectory, string webSiteName, ADObjectId vDirADObjectId, bool isPhoneticSupportEnabled) { base.PhoneticSupportEnabled = isPhoneticSupportEnabled; if (Globals.IsPreCheckinApp) { this.ExpirationTime = DateTime.UtcNow + Configuration.expirationPeriod; this.LoadPreCheckInVdirConfiguration(); return; } ADOwaVirtualDirectory adowaVirtualDirectory = session.Read <ADOwaVirtualDirectory>(vDirADObjectId); if (adowaVirtualDirectory == null) { string message = string.Format(LocalizedStrings.GetNonEncoded(-1166886287), virtualDirectory, webSiteName); throw new OwaInvalidConfigurationException(message); } this.formsAuthenticationEnabled = (adowaVirtualDirectory.InternalAuthenticationMethods.Contains(AuthenticationMethod.Fba) ? 1 : 0); AttachmentPolicy.Level treatUnknownTypeAs = ConfigurationBase.AttachmentActionToLevel(adowaVirtualDirectory.ActionForUnknownFileAndMIMETypes); AttachmentPolicy attachmentPolicy = new AttachmentPolicy(adowaVirtualDirectory.BlockedFileTypes.ToArray(), adowaVirtualDirectory.BlockedMimeTypes.ToArray(), adowaVirtualDirectory.ForceSaveFileTypes.ToArray(), adowaVirtualDirectory.ForceSaveMimeTypes.ToArray(), adowaVirtualDirectory.AllowedFileTypes.ToArray(), adowaVirtualDirectory.AllowedMimeTypes.ToArray(), treatUnknownTypeAs, adowaVirtualDirectory.DirectFileAccessOnPublicComputersEnabled.Value, adowaVirtualDirectory.DirectFileAccessOnPrivateComputersEnabled.Value, adowaVirtualDirectory.ForceWebReadyDocumentViewingFirstOnPublicComputers.Value, adowaVirtualDirectory.ForceWebReadyDocumentViewingFirstOnPrivateComputers.Value, adowaVirtualDirectory.WebReadyDocumentViewingOnPublicComputersEnabled.Value, adowaVirtualDirectory.WebReadyDocumentViewingOnPrivateComputersEnabled.Value, adowaVirtualDirectory.WebReadyFileTypes.ToArray(), adowaVirtualDirectory.WebReadyMimeTypes.ToArray(), adowaVirtualDirectory.WebReadyDocumentViewingSupportedFileTypes.ToArray(), adowaVirtualDirectory.WebReadyDocumentViewingSupportedMimeTypes.ToArray(), adowaVirtualDirectory.WebReadyDocumentViewingForAllSupportedTypes.Value); base.AttachmentPolicy = attachmentPolicy; base.DefaultClientLanguage = adowaVirtualDirectory.DefaultClientLanguage.Value; this.filterWebBeaconsAndHtmlForms = adowaVirtualDirectory.FilterWebBeaconsAndHtmlForms.Value; base.LogonAndErrorLanguage = adowaVirtualDirectory.LogonAndErrorLanguage; this.logonFormat = adowaVirtualDirectory.LogonFormat; this.defaultDomain = adowaVirtualDirectory.DefaultDomain; this.notificationInterval = (adowaVirtualDirectory.NotificationInterval ?? 120); this.sessionTimeout = (adowaVirtualDirectory.UserContextTimeout ?? 60); this.redirectToOptimalOWAServer = (adowaVirtualDirectory.RedirectToOptimalOWAServer == true); base.DefaultTheme = adowaVirtualDirectory.DefaultTheme; base.SetPhotoURL = adowaVirtualDirectory.SetPhotoURL; this.clientAuthCleanupLevel = adowaVirtualDirectory.ClientAuthCleanupLevel; this.imCertificateThumbprint = adowaVirtualDirectory.InstantMessagingCertificateThumbprint; this.imServerName = adowaVirtualDirectory.InstantMessagingServerName; this.isSMimeEnabledOnCurrentServerr = (adowaVirtualDirectory.SMimeEnabled ?? false); this.documentAccessAllowedServers = adowaVirtualDirectory.RemoteDocumentsAllowedServers.ToArray(); this.documentAccessBlockedServers = adowaVirtualDirectory.RemoteDocumentsBlockedServers.ToArray(); this.documentAccessInternalDomainSuffixList = adowaVirtualDirectory.RemoteDocumentsInternalDomainSuffixList.ToArray(); RemoteDocumentsActions?remoteDocumentsActions = adowaVirtualDirectory.RemoteDocumentsActionForUnknownServers; if (remoteDocumentsActions != null) { if (remoteDocumentsActions == RemoteDocumentsActions.Allow) { this.remoteDocumentsActionForUnknownServers = RemoteDocumentsActions.Allow; } else { this.remoteDocumentsActionForUnknownServers = RemoteDocumentsActions.Block; } } base.InternalAuthenticationMethod = ConfigurationBase.GetAuthenticationMethod(adowaVirtualDirectory[ADVirtualDirectorySchema.InternalAuthenticationMethodFlags]); base.ExternalAuthenticationMethod = ConfigurationBase.GetAuthenticationMethod(adowaVirtualDirectory[ADVirtualDirectorySchema.ExternalAuthenticationMethodFlags]); base.Exchange2003Url = adowaVirtualDirectory.Exchange2003Url; base.LegacyRedirectType = LegacyRedirectTypeOptions.Silent; int segmentationBits = (int)adowaVirtualDirectory[ADOwaVirtualDirectorySchema.ADMailboxFolderSet]; int segmentationBits2 = (int)adowaVirtualDirectory[ADOwaVirtualDirectorySchema.ADMailboxFolderSet2]; base.SegmentationFlags = Utilities.SetSegmentationFlags(segmentationBits, segmentationBits2); if (adowaVirtualDirectory.OutboundCharset != null) { base.OutboundCharset = adowaVirtualDirectory.OutboundCharset.Value; } if (adowaVirtualDirectory.UseGB18030 != null && adowaVirtualDirectory.UseGB18030.Value) { base.UseGB18030 = true; } else { base.UseGB18030 = false; } if (adowaVirtualDirectory.UseISO885915 != null && adowaVirtualDirectory.UseISO885915.Value) { base.UseISO885915 = true; } else { base.UseISO885915 = false; } base.InstantMessagingType = ((adowaVirtualDirectory.InstantMessagingType != null) ? adowaVirtualDirectory.InstantMessagingType.Value : InstantMessagingTypeOptions.None); this.defaultAcceptedDomain = session.GetDefaultAcceptedDomain(); this.publicFoldersEnabledOnThisVdir = (adowaVirtualDirectory.PublicFoldersEnabled ?? false); this.ExpirationTime = DateTime.UtcNow + Configuration.expirationPeriod; OwaDiagnostics.LogEvent(ClientsEventLogConstants.Tuple_ConfigurationSettingsUpdated, string.Empty, new object[] { virtualDirectory, webSiteName }); }
// Token: 0x060003B6 RID: 950 RVA: 0x0001573C File Offset: 0x0001393C internal static ADObject CreateAndInitializeConfigObject <TConfigObject>(ADPropertyBag propertyBag, ADRawEntry dummyObject, IDirectorySession directorySession) where TConfigObject : IConfigurable, new() { ArgumentValidator.ThrowIfNull("propertyBag", propertyBag); MultiValuedProperty <string> multiValuedProperty = (MultiValuedProperty <string>)propertyBag[ADObjectSchema.ObjectClass]; ADObject adobject; if (dummyObject is MiniTopologyServer) { adobject = new MiniTopologyServer(); } else if (dummyObject is MiniVirtualDirectory) { adobject = new MiniVirtualDirectory(); } else if (dummyObject is MiniEmailTransport) { adobject = new MiniEmailTransport(); } else if (dummyObject is MiniReceiveConnector) { adobject = new MiniReceiveConnector(); } else if (multiValuedProperty.Contains(ADWebServicesVirtualDirectory.MostDerivedClass)) { adobject = new ADWebServicesVirtualDirectory(); } else if (multiValuedProperty.Contains(ADE12UMVirtualDirectory.MostDerivedClass)) { adobject = new ADE12UMVirtualDirectory(); } else if (multiValuedProperty.Contains("msExchMobileVirtualDirectory")) { adobject = new ADMobileVirtualDirectory(); } else if (multiValuedProperty.Contains(ADOwaVirtualDirectory.MostDerivedClass)) { adobject = new ADOwaVirtualDirectory(); } else if (multiValuedProperty.Contains(ADRpcHttpVirtualDirectory.MostDerivedClass)) { adobject = new ADRpcHttpVirtualDirectory(); } else if (multiValuedProperty.Contains(ADMapiVirtualDirectory.MostDerivedClass)) { adobject = new ADMapiVirtualDirectory(); } else if (multiValuedProperty.Contains(ADAvailabilityForeignConnectorVirtualDirectory.MostDerivedClass)) { adobject = new ADAvailabilityForeignConnectorVirtualDirectory(); } else if (multiValuedProperty.Contains(ADOabVirtualDirectory.MostDerivedClass)) { adobject = new ADOabVirtualDirectory(); } else if (multiValuedProperty.Contains(ADEcpVirtualDirectory.MostDerivedClass)) { adobject = new ADEcpVirtualDirectory(); } else if (multiValuedProperty.Contains(Pop3AdConfiguration.MostDerivedClass)) { adobject = new Pop3AdConfiguration(); } else if (multiValuedProperty.Contains(Imap4AdConfiguration.MostDerivedClass)) { adobject = new Imap4AdConfiguration(); } else if (multiValuedProperty.Contains("mailGateway")) { if (multiValuedProperty.Contains(SmtpSendConnectorConfig.MostDerivedClass)) { adobject = new SmtpSendConnectorConfig(); } else if (multiValuedProperty.Contains(DeliveryAgentConnector.MostDerivedClass)) { adobject = new DeliveryAgentConnector(); } else if (propertyBag.Contains(ForeignConnectorSchema.DropDirectory)) { adobject = new ForeignConnector(); } else { adobject = new LegacyGatewayConnector(); } } else if (multiValuedProperty.Contains("msExchEdgeSyncEhfConnector")) { adobject = new EdgeSyncEhfConnector(); } else { if (!multiValuedProperty.Contains("msExchEdgeSyncMservConnector")) { return(ADObjectFactory.CreateAndInitializeObject <TConfigObject>(propertyBag, directorySession)); } adobject = new EdgeSyncMservConnector(); } adobject.m_Session = directorySession; adobject.propertyBag = propertyBag; adobject.Initialize(); adobject.ResetChangeTracking(true); if (directorySession != null) { adobject.SetIsReadOnly(directorySession.ReadOnly); } return(adobject); }
// Token: 0x0600095A RID: 2394 RVA: 0x0001FACC File Offset: 0x0001DCCC private VdirConfiguration(ITopologyConfigurationSession session, ADOwaVirtualDirectory owaVirtualDirectory) { AttachmentPolicyLevel treatUnknownTypeAs = ConfigurationBase.AttachmentActionToPolicyLevel(owaVirtualDirectory.ActionForUnknownFileAndMIMETypes); AttachmentPolicy attachmentPolicy = new AttachmentPolicy(owaVirtualDirectory.BlockedFileTypes.ToArray(), owaVirtualDirectory.BlockedMimeTypes.ToArray(), owaVirtualDirectory.ForceSaveFileTypes.ToArray(), owaVirtualDirectory.ForceSaveMimeTypes.ToArray(), owaVirtualDirectory.AllowedFileTypes.ToArray(), owaVirtualDirectory.AllowedMimeTypes.ToArray(), treatUnknownTypeAs, owaVirtualDirectory.DirectFileAccessOnPublicComputersEnabled.Value, owaVirtualDirectory.DirectFileAccessOnPrivateComputersEnabled.Value, owaVirtualDirectory.ForceWacViewingFirstOnPublicComputers.Value, owaVirtualDirectory.ForceWacViewingFirstOnPrivateComputers.Value, owaVirtualDirectory.WacViewingOnPublicComputersEnabled.Value, owaVirtualDirectory.WacViewingOnPrivateComputersEnabled.Value, owaVirtualDirectory.ForceWebReadyDocumentViewingFirstOnPublicComputers.Value, owaVirtualDirectory.ForceWebReadyDocumentViewingFirstOnPrivateComputers.Value, owaVirtualDirectory.WebReadyDocumentViewingOnPublicComputersEnabled.Value, owaVirtualDirectory.WebReadyDocumentViewingOnPrivateComputersEnabled.Value, owaVirtualDirectory.WebReadyFileTypes.ToArray(), owaVirtualDirectory.WebReadyMimeTypes.ToArray(), owaVirtualDirectory.WebReadyDocumentViewingSupportedFileTypes.ToArray(), owaVirtualDirectory.WebReadyDocumentViewingSupportedMimeTypes.ToArray(), owaVirtualDirectory.WebReadyDocumentViewingForAllSupportedTypes.Value); this.formsAuthenticationEnabled = owaVirtualDirectory.InternalAuthenticationMethods.Contains(AuthenticationMethod.Fba); this.windowsAuthenticationEnabled = owaVirtualDirectory.InternalAuthenticationMethods.Contains(AuthenticationMethod.WindowsIntegrated); this.basicAuthenticationEnabled = owaVirtualDirectory.InternalAuthenticationMethods.Contains(AuthenticationMethod.Basic); this.digestAuthenticationEnabled = owaVirtualDirectory.InternalAuthenticationMethods.Contains(AuthenticationMethod.Digest); base.AttachmentPolicy = attachmentPolicy; this.filterWebBeaconsAndHtmlForms = VdirConfiguration.GetWebBeaconFilterLevel(owaVirtualDirectory.FilterWebBeaconsAndHtmlForms); base.DefaultTheme = owaVirtualDirectory.DefaultTheme; int segmentationBits = (int)owaVirtualDirectory[ADOwaVirtualDirectorySchema.ADMailboxFolderSet]; int segmentationBits2 = (int)owaVirtualDirectory[ADOwaVirtualDirectorySchema.ADMailboxFolderSet2]; base.SegmentationFlags = ConfigurationBase.SetSegmentationFlags(segmentationBits, segmentationBits2); if (owaVirtualDirectory.OutboundCharset != null) { base.OutboundCharset = owaVirtualDirectory.OutboundCharset.Value; } if (owaVirtualDirectory.UseGB18030 != null && owaVirtualDirectory.UseGB18030.Value) { base.UseGB18030 = true; } else { base.UseGB18030 = false; } if (owaVirtualDirectory.UseISO885915 != null && owaVirtualDirectory.UseISO885915.Value) { base.UseISO885915 = true; } else { base.UseISO885915 = false; } base.InstantMessagingEnabled = (owaVirtualDirectory.InstantMessagingEnabled ?? false); base.InstantMessagingType = (owaVirtualDirectory.InstantMessagingType ?? InstantMessagingTypeOptions.None); base.InstantMessagingEnabled &= (base.InstantMessagingType == InstantMessagingTypeOptions.Ocs); if (VariantConfiguration.GetSnapshot(MachineSettingsContext.Local, null, null).OwaDeployment.UseVdirConfigForInstantMessaging.Enabled) { this.instantMessagingServerName = owaVirtualDirectory.InstantMessagingServerName; this.instantMessagingCertificateThumbprint = owaVirtualDirectory.InstantMessagingCertificateThumbprint; if (string.IsNullOrWhiteSpace(this.instantMessagingServerName)) { Organization orgContainer = session.GetOrgContainer(); ProtocolConnectionSettings sipaccessService = orgContainer.SIPAccessService; if (sipaccessService == null) { this.instantMessagingServerName = string.Empty; } else { this.instantMessagingServerName = sipaccessService.Hostname.ToString(); } } } base.AllowOfflineOn = owaVirtualDirectory.AllowOfflineOn; base.PlacesEnabled = (owaVirtualDirectory.PlacesEnabled != null && owaVirtualDirectory.PlacesEnabled.Value); base.WeatherEnabled = (owaVirtualDirectory.WeatherEnabled != null && owaVirtualDirectory.WeatherEnabled.Value); base.AllowCopyContactsToDeviceAddressBook = (owaVirtualDirectory.AllowCopyContactsToDeviceAddressBook != null && owaVirtualDirectory.AllowCopyContactsToDeviceAddressBook.Value); base.RecoverDeletedItemsEnabled = (owaVirtualDirectory.RecoverDeletedItemsEnabled != null && owaVirtualDirectory.RecoverDeletedItemsEnabled.Value); this.expirationTime = DateTime.UtcNow + VdirConfiguration.expirationPeriod; }