aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Emby.Server.Implementations/ApplicationHost.cs3
-rw-r--r--Emby.Server.Implementations/Library/LibraryManager.cs6
-rw-r--r--Emby.Server.Implementations/Net/SocketFactory.cs12
-rw-r--r--Emby.Server.Implementations/Networking/NetworkManager.cs18
-rw-r--r--MediaBrowser.Model/Configuration/XbmcMetadataOptions.cs1
-rw-r--r--SharedVersion.cs2
6 files changed, 32 insertions, 10 deletions
diff --git a/Emby.Server.Implementations/ApplicationHost.cs b/Emby.Server.Implementations/ApplicationHost.cs
index 2aeb4b971..745d83eb5 100644
--- a/Emby.Server.Implementations/ApplicationHost.cs
+++ b/Emby.Server.Implementations/ApplicationHost.cs
@@ -799,7 +799,7 @@ namespace Emby.Server.Implementations
protected abstract IConnectManager CreateConnectManager();
protected abstract ISyncManager CreateSyncManager();
-
+
protected virtual IHttpClient CreateHttpClient()
{
return new HttpClientManager.HttpClientManager(ApplicationPaths, LogManager.GetLogger("HttpClient"), FileSystemManager, MemoryStreamFactory, GetDefaultUserAgent);
@@ -953,6 +953,7 @@ namespace Emby.Server.Implementations
var deviceRepo = new SqliteDeviceRepository(LogManager.GetLogger("DeviceManager"), ServerConfigurationManager, FileSystemManager, JsonSerializer);
deviceRepo.Initialize();
DeviceManager = new DeviceManager(deviceRepo, UserManager, FileSystemManager, LibraryMonitor, ServerConfigurationManager, LogManager.GetLogger("DeviceManager"), NetworkManager);
+ RegisterSingleInstance<IDeviceRepository>(deviceRepo);
RegisterSingleInstance(DeviceManager);
var newsService = new Emby.Server.Implementations.News.NewsService(ApplicationPaths, JsonSerializer);
diff --git a/Emby.Server.Implementations/Library/LibraryManager.cs b/Emby.Server.Implementations/Library/LibraryManager.cs
index bd8a09550..5eda986e1 100644
--- a/Emby.Server.Implementations/Library/LibraryManager.cs
+++ b/Emby.Server.Implementations/Library/LibraryManager.cs
@@ -709,6 +709,9 @@ namespace Emby.Server.Implementations.Library
var rootFolder = GetItemById(GetNewItemId(rootFolderPath, typeof(AggregateFolder))) as AggregateFolder ?? (AggregateFolder)ResolvePath(_fileSystem.GetDirectoryInfo(rootFolderPath));
+ // In case program data folder was moved
+ rootFolder.Path = rootFolderPath;
+
// Add in the plug-in folders
foreach (var child in PluginFolderCreators)
{
@@ -771,6 +774,9 @@ namespace Emby.Server.Implementations.Library
tmpItem = (UserRootFolder)ResolvePath(_fileSystem.GetDirectoryInfo(userRootPath));
}
+ // In case program data folder was moved
+ tmpItem.Path = userRootPath;
+
_userRootFolder = tmpItem;
}
}
diff --git a/Emby.Server.Implementations/Net/SocketFactory.cs b/Emby.Server.Implementations/Net/SocketFactory.cs
index f78fbdfd7..bdae1728f 100644
--- a/Emby.Server.Implementations/Net/SocketFactory.cs
+++ b/Emby.Server.Implementations/Net/SocketFactory.cs
@@ -196,8 +196,18 @@ namespace Emby.Server.Implementations.Net
try
{
- //retVal.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, true);
+ // seeing occasional exceptions thrown on qnap
+ // System.Net.Sockets.SocketException (0x80004005): Protocol not available
retVal.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
+ }
+ catch (SocketException)
+ {
+
+ }
+
+ try
+ {
+ //retVal.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, true);
retVal.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.MulticastTimeToLive, multicastTimeToLive);
var localIp = IPAddress.Any;
diff --git a/Emby.Server.Implementations/Networking/NetworkManager.cs b/Emby.Server.Implementations/Networking/NetworkManager.cs
index f8f7da78a..fbdb5c128 100644
--- a/Emby.Server.Implementations/Networking/NetworkManager.cs
+++ b/Emby.Server.Implementations/Networking/NetworkManager.cs
@@ -59,7 +59,13 @@ namespace Emby.Server.Implementations.Networking
list.AddRange(GetLocalIpAddressesFallback().Result);
}
- return list.Where(FilterIpAddress).DistinctBy(i => i.ToString());
+ var listClone = list.ToList();
+
+ return list
+ .OrderBy(i => i.AddressFamily == AddressFamily.InterNetwork ? 0 : 1)
+ .ThenBy(i => listClone.IndexOf(i))
+ .Where(FilterIpAddress)
+ .DistinctBy(i => i.ToString());
}
private bool FilterIpAddress(IPAddress address)
@@ -112,10 +118,10 @@ namespace Emby.Server.Implementations.Networking
public bool IsInPrivateAddressSpaceAndLocalSubnet(string endpoint)
{
- var endpointFirstPart = endpoint.Split('.')[0];
-
if (endpoint.StartsWith("10.", StringComparison.OrdinalIgnoreCase))
{
+ var endpointFirstPart = endpoint.Split('.')[0];
+
var subnets = GetSubnets(endpointFirstPart);
foreach (var subnet_Match in subnets)
@@ -217,7 +223,7 @@ namespace Emby.Server.Implementations.Networking
}
else if (address.AddressFamily == AddressFamily.InterNetworkV6)
{
- lengthMatch = 10;
+ lengthMatch = 9;
if (IsInPrivateAddressSpace(endpoint))
{
return true;
@@ -317,7 +323,7 @@ namespace Emby.Server.Implementations.Networking
return ipProperties.UnicastAddresses
//.Where(i => i.IsDnsEligible)
.Select(i => i.Address)
- .Where(i => i.AddressFamily == AddressFamily.InterNetwork)
+ .Where(i => i.AddressFamily == AddressFamily.InterNetwork || i.AddressFamily == AddressFamily.InterNetworkV6)
.ToList();
}
catch (Exception ex)
@@ -337,7 +343,7 @@ namespace Emby.Server.Implementations.Networking
// Reverse them because the last one is usually the correct one
// It's not fool-proof so ultimately the consumer will have to examine them and decide
return host.AddressList
- .Where(i => i.AddressFamily == AddressFamily.InterNetwork)
+ .Where(i => i.AddressFamily == AddressFamily.InterNetwork || i.AddressFamily == AddressFamily.InterNetworkV6)
.Reverse();
}
diff --git a/MediaBrowser.Model/Configuration/XbmcMetadataOptions.cs b/MediaBrowser.Model/Configuration/XbmcMetadataOptions.cs
index 86eb40b97..de8a59a3d 100644
--- a/MediaBrowser.Model/Configuration/XbmcMetadataOptions.cs
+++ b/MediaBrowser.Model/Configuration/XbmcMetadataOptions.cs
@@ -18,7 +18,6 @@ namespace MediaBrowser.Model.Configuration
SaveImagePathsInNfo = true;
EnablePathSubstitution = true;
- EnableExtraThumbsDuplication = true;
}
}
}
diff --git a/SharedVersion.cs b/SharedVersion.cs
index 1505ef0b8..8ff6f604b 100644
--- a/SharedVersion.cs
+++ b/SharedVersion.cs
@@ -1,3 +1,3 @@
using System.Reflection;
-[assembly: AssemblyVersion("3.2.36.6")]
+[assembly: AssemblyVersion("3.2.36.7")]