private void UpdateWindowsFirewall()

in Configurator/Core/Server/ServerConfigurationController.cs [3869:3909]


    private void UpdateWindowsFirewall()
    {
      CancellationToken.ThrowIfCancellationRequested();
      _firewallRulesList.Clear();
      bool isDataDirectoryConfigured = IsDataDirectoryConfigured;
      if ((ConfigurationType == ConfigurationType.Reconfigure
           || isDataDirectoryConfigured)
          && OldSettings != null
          && OldSettings.OpenFirewallForXProtocol
          && OldSettings.MySqlXPort != 0)
      {
        RemoveFirewallRule(OldSettings.Port);
      }

      CancellationToken.ThrowIfCancellationRequested();
      if (Settings.OpenFirewall)
      {
        CreateFirewallRule(Settings.Port);
      }

      if (!ServerVersion.ServerSupportsXProtocol())
      {
        return;
      }

      CancellationToken.ThrowIfCancellationRequested();
      if ((ConfigurationType == ConfigurationType.Reconfigure
           || isDataDirectoryConfigured)
          && OldSettings != null
          && OldSettings.OpenFirewallForXProtocol)
      {
        RemoveFirewallRule(OldSettings.MySqlXPort);
      }

      CancellationToken.ThrowIfCancellationRequested();
      if (Settings.OpenFirewallForXProtocol
          && Settings.MySqlXPort != 0)
      {
        CreateFirewallRule(Settings.MySqlXPort);
      }
    }