Fix some SafeHandle finalization in System.Net.Security (#72189)
authorStephen Toub <stoub@microsoft.com>
Fri, 15 Jul 2022 19:20:55 +0000 (15:20 -0400)
committerGitHub <noreply@github.com>
Fri, 15 Jul 2022 19:20:55 +0000 (15:20 -0400)
commit32f5873a1d2d72722f29618fd9f1d5556dae8f65
treeee5b2226b88aef9f90d7dccf9ec97d7550dbe10f
parentf281393412758b1345a8dc5073b91f9e950e683d
Fix some SafeHandle finalization in System.Net.Security (#72189)

There's still a lot more, but most of it appears to be inevitable given the current design and public APIs in the library, e.g. SslStreamCertificateContext creating resources it internally stores and not providing any way to explicitly clean them up.
24 files changed:
src/libraries/Common/src/Interop/Windows/SspiCli/SSPIWrapper.cs
src/libraries/Common/src/Interop/Windows/SspiCli/SecuritySafeHandles.cs
src/libraries/Common/tests/System/Net/Capability.Security.cs
src/libraries/Common/tests/System/Net/HttpsTestClient.cs
src/libraries/Common/tests/System/Security/Cryptography/X509Certificates/CertificateAuthority.cs
src/libraries/System.Net.Security/src/System/Net/Security/SslStream.Protocol.cs
src/libraries/System.Net.Security/tests/EnterpriseTests/NegotiateStreamLoopbackTest.cs
src/libraries/System.Net.Security/tests/FunctionalTests/CertificateValidationClientServer.cs
src/libraries/System.Net.Security/tests/FunctionalTests/NegotiateStreamKerberosTest.cs
src/libraries/System.Net.Security/tests/FunctionalTests/NegotiateStreamStreamToStreamTest.cs
src/libraries/System.Net.Security/tests/FunctionalTests/SslStreamAllowRenegotiationTests.cs
src/libraries/System.Net.Security/tests/FunctionalTests/SslStreamConformanceTests.cs
src/libraries/System.Net.Security/tests/FunctionalTests/SslStreamEKUTest.cs
src/libraries/System.Net.Security/tests/FunctionalTests/SslStreamMutualAuthenticationTest.cs
src/libraries/System.Net.Security/tests/FunctionalTests/SslStreamNegotiatedCipherSuiteTest.cs
src/libraries/System.Net.Security/tests/FunctionalTests/SslStreamNetworkStreamTest.cs
src/libraries/System.Net.Security/tests/FunctionalTests/SslStreamSniTest.cs
src/libraries/System.Net.Security/tests/FunctionalTests/SslStreamStreamToStreamTest.cs
src/libraries/System.Net.Security/tests/FunctionalTests/TestConfiguration.cs
src/libraries/System.Net.Security/tests/FunctionalTests/TestHelper.cs
src/libraries/System.Net.Security/tests/FunctionalTests/TransportContextTest.cs
src/libraries/System.Net.Security/tests/UnitTests/NegotiateAuthenticationTests.cs
src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/StorePal.Windows.cs
src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/WindowsInterop.crypt32.cs