Jellyfin.Networking
responsible for responding to auto-discovery messages.
The port to listen on for auto-discovery messages.
Initializes a new instance of the class.
The .
The .
The .
The .
Defines the class.
Implementation taken from https://github.com/ppy/osu-framework/pull/4191 .
Gets or sets a value indicating whether the client should use IPv6.
Implements the httpclient callback method.
The instance.
The instance.
The http steam.
Class to take care of network interface management.
Threading lock for network properties.
Holds the published server URLs and the IPs to use them on.
Used to stop "event-racing conditions".
Dictionary containing interface addresses and their subnets.
Unfiltered user defined LAN subnets ()
or internal interface network subnets if undefined by user.
User defined list of subnets to excluded from the LAN.
True if this object is disposed.
Initializes a new instance of the class.
The instance.
The instance holding startup parameters.
Logger to use for messages.
Event triggered on network changes.
Gets or sets a value indicating whether testing is taking place.
Gets a value indicating whether IPv4 is enabled.
Gets a value indicating whether IP6 is enabled.
Gets a value indicating whether is all IPv6 interfaces are trusted as internal.
Gets the Published server override list.
Handler for network change events.
Sender.
A containing network availability information.
Handler for network change events.
Sender.
An .
Triggers our event, and re-loads interface information.
Waits for 2 seconds before re-initialising the settings, as typically these events fire multiple times in succession.
Generate a list of all the interface ip addresses and submasks where that are in the active/unknown state.
Generate a list of all the interface ip addresses and submasks where that are in the active/unknown state.
The logger.
If true evaluates IPV4 type ip addresses.
If true evaluates IPV6 type ip addresses.
A list of all locally known up addresses and submasks that are to be considered usable.
Initializes internal LAN cache.
Enforce bind addresses and exclusions on available interfaces.
Filters a list of bind addresses and exclusions on available interfaces.
The network config to be filtered by.
A list of possible interfaces to be filtered.
If true evaluates IPV4 type ip addresses.
If true evaluates IPV6 type ip addresses.
A list of all locally known up addresses and submasks that are to be considered usable.
Initializes the remote address values.
Parses the user defined overrides into the dictionary object.
Overrides are the equivalent of localised publishedServerUrl, enabling
different addresses to be advertised over different subnets.
format is subnet=ipaddress|host|uri
when subnet = 0.0.0.0, any external address matches.
Reloads all settings and re-Initializes the instance.
The to use.
Protected implementation of Dispose pattern.
True to dispose the managed state.
Reads the jellyfin configuration of the configuration manager and produces a list of interfaces that should be bound.
Defines that only known interfaces should be used.
The ConfigurationManager.
The known interfaces that gets returned if possible or instructed.
Include IPV4 type interfaces.
Include IPV6 type interfaces.
A list of ip address of which jellyfin should bind to.
Get if the IPAddress is Link-local.
The IP Address.
Bool indicates if the address is link-local.
Check if the address is in the LAN and not excluded.
The IP address to check. The caller should make sure this is not an IPv4MappedToIPv6 address.
Boolean indicates whether the address is in LAN.
Attempts to match the source against the published server URL overrides.
IP source address to use.
True if the source is in an external subnet.
The published server URL that matches the source address.
true if a match is found, false otherwise.
Attempts to match the source against the user defined bind interfaces.
IP source address to use.
True if the source is in the external subnet.
The result, if a match is found.
true if a match is found, false otherwise.
Attempts to match the source against external interfaces.
IP source address to use.
The result, if a match is found.
true if a match is found, false otherwise.
Factory class to create different kinds of sockets.