From 45d0b8c778beff06cd88f140f6256a5007df3d0b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Apr 2023 09:52:59 -0700 Subject: [PATCH 1/5] Bump System.IdentityModel.Tokens.Jwt from 6.28.1 to 6.29.0 (#1265) Bumps [System.IdentityModel.Tokens.Jwt](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet) from 6.28.1 to 6.29.0. - [Release notes](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/releases) - [Changelog](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/blob/dev/CHANGELOG.md) - [Commits](https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/compare/6.28.1...6.29.0) --- updated-dependencies: - dependency-name: System.IdentityModel.Tokens.Jwt dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/KubernetesClient.Classic/KubernetesClient.Classic.csproj | 2 +- src/KubernetesClient/KubernetesClient.csproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/KubernetesClient.Classic/KubernetesClient.Classic.csproj b/src/KubernetesClient.Classic/KubernetesClient.Classic.csproj index f913d1b51..f2d803b8c 100644 --- a/src/KubernetesClient.Classic/KubernetesClient.Classic.csproj +++ b/src/KubernetesClient.Classic/KubernetesClient.Classic.csproj @@ -7,7 +7,7 @@ - + diff --git a/src/KubernetesClient/KubernetesClient.csproj b/src/KubernetesClient/KubernetesClient.csproj index 66da7e376..500ee5200 100644 --- a/src/KubernetesClient/KubernetesClient.csproj +++ b/src/KubernetesClient/KubernetesClient.csproj @@ -7,7 +7,7 @@ - + From 81f0752955b759bfdcf5d19021707c59d6595d92 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Apr 2023 09:54:59 -0700 Subject: [PATCH 2/5] Bump System.IO.Abstractions.TestingHelpers from 19.2.8 to 19.2.11 (#1264) Bumps [System.IO.Abstractions.TestingHelpers](https://github.com/TestableIO/System.IO.Abstractions) from 19.2.8 to 19.2.11. - [Release notes](https://github.com/TestableIO/System.IO.Abstractions/releases) - [Commits](https://github.com/TestableIO/System.IO.Abstractions/compare/v19.2.8...v19.2.11) --- updated-dependencies: - dependency-name: System.IO.Abstractions.TestingHelpers dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../KubernetesClient.Classic.Tests.csproj | 2 +- tests/KubernetesClient.Tests/KubernetesClient.Tests.csproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/KubernetesClient.Classic.Tests/KubernetesClient.Classic.Tests.csproj b/tests/KubernetesClient.Classic.Tests/KubernetesClient.Classic.Tests.csproj index fa32b3df8..3e18c003d 100644 --- a/tests/KubernetesClient.Classic.Tests/KubernetesClient.Classic.Tests.csproj +++ b/tests/KubernetesClient.Classic.Tests/KubernetesClient.Classic.Tests.csproj @@ -10,7 +10,7 @@ - + diff --git a/tests/KubernetesClient.Tests/KubernetesClient.Tests.csproj b/tests/KubernetesClient.Tests/KubernetesClient.Tests.csproj index 8849a85ac..b6d2ecdd0 100644 --- a/tests/KubernetesClient.Tests/KubernetesClient.Tests.csproj +++ b/tests/KubernetesClient.Tests/KubernetesClient.Tests.csproj @@ -9,7 +9,7 @@ - + From 0e4338e7500c35c084f9551b3f54221e8ff52394 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Apr 2023 09:56:59 -0700 Subject: [PATCH 3/5] Bump YamlDotNet from 13.0.2 to 13.1.0 (#1268) Bumps [YamlDotNet](https://github.com/aaubry/YamlDotNet) from 13.0.2 to 13.1.0. - [Release notes](https://github.com/aaubry/YamlDotNet/releases) - [Commits](https://github.com/aaubry/YamlDotNet/compare/v13.0.2...v13.1.0) --- updated-dependencies: - dependency-name: YamlDotNet dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/KubernetesClient.Models/KubernetesClient.Models.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/KubernetesClient.Models/KubernetesClient.Models.csproj b/src/KubernetesClient.Models/KubernetesClient.Models.csproj index 3c878a91d..a96a23d78 100644 --- a/src/KubernetesClient.Models/KubernetesClient.Models.csproj +++ b/src/KubernetesClient.Models/KubernetesClient.Models.csproj @@ -13,6 +13,6 @@ - + From 142fd14e251ece32b76b8b2845d9d619f279e7b2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Apr 2023 09:58:58 -0700 Subject: [PATCH 4/5] Bump Autofac from 7.0.0 to 7.0.1 (#1269) Bumps [Autofac](https://github.com/autofac/Autofac) from 7.0.0 to 7.0.1. - [Release notes](https://github.com/autofac/Autofac/releases) - [Commits](https://github.com/autofac/Autofac/compare/v7.0.0...v7.0.1) --- updated-dependencies: - dependency-name: Autofac dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/LibKubernetesGenerator/LibKubernetesGenerator.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/LibKubernetesGenerator/LibKubernetesGenerator.csproj b/src/LibKubernetesGenerator/LibKubernetesGenerator.csproj index 43a12e848..1b4f57e73 100644 --- a/src/LibKubernetesGenerator/LibKubernetesGenerator.csproj +++ b/src/LibKubernetesGenerator/LibKubernetesGenerator.csproj @@ -11,7 +11,7 @@ - + From 729b10c7318793d1c455f7267a6b11d6aed8fed5 Mon Sep 17 00:00:00 2001 From: Marcus Bowyer Date: Tue, 18 Apr 2023 16:36:45 -0700 Subject: [PATCH 5/5] Use the system certificate store if no certificates are specified. (#1261) * Use the system certificate store if no certificates are specified. * Don't use ServerCertificateCustomValidationCallback when no CA is set --- src/KubernetesClient/Kubernetes.ConfigInit.cs | 20 ++++++++--------- .../KubernetesClientConfigurationTests.cs | 14 ++++++++++++ .../assets/kubeconfig.tls-no-skip.yml | 22 +++++++++++++++++++ 3 files changed, 45 insertions(+), 11 deletions(-) create mode 100644 tests/KubernetesClient.Tests/assets/kubeconfig.tls-no-skip.yml diff --git a/src/KubernetesClient/Kubernetes.ConfigInit.cs b/src/KubernetesClient/Kubernetes.ConfigInit.cs index 762b61f61..7fc808b9f 100644 --- a/src/KubernetesClient/Kubernetes.ConfigInit.cs +++ b/src/KubernetesClient/Kubernetes.ConfigInit.cs @@ -72,21 +72,19 @@ private void InitializeFromConfig(KubernetesClientConfiguration config) } else { - if (CaCerts == null) + if (CaCerts != null) { - throw new KubeConfigException("A CA must be set when SkipTlsVerify === false"); - } - #if NET5_0_OR_GREATER - HttpClientHandler.SslOptions.RemoteCertificateValidationCallback = + HttpClientHandler.SslOptions.RemoteCertificateValidationCallback = #else - HttpClientHandler.ServerCertificateCustomValidationCallback = + HttpClientHandler.ServerCertificateCustomValidationCallback = #endif - (sender, certificate, chain, sslPolicyErrors) => - { - return CertificateValidationCallBack(sender, CaCerts, certificate, chain, - sslPolicyErrors); - }; + (sender, certificate, chain, sslPolicyErrors) => + { + return CertificateValidationCallBack(sender, CaCerts, certificate, chain, + sslPolicyErrors); + }; + } } } diff --git a/tests/KubernetesClient.Tests/KubernetesClientConfigurationTests.cs b/tests/KubernetesClient.Tests/KubernetesClientConfigurationTests.cs index ed664fb3c..976844836 100644 --- a/tests/KubernetesClient.Tests/KubernetesClientConfigurationTests.cs +++ b/tests/KubernetesClient.Tests/KubernetesClientConfigurationTests.cs @@ -138,6 +138,20 @@ public void CheckClusterTlsSkipCorrectness() Assert.True(cfg.SkipTlsVerify); } + /// + /// Checks that a KubeConfigException is not thrown when no certificate-authority-data is set and user do not require tls + /// skip + /// + [Fact] + public void CheckClusterTlsNoSkipCorrectness() + { + var fi = new FileInfo("assets/kubeconfig.tls-no-skip.yml"); + var cfg = KubernetesClientConfiguration.BuildConfigFromConfigFile(fi); + Assert.NotNull(cfg.Host); + Assert.Null(cfg.SslCaCerts); + Assert.False(cfg.SkipTlsVerify); + } + /// /// Checks that a KubeConfigException is thrown when the cluster defined in clusters and contexts do not match /// diff --git a/tests/KubernetesClient.Tests/assets/kubeconfig.tls-no-skip.yml b/tests/KubernetesClient.Tests/assets/kubeconfig.tls-no-skip.yml new file mode 100644 index 000000000..fe101ec3f --- /dev/null +++ b/tests/KubernetesClient.Tests/assets/kubeconfig.tls-no-skip.yml @@ -0,0 +1,22 @@ +# Sample file based on https://kubernetes.io/docs/tasks/access-application-cluster/authenticate-across-clusters-kubeconfig/ +# WARNING: File includes minor fixes +--- +current-context: federal-context +apiVersion: v1 +clusters: +- cluster: + insecure-skip-tls-verify: false + server: https://horse.org:443 + name: horse-cluster +contexts: +- context: + cluster: horse-cluster + namespace: chisel-ns + user: green-user + name: federal-context +kind: Config +users: +- name: green-user + user: + password: secret + username: admin