diff options
| author | Luke <luke.pulverenti@gmail.com> | 2017-01-09 00:48:12 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-01-09 00:48:12 -0500 |
| commit | a47042d5e3e86cb4c9ad74448fadb48285427388 (patch) | |
| tree | cd5e42e14aa6d4b73ebb919902e0db00f20c75d8 | |
| parent | b738d560bf54577618ccfeeb6d363d789042b68f (diff) | |
| parent | b98ef8fac06c7388c5f4ccecec76bb6892222d5e (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.cs | 9 |
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); } } |
