[PR #10051] [MERGED] Refactor URI overrides #12140

Closed
opened 2025-12-22 09:07:57 +01:00 by backuprepo · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/jellyfin/jellyfin/pull/10051
Author: @Shadowghost
Created: 7/28/2023
Status: Merged
Merged: 10/10/2023
Merged by: @Bond-009

Base: masterHead: networking-fixes


📝 Commits (10+)

  • 7bcf4b6 Refactor URI overrides
  • b02ce7d Fix GetAllBindInterfaces on startup
  • 9a7a9f0 Respect overrides in GetApiUrlForLocalAccess
  • 517971e Apply review suggestions
  • 0f991de Apply review suggestions
  • d1f1e8a Apply review suggestions
  • 1258be7 Apply Roslyn suggestions
  • 6fd616a Try fixing multicast
  • 20ac5f9 Attempt to fix sockets on windwos
  • c075e4f Merge branch 'master' into networking-fixes

📊 Changes

18 files changed (+431 additions, -276 deletions)

View changed files

📝 Emby.Dlna/Main/DlnaEntryPoint.cs (+5 -4)
📝 Emby.Server.Implementations/ApplicationHost.cs (+3 -3)
📝 Emby.Server.Implementations/EntryPoints/UdpServerEntryPoint.cs (+19 -10)
📝 Emby.Server.Implementations/Net/SocketFactory.cs (+23 -10)
📝 Emby.Server.Implementations/Udp/UdpServer.cs (+8 -3)
📝 Jellyfin.Networking/Extensions/NetworkExtensions.cs (+8 -5)
📝 Jellyfin.Networking/Manager/NetworkManager.cs (+157 -87)
📝 Jellyfin.Server/Extensions/ApiServiceCollectionExtensions.cs (+1 -1)
📝 Jellyfin.Server/Extensions/WebHostBuilderExtensions.cs (+1 -2)
📝 MediaBrowser.Model/Net/IPData.cs (+5 -0)
MediaBrowser.Model/Net/PublishedServerUriOverride.cs (+42 -0)
📝 RSSDP/SsdpCommunicationsServer.cs (+60 -64)
📝 RSSDP/SsdpDeviceLocator.cs (+19 -23)
📝 RSSDP/SsdpDevicePublisher.cs (+46 -43)
📝 tests/Jellyfin.Networking.Tests/NetworkExtensionsTests.cs (+0 -1)
📝 tests/Jellyfin.Networking.Tests/NetworkManagerTests.cs (+7 -3)
📝 tests/Jellyfin.Networking.Tests/NetworkParseTests.cs (+24 -15)
📝 tests/Jellyfin.Server.Tests/ParseNetworkTests.cs (+3 -2)

📄 Description

Refactor how URI overrides are loaded and created. It should now respect JELLYFIN_PublishedServerUrl again.
The override set via JELLYFIN_PublishedServerUrl supercedes any other override set via the UI or config file (and overrides them).

Changes

  • Fix GetAllBindInterfaces -> fixes Kestrel binding on startup
  • Do not exclude interfaces from unicast binding if the interface is not multicast capable
  • Properly handle multicast binding for Linux, Windows and macOS
  • Exlcude localhost manually from multicast on macOS due to https://github.com/dotnet/runtime/issues/24340
  • Refactor URI override handling
  • Respect JELLYFIN_PublishedServerUrl
  • Introduce new class PublishedServerUriOverride
  • Subnet parser now properly creates the catchall subnets if 0.0.0.0 and ::0 are input without subnet mask
  • Cleanup NetworkManager logging and only show network information on startup (on network change printing is now debug-only)

Issues


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/jellyfin/jellyfin/pull/10051 **Author:** [@Shadowghost](https://github.com/Shadowghost) **Created:** 7/28/2023 **Status:** ✅ Merged **Merged:** 10/10/2023 **Merged by:** [@Bond-009](https://github.com/Bond-009) **Base:** `master` ← **Head:** `networking-fixes` --- ### 📝 Commits (10+) - [`7bcf4b6`](https://github.com/jellyfin/jellyfin/commit/7bcf4b68f16a0dc427005b8c9b2a9dd4619551de) Refactor URI overrides - [`b02ce7d`](https://github.com/jellyfin/jellyfin/commit/b02ce7d377fb64628500ed807795e4922f1d278a) Fix GetAllBindInterfaces on startup - [`9a7a9f0`](https://github.com/jellyfin/jellyfin/commit/9a7a9f08f9d4fe754b8a136285e1bb82bd15d983) Respect overrides in GetApiUrlForLocalAccess - [`517971e`](https://github.com/jellyfin/jellyfin/commit/517971e9b94784d166ceb78f87824942d2e7697e) Apply review suggestions - [`0f991de`](https://github.com/jellyfin/jellyfin/commit/0f991de7190cbd83256dd45145c208ae3e139056) Apply review suggestions - [`d1f1e8a`](https://github.com/jellyfin/jellyfin/commit/d1f1e8a694037f573570865cab1682278cc23260) Apply review suggestions - [`1258be7`](https://github.com/jellyfin/jellyfin/commit/1258be76bfa6f4d24e7d7fef5ca87018531ea4bc) Apply Roslyn suggestions - [`6fd616a`](https://github.com/jellyfin/jellyfin/commit/6fd616abc055c69331a9dceee5ae46322a7728fa) Try fixing multicast - [`20ac5f9`](https://github.com/jellyfin/jellyfin/commit/20ac5f9c38375219b75d70ec63055ed094acc459) Attempt to fix sockets on windwos - [`c075e4f`](https://github.com/jellyfin/jellyfin/commit/c075e4f7066e544d29573f2e2f1d3a52ac3f8a56) Merge branch 'master' into networking-fixes ### 📊 Changes **18 files changed** (+431 additions, -276 deletions) <details> <summary>View changed files</summary> 📝 `Emby.Dlna/Main/DlnaEntryPoint.cs` (+5 -4) 📝 `Emby.Server.Implementations/ApplicationHost.cs` (+3 -3) 📝 `Emby.Server.Implementations/EntryPoints/UdpServerEntryPoint.cs` (+19 -10) 📝 `Emby.Server.Implementations/Net/SocketFactory.cs` (+23 -10) 📝 `Emby.Server.Implementations/Udp/UdpServer.cs` (+8 -3) 📝 `Jellyfin.Networking/Extensions/NetworkExtensions.cs` (+8 -5) 📝 `Jellyfin.Networking/Manager/NetworkManager.cs` (+157 -87) 📝 `Jellyfin.Server/Extensions/ApiServiceCollectionExtensions.cs` (+1 -1) 📝 `Jellyfin.Server/Extensions/WebHostBuilderExtensions.cs` (+1 -2) 📝 `MediaBrowser.Model/Net/IPData.cs` (+5 -0) ➕ `MediaBrowser.Model/Net/PublishedServerUriOverride.cs` (+42 -0) 📝 `RSSDP/SsdpCommunicationsServer.cs` (+60 -64) 📝 `RSSDP/SsdpDeviceLocator.cs` (+19 -23) 📝 `RSSDP/SsdpDevicePublisher.cs` (+46 -43) 📝 `tests/Jellyfin.Networking.Tests/NetworkExtensionsTests.cs` (+0 -1) 📝 `tests/Jellyfin.Networking.Tests/NetworkManagerTests.cs` (+7 -3) 📝 `tests/Jellyfin.Networking.Tests/NetworkParseTests.cs` (+24 -15) 📝 `tests/Jellyfin.Server.Tests/ParseNetworkTests.cs` (+3 -2) </details> ### 📄 Description Refactor how URI overrides are loaded and created. It should now respect `JELLYFIN_PublishedServerUrl` again. The override set via `JELLYFIN_PublishedServerUrl` supercedes any other override set via the UI or config file (and overrides them). **Changes** * Fix `GetAllBindInterfaces` -> fixes Kestrel binding on startup * Do not exclude interfaces from unicast binding if the interface is not multicast capable * Properly handle multicast binding for Linux, Windows and macOS * Exlcude localhost manually from multicast on macOS due to https://github.com/dotnet/runtime/issues/24340 * Refactor URI override handling * Respect `JELLYFIN_PublishedServerUrl` * Introduce new class `PublishedServerUriOverride` * Subnet parser now properly creates the catchall subnets if `0.0.0.0` and `::0` are input without subnet mask * Cleanup NetworkManager logging and only show network information on startup (on network change printing is now debug-only) **Issues** * Fixes #10005 * Fixes #10070 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
backuprepo 2025-12-22 09:07:57 +01:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: starred/jellyfin#12140
No description provided.