mirror of
				https://github.com/jellyfin/jellyfin.git
				synced 2025-11-02 18:47:18 -05:00 
			
		
		
		
	improve network address detection
This commit is contained in:
		
							parent
							
								
									87c9f26e65
								
							
						
					
					
						commit
						6fe933fde4
					
				@ -198,6 +198,12 @@ namespace Emby.Common.Implementations.Networking
 | 
				
			|||||||
            return Dns.GetHostAddressesAsync(hostName);
 | 
					            return Dns.GetHostAddressesAsync(hostName);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        private readonly List<NetworkInterfaceType> _validNetworkInterfaceTypes = new List<NetworkInterfaceType>
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            NetworkInterfaceType.Ethernet,
 | 
				
			||||||
 | 
					            NetworkInterfaceType.Wireless80211
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private List<IPAddress> GetIPsDefault()
 | 
					        private List<IPAddress> GetIPsDefault()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            NetworkInterface[] interfaces;
 | 
					            NetworkInterface[] interfaces;
 | 
				
			||||||
@ -223,9 +229,22 @@ namespace Emby.Common.Implementations.Networking
 | 
				
			|||||||
                {
 | 
					                {
 | 
				
			||||||
                    Logger.Debug("Querying interface: {0}. Type: {1}. Status: {2}", network.Name, network.NetworkInterfaceType, network.OperationalStatus);
 | 
					                    Logger.Debug("Querying interface: {0}. Type: {1}. Status: {2}", network.Name, network.NetworkInterfaceType, network.OperationalStatus);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    var properties = network.GetIPProperties();
 | 
					                    var ipProperties = network.GetIPProperties();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    return properties.UnicastAddresses
 | 
					                    // Try to exclude virtual adapters
 | 
				
			||||||
 | 
					                    // http://stackoverflow.com/questions/8089685/c-sharp-finding-my-machines-local-ip-address-and-not-the-vms
 | 
				
			||||||
 | 
					                    var addr = ipProperties.GatewayAddresses.FirstOrDefault();
 | 
				
			||||||
 | 
					                    if (addr == null|| string.Equals(addr.Address.ToString(), "0.0.0.0", StringComparison.OrdinalIgnoreCase))
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        return new List<IPAddress>();
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    //if (!_validNetworkInterfaceTypes.Contains(network.NetworkInterfaceType))
 | 
				
			||||||
 | 
					                    //{
 | 
				
			||||||
 | 
					                    //    return new List<IPAddress>();
 | 
				
			||||||
 | 
					                    //}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    return ipProperties.UnicastAddresses
 | 
				
			||||||
                        .Where(i => i.IsDnsEligible)
 | 
					                        .Where(i => i.IsDnsEligible)
 | 
				
			||||||
                        .Select(i => i.Address)
 | 
					                        .Select(i => i.Address)
 | 
				
			||||||
                        .Where(i => i.AddressFamily == AddressFamily.InterNetwork)
 | 
					                        .Where(i => i.AddressFamily == AddressFamily.InterNetwork)
 | 
				
			||||||
 | 
				
			|||||||
@ -37,5 +37,10 @@
 | 
				
			|||||||
    <ProjectReference Include="..\..\ServiceStack\ServiceStack.csproj" />
 | 
					    <ProjectReference Include="..\..\ServiceStack\ServiceStack.csproj" />
 | 
				
			||||||
    <ProjectReference Include="..\..\SocketHttpListener.Portable\SocketHttpListener.Portable.csproj" />
 | 
					    <ProjectReference Include="..\..\SocketHttpListener.Portable\SocketHttpListener.Portable.csproj" />
 | 
				
			||||||
  </ItemGroup>
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					  <ItemGroup>
 | 
				
			||||||
 | 
					    <Compile Include="..\..\SharedVersion.cs">
 | 
				
			||||||
 | 
					      <Link>Properties\SharedVersion.cs</Link>
 | 
				
			||||||
 | 
					    </Compile>
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
  <Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.targets" Condition="'$(VSToolsPath)' != ''" />
 | 
					  <Import Project="$(VSToolsPath)\DotNet\Microsoft.DotNet.targets" Condition="'$(VSToolsPath)' != ''" />
 | 
				
			||||||
</Project>
 | 
					</Project>
 | 
				
			||||||
@ -1,5 +1,5 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "version": "1.0.0-*",
 | 
					  "version": "3.1.0-*",
 | 
				
			||||||
  "buildOptions": {
 | 
					  "buildOptions": {
 | 
				
			||||||
    "emitEntryPoint": true
 | 
					    "emitEntryPoint": true
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
@ -33,8 +33,26 @@
 | 
				
			|||||||
    "win10-arm64": {},
 | 
					    "win10-arm64": {},
 | 
				
			||||||
    "osx.10.10-x64": {},
 | 
					    "osx.10.10-x64": {},
 | 
				
			||||||
    "osx.10.11-x64": {},
 | 
					    "osx.10.11-x64": {},
 | 
				
			||||||
    "osx.10.12-x64": {},
 | 
					    "osx.10.12-x64": ,
 | 
				
			||||||
    "ubuntu.14.04-x64": {}
 | 
					    "rhel.7.0-x64": {},
 | 
				
			||||||
 | 
					    "rhel.7.1-x64": {},
 | 
				
			||||||
 | 
					    "rhel.7.2-x64": {},
 | 
				
			||||||
 | 
					    "ubuntu.14.04-x64": {},
 | 
				
			||||||
 | 
					    "ubuntu.14.10-x64": {},
 | 
				
			||||||
 | 
					    "ubuntu.15.04-x64": {},
 | 
				
			||||||
 | 
					    "ubuntu.15.10-x64": {},
 | 
				
			||||||
 | 
					    "ubuntu.16.04-x64": {},
 | 
				
			||||||
 | 
					    "ubuntu.16.10-x64": {},
 | 
				
			||||||
 | 
					    "centos.7-x64": {},
 | 
				
			||||||
 | 
					    "debian.8-x64": {},
 | 
				
			||||||
 | 
					    "fedora.23-x64": {},
 | 
				
			||||||
 | 
					    "fedora.24-x64": {},
 | 
				
			||||||
 | 
					    "opensuse.13.2-x64": {},
 | 
				
			||||||
 | 
					    "opensuse.42.1-x64": {},
 | 
				
			||||||
 | 
					    "ol.7-x64": {},
 | 
				
			||||||
 | 
					    "ol.7.0-x64": {},
 | 
				
			||||||
 | 
					    "ol.7.1-x64": {},
 | 
				
			||||||
 | 
					    "ol.7.2-x64": {}
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  "frameworks": {
 | 
					  "frameworks": {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user