Skip to content

Commit 5f59285

Browse files
committed
feat: add back Clear for legacy IPNetwork
1 parent 22748db commit 5f59285

File tree

4 files changed

+19
-3
lines changed

4 files changed

+19
-3
lines changed

src/DefaultBuilder/src/ForwardedHeadersOptionsSetup.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,10 @@ public void Configure(ForwardedHeadersOptions options)
2727
options.ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto;
2828
// Only loopback proxies are allowed by default. Clear that restriction because forwarders are
2929
// being enabled by explicit configuration.
30+
#pragma warning disable CS0618 // Type or member is obsolete
3031
options.KnownNetworks.Clear();
32+
#pragma warning restore CS0618 // Type or member is obsolete
33+
options.KnownIPNetworks.Clear();
3134
options.KnownProxies.Clear();
3235
}
3336
}

src/Middleware/HttpOverrides/src/ForwardedHeadersOptions.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,14 +84,15 @@ public class ForwardedHeadersOptions
8484

8585
/// <summary>
8686
/// Address ranges of known proxies to accept forwarded headers from.
87+
/// Obsolete, please use <see cref="KnownIPNetworks"/> instead
8788
/// </summary>
8889
[Obsolete("Please use KnownIPNetworks instead")]
89-
public IList<AspNetIPNetwork> KnownNetworks { get; } = new List<AspNetIPNetwork>() { new AspNetIPNetwork(IPAddress.Loopback, 8) };
90+
public IList<AspNetIPNetwork> KnownNetworks { get; } = new List<AspNetIPNetwork>() { new(IPAddress.Loopback, 8) };
9091

9192
/// <summary>
9293
/// Address ranges of known proxies to accept forwarded headers from.
9394
/// </summary>
94-
public IList<IPNetwork> KnownIPNetworks { get; } = new List<IPNetwork>() { new IPNetwork(IPAddress.Loopback, 8) };
95+
public IList<IPNetwork> KnownIPNetworks { get; } = new List<IPNetwork>() { new(IPAddress.Loopback, 8) };
9596

9697
/// <summary>
9798
/// The allowed values from x-forwarded-host. If the list is empty then all hosts are allowed.

src/Middleware/HttpOverrides/test/ForwardedHeadersMiddlewareTest.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,9 @@ public async Task XForwardedForForwardLimit(int limit, string header, string exp
120120
ForwardLimit = limit,
121121
};
122122
options.KnownProxies.Clear();
123+
#pragma warning disable CS0618 // Type or member is obsolete
124+
options.KnownNetworks.Clear();
125+
#pragma warning restore CS0618 // Type or member is obsolete
123126
options.KnownIPNetworks.Clear();
124127
app.UseForwardedHeaders(options);
125128
});
@@ -861,6 +864,9 @@ public async Task XForwardedProtoOverrideLimitedByLoopback(string protoHeader, s
861864
};
862865
if (!loopback)
863866
{
867+
#pragma warning disable CS0618 // Type or member is obsolete
868+
options.KnownNetworks.Clear();
869+
#pragma warning restore CS0618 // Type or member is obsolete
864870
options.KnownIPNetworks.Clear();
865871
options.KnownProxies.Clear();
866872
}
@@ -1134,6 +1140,9 @@ public async Task ForwardersWithDIOptionsRunsOnce(int limit, string header, stri
11341140
{
11351141
options.ForwardedHeaders = ForwardedHeaders.XForwardedProto;
11361142
options.KnownProxies.Clear();
1143+
#pragma warning disable CS0618 // Type or member is obsolete
1144+
options.KnownNetworks.Clear();
1145+
#pragma warning restore CS0618 // Type or member is obsolete
11371146
options.KnownIPNetworks.Clear();
11381147
options.ForwardLimit = limit;
11391148
});
@@ -1176,6 +1185,9 @@ public async Task ForwardersWithDirectOptionsRunsTwice(int limit, string header,
11761185
ForwardLimit = limit,
11771186
};
11781187
options.KnownProxies.Clear();
1188+
#pragma warning disable CS0618 // Type or member is obsolete
1189+
options.KnownNetworks.Clear();
1190+
#pragma warning restore CS0618 // Type or member is obsolete
11791191
options.KnownIPNetworks.Clear();
11801192
app.UseForwardedHeaders(options);
11811193
app.UseForwardedHeaders(options);

src/Middleware/HttpOverrides/test/IPNetworkTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
namespace Microsoft.AspNetCore.HttpOverrides;
66

7-
[System.Obsolete]
7+
[Obsolete("IPNetwork is obsolete")]
88
public class IPNetworkTest
99
{
1010
[Theory]

0 commit comments

Comments
 (0)