mirror of
https://github.com/ryujinx-mirror/ryujinx.git
synced 2024-10-20 12:41:40 +00:00
242e51c7f5
For a strange reason `IPInterfaceProperties.IsDynamicDnsEnabled` returns a `PlatformNotSupported` exception in Linux. This PR fixes this issue with a `try/catch` and set the value to false. Closes #2415.
38 lines
No EOL
1.2 KiB
C#
38 lines
No EOL
1.2 KiB
C#
using System;
|
|
using System.Net.NetworkInformation;
|
|
using System.Runtime.InteropServices;
|
|
|
|
namespace Ryujinx.HLE.HOS.Services.Nifm.StaticService.Types
|
|
{
|
|
[StructLayout(LayoutKind.Sequential, Pack = 1, Size = 9)]
|
|
struct DnsSetting
|
|
{
|
|
[MarshalAs(UnmanagedType.U1)]
|
|
public bool IsDynamicDnsEnabled;
|
|
public IpV4Address PrimaryDns;
|
|
public IpV4Address SecondaryDns;
|
|
|
|
public DnsSetting(IPInterfaceProperties interfaceProperties)
|
|
{
|
|
try
|
|
{
|
|
IsDynamicDnsEnabled = interfaceProperties.IsDynamicDnsEnabled;
|
|
}
|
|
catch (PlatformNotSupportedException)
|
|
{
|
|
IsDynamicDnsEnabled = false;
|
|
}
|
|
|
|
if (interfaceProperties.DnsAddresses.Count == 0)
|
|
{
|
|
PrimaryDns = new IpV4Address();
|
|
SecondaryDns = new IpV4Address();
|
|
}
|
|
else
|
|
{
|
|
PrimaryDns = new IpV4Address(interfaceProperties.DnsAddresses[0]);
|
|
SecondaryDns = new IpV4Address(interfaceProperties.DnsAddresses[interfaceProperties.DnsAddresses.Count > 1 ? 1 : 0]);
|
|
}
|
|
}
|
|
}
|
|
} |