|
@@ -1047,53 +1047,47 @@ namespace Jellyfin.Networking.Manager
|
|
// populate interface address list
|
|
// populate interface address list
|
|
foreach (UnicastIPAddressInformation info in ipProperties.UnicastAddresses)
|
|
foreach (UnicastIPAddressInformation info in ipProperties.UnicastAddresses)
|
|
{
|
|
{
|
|
- if (info.Address.AddressFamily == AddressFamily.InterNetwork)
|
|
|
|
|
|
+ if (IsIP4Enabled && info.Address.AddressFamily == AddressFamily.InterNetwork)
|
|
{
|
|
{
|
|
- if (IsIP4Enabled)
|
|
|
|
|
|
+ IPNetAddress nw = new IPNetAddress(info.Address, IPObject.MaskToCidr(info.IPv4Mask))
|
|
{
|
|
{
|
|
- IPNetAddress nw = new IPNetAddress(info.Address, IPObject.MaskToCidr(info.IPv4Mask))
|
|
|
|
- {
|
|
|
|
- // Keep the number of gateways on this interface, along with its index.
|
|
|
|
- Tag = ipProperties.GetIPv4Properties().Index
|
|
|
|
- };
|
|
|
|
-
|
|
|
|
- int tag = nw.Tag;
|
|
|
|
- if (ipProperties.GatewayAddresses.Count > 0 && !nw.IsLoopback())
|
|
|
|
- {
|
|
|
|
- // -ve Tags signify the interface has a gateway.
|
|
|
|
- nw.Tag *= -1;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- _interfaceAddresses.AddItem(nw);
|
|
|
|
-
|
|
|
|
- // Store interface name so we can use the name in Collections.
|
|
|
|
- _interfaceNames[adapter.Description.ToLower(CultureInfo.InvariantCulture)] = tag;
|
|
|
|
- _interfaceNames["eth" + tag.ToString(CultureInfo.InvariantCulture)] = tag;
|
|
|
|
|
|
+ // Keep the number of gateways on this interface, along with its index.
|
|
|
|
+ Tag = ipProperties.GetIPv4Properties().Index
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ int tag = nw.Tag;
|
|
|
|
+ if (ipProperties.GatewayAddresses.Count > 0 && !nw.IsLoopback())
|
|
|
|
+ {
|
|
|
|
+ // -ve Tags signify the interface has a gateway.
|
|
|
|
+ nw.Tag *= -1;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ _interfaceAddresses.AddItem(nw);
|
|
|
|
+
|
|
|
|
+ // Store interface name so we can use the name in Collections.
|
|
|
|
+ _interfaceNames[adapter.Description.ToLower(CultureInfo.InvariantCulture)] = tag;
|
|
|
|
+ _interfaceNames["eth" + tag.ToString(CultureInfo.InvariantCulture)] = tag;
|
|
}
|
|
}
|
|
- else if (info.Address.AddressFamily == AddressFamily.InterNetworkV6)
|
|
|
|
|
|
+ else if (IsIP6Enabled && info.Address.AddressFamily == AddressFamily.InterNetworkV6)
|
|
{
|
|
{
|
|
- if (IsIP6Enabled)
|
|
|
|
|
|
+ IPNetAddress nw = new IPNetAddress(info.Address, (byte)info.PrefixLength)
|
|
{
|
|
{
|
|
- IPNetAddress nw = new IPNetAddress(info.Address, (byte)info.PrefixLength)
|
|
|
|
- {
|
|
|
|
- // Keep the number of gateways on this interface, along with its index.
|
|
|
|
- Tag = ipProperties.GetIPv6Properties().Index
|
|
|
|
- };
|
|
|
|
-
|
|
|
|
- int tag = nw.Tag;
|
|
|
|
- if (ipProperties.GatewayAddresses.Count > 0 && !nw.IsLoopback())
|
|
|
|
- {
|
|
|
|
- // -ve Tags signify the interface has a gateway.
|
|
|
|
- nw.Tag *= -1;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- _interfaceAddresses.AddItem(nw);
|
|
|
|
-
|
|
|
|
- // Store interface name so we can use the name in Collections.
|
|
|
|
- _interfaceNames[adapter.Description.ToLower(CultureInfo.InvariantCulture)] = tag;
|
|
|
|
- _interfaceNames["eth" + tag.ToString(CultureInfo.InvariantCulture)] = tag;
|
|
|
|
|
|
+ // Keep the number of gateways on this interface, along with its index.
|
|
|
|
+ Tag = ipProperties.GetIPv6Properties().Index
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ int tag = nw.Tag;
|
|
|
|
+ if (ipProperties.GatewayAddresses.Count > 0 && !nw.IsLoopback())
|
|
|
|
+ {
|
|
|
|
+ // -ve Tags signify the interface has a gateway.
|
|
|
|
+ nw.Tag *= -1;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ _interfaceAddresses.AddItem(nw);
|
|
|
|
+
|
|
|
|
+ // Store interface name so we can use the name in Collections.
|
|
|
|
+ _interfaceNames[adapter.Description.ToLower(CultureInfo.InvariantCulture)] = tag;
|
|
|
|
+ _interfaceNames["eth" + tag.ToString(CultureInfo.InvariantCulture)] = tag;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|