diff --git a/src/BaseContext.cs b/src/BaseContext.cs index a8db491..ae364ae 100644 --- a/src/BaseContext.cs +++ b/src/BaseContext.cs @@ -157,6 +157,8 @@ private void Dispose(bool disposing) if (disposing) { // TODO: dispose managed state (managed objects) + Timer?.Dispose(); + CancellationTokenSource?.Dispose(); } // TODO: free unmanaged resources (unmanaged objects) and override finalizer diff --git a/src/Producers/LdapProducer.cs b/src/Producers/LdapProducer.cs index c5c602a..cb501b3 100644 --- a/src/Producers/LdapProducer.cs +++ b/src/Producers/LdapProducer.cs @@ -147,10 +147,9 @@ public override async Task Produce() if (searchResult.TryGetDistinguishedName(out var distinguishedName)) { - var lower = distinguishedName.ToLower(); - if (lower.Contains("cn=domainupdates,cn=system")) + if (distinguishedName.Contains("cn=domainupdates,cn=system", StringComparison.OrdinalIgnoreCase)) continue; - if (lower.Contains("cn=policies,cn=system") && (lower.StartsWith("cn=user") || lower.StartsWith("cn=machine"))) + if (distinguishedName.Contains("cn=policies,cn=system", StringComparison.OrdinalIgnoreCase) && (distinguishedName.StartsWith("cn=user", StringComparison.OrdinalIgnoreCase) || distinguishedName.StartsWith("cn=machine", StringComparison.OrdinalIgnoreCase))) continue; await Channel.Writer.WriteAsync(searchResult, cancellationToken); @@ -242,4 +241,4 @@ public override async Task ProduceConfigNC() } } } -} \ No newline at end of file +}