mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-11-15 18:08:53 -07:00
Merge pull request #10591 from Bond-009/dotnet82
Use new .NET 8 features
This commit is contained in:
commit
2d2d553bbc
@ -48,7 +48,6 @@
|
|||||||
<PackageVersion Include="Microsoft.Extensions.Logging" Version="8.0.0" />
|
<PackageVersion Include="Microsoft.Extensions.Logging" Version="8.0.0" />
|
||||||
<PackageVersion Include="Microsoft.Extensions.Options" Version="8.0.0" />
|
<PackageVersion Include="Microsoft.Extensions.Options" Version="8.0.0" />
|
||||||
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
|
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
|
||||||
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="1.1.1" />
|
|
||||||
<PackageVersion Include="MimeTypes" Version="2.4.0" />
|
<PackageVersion Include="MimeTypes" Version="2.4.0" />
|
||||||
<PackageVersion Include="Mono.Nat" Version="3.0.4" />
|
<PackageVersion Include="Mono.Nat" Version="3.0.4" />
|
||||||
<PackageVersion Include="Moq" Version="4.18.4" />
|
<PackageVersion Include="Moq" Version="4.18.4" />
|
||||||
@ -58,9 +57,9 @@
|
|||||||
<PackageVersion Include="prometheus-net.AspNetCore" Version="8.1.0" />
|
<PackageVersion Include="prometheus-net.AspNetCore" Version="8.1.0" />
|
||||||
<PackageVersion Include="prometheus-net.DotNetRuntime" Version="4.4.0" />
|
<PackageVersion Include="prometheus-net.DotNetRuntime" Version="4.4.0" />
|
||||||
<PackageVersion Include="prometheus-net" Version="8.1.0" />
|
<PackageVersion Include="prometheus-net" Version="8.1.0" />
|
||||||
<PackageVersion Include="Serilog.AspNetCore" Version="7.0.0" />
|
<PackageVersion Include="Serilog.AspNetCore" Version="8.0.0" />
|
||||||
<PackageVersion Include="Serilog.Enrichers.Thread" Version="3.1.0" />
|
<PackageVersion Include="Serilog.Enrichers.Thread" Version="3.1.0" />
|
||||||
<PackageVersion Include="Serilog.Settings.Configuration" Version="7.0.1" />
|
<PackageVersion Include="Serilog.Settings.Configuration" Version="8.0.0" />
|
||||||
<PackageVersion Include="Serilog.Sinks.Async" Version="1.5.0" />
|
<PackageVersion Include="Serilog.Sinks.Async" Version="1.5.0" />
|
||||||
<PackageVersion Include="Serilog.Sinks.Console" Version="5.0.0" />
|
<PackageVersion Include="Serilog.Sinks.Console" Version="5.0.0" />
|
||||||
<PackageVersion Include="Serilog.Sinks.File" Version="5.0.0" />
|
<PackageVersion Include="Serilog.Sinks.File" Version="5.0.0" />
|
||||||
|
@ -41,10 +41,6 @@
|
|||||||
<PackageLicenseExpression>GPL-3.0-only</PackageLicenseExpression>
|
<PackageLicenseExpression>GPL-3.0-only</PackageLicenseExpression>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<!-- Code Analyzers -->
|
<!-- Code Analyzers -->
|
||||||
<ItemGroup Condition=" '$(Configuration)' == 'Debug' ">
|
<ItemGroup Condition=" '$(Configuration)' == 'Debug' ">
|
||||||
<PackageReference Include="IDisposableAnalyzers">
|
<PackageReference Include="IDisposableAnalyzers">
|
||||||
|
@ -551,8 +551,7 @@ namespace Emby.Server.Implementations.Updates
|
|||||||
}
|
}
|
||||||
|
|
||||||
stream.Position = 0;
|
stream.Position = 0;
|
||||||
using var reader = new ZipArchive(stream);
|
ZipFile.ExtractToDirectory(stream, targetDir, true);
|
||||||
reader.ExtractToDirectory(targetDir, true);
|
|
||||||
|
|
||||||
// Ensure we create one or populate existing ones with missing data.
|
// Ensure we create one or populate existing ones with missing data.
|
||||||
await _pluginManager.PopulateManifest(package.PackageInfo, package.Version, targetDir, status).ConfigureAwait(false);
|
await _pluginManager.PopulateManifest(package.PackageInfo, package.Version, targetDir, status).ConfigureAwait(false);
|
||||||
|
@ -23,10 +23,6 @@
|
|||||||
<PackageLicenseExpression>GPL-3.0-only</PackageLicenseExpression>
|
<PackageLicenseExpression>GPL-3.0-only</PackageLicenseExpression>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<!-- Code Analyzers -->
|
<!-- Code Analyzers -->
|
||||||
<ItemGroup Condition=" '$(Configuration)' == 'Debug' ">
|
<ItemGroup Condition=" '$(Configuration)' == 'Debug' ">
|
||||||
<PackageReference Include="IDisposableAnalyzers">
|
<PackageReference Include="IDisposableAnalyzers">
|
||||||
|
@ -21,7 +21,6 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" />
|
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" />
|
||||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" />
|
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" />
|
||||||
<PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
@ -197,37 +197,21 @@ public static partial class NetworkUtils
|
|||||||
/// <returns><c>True</c> if parsing was successful.</returns>
|
/// <returns><c>True</c> if parsing was successful.</returns>
|
||||||
public static bool TryParseToSubnet(ReadOnlySpan<char> value, [NotNullWhen(true)] out IPNetwork? result, bool negated = false)
|
public static bool TryParseToSubnet(ReadOnlySpan<char> value, [NotNullWhen(true)] out IPNetwork? result, bool negated = false)
|
||||||
{
|
{
|
||||||
var splitString = value.Trim().Split('/');
|
value = value.Trim();
|
||||||
if (splitString.MoveNext())
|
if (value.Contains('/'))
|
||||||
{
|
{
|
||||||
var ipBlock = splitString.Current;
|
if (negated && value.StartsWith("!") && IPNetwork.TryParse(value[1..], out result))
|
||||||
var address = IPAddress.None;
|
|
||||||
if (negated && ipBlock.StartsWith("!") && IPAddress.TryParse(ipBlock[1..], out var tmpAddress))
|
|
||||||
{
|
{
|
||||||
address = tmpAddress;
|
|
||||||
}
|
|
||||||
else if (!negated && IPAddress.TryParse(ipBlock, out tmpAddress))
|
|
||||||
{
|
|
||||||
address = tmpAddress;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (address != IPAddress.None)
|
|
||||||
{
|
|
||||||
if (splitString.MoveNext())
|
|
||||||
{
|
|
||||||
var subnetBlock = splitString.Current;
|
|
||||||
if (int.TryParse(subnetBlock, out var netmask))
|
|
||||||
{
|
|
||||||
result = new IPNetwork(address, netmask);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if (IPAddress.TryParse(subnetBlock, out var netmaskAddress))
|
else if (!negated && IPNetwork.TryParse(value, out result))
|
||||||
{
|
{
|
||||||
result = new IPNetwork(address, NetworkUtils.MaskToCidr(netmaskAddress));
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (address.AddressFamily == AddressFamily.InterNetwork)
|
else if (IPAddress.TryParse(value, out var address))
|
||||||
|
{
|
||||||
|
if (address.AddressFamily == AddressFamily.InterNetwork)
|
||||||
{
|
{
|
||||||
result = address.Equals(IPAddress.Any) ? NetworkConstants.IPv4Any : new IPNetwork(address, NetworkConstants.MinimumIPv4PrefixSize);
|
result = address.Equals(IPAddress.Any) ? NetworkConstants.IPv4Any : new IPNetwork(address, NetworkConstants.MinimumIPv4PrefixSize);
|
||||||
return true;
|
return true;
|
||||||
@ -238,7 +222,6 @@ public static partial class NetworkUtils
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
result = null;
|
result = null;
|
||||||
return false;
|
return false;
|
||||||
|
@ -20,7 +20,6 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" />
|
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" />
|
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" />
|
||||||
<PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All" />
|
|
||||||
<PackageReference Include="System.Threading.Tasks.Dataflow" />
|
<PackageReference Include="System.Threading.Tasks.Dataflow" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
@ -34,7 +34,6 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.AspNetCore.HttpOverrides" />
|
<PackageReference Include="Microsoft.AspNetCore.HttpOverrides" />
|
||||||
<PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All" />
|
|
||||||
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" />
|
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" />
|
||||||
<PackageReference Include="MimeTypes">
|
<PackageReference Include="MimeTypes">
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
|
@ -71,7 +71,6 @@ namespace Jellyfin.Networking.Tests
|
|||||||
[InlineData("127.0.0.1/8")]
|
[InlineData("127.0.0.1/8")]
|
||||||
[InlineData("192.168.1.2")]
|
[InlineData("192.168.1.2")]
|
||||||
[InlineData("192.168.1.2/24")]
|
[InlineData("192.168.1.2/24")]
|
||||||
[InlineData("192.168.1.2/255.255.255.0")]
|
|
||||||
[InlineData("fd23:184f:2029:0:3139:7386:67d7:d517")]
|
[InlineData("fd23:184f:2029:0:3139:7386:67d7:d517")]
|
||||||
[InlineData("[fd23:184f:2029:0:3139:7386:67d7:d517]")]
|
[InlineData("[fd23:184f:2029:0:3139:7386:67d7:d517]")]
|
||||||
[InlineData("fe80::7add:12ff:febb:c67b%16")]
|
[InlineData("fe80::7add:12ff:febb:c67b%16")]
|
||||||
@ -103,12 +102,10 @@ namespace Jellyfin.Networking.Tests
|
|||||||
[Theory]
|
[Theory]
|
||||||
[InlineData("192.168.5.85/24", "192.168.5.1")]
|
[InlineData("192.168.5.85/24", "192.168.5.1")]
|
||||||
[InlineData("192.168.5.85/24", "192.168.5.254")]
|
[InlineData("192.168.5.85/24", "192.168.5.254")]
|
||||||
[InlineData("192.168.5.85/255.255.255.0", "192.168.5.254")]
|
|
||||||
[InlineData("10.128.240.50/30", "10.128.240.48")]
|
[InlineData("10.128.240.50/30", "10.128.240.48")]
|
||||||
[InlineData("10.128.240.50/30", "10.128.240.49")]
|
[InlineData("10.128.240.50/30", "10.128.240.49")]
|
||||||
[InlineData("10.128.240.50/30", "10.128.240.50")]
|
[InlineData("10.128.240.50/30", "10.128.240.50")]
|
||||||
[InlineData("10.128.240.50/30", "10.128.240.51")]
|
[InlineData("10.128.240.50/30", "10.128.240.51")]
|
||||||
[InlineData("10.128.240.50/255.255.255.252", "10.128.240.51")]
|
|
||||||
[InlineData("127.0.0.1/8", "127.0.0.1")]
|
[InlineData("127.0.0.1/8", "127.0.0.1")]
|
||||||
public void IPv4SubnetMaskMatchesValidIPAddress(string netMask, string ipAddress)
|
public void IPv4SubnetMaskMatchesValidIPAddress(string netMask, string ipAddress)
|
||||||
{
|
{
|
||||||
@ -124,12 +121,10 @@ namespace Jellyfin.Networking.Tests
|
|||||||
[Theory]
|
[Theory]
|
||||||
[InlineData("192.168.5.85/24", "192.168.4.254")]
|
[InlineData("192.168.5.85/24", "192.168.4.254")]
|
||||||
[InlineData("192.168.5.85/24", "191.168.5.254")]
|
[InlineData("192.168.5.85/24", "191.168.5.254")]
|
||||||
[InlineData("192.168.5.85/255.255.255.252", "192.168.4.254")]
|
|
||||||
[InlineData("10.128.240.50/30", "10.128.240.47")]
|
[InlineData("10.128.240.50/30", "10.128.240.47")]
|
||||||
[InlineData("10.128.240.50/30", "10.128.240.52")]
|
[InlineData("10.128.240.50/30", "10.128.240.52")]
|
||||||
[InlineData("10.128.240.50/30", "10.128.239.50")]
|
[InlineData("10.128.240.50/30", "10.128.239.50")]
|
||||||
[InlineData("10.128.240.50/30", "10.127.240.51")]
|
[InlineData("10.128.240.50/30", "10.127.240.51")]
|
||||||
[InlineData("10.128.240.50/255.255.255.252", "10.127.240.51")]
|
|
||||||
public void IPv4SubnetMaskDoesNotMatchInvalidIPAddress(string netMask, string ipAddress)
|
public void IPv4SubnetMaskDoesNotMatchInvalidIPAddress(string netMask, string ipAddress)
|
||||||
{
|
{
|
||||||
var ipa = IPAddress.Parse(ipAddress);
|
var ipa = IPAddress.Parse(ipAddress);
|
||||||
|
Loading…
Reference in New Issue
Block a user