mirror of
				https://github.com/jellyfin/jellyfin.git
				synced 2025-10-31 02:27:18 -04:00 
			
		
		
		
	Merge pull request #7549 from cvium/fix_isinlocalnetwork
(cherry picked from commit bdb85aeecf10feae62ec615c8d80f1b517b8a5d6) Signed-off-by: crobibero <cody@robibe.ro>
This commit is contained in:
		
							parent
							
								
									04cac23a11
								
							
						
					
					
						commit
						94a69c8a8b
					
				| @ -463,6 +463,18 @@ namespace Jellyfin.Networking.Manager | ||||
| 
 | ||||
|         /// <inheritdoc/> | ||||
|         public bool IsInLocalNetwork(IPObject address) | ||||
|         { | ||||
|             return IsInLocalNetwork(address.Address); | ||||
|         } | ||||
| 
 | ||||
|         /// <inheritdoc/> | ||||
|         public bool IsInLocalNetwork(string address) | ||||
|         { | ||||
|             return IPHost.TryParse(address, out IPHost ipHost) && IsInLocalNetwork(ipHost); | ||||
|         } | ||||
| 
 | ||||
|         /// <inheritdoc/> | ||||
|         public bool IsInLocalNetwork(IPAddress address) | ||||
|         { | ||||
|             if (address == null) | ||||
|             { | ||||
| @ -481,36 +493,7 @@ namespace Jellyfin.Networking.Manager | ||||
|             } | ||||
| 
 | ||||
|             // As private addresses can be redefined by Configuration.LocalNetworkAddresses | ||||
|             return address.IsLoopback() || (_lanSubnets.ContainsAddress(address) && !_excludedSubnets.ContainsAddress(address)); | ||||
|         } | ||||
| 
 | ||||
|         /// <inheritdoc/> | ||||
|         public bool IsInLocalNetwork(string address) | ||||
|         { | ||||
|             if (IPHost.TryParse(address, out IPHost ep)) | ||||
|             { | ||||
|                 return _lanSubnets.ContainsAddress(ep) && !_excludedSubnets.ContainsAddress(ep); | ||||
|             } | ||||
| 
 | ||||
|             return false; | ||||
|         } | ||||
| 
 | ||||
|         /// <inheritdoc/> | ||||
|         public bool IsInLocalNetwork(IPAddress address) | ||||
|         { | ||||
|             if (address == null) | ||||
|             { | ||||
|                 throw new ArgumentNullException(nameof(address)); | ||||
|             } | ||||
| 
 | ||||
|             // See conversation at https://github.com/jellyfin/jellyfin/pull/3515. | ||||
|             if (TrustAllIP6Interfaces && address.AddressFamily == AddressFamily.InterNetworkV6) | ||||
|             { | ||||
|                 return true; | ||||
|             } | ||||
| 
 | ||||
|             // As private addresses can be redefined by Configuration.LocalNetworkAddresses | ||||
|             return _lanSubnets.ContainsAddress(address) && !_excludedSubnets.ContainsAddress(address); | ||||
|             return IPAddress.IsLoopback(address) || (_lanSubnets.ContainsAddress(address) && !_excludedSubnets.ContainsAddress(address)); | ||||
|         } | ||||
| 
 | ||||
|         /// <inheritdoc/> | ||||
|  | ||||
| @ -65,7 +65,7 @@ namespace MediaBrowser.Common.Net | ||||
|                 address = address.MapToIPv4(); | ||||
|             } | ||||
| 
 | ||||
|             if (IsLoopback(address)) | ||||
|             if (IPAddress.IsLoopback(address)) | ||||
|             { | ||||
|                 return (address, prefixLength); | ||||
|             } | ||||
| @ -102,31 +102,6 @@ namespace MediaBrowser.Common.Net | ||||
|             return (new IPAddress(addressBytes), prefixLength); | ||||
|         } | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Tests to see if the ip address is a Loopback address. | ||||
|         /// </summary> | ||||
|         /// <param name="address">Value to test.</param> | ||||
|         /// <returns>True if it is.</returns> | ||||
|         public static bool IsLoopback(IPAddress address) | ||||
|         { | ||||
|             if (address == null) | ||||
|             { | ||||
|                 throw new ArgumentNullException(nameof(address)); | ||||
|             } | ||||
| 
 | ||||
|             if (!address.Equals(IPAddress.None)) | ||||
|             { | ||||
|                 if (address.IsIPv4MappedToIPv6) | ||||
|                 { | ||||
|                     address = address.MapToIPv4(); | ||||
|                 } | ||||
| 
 | ||||
|                 return address.Equals(IPAddress.Loopback) || address.Equals(IPAddress.IPv6Loopback); | ||||
|             } | ||||
| 
 | ||||
|             return false; | ||||
|         } | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Tests to see if the ip address is an IP6 address. | ||||
|         /// </summary> | ||||
| @ -295,7 +270,7 @@ namespace MediaBrowser.Common.Net | ||||
|         /// <returns>True if it is.</returns> | ||||
|         public virtual bool IsLoopback() | ||||
|         { | ||||
|             return IsLoopback(Address); | ||||
|             return IPAddress.IsLoopback(Address); | ||||
|         } | ||||
| 
 | ||||
|         /// <summary> | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user