Selaa lähdekoodia

Merge pull request #2389 from Ivan-L/dev

Do not update wan.dat if WAN IP has not changed
Luke 8 vuotta sitten
vanhempi
sitoutus
a47042d5e3
1 muutettua tiedostoa jossa 9 lisäystä ja 0 poistoa
  1. 9 0
      Emby.Server.Implementations/Connect/ConnectEntryPoint.cs

+ 9 - 0
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);
                 }
             }