[PR #8147] Rewrite NetworkManager and incorporate various fixes from open PRs #11636

Closed
opened 2026-02-07 06:41:54 +03:00 by OVERLORD · 0 comments
Owner

Original Pull Request: https://github.com/jellyfin/jellyfin/pull/8147

State: closed
Merged: Yes


I tried debugging and fixing a problem but didn't understand all the custom code, so I reimplemented the NetworkManager functionality with native .NET IPAddress and IPNetwork and a way more simpler object to hold both (e.g. for interfaces or in case we allow IPs and Subnets in a config)

Changes

  • Migrate to native .NET IP objects and functions
  • Incorporate changes from #5595
  • Fix LocalAddress resolution in System/Info/Public
  • Remove hack for .NET issues resolved in .NET 6
  • Remove invalid hack for X-Forwarded-For headers when IPv6 is enabled
  • Remove unused configuration values from network settings
  • Group network settings by functionality (this only affects how they appear in network.xml)
  • Handle subnets in KnownProxies
  • Removed UdpSocket and replaced it with native .NET sockets
  • DLNA/SSDP and AutoDiscovery now only bind to valid bind addresses (WIP)

Notes

  • DLNA does not require IPs in the Location prop but a lot of clients do not work with domains, therefore we force IP+port
  • DLNA and SSDP still only support IPv4

Issues

  • Additional testing is welcome, especially DLNA/SSDP and AutoDiscovery

Related
Fixes #6272
Fixes #9298
Fixes #9300
Partially fixes #8692
Might fix #4442
Might fix #7791
Might fix #9298
Might fix #9445
Might fix #9540
Might fix #9586

**Original Pull Request:** https://github.com/jellyfin/jellyfin/pull/8147 **State:** closed **Merged:** Yes --- I tried debugging and fixing a problem but didn't understand all the custom code, so I reimplemented the NetworkManager functionality with native .NET `IPAddress` and `IPNetwork` and a way more simpler object to hold both (e.g. for interfaces or in case we allow IPs and Subnets in a config) **Changes** * Migrate to native .NET IP objects and functions * Incorporate changes from #5595 * Fix `LocalAddress` resolution in `System/Info/Public` * Remove hack for .NET issues resolved in .NET 6 * Remove invalid hack for X-Forwarded-For headers when IPv6 is enabled * Remove unused configuration values from network settings * Group network settings by functionality (this only affects how they appear in `network.xml`) * Handle subnets in `KnownProxies` * Removed `UdpSocket` and replaced it with native .NET sockets * DLNA/SSDP and AutoDiscovery now only bind to valid bind addresses (WIP) **Notes** * DLNA does not require IPs in the `Location` prop but a lot of clients do not work with domains, therefore we force IP+port * DLNA and SSDP still only support IPv4 **Issues** * Additional testing is welcome, especially DLNA/SSDP and AutoDiscovery **Related** Fixes #6272 Fixes #9298 Fixes #9300 Partially fixes #8692 Might fix #4442 Might fix #7791 Might fix #9298 Might fix #9445 Might fix #9540 Might fix #9586
OVERLORD added the pull-request label 2026-02-07 06:41:54 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#11636