Skip to content

Commit db2c6df

Browse files
committed
remove most net452 related code
1 parent f59c13d commit db2c6df

10 files changed

+18
-116
lines changed

src/KubernetesClient/Kubernetes.ConfigInit.cs

Lines changed: 0 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -96,68 +96,22 @@ private void InitializeFromConfig(KubernetesClientConfiguration config)
9696
{
9797
if (config.SkipTlsVerify)
9898
{
99-
#if NET452
100-
((WebRequestHandler)HttpClientHandler).ServerCertificateValidationCallback =
101-
(sender, certificate, chain, sslPolicyErrors) => true;
102-
#elif XAMARINIOS1_0 || MONOANDROID8_1
103-
System.Net.ServicePointManager.ServerCertificateValidationCallback +=
104-
(sender, certificate, chain, sslPolicyErrors) =>
105-
{
106-
return true;
107-
};
108-
#else
10999
HttpClientHandler.ServerCertificateCustomValidationCallback =
110100
(sender, certificate, chain, sslPolicyErrors) => true;
111-
#endif
112101
}
113102
else
114103
{
115104
if (CaCerts == null)
116105
{
117106
throw new KubeConfigException("A CA must be set when SkipTlsVerify === false");
118107
}
119-
#if NET452
120-
((WebRequestHandler)HttpClientHandler).ServerCertificateValidationCallback =
121-
(sender, certificate, chain, sslPolicyErrors) =>
122-
{
123-
return Kubernetes.CertificateValidationCallBack(sender, CaCerts, certificate, chain, sslPolicyErrors);
124-
};
125-
#elif XAMARINIOS1_0
126-
System.Net.ServicePointManager.ServerCertificateValidationCallback +=
127-
(sender, certificate, chain, sslPolicyErrors) =>
128-
{
129-
var cert
130-
= new X509Certificate2(certificate);
131-
return Kubernetes.CertificateValidationCallBack(sender, CaCerts, cert, chain, sslPolicyErrors);
132-
};
133-
#elif MONOANDROID8_1
134-
var certList = new System.Collections.Generic.List<Java.Security.Cert.Certificate>();
135-
136-
foreach (X509Certificate2 caCert in CaCerts)
137-
{
138-
using (var certStream
139-
= new System.IO.MemoryStream(caCert.RawData))
140-
{
141-
Java.Security.Cert.Certificate cert
142-
= Java.Security.Cert.CertificateFactory.GetInstance("X509").GenerateCertificate(certStream);
143-
144-
certList.Add(cert);
145-
}
146-
}
147-
148-
var handler
149-
= (Xamarin.Android.Net.AndroidClientHandler)this.HttpClientHandler;
150108

151-
handler.TrustedCerts
152-
= certList;
153-
#else
154109
HttpClientHandler.ServerCertificateCustomValidationCallback =
155110
(sender, certificate, chain, sslPolicyErrors) =>
156111
{
157112
return Kubernetes.CertificateValidationCallBack(sender, CaCerts, certificate, chain,
158113
sslPolicyErrors);
159114
};
160-
#endif
161115
}
162116
}
163117

@@ -172,9 +126,6 @@ var handler
172126

173127
partial void CustomInitialize()
174128
{
175-
#if NET452
176-
ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12;
177-
#endif
178129
DeserializationSettings.Converters.Add(new V1Status.V1StatusObjectViewConverter());
179130
}
180131

src/KubernetesClient/Kubernetes.WebSocket.cs

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,7 @@
77
using System.Net;
88
using System.Net.Http;
99
using System.Net.WebSockets;
10-
#if (NET452 || NETSTANDARD2_0)
1110
using System.Net.Security;
12-
#endif
1311
using System.Security.Cryptography.X509Certificates;
1412
using System.Threading;
1513
using System.Threading.Tasks;
@@ -292,11 +290,7 @@ protected async Task<WebSocket> StreamConnectAsync(Uri uri, string invocationId
292290
}
293291

294292
// Set Credentials
295-
#if NET452
296-
foreach (var cert in ((WebRequestHandler)this.HttpClientHandler).ClientCertificates.OfType<X509Certificate2>())
297-
#else
298293
foreach (var cert in this.HttpClientHandler.ClientCertificates.OfType<X509Certificate2>())
299-
#endif
300294
{
301295
webSocketBuilder.AddClientCertificate(cert);
302296
}
@@ -313,14 +307,14 @@ protected async Task<WebSocket> StreamConnectAsync(Uri uri, string invocationId
313307
}
314308
}
315309

316-
#if (NET452 || NETSTANDARD2_0)
310+
#if (NETSTANDARD2_0)
317311
if (this.CaCerts != null)
318312
{
319313
webSocketBuilder.SetServerCertificateValidationCallback(this.ServerCertificateValidationCallback);
320314
}
321315
#endif
322316

323-
#if NETCOREAPP2_1
317+
#if NETSTANDARD2_1
324318
if (this.CaCerts != null)
325319
{
326320
webSocketBuilder.ExpectServerCertificate(this.CaCerts);
@@ -335,7 +329,7 @@ protected async Task<WebSocket> StreamConnectAsync(Uri uri, string invocationId
335329
{
336330
webSocketBuilder.Options.AddSubProtocol(webSocketSubProtocol);
337331
}
338-
#endif // NETCOREAPP2_1
332+
#endif // NETSTANDARD2_1
339333

340334
// Send Request
341335
cancellationToken.ThrowIfCancellationRequested();
@@ -407,7 +401,7 @@ protected async Task<WebSocket> StreamConnectAsync(Uri uri, string invocationId
407401
ServiceClientTracing.Exit(invocationId, null);
408402
}
409403

410-
#if (NET452 || NETSTANDARD2_0)
404+
#if (NETSTANDARD2_0)
411405
if (this.CaCerts != null)
412406
{
413407
webSocketBuilder.CleanupServerCertificateValidationCallback(
@@ -419,7 +413,7 @@ protected async Task<WebSocket> StreamConnectAsync(Uri uri, string invocationId
419413
return webSocket;
420414
}
421415

422-
#if (NET452 || NETSTANDARD2_0)
416+
#if (NETSTANDARD2_0)
423417
internal bool ServerCertificateValidationCallback(object sender, X509Certificate certificate, X509Chain chain,
424418
SslPolicyErrors sslPolicyErrors)
425419
{
Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<Authors>The Kubernetes Project Authors</Authors>
44
<Copyright>2017 The Kubernetes Project Authors</Copyright>
@@ -9,9 +9,7 @@
99
<PackageIconUrl>https://raw.githubusercontent.com/kubernetes/kubernetes/master/logo/logo.png</PackageIconUrl>
1010
<PackageTags>kubernetes;docker;containers;</PackageTags>
1111

12-
<LangVersion>7.3</LangVersion>
13-
<TargetFrameworks>netstandard2.0;net452;netcoreapp2.1</TargetFrameworks>
14-
<TargetFrameworks Condition="'$(OS)' != 'Windows_NT'">netstandard2.0;netcoreapp2.1</TargetFrameworks>
12+
<TargetFrameworks>netstandard2.0;netstandard2.1;</TargetFrameworks>
1513
<RootNamespace>k8s</RootNamespace>
1614
<SignAssembly>true</SignAssembly>
1715
<AssemblyOriginatorKeyFile>kubernetes-client.snk</AssemblyOriginatorKeyFile>
@@ -27,24 +25,13 @@
2725
</PropertyGroup>
2826

2927
<ItemGroup>
30-
<PackageReference Include="AutoMapper" Version="7.0.1" Condition="'$(TargetFramework)' == 'net452'" />
31-
<PackageReference Include="AutoMapper" Version="9.0.0" Condition="'$(TargetFramework)' != 'net452'" />
28+
<PackageReference Include="AutoMapper" Version="9.0.0" />
3229
<PackageReference Include="Fractions" Version="4.0.1" />
3330
<PackageReference Include="Nerdbank.GitVersioning" Version="3.3.37" PrivateAssets="all" />
3431
<PackageReference Include="Portable.BouncyCastle" Version="1.8.1.3" />
35-
<PackageReference Include="Microsoft.Rest.ClientRuntime" Version="2.3.10" />
36-
<PackageReference Include="Newtonsoft.Json" Version="9.0.1" Condition="'$(TargetFramework)' != 'netstandard2.0' and '$(TargetFramework)' != 'netcoreapp2.1'" />
37-
<PackageReference Include="Newtonsoft.Json" Version="12.0.2" Condition="'$(TargetFramework)' == 'netstandard2.0' or '$(TargetFramework)' == 'netcoreapp2.1'" />
38-
<PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" Condition="'$(TargetFramework)' == 'net452'" />
32+
<PackageReference Include="Microsoft.Rest.ClientRuntime" Version="2.3.22" />
3933
<PackageReference Include="YamlDotNet" Version="8.1.2" />
40-
<PackageReference Include="System.Buffers" Version="4.5.1" Condition="'$(TargetFramework)' != 'netcoreapp2.1'" />
4134
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All" />
35+
<PackageReference Include="System.Buffers" Version="4.5.1" />
4236
</ItemGroup>
43-
<ItemGroup Condition="'$(TargetFramework)' == 'net452'">
44-
<Reference Include="System.Runtime.InteropServices" />
45-
<Reference Include="System.Net.Http" />
46-
<Reference Include="System.Net.Http.WebRequest" />
47-
<PackageReference Include="System.ValueTuple" Version="4.5.0" />
48-
</ItemGroup>
49-
5037
</Project>

src/KubernetesClient/KubernetesClientConfiguration.ConfigFile.cs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -345,13 +345,7 @@ private void SetUserDetails(K8SConfiguration k8SConfig, Context activeContext)
345345
{
346346
var expiresOn = int.Parse(config["expires-on"]);
347347
DateTimeOffset expires;
348-
#if NET452
349-
var epoch = new DateTimeOffset(1970, 1, 1, 0, 0, 0, TimeSpan.Zero);
350-
expires
351-
= epoch.AddSeconds(expiresOn);
352-
#else
353348
expires = DateTimeOffset.FromUnixTimeSeconds(expiresOn);
354-
#endif
355349

356350
if (DateTimeOffset.Compare(
357351
expires,

src/KubernetesClient/KubernetesClientConfiguration.HttpClientHandler.cs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ public HttpClientHandler CreateDefaultHttpClientHandler()
99
{
1010
var httpClientHandler = new HttpClientHandler();
1111

12-
#if !NET452
1312
var uriScheme = new Uri(this.Host).Scheme;
1413

1514
if (uriScheme == "https")
@@ -29,7 +28,6 @@ public HttpClientHandler CreateDefaultHttpClientHandler()
2928
};
3029
}
3130
}
32-
#endif
3331

3432
AddCertificates(httpClientHandler);
3533

@@ -45,11 +43,7 @@ public void AddCertificates(HttpClientHandler handler)
4543
{
4644
var cert = CertUtils.GeneratePfx(this);
4745

48-
#if NET452
49-
((WebRequestHandler)handler).ClientCertificates.Add(cert);
50-
#else
5146
handler.ClientCertificates.Add(cert);
52-
#endif
5347
}
5448
}
5549

src/KubernetesClient/Versioning/VersionConverter.cs

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -152,11 +152,7 @@ private static void ManualConfigurations(IMapperConfigurationExpression cfg)
152152
cfg.CreateMap<V2beta1ResourceMetricSource, V2beta2MetricTarget>()
153153
.ForMember(dest => dest.AverageValue, opt => opt.MapFrom(src => src.TargetAverageValue))
154154
.ForMember(dest => dest.Value, opt => opt.Ignore())
155-
#if NET452
156-
.ForMember(dest => dest.Type, opt => opt.ResolveUsing(src => src.TargetAverageValue != null ? "AverageValue" : "Utilization"))
157-
#else
158155
.ForMember(dest => dest.Type, opt => opt.MapFrom((src, dest) => src.TargetAverageValue != null ? "AverageValue" : "Utilization"))
159-
#endif
160156
.ForMember(dest => dest.AverageUtilization, opt => opt.MapFrom(src => src.TargetAverageUtilization));
161157
cfg.CreateMap<V2beta1ResourceMetricSource, V2beta2ResourceMetricSource>()
162158
.ForMember(dest => dest.Target, opt => opt.MapFrom(src => src));
@@ -183,11 +179,7 @@ private static void ManualConfigurations(IMapperConfigurationExpression cfg)
183179
.ReverseMap();
184180
cfg.CreateMap<V2beta1PodsMetricSource, V2beta2MetricTarget>()
185181
.ForMember(dest => dest.AverageValue, opt => opt.MapFrom(src => src.TargetAverageValue))
186-
#if NET452
187-
.ForMember(dest => dest.Type, opt => opt.UseValue("AverageValue"))
188-
#else
189182
.ForMember(dest => dest.Type, opt => opt.MapFrom((src, dest) => "AverageValue"))
190-
#endif
191183
.ForMember(dest => dest.Value, opt => opt.Ignore())
192184
.ForMember(dest => dest.AverageUtilization, opt => opt.Ignore());
193185
cfg.CreateMap<V2beta1PodsMetricSource, V2beta2PodsMetricSource>()
@@ -220,11 +212,7 @@ private static void ManualConfigurations(IMapperConfigurationExpression cfg)
220212
.ForMember(x => x.Value, opt => opt.MapFrom(src => src.TargetValue))
221213
.ForMember(x => x.AverageValue, opt => opt.MapFrom(src => src.TargetAverageValue))
222214
.ForMember(x => x.AverageUtilization, opt => opt.Ignore())
223-
#if NET452
224-
.ForMember(x => x.Type, opt => opt.ResolveUsing(src => src.TargetValue != null ? "Value" : "AverageValue"));
225-
#else
226215
.ForMember(x => x.Type, opt => opt.MapFrom((src, dest) => src.TargetValue != null ? "Value" : "AverageValue"));
227-
#endif
228216
cfg.CreateMap<V2beta1ExternalMetricSource, V2beta2ExternalMetricSource>()
229217
.ForMember(x => x.Metric, opt => opt.MapFrom(src => src))
230218
.ForMember(x => x.Target, opt => opt.MapFrom(src => src));
@@ -254,11 +242,7 @@ private static void ManualConfigurations(IMapperConfigurationExpression cfg)
254242
.ForMember(dest => dest.Value, opt => opt.MapFrom(src => src.TargetValue))
255243
.ForMember(dest => dest.AverageUtilization, opt => opt.Ignore())
256244
.ForMember(dest => dest.AverageValue, opt => opt.MapFrom(src => src.AverageValue))
257-
#if NET452
258-
.ForMember(dest => dest.Type, opt => opt.ResolveUsing(src => src.TargetValue != null ? "Value" : "AverageValue"));
259-
#else
260245
.ForMember(dest => dest.Type, opt => opt.MapFrom((src, dest) => src.TargetValue != null ? "Value" : "AverageValue"));
261-
#endif
262246
cfg.CreateMap<V2beta1ObjectMetricSource, V2beta2ObjectMetricSource>()
263247
.ForMember(dest => dest.Metric, opt => opt.MapFrom(src => src))
264248
.ForMember(dest => dest.Target, opt => opt.MapFrom(src => src))

src/KubernetesClient/WebSocketBuilder.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
using System;
22
using System.Net.WebSockets;
3-
#if (NET452 || NETSTANDARD2_0)
43
using System.Net.Security;
5-
#endif
64
using System.Security.Cryptography.X509Certificates;
75
using System.Threading;
86
using System.Threading.Tasks;
@@ -38,7 +36,7 @@ public virtual WebSocketBuilder AddClientCertificate(X509Certificate2 certificat
3836
return this;
3937
}
4038

41-
#if (NET452 || NETSTANDARD2_0)
39+
#if (NETSTANDARD2_0)
4240
public WebSocketBuilder SetServerCertificateValidationCallback(
4341
RemoteCertificateValidationCallback validationCallback)
4442
{
@@ -52,7 +50,7 @@ public void CleanupServerCertificateValidationCallback(RemoteCertificateValidati
5250
}
5351
#endif
5452

55-
#if NETCOREAPP2_1
53+
#if NETSTANDARD2_1
5654
public WebSocketBuilder ExpectServerCertificate(X509Certificate2Collection serverCertificate)
5755
{
5856
Options.RemoteCertificateValidationCallback
@@ -72,7 +70,7 @@ public WebSocketBuilder SkipServerCertificateValidation()
7270
return this;
7371
}
7472

75-
#endif // NETCOREAPP2_1
73+
#endif // NETSTANDARD2_1
7674

7775
public virtual async Task<WebSocket> BuildAndConnectAsync(Uri uri, CancellationToken cancellationToken)
7876
{

tests/KubernetesClient.Tests/AuthTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ public void BasicAuth()
165165
}
166166
}
167167

168-
#if NETCOREAPP2_1 // The functionality under test, here, is dependent on managed HTTP / WebSocket in .NET Core 2.1 or newer.
168+
#if NETSTANDARD2_1 // The functionality under test, here, is dependent on managed HTTP / WebSocket in .NET Core 2.1 or newer.
169169
// this test doesn't work on OSX and is inconsistent on windows
170170
[OperatingSystemDependentFact(Exclude = OperatingSystem.OSX | OperatingSystem.Windows)]
171171
public void Cert()
@@ -338,7 +338,7 @@ public void ExternalCertificate()
338338
}
339339
}
340340
}
341-
#endif // NETCOREAPP2_1
341+
#endif // NETSTANDARD2_1
342342

343343
[Fact]
344344
public void ExternalToken()

tests/KubernetesClient.Tests/KubernetesExecTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#if !NETCOREAPP2_1
1+
#if !NETSTANDARD2_1
22
/*
33
* These tests are only for the netstandard version of the client (there are separate tests for netcoreapp that connect to a local test-hosted server).
44
*/

tests/KubernetesClient.Tests/Mock/MockWebSocketBuilder.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#if !NETCOREAPP2_1
1+
#if !NETSTANDARD2_1
22
using System;
33
using System.Collections.Generic;
44
using System.Collections.ObjectModel;
@@ -43,4 +43,4 @@ public override WebSocketBuilder SetRequestHeader(string headerName, string head
4343
}
4444
}
4545

46-
#endif // !NETCOREAPP2_1
46+
#endif // !NETSTANDARD2_1

0 commit comments

Comments
 (0)