Walter.Web.FireWall.DiskLogger 2024.12.14.838

Prefix Reserved
dotnet add package Walter.Web.FireWall.DiskLogger --version 2024.12.14.838                
NuGet\Install-Package Walter.Web.FireWall.DiskLogger -Version 2024.12.14.838                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Walter.Web.FireWall.DiskLogger" Version="2024.12.14.838" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Walter.Web.FireWall.DiskLogger --version 2024.12.14.838                
#r "nuget: Walter.Web.FireWall.DiskLogger, 2024.12.14.838"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Walter.Web.FireWall.DiskLogger as a Cake Addin
#addin nuget:?package=Walter.Web.FireWall.DiskLogger&version=2024.12.14.838

// Install Walter.Web.FireWall.DiskLogger as a Cake Tool
#tool nuget:?package=Walter.Web.FireWall.DiskLogger&version=2024.12.14.838                

Windows firewall management

You can use the windows firewall from as shown in this class The NuGet package uses the PowerShell command s in combination with a file watcher but there are several ways to interact with a physical firewall from code

/*
To use windows Firewall com object add a reference to %system32%\FirewallAPI.dll 
*/
    class FireWallHelper
    {
        const string guidFWPolicy2 = "{E2B3C97F-6AE1-41AC-817A-F6F92166D7DD}";
        const string guidRWRule = "{2C5BC43E-3369-4C33-AB0C-BE9469677AF4}";
        static Type typeFWPolicy2;
        static Type typeFWRule;
        static INetFwPolicy2 fwPolicy2;
        static FireWallHelper()
        {
            typeFWPolicy2 = Type.GetTypeFromCLSID(new Guid(guidFWPolicy2));
            typeFWRule = Type.GetTypeFromCLSID(new Guid(guidRWRule));
            fwPolicy2 = (INetFwPolicy2)Activator.CreateInstance(typeFWPolicy2);

        }
        public static bool IsPortOpen(int port)
        {
            EnsureSetup();

            Type progID = Type.GetTypeFromProgID("HNetCfg.FwMgr");
            INetFwMgr firewall = Activator.CreateInstance(progID) as INetFwMgr;
            INetFwOpenPorts ports = firewall.LocalPolicy.CurrentProfile.GloballyOpenPorts;
            IEnumerator portEnumerate = ports.GetEnumerator();
            while ((portEnumerate.MoveNext()))
            {
                INetFwOpenPort currentPort = portEnumerate.Current as INetFwOpenPort;
                if (currentPort.Port == port)
                    return true;
            }
            return false;
        }
        static INetFwRule MakeRule(IPAddress remoteIP, string ruleName = null)
        {
            INetFwRule rule = (INetFwRule)Activator.CreateInstance(typeFWRule);
            rule.Name = ruleName ?? $"Inbound block IP {remoteIP}";
            rule.Description = $"Block inbound traffic from {remoteIP} over TCP port";
            rule.Protocol = (int)NET_FW_IP_PROTOCOL_.NET_FW_IP_PROTOCOL_ANY;
            rule.RemoteAddresses = remoteIP.ToString();
            rule.Direction = NET_FW_RULE_DIRECTION_.NET_FW_RULE_DIR_IN;
            rule.Enabled = true;
            rule.Grouping = "@firewallapi.dll,-23255";
            rule.Profiles = fwPolicy2.CurrentProfileTypes;
            return rule;
        }
        static INetFwRule MakeRule(int port, IPAddress remoteIP, string ruleName = null)
        {
            INetFwRule rule = (INetFwRule)Activator.CreateInstance(typeFWRule);
            rule.Name = ruleName ?? $"Inbound block IP {remoteIP}";
            rule.Description = $"Block inbound traffic from {remoteIP} over TCP port {port}";
            rule.Protocol = (int)NET_FW_IP_PROTOCOL_.NET_FW_IP_PROTOCOL_ANY;
            rule.LocalPorts = port.ToString();
            rule.RemoteAddresses = remoteIP.ToString();
            rule.Direction = NET_FW_RULE_DIRECTION_.NET_FW_RULE_DIR_IN;
            rule.Enabled = true;
            rule.Grouping = "@firewallapi.dll,-23255";
            rule.Profiles = fwPolicy2.CurrentProfileTypes;
            return rule;
        }

        public static void OpenPort(int port, IPAddress remoteIP, string ruleName = null)
        {
            EnsureSetup();
            var newRule = MakeRule(port, remoteIP, ruleName);
            newRule.Enabled = false;
            newRule.Action = NET_FW_ACTION_.NET_FW_ACTION_ALLOW;
            fwPolicy2.Rules.Add(newRule);
        }
        public static void ClosePort(int port, IPAddress remoteIP, string ruleName)
        {
            EnsureSetup();
            var newRule = MakeRule(port, remoteIP, ruleName);

            newRule.Action = NET_FW_ACTION_.NET_FW_ACTION_BLOCK;
            fwPolicy2.Rules.Add(newRule);

        }

        public static void CloseIP(IPAddress remoteIP, string ruleName)
        {
            EnsureSetup();
            var newRule = MakeRule(remoteIP, ruleName);

            newRule.Action = NET_FW_ACTION_.NET_FW_ACTION_BLOCK;
            fwPolicy2.Rules.Add(newRule);
        }

        public static void OpenIP(IPAddress remoteIP, string ruleName)
        {
            EnsureSetup();

            var newRule = MakeRule(remoteIP, ruleName);

            newRule.Action = NET_FW_ACTION_.NET_FW_ACTION_ALLOW;
            fwPolicy2.Rules.Add(newRule);
        }

        public static void OpenPort(int port, string applicationName)
        {
            EnsureSetup();

            if (IsPortOpen(port))
                return;

            INetFwOpenPort openPort = GetInstance("INetOpenPort") as INetFwOpenPort;
            openPort.Port = port;
            openPort.Protocol = NET_FW_IP_PROTOCOL_.NET_FW_IP_PROTOCOL_TCP;
            openPort.Name = applicationName;

            INetFwOpenPorts openPorts = sm_fwProfile.GloballyOpenPorts;
            openPorts.Add(openPort);
        }

        public static void ClosePort(int port)
        {
            EnsureSetup();

            if (!IsPortOpen(port))
                return;

            INetFwOpenPorts ports = sm_fwProfile.GloballyOpenPorts;
            ports.Remove(port, NET_FW_IP_PROTOCOL_.NET_FW_IP_PROTOCOL_TCP);
        }

        private static object GetInstance(string typeName)
        {
            Type tpResult = null;
            switch (typeName)
            {
                case "INetFwMgr":
                    tpResult = Type.GetTypeFromCLSID(new Guid("{304CE942-6E39-40D8-943A-B913C40C9CD4}"));
                    return Activator.CreateInstance(tpResult);
                case "INetAuthApp":
                    tpResult = Type.GetTypeFromCLSID(new Guid("{EC9846B3-2762-4A6B-A214-6ACB603462D2}"));
                    return Activator.CreateInstance(tpResult);
                case "INetOpenPort":
                    tpResult = Type.GetTypeFromCLSID(new Guid("{0CA545C6-37AD-4A6C-BF92-9F7610067EF5}"));
                    return Activator.CreateInstance(tpResult);
                default:
                    throw new Exception("Unknown type name: " + typeName);
            }
        }

        private static void EnsureSetup()
        {
            if (sm_fwProfile != null)
                return;

            INetFwMgr fwMgr = GetInstance("INetFwMgr") as INetFwMgr;
            sm_fwProfile = fwMgr.LocalPolicy.CurrentProfile;
        }

        private static INetFwProfile sm_fwProfile = null;

    }


Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net8.0-windows7.0 is compatible.  net9.0 is compatible.  net9.0-windows7.0 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2024.12.14.838 69 12/14/2024
2024.12.13.1227 66 12/13/2024
2024.12.9.1107 68 12/13/2024
2024.11.28.1632 75 11/28/2024
2024.11.20.644 90 11/21/2024
2024.11.15.421 87 11/15/2024
2024.11.11.1334 85 11/14/2024
2024.11.6.1222 85 11/6/2024
2024.10.28.1605 80 10/28/2024
2024.10.28.1335 76 10/28/2024
2024.10.19.1525 75 10/21/2024
2024.10.18.1315 102 10/18/2024
2024.9.27.1406 91 9/27/2024
2024.9.17.1417 98 9/17/2024
2024.9.12.1923 102 9/12/2024
2024.9.6.1352 99 9/7/2024
2024.9.1.1159 93 9/1/2024
2024.8.26.1150 102 8/26/2024
2024.8.19.1411 113 8/19/2024
2024.8.17.1000 118 8/17/2024
2024.8.12.1622 128 8/13/2024
2024.8.5.1010 79 8/5/2024
2024.8.1.1545 128 8/16/2024
2024.7.28.629 75 7/28/2024
2024.7.26.1512 86 7/26/2024
2024.7.26.828 82 7/26/2024
2024.7.11.1604 104 7/11/2024
2024.7.9.1520 110 7/9/2024
2024.7.4.1425 112 7/4/2024
2024.7.3.1249 86 7/3/2024
2024.7.2.1536 120 7/2/2024
2024.6.28.953 112 6/28/2024
2023.11.13.1117 435 11/13/2023
2023.10.26.1502 332 10/29/2023
2023.10.12.1926 407 10/12/2023
2023.9.14.812 439 9/14/2023
2023.9.7.1748 445 9/7/2023
2023.9.7.1241 449 9/7/2023
2023.9.6.1001 422 9/6/2023
2023.9.5.1246 433 9/5/2023
2023.9.5.1032 432 9/5/2023
2023.8.31.1522 478 8/31/2023
2023.8.29.1040 457 8/29/2023
2023.8.17.901 511 8/17/2023
2023.8.9.1314 487 8/9/2023
2023.8.2.750 597 8/2/2023
2023.7.12.830 483 7/12/2023
2023.7.5.1419 609 7/6/2023
2023.6.14.1628 546 6/14/2023
2023.6.11.1304 610 6/11/2023
2023.5.30.1640 628 5/30/2023
2023.5.4.1552 641 5/4/2023
2023.5.1.1524 665 5/1/2023
2023.4.29.910 677 4/29/2023
2023.4.12.1236 659 4/12/2023
2023.3.22.1456 660 3/22/2023
2023.3.14.1356 698 3/14/2023
2023.3.1.810 697 3/1/2023
2023.2.25.11857 763 2/25/2023
2023.2.22.27 721 2/22/2023
2023.2.15.1413 761 2/15/2023
2023.2.11.1628 782 2/11/2023
2023.1.11.534 799 1/11/2023
2022.12.30.711 761 12/30/2022
2022.12.15.1108 809 12/15/2022
2022.12.14.648 799 12/14/2022
2022.11.27.1059 830 11/27/2022
2022.11.21.338 813 11/21/2022
2022.11.14.1819 807 11/14/2022
2022.11.13.917 793 11/13/2022
2022.10.31.740 879 11/1/2022
2022.10.15.652 867 10/15/2022
2022.10.1.810 1,003 10/1/2022
2022.9.26.1444 952 9/26/2022
2022.9.14.1508 1,032 9/14/2022
2022.9.14.809 1,056 9/14/2022
2022.9.8.1009 1,070 9/8/2022
2022.8.20.1007 1,025 8/20/2022
2022.8.1.1 1,038 7/31/2022
2022.7.1300 1,107 7/1/2022
2022.7.31.1016 999 7/31/2022
2022.7.15.841 1,040 7/15/2022
2022.6.21.647 1,010 6/21/2022
2022.5.18.638 1,001 5/19/2022
2022.5.16.853 1,096 5/19/2022
2022.5.16.816 1,015 5/16/2022
2022.5.4.1010 1,062 5/4/2022
2022.4.10.947 1,098 4/10/2022
2022.4.10.925 1,115 4/10/2022
2022.4.10.828 1,129 4/10/2022
2022.4.1.1545 1,158 4/1/2022
2022.3.31.823 1,093 3/31/2022
2022.3.26.1103 1,083 3/26/2022
2022.3.26.820 1,207 3/26/2022
2022.3.25.840 1,117 3/26/2022
2022.2.16.1131 1,180 2/17/2022
2022.2.16.834 1,306 2/17/2022
2022.2.5.1114 1,251 2/5/2022
2022.1.17.1158 1,149 1/17/2022
2022.1.10.1505 1,257 1/10/2022
2022.1.10.537 1,189 1/10/2022
2022.1.5.1139 1,310 1/8/2022
2021.12.28.1452 1,353 12/28/2021
2021.12.16.812 1,152 12/16/2021
2021.11.23.1528 7,409 11/24/2021
2021.11.21.925 1,293 11/22/2021
2021.11.19.1503 1,518 11/22/2021
2021.11.19.847 1,460 11/19/2021
2021.11.18.1824 1,233 11/16/2021
2021.11.10.852 1,258 11/10/2021
2021.11.9.2021 1,438 11/9/2021
2021.11.8.2109 951 11/9/2021
2021.11.8.1612 990 11/8/2021
2021.11.7.1021 1,033 11/8/2021
2021.11.3.1612 1,077 11/4/2021
2021.11.1.1102 1,096 11/1/2021
2021.10.25.1206 1,136 10/25/2021
2021.10.23.1310 1,090 10/25/2021
2021.10.19.1522 1,060 10/19/2021
2021.10.16.1325 1,115 10/18/2021
2021.10.9.1119 85 10/9/2024
2021.10.6.1546 980 10/6/2021
2021.10.5.1450 1,183 10/5/2021
2021.10.4.1155 1,136 10/5/2021
2021.10.1.753 1,121 10/1/2021
2021.9.27.1005 1,018 9/28/2021
2021.9.26.1913 1,114 9/26/2021
2021.9.19.1015 1,159 9/19/2021
2021.9.17.1702 1,117 9/17/2021
2021.9.17.1449 1,023 9/17/2021
2021.9.13.1600 1,089 9/13/2021
2021.9.12.1100 1,144 9/13/2021
2021.9.11.2004 1,148 9/11/2021
2021.9.9.1110 1,168 9/9/2021
2021.9.7.1901 1,247 9/8/2021
2021.9.7.1121 1,123 9/7/2021
2021.9.6.1518 1,131 9/7/2021
2021.9.4.1124 1,276 9/4/2021
2021.9.2.708 1,070 9/4/2021
2021.9.0.1259 1,133 9/2/2021
2021.8.2200 1,042 8/23/2021
2021.8.2100 1,009 8/23/2021
2021.8.22.900 1,117 8/22/2021
2021.8.18.1500 1,176 8/18/2021
2021.8.18.930 1,203 8/18/2021
2021.8.14.1600 1,105 8/16/2021
2021.8.9.1105 1,070 8/9/2021
2021.8.8.1612 1,143 8/8/2021
2021.8.8.1138 1,215 8/8/2021
2021.8.6.1044 1,192 8/6/2021
2021.8.4.1355 1,182 8/5/2021
2021.7.30.2118 1,274 7/31/2021
2021.7.27.926 1,079 7/28/2021
2021.7.23.931 1,145 7/26/2021
2021.7.22.1456 1,056 7/23/2021
2021.7.15.1547 1,293 7/15/2021
2021.7.13.812 1,182 7/13/2021
2021.7.8.1527 1,192 7/10/2021
2021.7.5.1649 1,087 7/5/2021
2021.6.29.1453 1,136 6/30/2021
2021.6.26.1753 1,303 6/27/2021
2021.6.25.1849 1,341 6/25/2021
2021.6.24.1518 1,119 6/24/2021
2021.6.20.729 1,120 6/20/2021
2021.6.15.2006 1,132 6/15/2021
2021.6.14.2025 1,104 6/15/2021
2021.6.13.2035 1,181 6/14/2021
2021.6.12.1154 1,171 6/13/2021
2021.6.9.1120 1,096 6/9/2021
2021.6.3.1509 1,098 6/3/2021
2021.5.31.1533 1,181 5/31/2021
2021.5.31.1415 1,131 5/31/2021
2021.5.24.1128 1,096 5/24/2021
2021.5.24.1019 1,134 5/24/2021
2021.5.12.1054 1,059 5/12/2021
2021.5.12.637 1,165 5/12/2021
2021.5.10.1442 1,257 5/11/2021
2021.5.8.1226 1,049 5/8/2021
2021.5.6.2037 1,063 5/6/2021
2021.5.5.1901 1,076 5/6/2021
2021.5.3.1621 1,103 5/4/2021
2021.5.1.905 1,080 5/1/2021
2021.4.28.1511 1,035 4/28/2021
2021.4.20.1520 1,091 4/21/2021
2021.4.16.738 1,017 4/21/2021
2021.4.14.1216 1,213 4/16/2021
2021.4.9.1538 1,103 4/13/2021
2021.4.8.947 1,115 4/13/2021
2021.4.6.1235 1,130 4/6/2021
2021.4.5.1653 1,071 4/5/2021
2021.4.1.913 1,020 4/1/2021
2021.3.31.2003 1,085 4/1/2021
2021.3.18.1622 1,082 3/18/2021
2021.3.3.1259 1,091 3/3/2021
2021.3.2.1415 1,162 3/2/2021
2021.3.1.11 1,133 2/28/2021
2021.3.1.1 1,127 2/27/2021
2021.3.1 1,096 2/27/2021
2021.2.23.6 1,138 2/23/2021
2021.2.21.1 1,048 2/21/2021
2021.2.20.1 1,126 2/20/2021
2021.2.19.2 1,057 2/19/2021
2021.2.18.6 1,141 2/19/2021
2021.2.16.1 1,121 2/16/2021
2021.2.15.3 1,150 2/15/2021
2021.2.15.1 1,117 2/14/2021
2021.2.14.3 1,057 2/14/2021
2021.2.12.6 1,070 2/12/2021
2021.2.12.2 1,071 2/12/2021
2021.2.11.1 1,167 2/11/2021
2021.2.10.1 1,116 2/10/2021
2021.2.8.1 1,162 2/9/2021
2021.2.7.2 1,138 2/7/2021
2021.2.7.1 1,112 2/6/2021
2020.12.27.6 1,186 12/27/2020
2020.12.27.1 1,153 12/27/2020
2020.12.26.7 1,186 12/27/2020
2020.12.26.5 1,116 12/27/2020
2020.12.26.3 1,161 12/27/2020
2020.12.19.1 1,230 12/19/2020
2020.12.16.1 1,088 12/16/2020
2020.12.15.1 1,185 12/15/2020
2020.12.14.5 1,142 12/14/2020
2020.12.14.4 1,156 12/14/2020
2020.12.14.3 1,140 12/14/2020
2020.12.5.1 1,187 12/5/2020
2020.12.4.4 1,187 12/4/2020
2020.12.4.3 1,144 12/4/2020
2020.12.4.1 1,197 12/4/2020
2020.12.3.1 1,141 12/3/2020
2020.12.2.4 1,173 12/2/2020
2020.12.2.3 1,221 12/2/2020
2020.12.1.1 1,209 12/1/2020
2020.11.28.1 1,171 11/28/2020
2020.11.27.2 1,188 11/27/2020
2020.11.27.1 1,191 11/27/2020
2020.11.25.1 1,140 11/25/2020
2020.11.22.3 1,208 11/23/2020
2020.11.20.1 1,258 11/21/2020
2020.11.19.3 1,206 11/19/2020
2020.11.19.1 1,230 11/19/2020
2020.11.18.2 1,263 11/18/2020
2020.11.17.2 1,245 11/17/2020
2020.11.17.1 1,142 11/17/2020
2020.11.15.1 1,235 11/15/2020
2020.11.14.1 1,249 11/14/2020
2020.11.13.2 1,166 11/13/2020
2020.11.13.1 1,219 11/13/2020
2020.11.12.1 1,174 11/12/2020
2020.11.11.1 1,199 11/11/2020
2020.11.8.1 1,292 11/8/2020
2020.11.7.1 1,236 11/7/2020
2020.11.5.1 1,175 11/5/2020
2020.11.3.1 1,225 11/3/2020
2020.11.1.3 1,194 11/1/2020
2020.11.1.2 1,253 11/1/2020
2020.11.1.1 1,171 11/1/2020
2020.10.30.1 1,269 11/1/2020
2020.10.15.3 1,244 10/15/2020
2020.10.15.2 1,238 10/15/2020
2020.10.14.1 1,224 10/14/2020
2020.10.13.1 1,230 10/13/2020
2020.10.12.2 1,274 10/12/2020
2020.10.12.1 1,209 10/12/2020
2020.10.10.1 1,363 10/10/2020
2020.10.9.6 1,175 10/9/2020
2020.10.9.2 1,181 10/9/2020
2020.10.9.1 1,219 10/9/2020
2020.10.8.1 1,202 10/8/2020
2020.10.6.8 1,282 10/7/2020
2020.10.6.6 1,152 10/7/2020
2020.10.6.5 1,302 10/7/2020
2020.10.6.4 1,186 10/7/2020
2020.10.6.3 1,259 10/7/2020
2020.10.6.2 1,285 10/7/2020
2020.10.6.1 1,219 10/7/2020
2020.10.5.1 1,202 10/6/2020
2020.10.1.3 1,212 10/1/2020
2020.10.1.2 1,193 10/1/2020
2020.10.1.1 1,179 10/1/2020
2020.9.29.10 1,215 9/29/2020
2020.9.29.9 1,226 9/29/2020
2020.9.28.2 1,228 9/28/2020
2020.9.28.1 1,277 9/28/2020
2020.9.25.1 1,342 9/26/2020
2020.9.24.2 1,163 9/24/2020
2020.9.24 1,203 9/24/2020
2020.9.23.2 1,201 9/23/2020
2020.9.23.1 1,239 9/23/2020
2020.9.22.1 1,285 9/22/2020
2020.9.21.1 1,219 9/21/2020
2020.9.17.2 1,263 9/17/2020
2020.9.16.1 1,227 9/16/2020
2020.9.16 1,186 9/16/2020

Major releases that add functionality other than optimization and minor bug fixing
15 November 2024
- Remove support for deprecated framework (6,7) due to the CVE warnings in Microsoft Nuget
packages and no migration options
- Add support for .Net 9

12 October 2023
- Build using SDK-7.0.402 and SDK-6.0.415
- Update Package references


14 June 2023
- Update due to SDK Update 7.0.304, and 6.0.410

12 April 2023
- Update to a new .net 7.0.5 SDK release

14 Mar 2023
- Update NuGet package refferences

22 Feb 2023
- Axel Imani Release (Go live)

15 February 2023
- Update to .net 6.0.406  and 7.0.3

11 January 2023
- update to 7.0.2, 6.0.13 SDK and build tools for 17.4.4

14 December 2022
- Update to .Net SDK 3.1.426, 6.0.404 and 7.0.101

14 November 2022
- Update NuGet Packages

6 November 2022
- Add support for .Net 7

15 November 2022
- Update NuGet package references

1 October 2022
- Update build with new SDK
- Update code sign certificates

14 September 2022
- Update to include new package 6.0.X and Microsoft CVE-2022-38013

02 September 2022
- Please make sure to update servers using this packages due to a security bug in .net
> System.Security.Cryptography.Xml      4.5.0      Moderate   https://github.com/advisories/GHSA-2m65-m22p-9wjw
     > System.Text.Encodings.Web             4.5.0      Critical   https://github.com/advisories/GHSA-ghhp-997w-qr28

15 June 2022
- Update to support .net 6.0.7 and 3.1.27
- Update package references

4 May 2022
- Update NuGet References

15 March 2022
- update to 6.0.3

16 December 2021
- Update to .Net SDK update 14 December for .NET CORE 3.1.416, and .NET 5.0.404 and 6.0.101

9 November 2021
- Fix package dependency on vulnerable packages from Microsoft by upgrading vulnerable packages

08 November 2021
- Update to .Net NuGet packages .NET 6.0.0, .NET 5.0.403 and core 3.1.415

19 September
- Update NuGet packages release for .Net 5.0.10

8 Aug 2021
- update to .NET 6.0 SDK (v6.0.100-preview.6)

30 June 2021
- Add .Net 6.0 binaries to the NuGet package

15 June 2021
- Update to .Net Core 3.1.17 and .Net 5.0.8 SDK

09 June 2021
- Update to .Net SDK 5.0.301 and 3.1.410

31 April 2021
- Update debugger display to improve debugging experience
- Update on incident and communication interfaces
- Improved IFireWall WHOIS query method and include ISP counters

12 April 2021
- Update to new code base after .net security violation fix

22 March 2021
- Performance update

05 March 2021
- Update package reference

12 February 2021
- Framework extension changes
- Update package references

02 January 2021
- Updated terms and conditions to REL. 2021.01.02

29 December 2020
- Update package reference

23 December 2020
- Update package reference

19 December 2020
- Update package references

14 December 2020
- Update package references

12 December 2020
- Update package references
- Compile with Language version 9.0

04 December 2020
- Update package references

22 November 2020
- Update compiler hints improving .net Core 3.1 and .Net 5.0 compiled binaries

11 November 2020
- Update packages and support .Net 5.0

08 November 2020
- Update signatures and NuGet package references

14 October 2020
- Update to .net core 3.1.4

05 October 2020
- Update terms
- update NuGet package references

16 September 2020
- Add post processes support via options
- separate the Firewall integrated disk logging infrastructure to an external NuGet package to align licensing