private static string GetProvisioningUrl(EdgeSyncEhfConnector connector) { Uri provisioningUrl = connector.ProvisioningUrl; EhfSynchronizationProvider.ValidateProvisioningUrl(provisioningUrl, connector.AuthenticationCredential, connector.DistinguishedName); return(provisioningUrl.AbsoluteUri); }
public static EdgeSyncEhfConnector GetConnector(IConfigurationSession session, EdgeSyncEhfConnectorIdParameter connectorId, Task task) { EdgeSyncEhfConnector connector = null; ADNotificationAdapter.TryRunADOperation(delegate() { if (connectorId != null) { if (connectorId.InternalADObjectId != null) { connector = session.Read <EdgeSyncEhfConnector>(connectorId.InternalADObjectId); return; } } else { connector = Utils.FindEnabledEhfSyncConnector(session, null); } }); if (connector == null) { task.WriteError(new InvalidOperationException("Unable to find EHF connector object"), ErrorCategory.InvalidOperation, null); } return(connector); }
public override void Initialize(EdgeSyncConnector connector) { EdgeSyncEhfConnector connector2 = (EdgeSyncEhfConnector)connector; this.InitializeIdentity(connector2); this.InitializeTargetServerConfig(connector2); }
public EhfTargetServerConfig(EdgeSyncEhfConnector connector, Uri internetWebProxy) : base(connector.Name, EhfTargetServerConfig.GetProvisioningUrl(connector), connector.PrimaryLeaseLocation, connector.BackupLeaseLocation) { this.internetWebProxy = internetWebProxy; this.userName = null; this.password = null; if (connector.AuthenticationCredential != null) { this.userName = connector.AuthenticationCredential.UserName; this.password = connector.AuthenticationCredential.Password; } this.version = connector.Version; this.adminSyncEnabled = connector.AdminSyncEnabled; this.resellerId = EhfSynchronizationProvider.GetResellerId(connector); this.ehfSyncAppConfig = new EhfSyncAppConfig(); }
public static int GetResellerId(EdgeSyncEhfConnector connector) { int result; if (!int.TryParse(connector.ResellerId, out result)) { string text = string.Format(CultureInfo.InvariantCulture, "EHF connector <{0}> conatins invalid Reseller ID <{1}>; reseller ID must be an integer value", new object[] { connector.DistinguishedName, connector.ResellerId ?? "null" }); EhfSynchronizationProvider.tracer.TraceError <string>((long)connector.GetHashCode(), "{0}", text); throw new ExDirectoryException(new FormatException(text)); } return(result); }
internal override bool ReadConnectorLeasePath(IConfigurationSession session, ADObjectId rootId, out string primaryLeasePath, out string backupLeasePath, out bool hasOneConnectorEnabledInCurrentForest) { string text; backupLeasePath = (text = null); primaryLeasePath = text; hasOneConnectorEnabledInCurrentForest = false; EdgeSyncEhfConnector edgeSyncEhfConnector = base.FindSiteEdgeSyncConnector <EdgeSyncEhfConnector>(session, rootId, out hasOneConnectorEnabledInCurrentForest); if (edgeSyncEhfConnector == null) { return(false); } primaryLeasePath = Path.Combine(edgeSyncEhfConnector.PrimaryLeaseLocation, "ehf.lease"); backupLeasePath = Path.Combine(edgeSyncEhfConnector.BackupLeaseLocation, "ehf.lease"); return(true); }
private void InitializeTargetServerConfig(EdgeSyncEhfConnector connector) { EhfTargetServerConfig ehfTargetServerConfig = new EhfTargetServerConfig(connector, EdgeSyncSvc.EdgeSync.Topology.LocalServer.InternetWebProxy); this.targetServerConfigs = new List <TargetServerConfig>(1); this.targetServerConfigs.Add(ehfTargetServerConfig); this.ehfWebServiceVersion = ehfTargetServerConfig.EhfWebServiceVersion; this.adminSyncInterval = ehfTargetServerConfig.EhfSyncAppConfig.EhfAdminSyncInterval; this.adminSyncErrorTracker.Initialize(ehfTargetServerConfig.EhfSyncAppConfig); EhfSynchronizationProvider.tracer.TraceDebug((long)this.GetHashCode(), "Initialized target server configuration for connector: <{0}> ProvisioningUrl: <{1}> PrimaryLeaseLocation: <{2}> BackupLeaseLocation: <{3}> Version: <{4}>", new object[] { ehfTargetServerConfig.Name, ehfTargetServerConfig.ProvisioningUrl, ehfTargetServerConfig.PrimaryLeaseLocation, ehfTargetServerConfig.BackupLeaseLocation, connector.Version }); }
private void InitializeIdentity(EdgeSyncEhfConnector connector) { ADObjectId id = connector.Id; if (id.Depth > 2) { string name = id.AncestorDN(2).Name; this.identity = string.Format(CultureInfo.InvariantCulture, "{0}\\{1}", new object[] { name, connector.Name }); } else { this.identity = id.DistinguishedName; } EhfSynchronizationProvider.tracer.TraceDebug <string, string>((long)this.GetHashCode(), "Initialized provider identity to <{0}> based on the connector DN <{1}>", this.identity, id.DistinguishedName); }
public EdgeSyncEhfConnectorIdParameter(EdgeSyncEhfConnector connector) : base(connector.Id) { }
// 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); }