aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2017-01-09 00:48:12 -0500
committerGitHub <noreply@github.com>2017-01-09 00:48:12 -0500
commita47042d5e3e86cb4c9ad74448fadb48285427388 (patch)
treecd5e42e14aa6d4b73ebb919902e0db00f20c75d8
parentb738d560bf54577618ccfeeb6d363d789042b68f (diff)
parentb98ef8fac06c7388c5f4ccecec76bb6892222d5e (diff)
Merge pull request #2389 from Ivan-L/dev
Do not update wan.dat if WAN IP has not changed
-rw-r--r--Emby.Server.Implementations/Connect/ConnectEntryPoint.cs9
1 files changed, 9 insertions, 0 deletions
diff --git a/Emby.Server.Implementations/Connect/ConnectEntryPoint.cs b/Emby.Server.Implementations/Connect/ConnectEntryPoint.cs
index 7f15f20cb..b5639773b 100644
--- a/Emby.Server.Implementations/Connect/ConnectEntryPoint.cs
+++ b/Emby.Server.Implementations/Connect/ConnectEntryPoint.cs
@@ -18,6 +18,7 @@ namespace Emby.Server.Implementations.Connect
public class ConnectEntryPoint : IServerEntryPoint
{
private ITimer _timer;
+ private IpAddressInfo _cachedIpAddress;
private readonly IHttpClient _httpClient;
private readonly IApplicationPaths _appPaths;
private readonly ILogger _logger;
@@ -151,6 +152,12 @@ namespace Emby.Server.Implementations.Connect
private void CacheAddress(IpAddressInfo address)
{
+ if (_cachedIpAddress != null && _cachedIpAddress.Equals(address))
+ {
+ // no need to update the file if the address has not changed
+ return;
+ }
+
var path = CacheFilePath;
try
@@ -164,6 +171,7 @@ namespace Emby.Server.Implementations.Connect
try
{
_fileSystem.WriteAllText(path, _encryption.EncryptString(address.ToString()), Encoding.UTF8);
+ _cachedIpAddress = address;
}
catch (Exception ex)
{
@@ -184,6 +192,7 @@ namespace Emby.Server.Implementations.Connect
if (_networkManager.TryParseIpAddress(endpoint, out ipAddress))
{
+ _cachedIpAddress = ipAddress;
((ConnectManager)_connectManager).OnWanAddressResolved(ipAddress);
}
}